JPH08235352A - Picture variable magnification device - Google Patents
Picture variable magnification deviceInfo
- Publication number
- JPH08235352A JPH08235352A JP7035005A JP3500595A JPH08235352A JP H08235352 A JPH08235352 A JP H08235352A JP 7035005 A JP7035005 A JP 7035005A JP 3500595 A JP3500595 A JP 3500595A JP H08235352 A JPH08235352 A JP H08235352A
- Authority
- JP
- Japan
- Prior art keywords
- coefficient
- main scanning
- image
- read
- pixel data
- 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
- 230000015654 memory Effects 0.000 claims abstract description 155
- 238000004364 calculation method Methods 0.000 claims description 98
- 238000000034 method Methods 0.000 claims description 50
- 230000008569 process Effects 0.000 claims description 24
- 238000001914 filtration Methods 0.000 claims description 7
- 230000006866 deterioration Effects 0.000 abstract description 11
- 230000009467 reduction Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明はディジタル階調画像の拡
大又は縮小を行なう画像変倍装置に関し、更にはディジ
タル複写機,ファクシミリ装置,イメージスキャナ,イ
メージプリンタ,画像編集装置等に用いて好適な画像変
倍装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image scaling device for enlarging or reducing a digital gradation image, and is suitable for use in a digital copying machine, a facsimile device, an image scanner, an image printer, an image editing device and the like. The present invention relates to an image scaling device.
【0002】[0002]
【従来の技術】ディジタル画像の変倍方法として、画
像データの間引き又は挿入による方法と補間演算によ
る方法が知られている。前者は画像のざらつきやモアレ
縞の発生等、折り返し歪みによる画像劣化が生じるとい
う問題がある。これに対して、後者は画像劣化は少ない
ものの処理に時間がかかるという問題がある。2. Description of the Related Art As a method for scaling a digital image, a method of thinning or inserting image data and a method of interpolation calculation are known. The former has a problem that image deterioration due to aliasing distortion occurs such as image roughness and generation of moire fringes. On the other hand, the latter has a problem that it takes a long time to process although the image deterioration is small.
【0003】補間演算の処理時間を短縮する方法として
一つの方法が提案されている(特開昭63−82168
号)。この方法によれば、1走査ライン分の容量のライ
ンメモリと変倍コントロールメモリを備え、画像拡大時
には、変倍コントロールメモリの情報に基づいてライン
メモリの読み出しアドレスを制御し、画像縮小時には、
変倍コントロールメモリの情報に基づいてラインメモリ
の書き込みアドレスを制御することにより、簡単なハー
ドウェアで高速の変倍処理を可能としている。One method has been proposed as a method for shortening the processing time of interpolation calculation (Japanese Patent Laid-Open No. 63-82168).
issue). According to this method, a line memory having a capacity of one scanning line and a scaling control memory are provided, and when the image is enlarged, the read address of the line memory is controlled based on the information of the scaling control memory, and when the image is reduced,
By controlling the write address of the line memory based on the information of the scaling control memory, high-speed scaling processing is possible with simple hardware.
【0004】補間演算の処理時間を短縮するもう一つの
方法が提案されている(特開昭63−296562
号)。この方法によれば、主走査,副走査両方向のアド
レステーブルを持つことにより、アドレス計算に要する
時間を短縮することができる。Another method for shortening the processing time of interpolation calculation has been proposed (Japanese Patent Laid-Open No. 63-296562).
issue). According to this method, the time required for the address calculation can be shortened by having the address table in both the main scanning direction and the sub scanning direction.
【0005】[0005]
【発明が解決しようとする課題】前記した第1の方法に
よれば、主走査方向の変倍を行なうだけであり、副走査
方向の変倍は行なうことができないという問題がある。
第2の方法によれば、処理をソフトウェアで行なう場
合、この方法をもってしても依然として補間演算には時
間がかかるという問題がある。また、ハードウェアで行
なう場合、主走査,副走査両方向のアドレステーブルを
持たなければならないため、ハードウェアの規模が大き
くなるという問題がある。また、前記第1の方法及び第
2の方法いずれも、画像の縮小時には原画像の一部を一
定の割合で間引く処理を行なうため、画像のざらつきや
モアレ縞の発生等、折り返し歪みによる画質劣化が生じ
るという問題もある。According to the above-mentioned first method, there is a problem that only the scaling in the main scanning direction is performed, and the scaling in the sub-scanning direction cannot be performed.
According to the second method, when the processing is performed by software, there is a problem that the interpolation calculation still takes time even with this method. Further, in the case of using hardware, there is a problem that the scale of the hardware becomes large because it is necessary to have an address table for both main scanning and sub scanning. Further, in both the first method and the second method, when the image is reduced, a part of the original image is thinned out at a constant rate, so that image quality deterioration due to aliasing distortion such as image roughness and moire fringes occurs. There is also a problem that occurs.
【0006】本発明はこのような課題に鑑みてなされた
ものであって、簡単な構成で主走査方向,副走査方向の
変倍を高速に行なうことができ、画像縮小時に折り返し
歪みによる画像劣化が生じない画像変倍装置を提供する
ことを特徴としている。The present invention has been made in view of the above problems, and can change the magnification in the main scanning direction and the sub-scanning direction at high speed with a simple structure, and image deterioration due to aliasing distortion at the time of image reduction. The present invention is characterized in that it provides an image scaling device which does not cause
【0007】[0007]
【課題を解決するための手段】前記した課題を解決する
第1の発明は、階調画像の拡大及び/又は縮小を行なう
画像変倍装置において、変倍前の少なくとも2ラインの
主走査方向の画素データを記憶するラインメモリと、該
ラインメモリの主走査方向の読み出しアドレスを制御す
る読み出し位置制御メモリと、前記ラインメモリから読
み出した複数の画素データ間で補間演算を行なうための
主走査方向の補間係数を保持する主走査係数メモリと、
副走査方向の補間係数を保持する副走査係数レジスタ
と、複数のデータを受けて補間演算を行なう補間演算部
とを具備し、前記読み出し位置制御メモリの情報に基づ
いて前記ラインメモリから複数の画素データを読み出
し、読み出した複数の画素データと、前記主走査係数メ
モリから読み出した主走査係数と前記副走査係数レジス
タから読み出した副走査係数との間で前記補間演算部に
より所定の補間演算を行なって変倍後の画素データを得
ることを特徴としている。A first invention for solving the above-mentioned problems is to provide an image scaling apparatus for enlarging and / or reducing a gradation image in at least two lines in the main scanning direction before scaling. A line memory for storing pixel data, a read position control memory for controlling a read address in the main scanning direction of the line memory, and a main scanning direction for performing an interpolation operation between a plurality of pixel data read from the line memory. A main scanning coefficient memory that holds the interpolation coefficient,
A sub-scanning coefficient register that holds an interpolation coefficient in the sub-scanning direction, and an interpolation calculation unit that receives a plurality of data and performs an interpolation calculation, and a plurality of pixels from the line memory based on the information of the read position control memory. Data is read, and a predetermined interpolation calculation is performed by the interpolation calculation unit between the read pixel data, the main scanning coefficient read from the main scanning coefficient memory, and the sub-scanning coefficient read from the sub-scanning coefficient register. The feature is that pixel data after scaling is obtained.
【0008】前記した課題を解決する第2の発明は、階
調画像の拡大及び/又は縮小を行なう画像変倍装置にお
いて、変倍前の画像の複数の画素データ間で所定のフィ
ルタ処理を行なうフィルタ部と、該フィルタ部で処理さ
れた画素データの、変倍前の少なくとも2ラインの主走
査方向の画素データを記憶するラインメモリと、該ライ
ンメモリの主走査方向の読み出しアドレスを制御する読
み出し位置制御メモリと、前記ラインメモリから読み出
した複数の画素データ間で補間演算を行なうための主走
査方向の補間係数を保持する主走査係数メモリと、副走
査方向の補間係数を保持する副走査係数レジスタと、複
数のデータを受けて補間演算を行なう補間演算部とを具
備し、前記フィルタ部により変倍前の画素データにフィ
ルタ処理を施し、フィルタ処理された画素データを前記
ラインメモリに格納し、前記読み出し位置制御メモリの
情報に基づいて該ラインメモリから複数の画素データを
読み出し、読み出した複数の画素データと前記主走査係
数メモリから読み出した主走査係数と前記副走査レジス
タから読み出した副走査係数との間で前記補間演算部に
より所定の補間演算を行なって変倍後の画素データを得
ることを特徴としている。A second invention for solving the above-mentioned problems is to perform a predetermined filtering process between a plurality of pixel data of an image before scaling in an image scaling device for enlarging and / or reducing a gradation image. A filter unit, a line memory that stores pixel data in the main scanning direction of at least two lines of the pixel data processed by the filter unit before scaling, and a read that controls a read address of the line memory in the main scanning direction. A position control memory, a main scanning coefficient memory for holding an interpolation coefficient in the main scanning direction for performing an interpolation operation between a plurality of pixel data read from the line memory, and a sub scanning coefficient for holding an interpolation coefficient in the sub scanning direction. A register and an interpolation calculation unit that receives a plurality of data and performs an interpolation calculation are provided, and the filter unit filters the pixel data before scaling. The filtered pixel data is stored in the line memory, a plurality of pixel data is read from the line memory based on the information of the read position control memory, and the read pixel data and the main scanning coefficient memory are read. It is characterized in that the interpolation calculation section performs a predetermined interpolation calculation between the main scanning coefficient and the sub-scanning coefficient read from the sub-scanning register to obtain pixel data after scaling.
【0009】この場合において、画像の拡大時には前記
フィルタ部をバイパスして画像変倍処理を行ない、画像
の縮小時には前記フィルタ部によりフィルタ処理を行な
った後に画像変倍処理を行なうことが、画像縮小時に折
り返し歪みによる画像劣化が生じない画像変倍装置を提
供する上で好ましい。In this case, when the image is enlarged, the image scaling process is performed by bypassing the filter unit, and when the image is reduced, the image scaling process is performed after the filter process is performed by the filter unit. It is preferable for providing an image scaling device that does not sometimes cause image deterioration due to aliasing.
【0010】[0010]
(第1の発明)前記読み出し位置制御メモリの情報に基
づいて前記ラインメモリから複数の画素データを読み出
し、読み出した複数の画素データと、前記主走査係数メ
モリから読み出した主走査係数と前記副走査係数レジス
タから読み出した副走査係数との間で前記補間演算部に
より所定の補間演算を行なうようにした。これにより、
簡単なハードウェア構成で、主走査方向,副走査方向の
変倍を高速に行なうことができる。(First invention) A plurality of pixel data is read from the line memory based on the information of the read position control memory, the plurality of read pixel data, the main scanning coefficient read from the main scanning coefficient memory, and the sub-scan. A predetermined interpolation calculation is performed by the interpolation calculation unit with the sub-scanning coefficient read from the coefficient register. This allows
With a simple hardware configuration, the scaling in the main scanning direction and the sub-scanning direction can be performed at high speed.
【0011】(第2の発明)入力された画像データに対
して、フィルタ部によりフィルタ処理を行った後、ライ
ンメモリに画素データを格納しておく。そして、前記読
み出し位置制御メモリの情報に基づいて前記ラインメモ
リから複数の画素データを読み出し、読み出した複数の
画素データと、前記主走査係数メモリから読み出した主
走査係数と前記副走査係数レジスタから読み出した副走
査係数との間で前記補間演算部により所定の補間演算を
行なうようにした。これにより、簡単なハードウェア構
成で、主走査方向,副走査方向の変倍を高速に行なうこ
とができる。更に、この発明によれば、変倍前の画素デ
ータにフィルタ部によりフィルタ処理を行なってから変
倍処理を行なうようにしているので、画像縮小時に折り
返し歪みによる画像劣化が生じない。(Second Invention) After the input image data is filtered by the filter unit, the pixel data is stored in the line memory. Then, a plurality of pixel data are read from the line memory based on the information of the read position control memory, the plurality of read pixel data, the main scanning coefficient read from the main scanning coefficient memory, and the sub scanning coefficient register are read. A predetermined interpolation calculation is performed by the interpolation calculation unit with the sub-scanning coefficient. As a result, it is possible to perform zooming in the main scanning direction and the sub scanning direction at high speed with a simple hardware configuration. Further, according to the present invention, the pixel data before scaling is subjected to the filtering process by the filter section before the scaling process, so that the image deterioration due to the aliasing distortion does not occur at the time of image reduction.
【0012】また、画像の拡大時には前記フィルタ部を
バイパスして画像変倍処理を行ない、画像の縮小時には
前記フィルタ部によりフィルタ処理を行なった後に画像
変倍処理を行なうことにより、画像拡大処理と画像の縮
小処理の双方に対応することができ、しかも画像縮小時
に折り返し歪みによる画像劣化が生じないようにするこ
とができる。Further, when the image is enlarged, the image scaling processing is performed by bypassing the filter unit, and when the image is reduced, the image scaling processing is performed by performing the filter processing after the filter processing by the filter unit. It is possible to deal with both of the image reduction processing, and it is possible to prevent image deterioration due to aliasing distortion during image reduction.
【0013】[0013]
【実施例】以下、図面を参照して本発明の実施例を詳細
に説明する。図1は本発明の一実施例を示す構成ブロッ
ク図である。図において、1は画像データを入力する画
像入力装置で、例えばイメージスキャナとA/D変換器
が用いられる。2は画像入力装置1の出力を受けて所定
のフィルタ処理を行なうフィルタ部である。該フィルタ
部2は、2ラインの主走査方向の画素データを記憶する
ラインメモリ22,23と、画像入力装置1及びこれら
ラインフィルタ22,23の出力を受けてフィルタ演算
処理を行なうフィルタ演算部24から構成されている。Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention. In the figure, reference numeral 1 is an image input device for inputting image data, and for example, an image scanner and an A / D converter are used. A filter unit 2 receives the output of the image input apparatus 1 and performs a predetermined filtering process. The filter unit 2 includes line memories 22 and 23 that store pixel data of two lines in the main scanning direction, and a filter calculation unit 24 that receives the outputs of the image input device 1 and the line filters 22 and 23 and performs a filter calculation process. It consists of
【0014】3は前記ラインメモリ22,23にアドレ
スを与え、フィルタ演算部24に指令を与える他、各種
の制御を行なう制御部である。5は全体の動作を制御す
るCPUである。41,42は主走査方向の画素データ
を記憶する、2ラインのラインメモリ、SWはラインメ
モリ41への入力を画像入力装置1からとるかフィルタ
演算部24の出力からとるかを選択するスイッチであ
る。画像入力装置1の出力はスイッチSWのa接点に接
続され、フィルタ演算部24の出力はスイッチSWのb
接点に接続されている。Reference numeral 3 denotes a control section for giving addresses to the line memories 22 and 23, giving instructions to the filter calculating section 24, and for performing various controls. Reference numeral 5 is a CPU that controls the entire operation. 41 and 42 are line memories of two lines for storing pixel data in the main scanning direction, and SW is a switch for selecting whether the input to the line memory 41 is taken from the image input device 1 or the output of the filter calculation unit 24. is there. The output of the image input device 1 is connected to the a contact of the switch SW, and the output of the filter calculation unit 24 is the b of the switch SW.
It is connected to the contact.
【0015】43は、前記ラインメモリ41,42の主
走査方向のアドレスを制御する読み出し位置制御メモ
リ、45は前記ラインメモリ41,42から読み出した
複数の画素データ間で補間演算を行なうための主走査方
向の補間係数を保持する主走査係数メモリ、44は読み
出し位置制御メモリ43の出力を加算する加算部、46
は副走査方向の補間係数を保持する副走査係数レジスタ
である。6は、ラインメモリ41,42の出力と、主走
査係数メモリ45の出力と、副走査係数レジスタ46の
出力と、制御部3の制御信号とを受けて補間演算を行な
う補間演算部である。7は該補間演算部6の出力を受け
て、変倍された画像データを出力する画像出力装置であ
る。該画像処理装置7としては、例えばイメージプリン
タ等が用いられる。このように構成された装置の動作を
説明すれば、以下のとおりである。Reference numeral 43 is a read position control memory for controlling addresses of the line memories 41 and 42 in the main scanning direction, and 45 is a main portion for performing an interpolation operation between a plurality of pixel data read from the line memories 41 and 42. A main scanning coefficient memory that holds the interpolation coefficient in the scanning direction, 44 is an adder that adds the output of the read position control memory 43, and 46
Is a sub-scanning coefficient register that holds the interpolation coefficient in the sub-scanning direction. An interpolation calculation unit 6 receives the outputs of the line memories 41 and 42, the output of the main scanning coefficient memory 45, the output of the sub-scanning coefficient register 46, and the control signal of the control unit 3, and performs interpolation calculation. An image output device 7 receives the output of the interpolation calculation unit 6 and outputs the scaled image data. As the image processing device 7, for example, an image printer or the like is used. The operation of the apparatus configured as described above will be described below.
【0016】(1)画像拡大時の動作 先ず、補間演算部6の補間原理について説明する。図2
は双1次補間法の説明図である。この方法は、求める位
置の画素データをその周囲4点の既知のデータから1次
式により内挿補間するものである。今、x,y座標軸で
規定される平面に点D(x,y)を考える。この点Dの
周囲を取り巻く4点D(x0,y0),D(x0,y0
+1),D(x0+1,y0+1),D(x0+1,y
0)が決まっているものとする。点D(x,y)から水
平,垂直に直線を引き、前記4点の間で囲まれてできる
四角形の面積を図に示すように、それぞれS1,S2,
S3,S4とすれば、点D(x,y)の値は次式により
求めることができる。(1) Operation when Enlarging Image First, the principle of interpolation of the interpolation calculation unit 6 will be described. Figure 2
FIG. 4 is an explanatory diagram of a bilinear interpolation method. In this method, the pixel data at the position to be obtained is interpolated from the known data of four points around it by a linear expression. Now consider the point D (x, y) on the plane defined by the x, y coordinate axes. Four points D (x0, y0), D (x0, y0) surrounding the point D
+1), D (x0 + 1, y0 + 1), D (x0 + 1, y
0) has been decided. A straight line is drawn horizontally and vertically from the point D (x, y), and the areas of the quadrangle formed by the four points are S1, S2 and S2, respectively, as shown in the figure.
If S3 and S4 are set, the value of the point D (x, y) can be obtained by the following equation.
【0017】 D(x,y)=D(x0+u,y0+v) =D(x0,y0)・S2+D(x0,y0+1)S4+ D(x0+1,y0+1)・S3+D(x0+1,y0)・S1 (1) (1)式は、補間演算でよく用いられる方法である。4
点のそれぞれの点と点D(x,y)に対して対向する四
角形の面積をかけたものをそれぞれ加算する方法であ
る。ここで、x方向のx0は整数、x0+1はx0より
も1だけ大きい整数、途中のx0+uはx0よりも小数
uだけ大きい値である。また、y方向のy0は整数、y
0+1はy0よりも1だけ大きい整数、y0+vはy0
よりも小数vだけ大きい値である。D (x, y) = D (x0 + u, y0 + v) = D (x0, y0) .S2 + D (x0, y0 + 1) S4 + D (x0 + 1, y0 + 1) .S3 + D (x0 + 1, y0) .S1 (1) (1 Formula 1) is a method often used in interpolation calculation. Four
This is a method of adding each point and a point D (x, y) multiplied by the area of a quadrangle facing each other. Here, x0 in the x direction is an integer, x0 + 1 is an integer larger than x0 by 1 and x0 + u in the middle is a value larger than x0 by a fractional u. Also, y0 in the y direction is an integer, y
0 + 1 is an integer larger than y0 by 1, y0 + v is y0
It is a value larger than the decimal point by a decimal number v.
【0018】このように定義すると、図のS1〜S4の
面積はそれぞれ次式で表わすことができる。 S1=u・(1−v) S2=(1−u)・(1−v) S3=u・v S4=(1−u)・v これらの値を(1)式に代入すると、(1)式はまた、
次のようにも表わすことができる。With this definition, the areas S1 to S4 in the figure can be expressed by the following equations. S1 = u · (1-v) S2 = (1-u) · (1-v) S3 = u · v S4 = (1-u) · v Substituting these values into the equation (1) yields (1 ) Is also
It can also be expressed as
【0019】 D(x,y)=(1−u)・(1−v)・D(x0,y0)+ u・(1−v)・D(x0+1,y0)+ (1−u)・v・D(x0,y0+1)+u・v・D(x0+1,y0+1) (2) ここで、u,vについては後述する。D (x, y) = (1-u) · (1-v) · D (x0, y0) + u · (1-v) · D (x0 + 1, y0) + (1-u) · v · D (x0, y0 + 1) + u · v · D (x0 + 1, y0 + 1) (2) Here, u and v will be described later.
【0020】図3,図4は本発明の画像拡大時の動作を
示すフローチャートである。以下、このフローチャート
に沿って説明する。ここではm×n画素をm’×n’に
拡大する場合について説明する。拡大前の座標系を
(x,y)、拡大後の座標系を(x’,y’)とする。
先ず、主走査方向の変換処理について説明する。CPU
5は、先ずスイッチSWに切り替え信号を与え、スイッ
チSWをa接点側に接続する。これにより、フィルタ部
2はバイパスされる(S1)。画像拡大時には、フィル
タ処理は必要ないからである。3 and 4 are flow charts showing the operation of the present invention at the time of image enlargement. Hereinafter, description will be given along this flowchart. Here, a case where m × n pixels are enlarged to m ′ × n ′ will be described. The coordinate system before expansion is (x, y), and the coordinate system after expansion is (x ', y').
First, the conversion process in the main scanning direction will be described. CPU
Reference numeral 5 first supplies a switching signal to the switch SW to connect the switch SW to the a-contact side. As a result, the filter unit 2 is bypassed (S1). This is because no filter processing is necessary when enlarging the image.
【0021】次に、CPU5は内部メモリのx’を0に
初期設定する(S2)。次に、CPU5は以下の演算を
行なう(S3)。 x(x’)=x’×{(m−1)/(m’−1)} (3) ここで、x’=0,1,2,…(m’−1) (3)式の整数部をx0(x’)、小数部をu(x’)
とすると、x0(x’),u(x’)は以下のようにな
る。Next, the CPU 5 initializes x'of the internal memory to 0 (S2). Next, the CPU 5 performs the following calculation (S3). x (x ′) = x ′ × {(m−1) / (m′−1)} (3) where x ′ = 0, 1, 2, ... (m′−1) X0 (x ') for the integer part and u (x') for the decimal part
Then, x0 (x ') and u (x') are as follows.
【0022】 x0(x’)=x(x’)の整数部 (4) u(x’)=x(x’)の小数部 (5) 次に、CPU5は(4)式で求まったx0(x’)を読
み出し位置制御メモリ43のx’番目に保存し(S
4)、u(x’)を主走査係数メモリ45のx’番目に
保存する(S5)。その後、内部メモリのx’を1だけ
更新する(S6)。以上の、演算は、x’がm’になる
まで(m’回)続けられる。X0 (x ′) = x (x ′) integer part (4) u (x ′) = x (x ′) decimal part (5) Next, the CPU 5 obtains x0 obtained by the expression (4). (X ') is stored in the read position control memory 43 at the x'th position (S
4) and u (x ') are stored in the x'th position of the main scanning coefficient memory 45 (S5). Then, x'of the internal memory is updated by 1 (S6). The above calculation is continued until x ′ becomes m ′ (m ′ times).
【0023】x’=m’になったら(S7)、y’方向
(副走査方向)の変換処理に入る。y方向の変換処理で
は、CPU5は内部メモリのy’とy1の値を以下のよ
うに初期設定する(S8)。When x '= m' (S7), conversion processing in the y'direction (sub-scanning direction) is started. In the conversion processing in the y direction, the CPU 5 initializes the values of y'and y1 in the internal memory as follows (S8).
【0024】y’=0,y1=−2 次に、CPU5は以下の演算を行なう(S9)。 y(y’)=y’×{(n−1)/(n’−1)} (6) ここで、y’=0,1,2,…(n’−1) (6)式の整数部をy0(y’)、小数部をv(y’)
とすると、y0(y’),v(y’)は以下のようにな
る。Y '= 0, y1 = -2 Next, the CPU 5 performs the following calculation (S9). y (y ′) = y ′ × {(n−1) / (n′−1)} (6) where y ′ = 0, 1, 2, ... (n′−1) (6) Y0 (y ') for the integer part and v (y') for the decimal part
Then, y0 (y ') and v (y') are as follows.
【0025】 y0(y’)=y(y’)の整数部 (7) v(y’)=y(y’)の小数部 (8) 次に、CPU5は原画像データを読み込むかどうかを所
定の条件式により判定する。条件式はy1≠y0
(y’)であり、y1とy0(y’)が等しくないかか
というものである(S10)。条件式を満足する場合、
即ちy1≠y0(y’)の場合には、画像入力装置1か
ら原画像データ1ライン分(m個)のデータをラインメ
モリ41に入力し(S11)、y1の値を1だけ更新す
る(S12)。その後、ステップS10に戻る。この
時、ラインメモリ41にもともと格納されていた画素デ
ータは、ラインメモリ42に移動する。Y0 (y ′) = y (y ′) integer part (7) v (y ′) = y (y ′) decimal part (8) Next, the CPU 5 determines whether to read the original image data. It is judged by a predetermined conditional expression. The conditional expression is y1 ≠ y0
(Y '), and whether y1 and y0 (y') are not equal (S10). If the conditional expression is satisfied,
That is, when y1 ≠ y0 (y '), the data of one line (m pieces) of the original image data is input from the image input device 1 to the line memory 41 (S11), and the value of y1 is updated by 1 ( S12). Then, it returns to step S10. At this time, the pixel data originally stored in the line memory 41 is moved to the line memory 42.
【0026】ステップS10において、y1とy0
(y’)が等しくなった時には、条件式を満足しなくな
り、画素データの拡大処理動作に移る。先ず、ステップ
S9で求めたv(y’)を副走査係数レジスタ46に設
定する(S13)。次に、制御部3の制御により、読み
出し位置制御メモリ43に格納されている情報x0
(x’)に基づき、ラインメモリ41,42から複数の
データD(x0,y0),D(x0+1,y0),D
(x0,y0+1),D(x0+1,y0+1)が読み
出され、補間演算部6に入力される。一方、制御部3に
より主走査係数メモリ45から主走査方向補間係数u
(x’)が読み出され、副走査方向係数レジスタ46か
ら副走査方向補間係数v(y’)が読み出され、補間演
算部6に入力される。In step S10, y1 and y0
When (y ′) becomes equal to each other, the conditional expression is not satisfied and the pixel data enlarging processing operation starts. First, v (y ') obtained in step S9 is set in the sub-scanning coefficient register 46 (S13). Next, the information x0 stored in the read position control memory 43 is controlled by the control unit 3.
Based on (x ′), a plurality of data D (x0, y0), D (x0 + 1, y0), D from the line memories 41, 42
(X0, y0 + 1) and D (x0 + 1, y0 + 1) are read out and input to the interpolation calculation unit 6. On the other hand, the control unit 3 causes the main scanning coefficient memory 45 to interpolate the main scanning direction interpolation coefficient u.
(X ′) is read, the sub-scanning direction interpolation coefficient v (y ′) is read from the sub-scanning direction coefficient register 46, and is input to the interpolation calculation unit 6.
【0027】補間演算部6は、これら入力された各デー
タを基に以下の演算を実行する(S14)。 D’=(1−u)・(1−v)・D(x0,y0) +u・(1−v)・D(x0+1,y0) +(1−u)・v・D(x0,y0+1) +u・v・D(x0+1,y0+1) (9) これは、前述の(2)式そのものである。つまり、双1
次補間を行ったものとなる。The interpolation calculation unit 6 executes the following calculation based on these input data (S14). D '= (1-u) * (1-v) * D (x0, y0) + u * (1-v) * D (x0 + 1, y0) + (1-u) * v * D (x0, y0 + 1) + U · v · D (x0 + 1, y0 + 1) (9) This is the above equation (2) itself. That is, twin 1
It is the result of the second interpolation.
【0028】補間演算部6は、制御部3の制御の下で変
倍後の主走査方向画素数分、つまりm’回行った後、内
部メモリのy’値を1だけ更新し(S15)、y’が
n’に等しくなるまで次のラインについて再びCPU5
により副走査方向の補間係数vを求めて補間演算を行な
う操作をステップS9から変倍後の副走査方向の画素数
分n’だけ繰り返す。y’=n’になったら(S1
6)、処理を終了する。以上、説明したように、本発明
によれば、簡単なハードウェアにより、主走査方向,副
走査方向両方の画像データの拡大が同時にかつ高速で実
行できる。Under the control of the control unit 3, the interpolation calculation unit 6 updates the y'value of the internal memory by 1 after performing the number of pixels in the main scanning direction after scaling, that is, m'times (S15). , Y ′ again for the next line until the CPU 5
Thus, the operation of obtaining the interpolation coefficient v in the sub-scanning direction and performing the interpolation calculation is repeated from step S9 by the number n'of pixels in the sub-scanning direction after scaling. When y '= n' (S1
6), end the process. As described above, according to the present invention, image data in both the main scanning direction and the sub-scanning direction can be simultaneously enlarged at high speed with simple hardware.
【0029】(2)画像縮小時の動作 図5,図6は本発明の画像縮小時の動作を示すフローチ
ャートである。以下、このフローチャートに沿って説明
する。ここではm×n画素をm’×n’に縮小する場合
について説明する。縮小前の座標系を(x,y)、縮小
後の座標系を(x’,y’)とする。補間演算に先立
ち、主走査方向の縮小率(m’/m)に応じた所定の演
算式に基づき、フィルタ部2のフィルタ係数をCPU5
により算出し、フィルタ演算部24に設定する(S
1)。次に、CPU5は、先ずスイッチSWに切り替え
信号を与え、スイッチSWをb接点側に接続する。これ
により、フィルタ部2を経由した画像データがラインメ
モリ41,42に記憶されるようになる(S2)。(2) Image Reduction Operation FIGS. 5 and 6 are flowcharts showing the image reduction operation of the present invention. Hereinafter, description will be given along this flowchart. Here, a case where m × n pixels are reduced to m ′ × n ′ will be described. The coordinate system before reduction is (x, y), and the coordinate system after reduction is (x ', y'). Prior to the interpolation calculation, the filter coefficient of the filter unit 2 is set to the CPU 5 based on a predetermined calculation formula according to the reduction ratio (m ′ / m) in the main scanning direction.
And set in the filter calculation unit 24 (S
1). Next, the CPU 5 first gives a switching signal to the switch SW to connect the switch SW to the b-contact side. As a result, the image data passed through the filter unit 2 is stored in the line memories 41 and 42 (S2).
【0030】次に、主走査方向の変換処理に入る。CP
U5は先ず内部メモリのx’を0に初期設定する(S
3)。次に、CPU5は前記(3)式の演算を行なう
(S4)。そして、(3)式の整数部をx0(x’)、
小数部をu(x’)とする(前記(4),(5)式)。
次に、CPU5は(4)式で求まったx0(x’)を読
み出し位置制御メモリ43のx’番目に保存し(S
5)、u(x’)を主走査係数メモリ45のx’番目に
保存する(S6)。その後、内部メモリのx’を1だけ
更新する(S7)。以上の、演算は、x’がm’になる
まで(m’回)続けられる。Next, a conversion process in the main scanning direction is started. CP
U5 first initializes x'of the internal memory to 0 (S
3). Next, the CPU 5 performs the calculation of the equation (3) (S4). Then, the integer part of the expression (3) is x0 (x '),
Let u (x ′) be the fractional part (equations (4) and (5) above).
Next, the CPU 5 stores x0 (x ′) obtained by the equation (4) in the x′-th position of the read position control memory 43 (S
5) and u (x ') are stored in the x'th position of the main scanning coefficient memory 45 (S6). Then, x'of the internal memory is updated by 1 (S7). The above calculation is continued until x ′ becomes m ′ (m ′ times).
【0031】x’=m’になったら(S8)、y’方向
(副走査方向)の変換処理に入る。y方向の変換処理で
は、CPU5は内部メモリのy’とy1の値を以下のよ
うに初期設定する(S9)。When x '= m' (S8), conversion processing in the y'direction (sub-scanning direction) is started. In the conversion processing in the y direction, the CPU 5 initializes the values of y'and y1 in the internal memory as follows (S9).
【0032】y’=0,y1=−4 次に、CPU5は前記(6)式の演算を行なう(S1
0)。(6)式の整数部をy0(y’)、小数部をv
(y’)とする(前記(7),(8)式)。次に、CP
U5は原画像データを読み込むかどうかを所定の条件式
により判定する。条件式はy≠y0(y’)である(S
11)。y1≠y0(y’)である場合には、画像入力
装置1から1ライン分(m個)のデータをフィルタ部2
に入力し、フィルタ処理した結果を1ライン分(m個)
ラインメモリ41に入力する(S12)。補間演算の前
にフィルタ部2によるフィルタ処理を行なうのは、画像
縮小時に発生する画像のざらつきやモアレ縞の発生等の
折り返し歪みにより画質劣化を防止するためである。そ
して、y1の値を1だけ更新する(S13)。その後、
ステップS11に戻る。この時、ラインメモリ41にも
ともと格納されていた画素データは、ラインメモリ42
に移動する。Y '= 0, y1 = -4 Next, the CPU 5 performs the operation of the equation (6) (S1).
0). The integer part of the equation (6) is y0 (y '), and the decimal part is v
(Y ′) (the above formulas (7) and (8)). Next, CP
U5 determines whether to read the original image data according to a predetermined conditional expression. The conditional expression is y ≠ y0 (y ′) (S
11). When y1 ≠ y0 (y ′), the data of one line (m pieces) from the image input device 1 is filtered by the filter unit 2.
Input the result to and filter the result for 1 line (m pieces)
Input to the line memory 41 (S12). The filtering process by the filter unit 2 is performed before the interpolation calculation in order to prevent the image quality from being deteriorated due to the aliasing distortion such as the roughness of the image or the generation of moire fringes which occurs when the image is reduced. Then, the value of y1 is updated by 1 (S13). afterwards,
It returns to step S11. At this time, the pixel data originally stored in the line memory 41 is stored in the line memory 42.
Go to
【0033】ステップS11において、y1とy0
(y’)が等しくなった時には、画素データの縮小処理
動作に移る。先ず、ステップS10で求めたv(y’)
を副走査係数レジスタ46に設定する(S14)。次
に、制御部3の制御により、読み出し位置制御メモリ4
3に格納されている情報x0(x’)に基づき、ライン
メモリ41,42から複数のデータD(x0,y0),
D(x0+1,y0),D(x0,y0+1),D(x
0+1,y0+1)が読み出され、補間演算部6に入力
される。一方、制御部3により主走査係数メモリ45か
ら主走査方向補間係数u(x’)が読み出され、副走査
方向係数レジスタ46から副走査方向補間係数v
(y’)が読み出され、補間演算部6に入力される。In step S11, y1 and y0
When (y ') becomes equal, the pixel data reduction processing operation starts. First, v (y ') obtained in step S10
Is set in the sub-scanning coefficient register 46 (S14). Next, the read position control memory 4 is controlled by the control unit 3.
3 based on the information x0 (x ′) stored in 3, the plurality of data D (x0, y0) from the line memories 41 and 42,
D (x0 + 1, y0), D (x0, y0 + 1), D (x
0 + 1, y0 + 1) is read and input to the interpolation calculation unit 6. On the other hand, the main scanning direction interpolation coefficient u (x ′) is read from the main scanning coefficient memory 45 by the control unit 3, and the sub scanning direction interpolation coefficient v is read from the sub scanning direction coefficient register 46.
(Y ′) is read and input to the interpolation calculation unit 6.
【0034】補間演算部6は、これら入力された各デー
タを基に前記(9)式の演算を実行する(S15)。補
間演算部6は、制御部3の制御の下で変倍後の主走査方
向画素数分、つまりm’回行った後、内部メモリのy’
値を1だけ更新し(S16)、y’がn’に等しくなる
まで次のラインについて再びCPU5により副走査方向
の補間係数vを求め、補間演算を行なう操作をステップ
S10から変倍後の副走査方向の画素数分n’だけけ繰
り返す。y’=n’になったら(S17)、処理を終了
する。以上、説明したように、本発明によれば、簡単な
ハードウェアにより、主走査方向,副走査方向両方の縮
小が同時にかつ高速で実行できる。また、補間演算前に
実施されるフィルタ部2のフィルタ処理により、画像の
ざらつきやモアレ縞の発生等の折り返し歪みにより画質
劣化を防止することができる。The interpolation calculation unit 6 executes the calculation of the equation (9) based on these input data (S15). Under the control of the control unit 3, the interpolation calculation unit 6 performs the number of pixels in the main scanning direction after scaling, that is, m ′ times, and then y ′ of the internal memory.
The value is updated by 1 (S16), the interpolation coefficient v in the sub-scanning direction is obtained again by the CPU 5 for the next line until y'is equal to n ', and the interpolation calculation is performed from step S10. The process is repeated by n'for the number of pixels in the scanning direction. When y '= n' (S17), the process ends. As described above, according to the present invention, the reduction in both the main scanning direction and the sub scanning direction can be executed simultaneously and at high speed with simple hardware. Further, by the filter processing of the filter unit 2 performed before the interpolation calculation, it is possible to prevent the image quality from being deteriorated by the aliasing distortion such as the image roughness and the generation of moire fringes.
【0035】(画像拡大時の動作)次に、画像拡大時の
より具体的な動作について説明する。例として10×1
5画素の画像を1.6倍に拡大し、16×24画素の画
像を得る場合について考える。この場合、前述の式にあ
てはめると、m×n=10×15,m’×n’=16×
24であり、m=10,n=15,m’=16,n’=
24となる。この時の原画像の画素データをD(x,
y)(x=0,1,2…m−1,y=0,1,2…n−
1)、変倍後の画素データをD’(x’,y’)(x’
=0,1,2…m’−1,y’=0,1,2…n’−
1)とする。(Operation During Image Enlargement) Next, a more specific operation during image enlargement will be described. 10x1 as an example
Consider a case where a 5-pixel image is enlarged 1.6 times to obtain a 16 × 24-pixel image. In this case, applying the above equation, m × n = 10 × 15, m ′ × n ′ = 16 ×
24, and m = 10, n = 15, m ′ = 16, n ′ =
24. The pixel data of the original image at this time is D (x,
y) (x = 0,1,2 ... m-1, y = 0,1,2 ... n-
1), the pixel data after scaling is D '(x', y ') (x'
= 0,1,2 ... m'-1, y '= 0,1,2 ... n'-
1).
【0036】図3,図4の手順に従い、フィルタ部2を
バイパス側に設定した後、変倍後の主操作方向画素数
m’(=16)についてラインメモリ41,42の主走
査方向読み出しアドレス情報x0(x’)と主走査方向
の補間係数u(x’)をCPU5で計算し、それぞれ読
み出し位置制御メモリ43と主走査係数メモリ45に格
納する。ここで、計算式は前述したように、 x(x’)=x’×{(m−1)/(m’−1)} (3) ここで、x’=0,1,2,…(m’−1) x0(x’)=x(x’)の整数部 (4) u(x’)=x(x’)の小数部 (5) である。図7はこのようにして計算した、画像拡大時の
主走査方向読み出しアドレス情報x0と主走査方向補間
係数uの計算例を示す図である。拡大後のx座標x’
(0〜15)に対してx0(x’)とu(x’)が順次
割り当てられていることがわかる。主走査方向読み出し
アドレスx0はx’に対して不規則に割り当てられてい
る。この16個の主走査方向読み出しアドレスx0と主
走査方向補間係数uが、それぞれ読み出し位置制御メモ
リ43と主走査係数メモリ45に格納されることにな
る。After setting the filter section 2 on the bypass side according to the procedure of FIGS. 3 and 4, the main scanning direction read address of the line memories 41 and 42 for the number m ′ (= 16) of pixels in the main operation direction after scaling. The information x0 (x ') and the interpolation coefficient u (x') in the main scanning direction are calculated by the CPU 5 and stored in the read position control memory 43 and the main scanning coefficient memory 45, respectively. Here, the calculation formula is, as described above, x (x ′) = x ′ × {(m−1) / (m′−1)} (3) where x ′ = 0, 1, 2, ... (M′−1) x0 (x ′) = integer part of x (x ′) (4) u (x ′) = fractional part of x (x ′) (5) FIG. 7 is a diagram showing an example of calculation of the main scanning direction read address information x0 and the main scanning direction interpolation coefficient u at the time of image enlargement calculated as described above. X coordinate after expansion x '
It can be seen that x0 (x ') and u (x') are sequentially assigned to (0 to 15). The main scanning direction read address x0 is irregularly assigned to x '. The 16 main scanning direction read addresses x0 and the main scanning direction interpolation coefficients u are stored in the read position control memory 43 and the main scanning coefficient memory 45, respectively.
【0037】次に、CPU5により副走査方向の補間係
数v(y’)を求めると共に、原画像データを読み込む
かどうかを前述した所定の条件式により判断し、条件が
成立する場合(y1≠y0)は、原画像の画素データを
主走査方向に1ライン分(m個の画素)、ラインメモリ
41に読み込む。ここで、計算式は前述した y(y’)=y’×{(n−1)/(n’−1)} (6) ここで、y’=0,1,2,…(n’−1) y0(y’)=y(y’)の整数部 (7) v(y’)=y(y’)の小数部 (8) である。従って、y’=0の時、y0(0)=0,v
(0)=0であり、最初はy1=−2であるから前記条
件式は成立することになる。従って、画像入力装置1か
ら1ラインめの画素データD(0,0),D(1,0)
…D(9,0)をフィルタ部2をパスしてラインメモリ
41に読み込む。次に、y1←y1+1の処理を施し、
y1=−1となるが、なお前記条件式は成立するので、
画像入力装置1から2ライン目の画素データD(0,
1),D(1,1)…D(9,1)をフィルタ部2をパ
スしてラインメモリ41に読み込む。この時、前回のラ
インメモリ41に読み込んだ1ライン目の画素データD
(0,0),D(1,0)…D(9,0)はラインメモ
リ42に移動する。Next, the CPU 5 obtains the interpolation coefficient v (y ') in the sub-scanning direction, and whether or not to read the original image data is judged by the above-mentioned predetermined conditional expression, and if the condition is satisfied (y1 ≠ y0). ) Reads the pixel data of the original image for one line (m pixels) in the main scanning direction into the line memory 41. Here, the calculation formula is y (y ′) = y ′ × {(n−1) / (n′−1)} (6) where y ′ = 0, 1, 2, ... (n ′ −1) y0 (y ′) = integer part of y (y ′) (7) v (y ′) = decimal part of y (y ′) (8) Therefore, when y ′ = 0, y0 (0) = 0, v
Since (0) = 0 and y1 = -2 at the beginning, the conditional expression is satisfied. Therefore, the pixel data D (0,0), D (1,0) of the first line from the image input device 1
... D (9,0) is passed through the filter unit 2 and read into the line memory 41. Next, the processing of y1 ← y1 + 1 is performed,
Although y1 = −1, the conditional expression still holds, so
The pixel data D (0,
1), D (1,1) ... D (9,1) are passed through the filter unit 2 and read into the line memory 41. At this time, the pixel data D of the first line read in the previous line memory 41
(0,0), D (1,0) ... D (9,0) are moved to the line memory 42.
【0038】次に、y1←y1+1の処理により、y1
=y0(y’)=0となるため、前記条件式が成立しな
くなる。そこで、副走査方向補間係数v(0)=0を副
走査間係数レジスタ46に設定すると共に、CPU5は
制御部3に補間演算開始の指令を送る。この指令によ
り、補間演算部6で変倍後の1ライン分(m’=16画
素)の画素データD’(0,0),D’(1,0),…
D’(15,0)が計算され、画像出力装置7に出力す
る。以下、同様の処理をn’=24回繰り返すことによ
り、16×24画素の拡大された画素データが得られる
ことになる。Next, by the processing of y1 ← y1 + 1, y1
Since = y0 (y ') = 0, the conditional expression is not satisfied. Therefore, the sub-scanning direction interpolation coefficient v (0) = 0 is set in the inter-sub-scanning coefficient register 46, and the CPU 5 sends a command to start interpolation calculation to the control unit 3. By this command, the pixel data D '(0,0), D' (1,0), ...
D ′ (15,0) is calculated and output to the image output device 7. After that, by repeating the same processing n ′ = 24 times, enlarged pixel data of 16 × 24 pixels can be obtained.
【0039】図8は補間演算部6の具体的構成例を示す
ブロック図である。図1と同一のものは、同一の符号を
付して示す。図において、47はラインメモリ41の出
力をラッチするフリップフロップ(FF),48はライ
ンメモリ42の出力をラッチするフリップフロップ(F
F)である。これらフリップフロップ47,48のラッ
チ信号は制御部3から出力される。49は主走査係数メ
モリ45の出力uを受けて(1−u)を演算する演算
器、50は副走査係数レジスタ46の出力vを受けて
(1−v)を演算する演算器である。FIG. 8 is a block diagram showing a concrete configuration example of the interpolation calculation section 6. The same parts as those in FIG. 1 are designated by the same reference numerals. In the figure, 47 is a flip-flop (FF) that latches the output of the line memory 41, and 48 is a flip-flop (F) that latches the output of the line memory 42.
F). The latch signals of the flip-flops 47 and 48 are output from the control unit 3. Reference numeral 49 is an arithmetic unit which receives the output u of the main scanning coefficient memory 45 and calculates (1-u), and 50 is an arithmetic unit which receives the output v of the sub-scanning coefficient register 46 and calculates (1-v).
【0040】65はラインメモリ41の出力,主走査係
数メモリ45の出力u,副走査係数レジスタ46の出力
vを受けてこれらデータの乗算を行なう乗算器、66は
フリップフロップ47の出力,演算器49の出力(1−
u),副走査係数レジスタ46の出力vを受けてこれら
データの乗算を行なう乗算器、67はラインメモリ42
の出力,主走査係数メモリ45の出力u,演算器50の
出力(1−v)を受けてこれらデータの乗算を行なう乗
算器、68はフリップフロップ48の出力,演算器49
の出力(1−u),演算器50の出力(1−v)を受け
てこれらデータの乗算を行なう乗算器である。これら乗
算器65〜68の乗算タイミングは、制御部3から与え
られる。69はこれら乗算器65〜68の出力を受けて
加算を行なう加算器である。該加算器69の加算タイミ
ングは、制御部3から与えられる。このように構成され
た補間演算部6の動作を説明すれば、以下のとおりであ
る。Reference numeral 65 is a multiplier for receiving the output of the line memory 41, the output u of the main scanning coefficient memory 45, and the output v of the sub scanning coefficient register 46 to multiply these data, and 66 is an output of the flip-flop 47, an arithmetic unit. 49 output (1-
u), a multiplier for receiving the output v of the sub-scanning coefficient register 46 and multiplying these data, 67 is a line memory 42
Of the main scanning coefficient memory 45, the output u of the main scanning coefficient memory 45, and the output (1-v) of the arithmetic unit 50 to multiply these data, 68 is the output of the flip-flop 48, and the arithmetic unit 49.
(1-u) and the output (1-v) of the arithmetic unit 50 to multiply these data. The multiplication timings of these multipliers 65 to 68 are given from the control unit 3. An adder 69 receives the outputs of the multipliers 65 to 68 and performs addition. The addition timing of the adder 69 is given from the control unit 3. The operation of the interpolation calculation unit 6 configured as described above will be described below.
【0041】乗算器68に入るデータは、フリップフロ
ップ48の出力がD(x0,y0)、演算器49の出力
が(1−u)、演算器50の出力が(1−v)である。
従って、その出力は(1−u)・(1−v)・D(x
0,y0)となる。乗算器67に入るデータは、ライン
メモリ42の出力がD(x0+1,y0)、主走査係数
メモリ45の出力がu、演算器50の出力が(1−v)
である。従って、その出力はu・(1−v)・D(x0
+1,y0)となる。乗算器66に入るデータは、フリ
ップフロップ47の出力がD(x0,y0+1)、演算
器49の出力が(1−u)、副走査係数レジスタ46の
出力がvである。従って、その出力は(1−u)・v・
D(x0,y0+1)となる。乗算器65に入るデータ
は、ラインメモリ41の出力がD(x0+1,y0+
1)、主走査係数メモリ45の出力がu、副走査係数レ
ジスタ46の出力がvである。従って、その出力はu・
v・D(x0+1,y0+1)となる。これら乗算器6
5〜68の出力を加算する加算器69の出力は前記
(9)式となる。即ち、 D’=(1−u)・(1−v)・D(x0,y0) +u・(1−v)・D(x0+1,y0) +(1−u)・v・D(x0,y0+1) +u・v・D(x0+1,y0+1) (9) となる。この加算器69の出力が、画像データが拡大さ
れた変倍データとなる。The data entering the multiplier 68 is such that the output of the flip-flop 48 is D (x0, y0), the output of the calculator 49 is (1-u), and the output of the calculator 50 is (1-v).
Therefore, its output is (1-u). (1-v) .D (x
0, y0). The data input to the multiplier 67 is such that the output of the line memory 42 is D (x0 + 1, y0), the output of the main scanning coefficient memory 45 is u, and the output of the calculator 50 is (1-v).
Is. Therefore, its output is u. (1-v) .D (x0
+1, y0). As for the data that enters the multiplier 66, the output of the flip-flop 47 is D (x0, y0 + 1), the output of the computing unit 49 is (1-u), and the output of the sub-scanning coefficient register 46 is v. Therefore, its output is (1-u) .v.
It becomes D (x0, y0 + 1). As for the data that enters the multiplier 65, the output of the line memory 41 is D (x0 + 1, y0 +
1), the output of the main scanning coefficient memory 45 is u, and the output of the sub scanning coefficient register 46 is v. Therefore, the output is u
v · D (x0 + 1, y0 + 1). These multipliers 6
The output of the adder 69 for adding the outputs of 5 to 68 is given by the equation (9). That is, D '= (1-u) * (1-v) * D (x0, y0) + u * (1-v) * D (x0 + 1, y0) + (1-u) * v * D (x0, y0 + 1) + u.v.D (x0 + 1, y0 + 1) (9). The output of the adder 69 becomes the scaled data obtained by enlarging the image data.
【0042】図9,図10は補間演算部6の動作を示す
タイムチャートである。図中に示す信号の番号は、図8
に示す信号の番号と対応している。ラインメモリ41と
ラインメモリ42に格納されたデータが読み出し位置メ
モリ制御メモリ43及び加算器44の出力により順次読
み出され、一方主走査係数メモリ45の出力uと副走査
係数レジスタ46の出力vが順次後段の回路に送られ、
所定の演算処理が行なわれ、加算器69から補間演算さ
れた変倍データが出力されることが分かる。9 and 10 are time charts showing the operation of the interpolation calculation section 6. The numbers of the signals shown in FIG.
It corresponds to the signal number shown in. The data stored in the line memory 41 and the line memory 42 are sequentially read by the output of the read position memory control memory 43 and the adder 44, while the output u of the main scanning coefficient memory 45 and the output v of the sub scanning coefficient register 46 are Sequentially sent to the subsequent circuit,
It can be seen that a predetermined arithmetic processing is performed and the adder 69 outputs the interpolated scaled data.
【0043】次に、補間演算部6で行われる補間演算法
の一実施例について説明する。制御部3では、CPU5
により補間演算開始の指令を受け取ると、読み出し位置
制御メモリ43の1番目のデータ、即ちx0(0)=0
を読み出し、加算部44に入力する。該加算部44で
は、クロック信号31に同期して、入力されたx0
(0)=0を1クロック期間出力した後、これに1を加
えた値x0(0)+1=1を1クロック期間出力する。
加算部44の出力信号441は、ラインメモリ41,4
2に入力され、ラインメモリに格納されている原画デー
タが読み出される。Next, an embodiment of the interpolation calculation method performed by the interpolation calculation section 6 will be described. In the control unit 3, the CPU 5
When the command to start the interpolation calculation is received by, the first data of the read position control memory 43, that is, x0 (0) = 0
Is read out and input to the addition unit 44. In the adder 44, the input x0 is synchronized with the clock signal 31.
After (0) = 0 is output for 1 clock period, a value x0 (0) + 1 = 1 obtained by adding 1 to this is output for 1 clock period.
The output signal 441 of the adder 44 is used as the line memories 41 and 4
2, the original image data stored in the line memory is read out.
【0044】ラインメモリ42には、1ライン目のデー
タD(0,0),D(1,0)…D(9,0)が格納さ
れているので、信号441に同期して、D(0,0),
D(1,0)が信号421として読み出され、乗算器6
7,68に信号671,681として入力される。一
方、ラインメモリ41には、2ライン目のデータD
(0,1),D(1,1)…D(9,1)が格納されて
いるので、信号441に同期してD(0,1),D
(1,1)が信号411として読み出され、乗算器6
5,66に信号651,661として入力される。Since the line memory 42 stores data D (0,0), D (1,0) ... D (9,0) for the first line, D (0,0) is synchronized with the signal 441. 0,0),
D (1,0) is read out as the signal 421, and the multiplier 6
7 and 68 are inputted as signals 671 and 681. On the other hand, the line memory 41 stores the data D of the second line.
Since (0, 1), D (1, 1) ... D (9, 1) are stored, D (0, 1), D are synchronized with the signal 441.
(1,1) is read as the signal 411, and the multiplier 6
5 and 66 are input as signals 651 and 661.
【0045】一方、これらの処理と並行して、主走査係
数メモリ45の1番目のデータu(0)=0.0も読み
出され、乗算器65,67に入力される。また、演算器
49を経て、1−u(0)=1.0が乗算器66,68
に入力される。更に、副走査係数レジスタ46に格納さ
れているv(0)=0.0が乗算器65,66に演算器
50を経て1−v(0)=1.0が乗算器67,68に
入力される。On the other hand, in parallel with these processes, the first data u (0) = 0.0 of the main scanning coefficient memory 45 is also read and input to the multipliers 65 and 67. In addition, 1-u (0) = 1.0 is passed to the multipliers 66, 68 via the arithmetic unit 49.
Is input to Further, v (0) = 0.0 stored in the sub-scanning coefficient register 46 is input to the multipliers 65 and 66 via the calculator 50, and 1-v (0) = 1.0 is input to the multipliers 67 and 68. To be done.
【0046】乗算器65では、入力された信号651,
652,653の値を全て乗じ、u(0)×v(0)×
D(1,1)を信号654として加算器69へ出力す
る。同様に、乗算器66は、(1−u(0))×v
(0)×D(0,1)を信号664として、乗算器67
は、u(0)×(1−v(0))×D(1,0)を信号
674として、乗算器68は、(1−u(0))×(1
−v(0))×D(0,0)を信号684として、それ
ぞれ加算器69に出力する。In the multiplier 65, the input signal 651,
Multiply all the values of 652 and 653 to obtain u (0) × v (0) ×
D (1,1) is output as a signal 654 to the adder 69. Similarly, the multiplier 66 calculates (1-u (0)) × v
(0) × D (0,1) is used as the signal 664, and the multiplier 67
Is u (0) × (1-v (0)) × D (1,0) as a signal 674, and the multiplier 68 is (1-u (0)) × (1
-V (0)) * D (0,0) is output to the adder 69 as a signal 684.
【0047】加算器69では、これら4つの乗算結果を
加算し、 D’(0,0)=u(0)×v(0)×D(1,1) +(1−u(0))×v(0)×D(0,1) +u(0)×(1−v(0))×D(1,0) +(1−u(0))×(1−v(0))×D(0,0) として、画像出力装置7に変倍データ691として出力
する。この式は、(9)式と同じである。これで、1個
目の拡大画像データを出力したことになる。The adder 69 adds these four multiplication results, and D '(0,0) = u (0) * v (0) * D (1,1) + (1-u (0)) Xv (0) * D (0,1) + u (0) * (1-v (0)) * D (1,0) + (1-u (0)) * (1-v (0)) The data is output as x / (0,0) to the image output device 7 as the scaled data 691. This equation is the same as the equation (9). This means that the first enlarged image data has been output.
【0048】以下、同様にして、拡大後の1ライン分
(m’=16個)のデータD’(0,0),D’(1,
0)…D’(15,0)が制御部3の制御の下で補間演
算され、画像出力装置7に出力される。このような処理
を、図3,図4の流れに沿って繰り返すことにより、
m’×n’(=16×24)個の拡大画像データが画像
出力装置7に出力される。Thereafter, similarly, data D '(0,0), D' (1,
0) ... D ′ (15,0) are interpolated under the control of the control unit 3 and output to the image output device 7. By repeating such processing along the flow of FIGS. 3 and 4,
The m ′ × n ′ (= 16 × 24) pieces of enlarged image data are output to the image output device 7.
【0049】(画像縮小時の動作)次に、画像縮小時の
より具体的な動作について説明する。例として30×4
0画素の画像を0.4倍に縮小し、12×16画素の画
像を得る場合について考える。この場合、前述の式にあ
てはめると、m×n=30×40,m’×n’=12×
16であり、m=30,n=40,m’=12,n’=
16となる。この時の原画像の画素データをD(x,
y)(x=0,1,2…m−1(=29),y=0,
1,2…n−1(=39))、縮小後の画素データを
D’(x’,y’)(x’=0,1,2…m’−1(=
11),y’=0,1,2…n’−1(=15))とす
る。(Operation at the time of image reduction) Next, a more specific operation at the time of image reduction will be described. 30x4 as an example
Consider a case where an image of 0 pixels is reduced by 0.4 times to obtain an image of 12 × 16 pixels. In this case, applying the above equation, m × n = 30 × 40, m ′ × n ′ = 12 ×
16 and m = 30, n = 40, m ′ = 12, n ′ =
It becomes 16. The pixel data of the original image at this time is D (x,
y) (x = 0, 1, 2 ... m-1 (= 29), y = 0,
1,2 ... n-1 (= 39)), and the reduced pixel data is D '(x', y ') (x' = 0,1,2 ... m'-1 (=
11), y '= 0, 1, 2 ... n'-1 (= 15)).
【0050】先ず、CPU5により空間フィルタ係数C
00〜C22を計算し、フィルタ演算部24に設定す
る。この実施例では、フィルタ演算部24として、3×
3コンボリューション(畳み込み)演算器を使用する。
図11はフィルタ演算部24の構成例を示すブロック図
である。図でFFはフリップフロップを示し、C00〜
C22はフィルタ係数を設定するレジスタである。コン
ボリューション演算器では、First, the CPU 5 causes the spatial filter coefficient C
00 to C22 are calculated and set in the filter calculation unit 24. In this embodiment, as the filter calculation unit 24, 3 ×
3 Convolution calculator is used.
FIG. 11 is a block diagram showing a configuration example of the filter calculation unit 24. In the figure, FF indicates a flip-flop, and C00 to C00
C22 is a register for setting the filter coefficient. In the convolution calculator,
【0051】[0051]
【数1】 [Equation 1]
【0052】を計算する。ここで、D(x,y)(x=
0,1…29,y=0,1…39)は原画素データ、
D’’(x,y)(x=0,1…29,y=0,1…3
9)は、フィルタ演算後の画素データである。Cijは
定数で、次式で求められる。Calculate Here, D (x, y) (x =
0, 1 ... 29, y = 0, 1 ... 39) is the original pixel data,
D ″ (x, y) (x = 0, 1 ... 29, y = 0, 1 ... 3
9) is the pixel data after the filter calculation. Cij is a constant and is calculated by the following equation.
【0053】 Cij=Ai・Bj (11) A0=A2=(1−m’/m)/2 (12) A1=m’/m (13) B0=B2=(1−n’/n)/2 (14) B1=n’/n (15) 図より明らかなように、全ての乗算器は入力データとフ
ィルタ係数の乗算を行ない、加算器240に入るように
なっており、(10)式が実現できるようになってい
る。Cij = Ai · Bj (11) A0 = A2 = (1-m '/ m) / 2 (12) A1 = m' / m (13) B0 = B2 = (1-n '/ n) / 2 (14) B1 = n ′ / n (15) As is clear from the figure, all the multipliers multiply the input data by the filter coefficient and enter the adder 240. Can be realized.
【0054】3×3コンボリューション演算器では、1
/3倍から1倍の縮小倍率に対応できる。一般に、k×
kコンボリューション演算器では、1/k倍から1倍の
縮小倍率に対応することができる。In the 3 × 3 convolution calculator, 1
It is possible to correspond to a reduction ratio of / 3 times to 1 time. Generally, k ×
The k-convolution calculator can handle reduction ratios of 1 / k to 1 times.
【0055】本実施例では、m’/m=n’/n=0.
4であるから、C00=C20=C02=C22=0.
09、C10=C01=C21=C12=0.12、C
11=0.16である。これら係数を図11に示す対応
するレジスタに設定する。つまり、これらのフィルタ係
数の演算をCPU5で行ない、フィルタ係数C00〜C
22の値をそれぞれの係数レジスタ2412,242
2,2432,2442,2452,2462,247
2,2482,2492にそれぞれ格納する。In this embodiment, m '/ m = n' / n = 0.
4, C00 = C20 = C02 = C22 = 0.
09, C10 = C01 = C21 = C12 = 0.12, C
11 = 0.16. These coefficients are set in the corresponding registers shown in FIG. That is, the calculation of these filter coefficients is performed by the CPU 5, and the filter coefficients C00 to C
The value of 22 is set to the coefficient registers 2412 and 242, respectively.
2, 2432, 2442, 2452, 2462, 247
2, 2482 and 2492, respectively.
【0056】次に、縮小後の主走査方向画素数(m’=
12)について、ラインメモリ41,42の主走査方向
読み出しアドレス情報x0(x’)と主走査方向の補間
係数u(x’)をCPU5で演算し、それぞれ読み出し
位置制御メモリ43と主走査係数メモリ45に格納す
る。ここで、x0(x’)とu(x’)は、拡大処理時
と同様に、 x(x’)=x’×(m−1)/(m’−1) =x’×29/11(x’=0,1…11) x0(x’)=x(x’)の整数部 u(x’)=x(x’)の小数部 とする。図12は、画像縮小時の主走査方向読み出しア
ドレス情報と主走査方向補間係数の計算例を示す図であ
る。この12個のx0(x’)及びu(x’)が、x’
に対しそれぞれ読み出し位置制御メモリ43と主走査係
数メモリ45に格納される。Next, the number of pixels in the main scanning direction after reduction (m '=
12), the main scanning direction read address information x0 (x ′) of the line memories 41 and 42 and the interpolation coefficient u (x ′) in the main scanning direction are calculated by the CPU 5, and the read position control memory 43 and the main scanning coefficient memory are respectively calculated. It stores in 45. Here, x0 (x ′) and u (x ′) are the same as in the enlargement processing: x (x ′) = x ′ × (m−1) / (m′−1) = x ′ × 29 / 11 (x ′ = 0, 1 ... 11) x0 (x ′) = integer part of x (x ′) u (x ′) = decimal part of x (x ′). FIG. 12 is a diagram showing an example of calculation of main scanning direction read address information and main scanning direction interpolation coefficient at the time of image reduction. These twelve x0 (x ') and u (x') are x '
On the other hand, they are stored in the read position control memory 43 and the main scanning coefficient memory 45, respectively.
【0057】次に、CPU5により、副走査方向の補間
係数vを求めると共に、原画像データを読み込むかどう
を、拡大処理の場合と同様の条件式により判断し、条件
が成立する場合(y1≠y0(y’))は、原画像の画
素データを主走査方向1ライン+2画素分(m+2画素
分)フィルタ部2に読み込む。ここで、1ライン+2画
素とするのは、空間フィルタ処理のため、m画素のデー
タの前後に1画素ずつのデータが必要なためである。m
画素の原画データの前後にもともと周辺データが存在す
る場合はそれを入力し、ない場合には先頭画素データと
最終画素データをそれぞれ2回続けて入力してm+2画
素とする。Next, the CPU 5 determines the interpolation coefficient v in the sub-scanning direction and determines whether or not to read the original image data according to the same conditional expression as in the enlarging process. If the condition is satisfied (y1 ≠ y0 (y ′)) reads the pixel data of the original image into the filter unit 2 for one line + two pixels (m + 2 pixels) in the main scanning direction. Here, 1 line + 2 pixels is set because data for each pixel is required before and after the data of m pixels due to the spatial filter processing. m
If there is peripheral data before and after the original image data of the pixel, it is input, and if not, the start pixel data and the end pixel data are input twice in succession to obtain m + 2 pixels.
【0058】同様に、副走査方向についても合計でn+
2ラインのデータを入力する必要がある。この場合も、
周辺データが存在する場合はそれを入力し、ない場合に
は最初の1ラインと最後の1ラインをそれぞれ2回入力
してn+2ラインとする。ここでは、周辺画素データが
存在するものとして説明する。即ち、(m+2)×(n
+2)画素の原画素データD(x,y)(但し、x=−
1,0,1…m y=−1,0,1…n)を入力する。
ここで、 y(y’)=y’×(n−1)/(n’−1) =y’×39/15(y’=0,1…15) y0(y’)=y(y’)の整数部 v(y’)=y(y’)の小数部 従って、y’=0の時、y0(0)=0、v(0)=0
で、最初はy1=−4であるから、y1≠y0(y’)
となり、条件式が成立するので、画像入力装置1から1
ライン目の画素データD(−1,−1),D(0,−
1)…D(30,−1)を空間フィルタ部2に入力す
る。この時入力されたデータは、空間フィルタ部内のラ
インメモリ22に格納される。Similarly, in the sub-scanning direction, a total of n +
It is necessary to input 2 lines of data. Also in this case,
If the peripheral data exists, it is input, and if it does not exist, the first 1 line and the last 1 line are input twice to make n + 2 lines. Here, it is assumed that peripheral pixel data exists. That is, (m + 2) × (n
+2) original pixel data D (x, y) (where x = −)
1,0,1 ... my = -1,0,1 ... n) is input.
Here, y (y ') = y' * (n-1) / (n'-1) = y '* 39/15 (y' = 0,1 ... 15) y0 (y ') = y (y ') Integer part v (y') = y (y ') fractional part Therefore, when y' = 0, y0 (0) = 0, v (0) = 0
Since y1 = -4 at the beginning, y1 ≠ y0 (y ')
And the conditional expression holds, the image input devices 1 to 1
Pixel data D (-1, -1), D (0,-) of the line
1) ... D (30, -1) is input to the spatial filter unit 2. The data input at this time is stored in the line memory 22 in the spatial filter unit.
【0059】次に、y1←y1+1の処理を施し、y1
=−3となるが、まだy1とy0(y’)が等しくない
ため、条件が成立し、画像入力装置1から2ライン目の
画素データD(−1,0),D(0,0)…D(30,
0)を空間フィルタ部2に入力する。入力されたデータ
は、空間フィルタ部内のラインメモリ22に格納され
る。この時、ラインメモリ22に格納されていた1ライ
ン目の画素データD(−1,−1),D(0,−1)…
D(30,−1)はラインメモリ23に移動する。次
に、y1←y1+1の処理を施し、y1=−2となる
が、まだy1とy0(y’)が等しくないため、条件が
成立し、画像入力装置1から3ライン目の画素データD
(−1,1),D(0,1)…D(30,1)を空間フ
ィルタ部2に入力する。入力されたデータは、フィルタ
演算部24に入力されると共に、空間フィルタ部内のラ
インメモリ22に格納される。ラインメモリ22に格納
されていた2ライン目のデータD(−1,0),D
(0,0)…D(30,0)はフィルタ演算部24に入
力されると共に、ラインメモリ23に移動する。この結
果、ラインメモリ23に格納されていた1ライン目の画
素データD(−1,−1),D(0,−1)…D(3
0,−1)はフィルタ演算部24に入力される。Next, the processing of y1 ← y1 + 1 is performed, and y1
However, since y1 and y0 (y ′) are not equal to each other, the condition is satisfied, and the pixel data D (−1,0) and D (0,0) of the second line from the image input device 1 are satisfied. … D (30,
0) is input to the spatial filter unit 2. The input data is stored in the line memory 22 in the spatial filter unit. At this time, the pixel data D (-1, -1), D (0, -1) ... of the first line stored in the line memory 22.
D (30, -1) moves to the line memory 23. Next, the process of y1 ← y1 + 1 is performed, and y1 = -2. However, since y1 and y0 (y ′) are not equal yet, the condition is satisfied, and the pixel data D on the third line from the image input device 1 is satisfied.
(−1,1), D (0,1) ... D (30,1) are input to the spatial filter unit 2. The input data is input to the filter calculation unit 24 and also stored in the line memory 22 in the spatial filter unit. Data D (-1,0), D of the second line stored in the line memory 22
(0,0) ... D (30,0) is input to the filter calculation unit 24 and moved to the line memory 23. As a result, the pixel data D (-1, -1), D (0, -1) ... D (3 of the first line stored in the line memory 23
0, −1) is input to the filter calculation unit 24.
【0060】このようにして、フィルタ演算部24に
は、1ライン目から3ライン目までの3ライン分の原画
素データが同時に入力されることになる。該フィルタ演
算部24では、原画素データの入力に同期してフィルタ
処理を行ない、1ライン目の演算結果D’’(0,
0),D’’(1,0)…D’’(29,0)がライン
メモリ41に格納される。この時のフィルタ演算部の信
号タイムチャートを図13に示す。各乗算器が自己に入
力されるデータと、フィルタ係数との乗算を行ない、そ
の結果を加算器240に入れて加算し、出力241が生
成されているのが分かる。In this way, the original pixel data for three lines from the first line to the third line are simultaneously input to the filter calculation section 24. The filter calculation unit 24 performs the filter processing in synchronization with the input of the original pixel data, and the calculation result D ″ (0, 0,
0), D ″ (1,0) ... D ″ (29,0) are stored in the line memory 41. FIG. 13 shows a signal time chart of the filter calculation unit at this time. It can be seen that each multiplier multiplies the data input to itself by the filter coefficient, puts the result in the adder 240 and adds it, and the output 241 is generated.
【0061】次に、y1←y1+1の処理を施し、y1
=−1となるが、なおy1とy0(y’)が等しくない
ため、条件が成立し、画像入力装置1から4ライン目の
画素データD(−1,2),D(0,2)…D(30,
2)を空間フィルタ部2に入力する。入力されたデータ
はフィルタ演算部24に入力されると共に、ラインメモ
リ22に格納される。ラインメモリ22に格納されてい
た3ライン目の画素データD(−1,1),D(0,
1)…D(30,1)はフィルタ演算部24に入力され
ると共に、ラインメモリ23に移動する。この結果、ラ
インメモリ23に格納されていた2ライン目の画素デー
タD(−1,0),D(0,0)…D(30,0)は、
フィルタ演算部24に入力される。Next, the processing of y1 ← y1 + 1 is performed, and y1
However, since y1 and y0 (y ') are not equal to each other, the condition is satisfied, and the pixel data D (-1,2), D (0,2) of the fourth line from the image input device 1 is satisfied. … D (30,
2) is input to the spatial filter unit 2. The input data is input to the filter calculation unit 24 and stored in the line memory 22. The pixel data D (-1, 1), D (0,
1) ... D (30, 1) are input to the filter calculation unit 24 and moved to the line memory 23. As a result, the pixel data D (-1,0), D (0,0) ... D (30,0) of the second line stored in the line memory 23 are
It is input to the filter calculation unit 24.
【0062】このようにして、フィルタ演算部24に
は、2ライン目から4ライン目までの3ライン分の原画
素データが同時に入力されることになる。該フィルタ演
算部24では、原画素データの入力に同期してフィルタ
処理を行ない、2ライン目の演算結果D’’(0,
1),D’’(1,1)…D’’(29,1)がライン
メモリ41に格納される。ラインメモリ41に格納され
ていた1ライン目の空間フィルタ処理結果D’’(0,
0),D’’(1,0)…D’’(29,0)はライン
メモリ42に移動する。In this way, the original pixel data for the third line from the second line to the fourth line is simultaneously input to the filter calculation section 24. The filter calculation unit 24 performs the filter processing in synchronization with the input of the original pixel data, and the calculation result D ″ (0,
1), D ″ (1,1) ... D ″ (29,1) are stored in the line memory 41. The spatial filter processing result D ″ (0, 0, stored in the line memory 41)
0), D ″ (1,0) ... D ″ (29,0) are moved to the line memory 42.
【0063】次に、y1←y1+1の処理を施し、y1
=0となり、これにより条件が成立しなくなる。そこ
で、CPU5により副走査方向補間係数v(0)=0を
副走査係数レジスタ46に設定すると共に、制御部3に
補間演算開始の指令を送る。この指令により、拡大処理
の場合と同様の手順により、補間演算部6で縮小後の1
ライン分(m’=12)の画素データD’(0,0),
D’(1,0)…D’(11,0)が演算され、画像出
力装置7に出力される。Next, the processing of y1 ← y1 + 1 is performed, and y1
= 0, and the condition is no longer satisfied. Therefore, the CPU 5 sets the sub-scanning direction interpolation coefficient v (0) = 0 in the sub-scanning coefficient register 46, and sends a command to start interpolation calculation to the control unit 3. In response to this command, the interpolation calculation unit 6 performs 1 after reduction by the same procedure as in the case of enlargement processing.
Pixel data D '(0,0) for line (m' = 12),
D ′ (1,0) ... D ′ (11,0) are calculated and output to the image output device 7.
【0064】このような処理を図5,図6の流れに沿っ
て繰り返すことにより、m’×n’(=12×16)個
の縮小画素データが画像出力装置7に出力されることに
なる。By repeating such processing in accordance with the flow of FIGS. 5 and 6, m ′ × n ′ (= 12 × 16) pieces of reduced pixel data are output to the image output device 7. .
【0065】なお、上述の実施例では、補間演算法とし
て双1次補間法(Bi−linear Interpo
lation)を使用した場合を例にとった。しかしな
がら、本発明はこれに限るものではなく、他の種類の補
間法を用いることができる。例えば、双3次補間法(B
i−cubic Interpolation)を使用
することもできる。この場合、周囲4×4=16点から
補間を行なうことになるので、補間演算入力部のライン
メモリが4個必要となる。In the above embodiment, the bi-linear interpolation method (Bi-linear Interpo method) is used as the interpolation calculation method.
It was taken as an example. However, the present invention is not limited to this, and other types of interpolation methods can be used. For example, the bicubic interpolation method (B
i-cubic Interpolation) can also be used. In this case, since interpolation is performed from 4 × 4 = 16 points in the surroundings, four line memories of the interpolation calculation input section are required.
【0066】また、上述の実施例では、空間フィルタ演
算法として3×3のコンボリューション法を用いたが、
本発明はこれに限るものではない。例えば5×5コンボ
リューション法を用いることができる。この場合には、
0.2倍から1倍までの縮小処理に対応することができ
る。この場合、空間フィルタ部のラインメモリが4個必
要となる。In the above embodiment, the 3 × 3 convolution method is used as the spatial filter calculation method.
The present invention is not limited to this. For example, the 5 × 5 convolution method can be used. In this case,
It is possible to handle reduction processing from 0.2 times to 1 time. In this case, four line memories for the spatial filter section are required.
【0067】このように、本発明によれば、簡単な構成
で主走査方向,副走査方向の変倍を高速に行なうことが
でき、画像縮小時に折り返し歪みによる画像劣化が生じ
ない画像変倍装置を提供することができる。As described above, according to the present invention, it is possible to perform zooming in the main scanning direction and the sub-scanning direction at high speed with a simple structure, and an image scaling device that does not cause image deterioration due to aliasing distortion during image reduction. Can be provided.
【0068】[0068]
【発明の効果】以上、詳細に説明したように、第1の発
明によれば、読み出し位置制御メモリの情報に基づいて
前記ラインメモリから複数の画素データを読み出し、読
み出した複数の画素データと、前記主走査係数メモリか
ら読み出した主走査係数と前記副走査係数レジスタから
読み出した副走査係数との間で前記補間演算部により所
定の補間演算を行なうようにすることにより、簡単なハ
ードウェア構成で、主走査方向,副走査方向の変倍を高
速に行なうことができる。As described above in detail, according to the first invention, a plurality of pixel data read out from the line memory based on the information of the read position control memory, and a plurality of read pixel data, By performing a predetermined interpolation calculation by the interpolation calculation unit between the main scanning coefficient read from the main scanning coefficient memory and the sub-scanning coefficient read from the sub-scanning coefficient register, a simple hardware configuration is realized. It is possible to change the magnification in the main scanning direction and the sub scanning direction at high speed.
【0069】第2の発明によれば、入力された画像デー
タに対して、フィルタ部によりフィルタ処理を行った
後、ラインメモリに画素データを格納しておき、前記読
み出し位置制御メモリの情報に基づいて前記ラインメモ
リから複数の画素データを読み出し、読み出した複数の
画素データと、前記主走査係数メモリから読み出した主
走査係数と前記副走査係数レジスタから読み出した副走
査係数との間で前記補間演算部により所定の補間演算を
行なうようにすることにより、簡単なハードウェア構成
で、主走査方向,副走査方向の変倍を高速に行なうこと
ができる。更に、この発明によれば、変倍前の画素デー
タにフィルタ部によりフィルタ処理を行なってから変倍
処理を行なうようにしているので、画像縮小時に折り返
し歪みによる画像劣化が生じない。According to the second invention, after the input image data is filtered by the filter unit, the pixel data is stored in the line memory, and the pixel data is stored based on the information of the read position control memory. Read a plurality of pixel data from the line memory, and perform the interpolation calculation between the read plurality of pixel data and the main scanning coefficient read from the main scanning coefficient memory and the sub-scanning coefficient read from the sub-scanning coefficient register. By performing a predetermined interpolation calculation by the unit, it is possible to perform zooming in the main scanning direction and the sub scanning direction at high speed with a simple hardware configuration. Further, according to the present invention, the pixel data before scaling is subjected to the filtering process by the filter section before the scaling process, so that the image deterioration due to the aliasing distortion does not occur at the time of image reduction.
【0070】また、画像の拡大時には前記フィルタ部を
バイパスして画像変倍処理を行ない、画像の縮小時には
前記フィルタ部によりフィルタ処理を行なった後に画像
変倍処理を行なうことにより、画像拡大処理と画像の縮
小処理の双方に対応することができ、しかも画像縮小時
に折り返し歪みによる画像劣化が生じないようにするこ
とができる。Further, when the image is enlarged, the image scaling processing is performed by bypassing the filter section, and when the image is reduced, the image scaling processing is performed by performing the image scaling processing after the filter processing is performed by the filter section. It is possible to deal with both of the image reduction processing, and it is possible to prevent image deterioration due to aliasing distortion during image reduction.
【図1】本発明の一実施例を示す構成ブロック図であ
る。FIG. 1 is a configuration block diagram showing an embodiment of the present invention.
【図2】双1次補間法の説明図である。FIG. 2 is an explanatory diagram of a bilinear interpolation method.
【図3】本発明の画像拡大時の動作を示すフローチャー
トである。FIG. 3 is a flowchart showing the operation of the present invention when enlarging an image.
【図4】本発明の画像拡大時の動作を示すフローチャー
トである。FIG. 4 is a flowchart showing an operation when enlarging an image of the present invention.
【図5】本発明の画像縮小時の動作を示すフローチャー
トである。FIG. 5 is a flowchart showing an operation at the time of image reduction according to the present invention.
【図6】本発明の画像縮小時の動作を示すフローチャー
トである。FIG. 6 is a flowchart showing an operation at the time of image reduction according to the present invention.
【図7】画像拡大時の主走査方向読み出しアドレス情報
と主走査方向補間係数の計算例を示す図である。FIG. 7 is a diagram illustrating a calculation example of main scanning direction read address information and a main scanning direction interpolation coefficient when an image is enlarged.
【図8】補間演算部の具体的構成例を示すブロック図で
ある。FIG. 8 is a block diagram showing a specific configuration example of an interpolation calculation unit.
【図9】補間演算部の動作を示すタイムチャートであ
る。FIG. 9 is a time chart showing the operation of the interpolation calculation unit.
【図10】補間演算部の動作を示すタイムチャートであ
る。FIG. 10 is a time chart showing the operation of the interpolation calculation unit.
【図11】フィルタ演算部の構成例を示すブロック図で
ある。FIG. 11 is a block diagram illustrating a configuration example of a filter calculation unit.
【図12】画像縮小時の主走査方向読み出しアドレス情
報と主走査方向補間係数の計算例を示す図である。FIG. 12 is a diagram showing a calculation example of main scanning direction read address information and a main scanning direction interpolation coefficient at the time of image reduction.
【図13】空間フィルタ演算部の動作を示すタイムチャ
ートである。FIG. 13 is a time chart showing the operation of the spatial filter calculation unit.
1 画像入力装置 3 制御部 5 CPU 6 補間演算部 7 画像出力装置 22,23 ラインメモリ 24 フィルタ演算部 41,42 ラインメモリ 43 読み出し位置制御メモリ 44 加算部 45 主走査係数メモリ 46 副走査係数レジスタ SW スイッチ 1 Image Input Device 3 Control Unit 5 CPU 6 Interpolation Calculation Unit 7 Image Output Device 22,23 Line Memory 24 Filter Calculation Unit 41, 42 Line Memory 43 Read Position Control Memory 44 Adder 45 Main Scan Coefficient Memory 46 Sub Scan Coefficient Register SW switch
Claims (3)
画像変倍装置において、 変倍前の少なくとも2ラインの主走査方向の画素データ
を記憶するラインメモリと、 該ラインメモリの主走査方向の読み出しアドレスを制御
する読み出し位置制御メモリと、 前記ラインメモリから読み出した複数の画素データ間で
補間演算を行なうための主走査方向の補間係数を保持す
る主走査係数メモリと、 副走査方向の補間係数を保持する副走査係数レジスタ
と、 複数のデータを受けて補間演算を行なう補間演算部とを
具備し、 前記読み出し位置制御メモリの情報に基づいて前記ライ
ンメモリから複数の画素データを読み出し、読み出した
複数の画素データと、前記主走査係数メモリから読み出
した主走査係数と前記副走査係数レジスタから読み出し
た副走査係数との間で前記補間演算部により所定の補間
演算を行なって変倍後の画素データを得ることを特徴と
する画像変倍装置。1. An image scaling device for enlarging and / or reducing a gradation image, comprising: a line memory for storing pixel data of at least two lines in the main scanning direction before scaling, and a main scanning direction of the line memory. A read position control memory for controlling the read address of the main scanning coefficient, a main scanning coefficient memory for holding an interpolation coefficient in the main scanning direction for performing an interpolation calculation between a plurality of pixel data read from the line memory, and an interpolation in the sub scanning direction. A sub-scanning coefficient register that holds a coefficient and an interpolation calculation unit that receives a plurality of data and performs an interpolation calculation, read a plurality of pixel data from the line memory based on the information in the read position control memory, and read the pixel data. A plurality of pixel data, a main scanning coefficient read from the main scanning coefficient memory, and a sub-scanning coefficient read from the sub-scanning coefficient register. An image scaling device characterized in that the interpolation computing section performs a predetermined interpolation computation with a scanning coefficient to obtain pixel data after scaling.
画像変倍装置において、 変倍前の画像の複数の画素データ間で所定のフィルタ処
理を行なうフィルタ部と、 該フィルタ部で処理された画素データの、変倍前の少な
くとも2ラインの主走査方向の画素データを記憶するラ
インメモリと、 該ラインメモリの主走査方向の読み出しアドレスを制御
する読み出し位置制御メモリと、 前記ラインメモリから読み出した複数の画素データ間で
補間演算を行なうための主走査方向の補間係数を保持す
る主走査係数メモリと、 副走査方向の補間係数を保持する副走査係数レジスタ
と、 複数のデータを受けて補間演算を行なう補間演算部とを
具備し、 前記フィルタ部により変倍前の画素データにフィルタ処
理を施し、フィルタ処理された画素データを前記ライン
メモリに格納し、前記読み出し位置制御メモリの情報に
基づいて該ラインメモリから複数の画素データを読み出
し、読み出した複数の画素データと前記主走査係数メモ
リから読み出した主走査係数と前記副走査レジスタから
読み出した副走査係数との間で前記補間演算部により所
定の補間演算を行なって変倍後の画素データを得ること
を特徴とする画像変倍装置。2. An image scaling apparatus for enlarging and / or reducing a gradation image, comprising: a filter section for performing a predetermined filtering process between a plurality of pixel data of an image before scaling, and the filtering section. A line memory for storing at least two lines of pixel data in the main scanning direction before scaling, a read position control memory for controlling a read address in the main scanning direction of the line memory, and read from the line memory A main scanning coefficient memory that holds an interpolation coefficient in the main scanning direction for performing an interpolation operation between a plurality of pixel data, a sub scanning coefficient register that holds an interpolation coefficient in the sub scanning direction, and an interpolation by receiving a plurality of data An interpolating operation unit for performing an operation, the pixel data before scaling is filtered by the filter unit, and the filtered pixel data is processed. A plurality of pixel data stored in the line memory, read a plurality of pixel data from the line memory based on the information of the read position control memory, and read a plurality of pixel data and the main scanning coefficient read from the main scanning coefficient memory; An image scaling device, characterized in that pixel data after scaling is obtained by performing a predetermined interpolation computation with the sub-scanning coefficient read from a register by the interpolation computing section.
パスして画像変倍処理を行ない、画像の縮小時には前記
フィルタ部によりフィルタ処理を行なった後に画像変倍
処理を行なうことを特徴とする請求項2記載の画像変倍
装置。3. The image scaling process is performed by bypassing the filter unit when the image is enlarged, and the image scaling process is performed after the filter process is performed by the filter unit when the image is reduced. 2. The image scaling device described in 2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7035005A JPH08235352A (en) | 1995-02-23 | 1995-02-23 | Picture variable magnification device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7035005A JPH08235352A (en) | 1995-02-23 | 1995-02-23 | Picture variable magnification device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08235352A true JPH08235352A (en) | 1996-09-13 |
Family
ID=12429986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7035005A Pending JPH08235352A (en) | 1995-02-23 | 1995-02-23 | Picture variable magnification device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH08235352A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017509961A (en) * | 2014-01-29 | 2017-04-06 | レイセオン カンパニー | Electronic zoom method with sub-pixel offset |
-
1995
- 1995-02-23 JP JP7035005A patent/JPH08235352A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017509961A (en) * | 2014-01-29 | 2017-04-06 | レイセオン カンパニー | Electronic zoom method with sub-pixel offset |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3276886B2 (en) | Generating pixel values for enlarged destination images | |
US5202670A (en) | Image processing apparatus | |
JP3747523B2 (en) | Image processing apparatus and processing method | |
JP2005044098A (en) | Image processor and image processing method | |
JPH10304184A (en) | Image processor and image processing method | |
US6539128B1 (en) | Method and apparatus for interpolation | |
US8902474B2 (en) | Image processing apparatus, control method of the same, and program | |
JP2789560B2 (en) | Image data scaling processor | |
JPH08235352A (en) | Picture variable magnification device | |
JPH02300977A (en) | Digital image conversion | |
JP3526936B2 (en) | Image magnifier | |
JP3545619B2 (en) | Image arbitrary magnification processing apparatus and method | |
KR100665485B1 (en) | Digital signal processor and digital signal processing method | |
JP2724224B2 (en) | Digital image signal scaling processing method and apparatus | |
JPH06103372A (en) | Geometrical conversion processing system for image data | |
JP2949587B2 (en) | Pixel density converter | |
JPH06113120A (en) | Resolution conversion device for picture processor | |
JPH06333031A (en) | Image processor | |
JP2003224715A (en) | Image processing circuit and image processing method | |
JPH05183735A (en) | Method and device for picture conversion | |
JP3889307B2 (en) | Image processing apparatus and image processing method | |
JPH08223407A (en) | Image processing unit | |
JP2002190948A (en) | Picture processor and picture processing method | |
JP2002152501A (en) | Method and system for reducing image and recording medium | |
JPS6316944B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040414 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040420 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040817 |