JP2005149001A - Image processor and image processing program - Google Patents

Image processor and image processing program Download PDF

Info

Publication number
JP2005149001A
JP2005149001A JP2003383820A JP2003383820A JP2005149001A JP 2005149001 A JP2005149001 A JP 2005149001A JP 2003383820 A JP2003383820 A JP 2003383820A JP 2003383820 A JP2003383820 A JP 2003383820A JP 2005149001 A JP2005149001 A JP 2005149001A
Authority
JP
Japan
Prior art keywords
image
pixel
current image
reference image
storage means
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003383820A
Other languages
Japanese (ja)
Inventor
Hiroyoshi Asami
廣愛 浅見
Teruhisa Imai
照久 今井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2003383820A priority Critical patent/JP2005149001A/en
Publication of JP2005149001A publication Critical patent/JP2005149001A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Studio Devices (AREA)
  • Image Processing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processor which can perform whole processing at high speed, and whose cost can be reduced. <P>SOLUTION: This image processor is provided with a reference image reading means 5 which successively reads a reference image in a horizontal direction for every pixel, and outputs positional information on the reference image by every pixel, a current image writing means 6 which reads the pixels from a current image storage means 4 along a corresponding straight line on the current image corresponding to the horizontal line on the reference image on the basis of temporary affine coefficients and the positional information from reference image reading means 5, and writes the pixels into a temporary storing means 7, a current image reading means 8 which calculates the positional information of the pixels on the current image corresponding to the pixels on the reference image on the basis of the temporary affine coefficients and positional information, reads the pixels from the temporary storage means 7, and carries out bi-linear interpolation, and an affine coefficient calculating means 9 which calculates the affine coefficients on the basis of the pixels read by the reference image reading means 5 and the pixels read by the current image reading means 8. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

この発明は、二次元の動画像のぶれを画像処理で抑える際に、適切なバッファ構成とデータアクセスにより、データの読み出しが高速かつ効率的に実行でき、全体の処理を高速化できる画像処理装置及び画像処理プログラムに関するものである。   The present invention provides an image processing apparatus capable of reading data at high speed and efficiently by using an appropriate buffer configuration and data access and speeding up the entire processing when suppressing blurring of a two-dimensional moving image by image processing. And an image processing program.

デジタルカメラ等で二次元の動画像を撮影する場合、手ぶれや撮影環境によりカメラ等が振動し、撮影した画像がぶれてしまうことがある。このようなぶれによる画像の劣化・視認性の劣化を避けるため従来から様々な技術が開発されてきた。そのような技術に画像処理によりぶれを推定し補正する方法がある。一例として、動画像の画素ごとにマッチングをとることで、画像全体の動きを求める方法がある。この手法の場合、参照フレーム(参照画像)と現フレーム(現画像)の点(x,y)における画素の輝度をそれぞれIr(x,y)、Ic(x,y)とし、画像の動きベクトルを(u,v)とすると、式1の誤差eを最小とするような動きベクトルを求めることにより、画像の動きを求めることが出来る。動きベクトル(u,v)は式2のようなアフィン変換の形式で表せる。   When a two-dimensional moving image is shot with a digital camera or the like, the camera or the like may vibrate due to camera shake or shooting environment, and the shot image may be blurred. Conventionally, various techniques have been developed in order to avoid such image degradation and visibility degradation due to such blurring. As such a technique, there is a method of estimating and correcting blur by image processing. As an example, there is a method for obtaining the motion of the entire image by matching each pixel of the moving image. In the case of this method, the luminance of the pixel at the point (x, y) of the reference frame (reference image) and the current frame (current image) is Ir (x, y) and Ic (x, y), respectively, and the motion vector of the image If (u, v) is taken, the motion of the image can be obtained by obtaining a motion vector that minimizes the error e in equation (1). The motion vector (u, v) can be expressed in the form of affine transformation as shown in Equation 2.

Figure 2005149001
Figure 2005149001

このようにして求めたアフィン係数によるアフィン変換を現フレームに施すことにより、参照フレームと重なるようなぶれを抑えた画像を作成することができる。このような手法により、画像処理により画像のぶれを抑えることが出来る(例えば、非特許文献1参照)。   By performing affine transformation with the affine coefficient thus obtained on the current frame, an image in which blurring that overlaps with the reference frame is suppressed can be created. With such a method, image blur can be suppressed by image processing (see, for example, Non-Patent Document 1).

誤差eを最小にするような動きベクトルを求める手法には、例えば、誤差eを最小にするアフィン係数を求めるための行列式がある。このような行列式の逆行列を求める等の方法により、アフィン係数を求めることが出来る(例えば、非特許文献2参照)。   As a technique for obtaining a motion vector that minimizes the error e, for example, there is a determinant for obtaining an affine coefficient that minimizes the error e. An affine coefficient can be obtained by a method such as obtaining an inverse matrix of such a determinant (see, for example, Non-Patent Document 2).

Figure 2005149001
Figure 2005149001

興梠正克、村岡洋一著「グローバルなアフィン動きパラメータの実時間推定手法」、電子情報通信学会論文誌(D-II)、Vol.J82-D-II、No.7、pp.1161-1170、1999年7月Masakatsu Oki, Yoichi Muraoka, “Real-time estimation method of global affine motion parameters”, IEICE Transactions (D-II), Vol.J82-D-II, No.7, pp.1161-1170, July 1999 Michael R. Piacentino, Michael W. Hansen,「Reconfigurable Elements for a Video Pipeline Processor」, Symposium on Field-Programmable CustomComputing (FCCM99), April 99.Michael R. Piacentino, Michael W. Hansen, `` Reconfigurable Elements for a Video Pipeline Processor '', Symposium on Field-Programmable Custom Computing (FCCM99), April 99.

上述のような画像処理により画像の動きを表すアフィン係数を求め、ぶれを抑えようとする方法の場合、一般に、参照画像のある画素(x,y)と現画像上の対応する画素(x’,y’)を取り出して演算を行う。この場合、参照画像の画素(x,y)のxを固定してyのみを変化させた場合、現画像上の対応画素(x’,y’)はアフィン係数によって変化する斜めの直線上に乗る。このため、上述の動画像のぶれを抑える装置を構成した場合、参照画像の画素をxを固定してyのみを変化させるような水平横方向に連続してメモリ等の記憶装置から読み出した場合、現画像上の対応画素をメモリ等の記憶装置から読み出すと、離散的にメモリアクセスを行わなくてはならない。特に二次元の動画像のような、連続的に変化する画像のぶれを抑えようとする場合、現画像上の対応画素が乗る直線の傾きも動的に変化するため、メモリへのアクセスも動的に変化する。   In the case of a method for obtaining an affine coefficient representing the motion of an image by image processing as described above and suppressing blurring, generally, a pixel (x, y) in a reference image and a corresponding pixel (x ′) in the current image , Y ′) are extracted and the operation is performed. In this case, if only y is changed while fixing x of the pixel (x, y) of the reference image, the corresponding pixel (x ′, y ′) on the current image is on an oblique straight line that changes according to the affine coefficient. get on. For this reason, when a device that suppresses the above-described moving image blur is configured, the pixels of the reference image are read from a storage device such as a memory continuously in the horizontal and horizontal directions in which x is fixed and only y is changed. When the corresponding pixels on the current image are read from a storage device such as a memory, the memory access must be performed discretely. Especially when trying to suppress blurring of continuously changing images, such as two-dimensional moving images, the slope of the straight line on which the corresponding pixels on the current image ride also changes dynamically, so that access to the memory also moves. Changes.

従来は、二次元の動画像から画像処理で動きを示すアフィン係数を算出する場合、処理の負荷が大きく演算に時間がかかるため、小さな画素サイズの画像でのみ処理を行うか、画像上のすべての画素のデータを読み出す等の処理は行わず特徴のある点を取り出すか、画素を飛び飛びに読み出す等の処理が行われていた。このため、メモリのアクセス時間が問題になるようなことは無かった。しかし、半導体技術等の向上により、これらの処理が大きな画素サイズの画像に対して高速に実行できるようになり、メモリの読み出し速度が全体の処理に対するボトルネックになる可能性が出てきた。また、この処理場合、読み出しデータは連続的ではなく離散的であるため、バースト転送によりアドレス指定等を省略するといった手法により、読み出しを高速化することが困難である。このような問題の解決方法として、読み出し速度の速いメモリを使用する方法があるが、装置のコストが高くなり、装置の規模も大きくなってしまう。すなわち、上記従来の画像処理装置においては、読み取りを高速化することと製品のコストダウンを図ることがトレードオフの関係になっていて、双方の要求を満たすことができないという課題があった。   Conventionally, when calculating an affine coefficient indicating motion by image processing from a two-dimensional moving image, the processing load is large and it takes time to calculate, so processing is performed only on an image with a small pixel size, or all on the image Processing such as reading out pixel data is not performed, and a characteristic point is extracted, or processing such as reading out pixels is performed. For this reason, the memory access time has never been a problem. However, due to improvements in semiconductor technology and the like, these processes can be executed at a high speed for an image having a large pixel size, and the read speed of the memory may become a bottleneck for the entire process. In this process, since the read data is not continuous but discrete, it is difficult to speed up reading by a technique such as omitting address designation by burst transfer. As a method for solving such a problem, there is a method of using a memory having a high reading speed. However, the cost of the apparatus increases and the scale of the apparatus also increases. That is, in the conventional image processing apparatus, there is a trade-off relationship between increasing the reading speed and reducing the cost of the product, and there is a problem that both requirements cannot be satisfied.

この発明は、上述のような課題を解決するためになされたもので、その目的は、二次元の動画像のぶれを画像処理により抑える装置を構成しようとする場合に、画像データの読み取りを高速かつ効率的に行うことにより全体の処理の高速化を可能にすると共に、装置のコストダウンを図ることが可能な画像処理装置及び画像処理のプログラムを得るものである。   The present invention has been made in order to solve the above-described problems. The object of the present invention is to read image data at high speed when an apparatus for suppressing blurring of a two-dimensional moving image by image processing is to be configured. In addition, it is possible to obtain an image processing apparatus and an image processing program capable of speeding up the overall processing and reducing the cost of the apparatus by performing efficiently.

この発明に係る画像処理装置は、参照画像及び現画像を入力する画像入力手段と、前記画像入力手段からの参照画像を記憶する参照画像記憶手段と、前記画像入力手段からの現画像を記憶する現画像記憶手段と、前記参照画像記憶手段に記憶された参照画像を順次水平方向に1画素ずつ読み取るとともに、1画素毎の前記参照画像上の位置情報を出力する参照画像読み取り手段と、前記現画像の画素を循環式に一時的に記憶する一時記憶手段と、仮アフィン係数及び前記参照画像読み取り手段からの位置情報に基づいて、前記参照画像上の水平線に対応する前記現画像上の対応直線に沿って画素を前記現画像記憶手段から読み出して前記一時記憶手段に書き込む現画像書き込み手段と、前記仮アフィン係数及び前記参照画像読み取り手段からの位置情報に基づいて、前記参照画像上の画素に対応する前記現画像上の画素の位置情報を求め、この求めた前記現画像上の画素の位置情報に基づき該当する画素を前記一時記憶手段から読み取り、バイリニア補間を行う現画像読み取り手段と、前記参照画像読み取り手段により読み取られた画素、及び前記現画像読み取り手段により読み取られ前記バイリニア補間が施された画素に基づいてアフィン係数を算出するアフィン係数算出手段と、前記アフィン係数算出手段により算出されたアフィン係数を用いて、前記現画像記憶手段から読み出された前記現画像の変換を行うアフィン変換手段とを設けたものである。   An image processing apparatus according to the present invention stores an image input means for inputting a reference image and a current image, a reference image storage means for storing a reference image from the image input means, and a current image from the image input means. A current image storage unit; a reference image stored in the reference image storage unit; a reference image reading unit that sequentially reads one pixel at a time in the horizontal direction and outputs position information on the reference image for each pixel; Temporary storage means for temporarily storing the pixels of the image in a cyclic manner, and a corresponding straight line on the current image corresponding to a horizontal line on the reference image, based on a temporary affine coefficient and position information from the reference image reading means A current image writing means for reading out pixels from the current image storage means and writing them to the temporary storage means, and the temporary affine coefficient and the reference image reading means Based on the position information, the position information of the pixel on the current image corresponding to the pixel on the reference image is obtained, and the corresponding pixel is obtained from the temporary storage means based on the obtained position information of the pixel on the current image. Current image reading means for performing reading and bilinear interpolation, pixels read by the reference image reading means, and affine coefficients for calculating affine coefficients based on the pixels read by the current image reading means and subjected to the bilinear interpolation A calculation means and an affine transformation means for converting the current image read from the current image storage means using the affine coefficient calculated by the affine coefficient calculation means are provided.

この発明に係る画像処理装置は、画像データの読み取りを高速かつ効率的に行うことにより全体の処理の高速化を可能にすると共に、装置のコストダウンを図ることができるという効果を奏する。   The image processing apparatus according to the present invention has an effect that the entire process can be speeded up by reading image data at high speed and efficiently, and the cost of the apparatus can be reduced.

実施の形態1.
この発明の実施の形態1に係る画像処理装置について図面を参照しながら説明する。図1は、この発明の実施の形態1に係る画像処理装置の構成を示す図である。なお、各図中、同一符号は同一又は相当部分を示す。
Embodiment 1 FIG.
An image processing apparatus according to Embodiment 1 of the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing a configuration of an image processing apparatus according to Embodiment 1 of the present invention. In addition, in each figure, the same code | symbol shows the same or equivalent part.

図1において、本実施の形態1に係る画像処理装置1は、現画像と参照画像のデータを入力する画像入力手段2と、画像入力手段2から送られてきた参照画像等を記憶する参照画像記憶手段3と、画像入力手段2から送られてきた現画像等を記憶する現画像記憶手段(主記憶装置)4と、参照画像のどの画素のデータを読み取るかを決めて参照画像記憶手段3からの読み取りを実行する参照画像読み取り手段5と、現画像記憶手段4から読み出された現画像の画素データを一時的に記憶する一時記憶手段7と、参照画像読み取り手段5が参照画像のどの画素を読み取ったかに基づいて、画素データの領域をあらかじめ算出し、領域内の画素データを現画像記憶手段4から読み出して一時記憶手段7に書き込む現画像書き込み手段6と、参照画像読み取り手段5が参照画像のどの画素を読み取ったかに基づいて、現画像のどの画素のデータを読み取るかを決めて一時記憶手段7から現画像の画素データの読み取りを実行する現画像読み取り手段8と、現画像の画素データとそれに対応する参照画像の画素データからアフィン係数を算出するアフィン係数算出手段9と、アフィン係数算出手段9で算出したアフィン係数を用いて現画像の変換を行うアフィン変換手段10と、アフィン変換手段10で変換した現画像を出力する画像出力手段11とが設けられている。   1, an image processing apparatus 1 according to the first embodiment includes an image input unit 2 that inputs data of a current image and a reference image, and a reference image that stores a reference image transmitted from the image input unit 2. The storage means 3, the current image storage means (main storage device) 4 for storing the current image sent from the image input means 2, and the reference image storage means 3 by determining which pixel data of the reference image is read. The reference image reading means 5 for reading from the image, the temporary storage means 7 for temporarily storing the pixel data of the current image read from the current image storage means 4, and the reference image reading means 5 for which of the reference images Based on whether the pixel has been read, an area of pixel data is calculated in advance, and the current image writing means 6 for reading out the pixel data in the area from the current image storage means 4 and writing it in the temporary storage means 7, and a reference image A current image reading means 8 for determining which pixel data of the current image is read based on which pixel of the reference image is read by the reading means 5 and reading the pixel data of the current image from the temporary storage means 7; Affine coefficient calculating means 9 for calculating affine coefficients from pixel data of the current image and corresponding reference image pixel data, and affine transformation means for converting the current image using the affine coefficients calculated by the affine coefficient calculating means 9 10 and image output means 11 for outputting the current image converted by the affine transformation means 10 are provided.

なお、図1には記載されていないが、この画像処理装置1を全体的に制御する制御手段があり、参照画像読み取り手段5、現画像書き込み手段6、現画像読み取り手段8、アフィン係数算出手段9、アフィン変換手段10、画像出力手段11にシステムバス等を介して接続されており、これらの各手段を制御する。ただし、以下においては説明を簡潔にするために、参照画像読み取り手段5、現画像書き込み手段6、現画像読み取り手段8、アフィン係数算出手段9等が自らデータ処理を実行するものとする。   Although not shown in FIG. 1, there is a control means for controlling the image processing apparatus 1 as a whole. Reference image reading means 5, current image writing means 6, current image reading means 8, affine coefficient calculating means. 9, connected to the affine transformation means 10 and the image output means 11 via a system bus or the like, and controls each of these means. However, in the following, for the sake of brevity, it is assumed that the reference image reading means 5, the current image writing means 6, the current image reading means 8, the affine coefficient calculating means 9 and the like execute data processing themselves.

また、上述の参照画像記憶手段3と現画像記憶手段4は、例えばアフィン係数算出手段9、アフィン変換手段10の外部に接続されているメモリで構成されている。一方、一時記憶手段7は、これらのメモリと比較して、現画像書き込み手段6、現画像読み取り手段8と高速にデータ受渡しが可能で、読み書きが同時に行えるダブルポートの構造であるが、記憶容量の小さな内部メモリもしくはキャッシュ等で構成されている。しかしながら、この発明は上記構成に限定されるものではない。すなわち、参照画像読み取り手段5、現画像書き込み手段6、一時記憶手段7、現画像読み取り手段8、アフィン係数算出手段9、アフィン変換手段10は別々の装置(デバイス)で構成される必要はなく、1つのLSI等で構成されていてもよい。   Further, the reference image storage unit 3 and the current image storage unit 4 described above are configured by, for example, a memory connected to the outside of the affine coefficient calculation unit 9 and the affine transformation unit 10. On the other hand, the temporary storage means 7 has a double-port structure capable of transferring data at high speed with the current image writing means 6 and the current image reading means 8 and simultaneously reading and writing, compared with these memories. It consists of a small internal memory or cache. However, the present invention is not limited to the above configuration. That is, the reference image reading unit 5, the current image writing unit 6, the temporary storage unit 7, the current image reading unit 8, the affine coefficient calculation unit 9, and the affine transformation unit 10 do not need to be configured as separate devices (devices). It may be composed of one LSI or the like.

また、上述の画像入力手段2は、例えばカメラなどの撮影手段を想定しているが、外部の記憶装置からの入力や、他の画像処理装置からの入力などであってもよい。また、画像出力手段11は、例えばディスプレイ等であるが、外部の記憶装置や他の画像処理装置への出力であってもよい。   The image input unit 2 is assumed to be a photographing unit such as a camera, but may be input from an external storage device or input from another image processing device. The image output unit 11 is, for example, a display, but may be an output to an external storage device or another image processing apparatus.

つぎに、この実施の形態1に係る画像処理装置の動作について図面を参照しながら説明する。   Next, the operation of the image processing apparatus according to the first embodiment will be described with reference to the drawings.

まず、この画像処理装置1による画像処理方法の概略について以下の(1)〜(9)の順に従って説明する。   First, an outline of an image processing method by the image processing apparatus 1 will be described in the following order (1) to (9).

(1)時刻t−1に、画像入力手段2は撮影対象を撮影し、これを参照画像として参照画像記憶手段3に送る。この参照画像記憶手段3は、1フレームの参照画像のデータを記憶する。   (1) At time t−1, the image input unit 2 captures an imaging target and sends it to the reference image storage unit 3 as a reference image. The reference image storage means 3 stores reference frame data of one frame.

(2)次に、時刻tに、画像入力手段2は撮影対象を撮影し、これを現画像として現画像記憶手段4に送る。この現画像記憶手段4は、1フレームの現画像のデータを記憶する。   (2) Next, at time t, the image input means 2 takes a picture of the subject and sends it to the current image storage means 4 as the current image. This current image storage means 4 stores data of one frame of current image.

(3)次に、アフィン係数算出手段9は仮アフィン係数を定める。これを、現画像書き込み手段6と、現画像読み取り手段8に送る。   (3) Next, the affine coefficient calculation means 9 determines a temporary affine coefficient. This is sent to the current image writing means 6 and the current image reading means 8.

(4)参照画像読み取り手段5は、参照画像上の画素データをラスタ走査のように画像の左上隅から水平方向に1画素ずつ読み取る。参照画像読み取り手段5は、画素データをひとつ読み出すごとに、読み出した画素の画像上の位置(アドレス)と画素データを、アフィン係数算出手段9に送る。また、読み出した画素の画像上の位置(アドレス)の情報を現画像書き込み手段6、現画像読み取り手段8に送る。ある行の全ての画素データを読み取った後は、1行下にずらして(シフトして)左から右に水平に画素を順次読み取っていき、現画像上のすべての画素データを読み出すようにする。   (4) The reference image reading means 5 reads pixel data on the reference image pixel by pixel in the horizontal direction from the upper left corner of the image like raster scanning. Each time one piece of pixel data is read, the reference image reading unit 5 sends the position (address) of the read pixel on the image and the pixel data to the affine coefficient calculation unit 9. Also, information on the position (address) of the read pixel on the image is sent to the current image writing means 6 and the current image reading means 8. After reading all the pixel data in a row, the pixels are sequentially read from left to right by shifting (shifting) down one row, and all the pixel data on the current image is read out. .

(5)現画像書き込み手段6は、参照画像読み取り手段5が新たな行の画素データを読み出す場合、アフィン係数算出手段9から送られてきた仮アフィン係数と、参照画像読み取り手段5から送られてきた画素の参照画像上の位置(アドレス)の情報をもとに、参照画像に対応する現画像上の対応直線を求め、その対応直線に沿う画素データを現画像記憶手段4から読み出し、一時記憶手段7に書き込んでおく。   (5) The current image writing unit 6 sends the temporary affine coefficient sent from the affine coefficient calculating unit 9 and the reference image reading unit 5 when the reference image reading unit 5 reads out pixel data of a new row. On the basis of information on the position (address) of the pixel on the reference image, a corresponding straight line on the current image corresponding to the reference image is obtained, and pixel data along the corresponding straight line is read from the current image storage means 4 and temporarily stored. Write in means 7.

(6)現画像読み取り手段8は、アフィン係数算出手段9から送られてきた仮アフィン係数と、参照画像読み取り手段5から送られてきた画素の参照画像上の位置(アドレス)の情報をもとに、参照画像上の画素に対応する現画像上の画素の位置(一時記憶手段7のアドレス)を算出する。その後、バイリニア補間を行うために、算出した現画像上の画素の位置に基づき一時記憶手段7から対応する画素のデータを読み出し、補間した画素データをアフィン係数算出手段9に送る。   (6) The current image reading means 8 is based on the temporary affine coefficient sent from the affine coefficient calculating means 9 and the position (address) information on the reference image of the pixels sent from the reference image reading means 5. Then, the position of the pixel on the current image corresponding to the pixel on the reference image (the address of the temporary storage means 7) is calculated. Thereafter, in order to perform bilinear interpolation, the data of the corresponding pixel is read from the temporary storage unit 7 based on the calculated pixel position on the current image, and the interpolated pixel data is sent to the affine coefficient calculation unit 9.

(7)アフィン係数算出手段9は、参照画像読み取り手段5から送られてきた全ての画素データと、現画像読み取り手段8から送られてきた全ての画素データから、式3の演算を行い、アフィン係数を算出する。また、同時に、式1の演算を実行し、参照画像と現画像との誤差を算出する。   (7) The affine coefficient calculation means 9 performs the calculation of Equation 3 from all the pixel data sent from the reference image reading means 5 and all the pixel data sent from the current image reading means 8, and Calculate the coefficient. At the same time, the calculation of Expression 1 is executed to calculate an error between the reference image and the current image.

(8)アフィン係数算出手段9は、算出した参照画像と現画像との誤差が規定値以内であれば、算出したアフィン係数をアフィン変換手段10に送る。誤差が規定値を超えている場合は、算出したアフィン係数を現画像書き込み手段6と、現画像読み取り手段8に送り、(4)〜(7)までの処理を繰り返す。このようなフィードバックを、誤差が規定値以内になるか、繰り返しの回数が規定の回数をこえるまで繰り返す。   (8) If the error between the calculated reference image and the current image is within a specified value, the affine coefficient calculation means 9 sends the calculated affine coefficient to the affine transformation means 10. If the error exceeds the specified value, the calculated affine coefficient is sent to the current image writing means 6 and the current image reading means 8, and the processes (4) to (7) are repeated. Such feedback is repeated until the error falls within the specified value or the number of repetitions exceeds the specified number.

(9)アフィン変換手段10は、現画像記憶手段4から画像データを読み出し、アフィン係数算出手段9から送られてきたアフィン係数で変換を行う。その後、変換された画像を、画像出力手段11に送る。   (9) The affine transformation means 10 reads the image data from the current image storage means 4 and performs transformation using the affine coefficients sent from the affine coefficient calculation means 9. Thereafter, the converted image is sent to the image output means 11.

画像処理装置1は、以上の動作により現画像をアフィン変換し、ぶれを抑制する。   The image processing apparatus 1 affine-transforms the current image by the above operation and suppresses blurring.

なお、仮アフィン係数の算出方法に関しては、一例として、上述した非特許文献1に、乱数、画像の輝度の時空間こう配を用いて仮アフィン係数を求める方法が示されている。また、1フレーム前の処理のアフィン係数を、仮アフィン係数としてもよいし、6個のアフィン係数を0として処理を開始してもよい。これらの方法により、仮アフィン係数を求めることが出来る。   As an example of the method for calculating the temporary affine coefficient, Non-Patent Document 1 described above shows a method for obtaining the temporary affine coefficient using a random time and a spatio-temporal gradient of the luminance of the image. Further, the affine coefficient of the process one frame before may be a temporary affine coefficient, or the process may be started with six affine coefficients set to zero. By these methods, the temporary affine coefficient can be obtained.

図2は、この発明の実施の形態1において参照画像上の画素と現画像上の画素の配列及びお互いの対応を示す図である。図2において、左側は参照画像20であり、右側は現画像21である。参照画像20上の任意の画素データと、現画像21の対応画素データとによって、アフィン係数を算出する。   FIG. 2 is a diagram showing the arrangement of the pixels on the reference image and the pixels on the current image and the correspondence between them in the first embodiment of the present invention. In FIG. 2, the left side is the reference image 20, and the right side is the current image 21. An affine coefficient is calculated from arbitrary pixel data on the reference image 20 and corresponding pixel data of the current image 21.

この例では、参照画像20上の画素を順次、水平方向に読み取った場合に、現画像21上の対応画素が傾き(角度)αになったものとする。ただし、ここでは、−π/2<α≦π/2とする。αは上述の仮アフィン係数、もしくはフィードバックされたアフィン係数から簡単に求めることが出来る。これは式2と、参照画像20上の画素(x,y)と現画像21上の対応画素(x’,y’)の関係式である式4から求めることができ、式5のようになる。以下では、参照画像20上の画素(x,y)に対する現画像21上の対応画素(x’,y’)を通る傾きαの直線のことを、単に“対応直線”と表現する。   In this example, when pixels on the reference image 20 are sequentially read in the horizontal direction, the corresponding pixels on the current image 21 are inclined (angle) α. However, in this case, −π / 2 <α ≦ π / 2. α can be easily obtained from the temporary affine coefficient described above or the affine coefficient fed back. This can be obtained from Expression 2 and Expression 4 which is a relational expression between the pixel (x, y) on the reference image 20 and the corresponding pixel (x ′, y ′) on the current image 21, as shown in Expression 5. Become. Hereinafter, a straight line having a slope α passing through a corresponding pixel (x ′, y ′) on the current image 21 with respect to a pixel (x, y) on the reference image 20 is simply expressed as a “corresponding straight line”.

Figure 2005149001
Figure 2005149001

また、図2のように、参照画像20、現画像21の画像のサイズを共に横64画素、縦64画素とし、画像の左下すみの画素を原点(0,0)として、横軸をX軸、縦軸をY軸とし、原点から右側x画素目、上側y画素目の点を(x,y)と表すものとする。また、アフィン係数は式3から算出するものとする。   Also, as shown in FIG. 2, the size of the reference image 20 and the current image 21 is 64 pixels wide and 64 pixels long, the pixel at the lower left corner of the image is the origin (0, 0), and the horizontal axis is the X axis. The vertical axis is the Y axis, and the point on the right x pixel and the upper y pixel from the origin is represented as (x, y). The affine coefficient is calculated from Equation 3.

また、以下の例では、参照画像20上の画素S(x,y)に対する現画像21上の対応点T(x’,y’)の画素データは、バイリニア補間とよばれる方法で求めるものとする。これは、対応点T(x’,y’)の値は一般的に整数にならないため、対応点Tを囲んでいる近傍4画素の比例配分によって画素値を計算して補間する方法である。   In the following example, the pixel data of the corresponding point T (x ′, y ′) on the current image 21 with respect to the pixel S (x, y) on the reference image 20 is obtained by a method called bilinear interpolation. To do. In this method, since the value of the corresponding point T (x ′, y ′) generally does not become an integer, the pixel value is calculated and interpolated by proportional distribution of four neighboring pixels surrounding the corresponding point T.

図3は、参照画素に対する現画像上の対応画素を求めるためのバイリニア補間の方法を示したものである。[]をガウス記号として、i=[x’],j=[y’]とすると、対応点Tを囲んでいる近傍4画素の位置は、(i,j),(i+1,j),(i,j+1),(i+1,j+1)となる。これから、補間された点(x’,y’)の画素値は式6から求められる。   FIG. 3 shows a bilinear interpolation method for obtaining a corresponding pixel on the current image with respect to a reference pixel. If [] is a Gaussian symbol and i = [x ′], j = [y ′], the positions of the four neighboring pixels surrounding the corresponding point T are (i, j), (i + 1, j), ( i, j + 1), (i + 1, j + 1). From this, the pixel value of the interpolated point (x ′, y ′) is obtained from Equation 6.

Figure 2005149001
Figure 2005149001

参照画像読み取り手段5の動作を以下の手順(A1)〜(A5)に従って説明する。   The operation of the reference image reading unit 5 will be described according to the following procedures (A1) to (A5).

(A1)最初に、参照画像読み取り手段5は、図2に示すように、参照画像20上の左上すみの63行目の画素(0,63)のデータを読み取る。次に、参照画像読み取り手段5は、画素(0,63)のデータを、アフィン係数算出手段9に送る。また、画素の位置を示す(0,63)という情報と、処理を開始した旨の信号を現画像書き込み手段6、現画像読み取り手段8に送る。参照画像読み取り手段5は、現画像読み取り手段8から、後述する“対応画素読み取り準備中”の信号が止まるまで、処理を休止する。   (A1) First, the reference image reading means 5 reads the data of the pixel (0, 63) in the 63rd row of the upper left corner on the reference image 20, as shown in FIG. Next, the reference image reading unit 5 sends the data of the pixel (0, 63) to the affine coefficient calculation unit 9. Also, information indicating (0, 63) indicating the pixel position and a signal indicating that processing has been started are sent to the current image writing means 6 and the current image reading means 8. The reference image reading unit 5 pauses the process until a signal “Preparing corresponding pixel reading”, which will be described later, stops from the current image reading unit 8.

(A2)次に、参照画像読み取り手段5は、ラスタ走査と同様の順番で、63行目の画素(1,63)から順に水平方向に画素(63,63)まで読み取る。参照画像読み取り手段5は、読み取った画素データを、アフィン係数算出手段9に送り、読み取った画素データの位置を示す(x,63)という情報を現画像読み取り手段8に送る。   (A2) Next, the reference image reading unit 5 reads the pixels (63, 63) in the horizontal direction sequentially from the pixel (1, 63) in the 63rd row in the same order as the raster scanning. The reference image reading means 5 sends the read pixel data to the affine coefficient calculation means 9 and sends information (x, 63) indicating the position of the read pixel data to the current image reading means 8.

(A3)次に、参照画像読み取り手段5は、読み取る行を1つシフトして、(A1)の処理と同様に、参照画像上の62行目の画素(0,62)のデータを読み取る。参照画像読み取り手段5は、画素(0,62)のデータをアフィン係数算出手段9に送る。また、画素データの位置を示す(0,62)という情報と、読み取り行を更新(シフト)した旨の信号を現画像書き込み手段6、現画像読み取り手段8に送る。参照画像読み取り手段5は、(A1)の処理と同様に、現画像読み取り手段8から“対応画素読み取り準備中”の信号が止まるまで、処理を休止する。   (A3) Next, the reference image reading unit 5 shifts the row to be read by one, and reads the data of the pixel (0, 62) in the 62nd row on the reference image, similarly to the processing of (A1). The reference image reading unit 5 sends the data of the pixel (0, 62) to the affine coefficient calculation unit 9. In addition, information (0, 62) indicating the position of the pixel data and a signal indicating that the reading row has been updated (shifted) are sent to the current image writing means 6 and the current image reading means 8. Similar to the process (A1), the reference image reading unit 5 pauses the process until the signal “Preparing corresponding pixel reading” stops from the current image reading unit 8.

(A4)参照画像読み取り手段5は、(A2)と同様に、62行目の画素(1,62)から順に画素(63,62)まで読み取り、読み取った画素データを、アフィン係数算出手段9に送り、その読み取った画素データの位置情報(アドレス)を現画像読み取り手段8に送る。   (A4) Similarly to (A2), the reference image reading means 5 reads the pixels (1, 62) in the 62nd row to the pixels (63, 62) in order, and reads the read pixel data to the affine coefficient calculation means 9. The position information (address) of the read pixel data is sent to the current image reading means 8.

(A5)以下、同様にして、読み取る行を1つずつシフトして順次処理を行っていく。最後の画素に当たる0行目の画素(63,0)が処理されるまで処理を行う。   (A5) In the same manner, the rows to be read are shifted one by one and sequentially processed. Processing is performed until the pixel (63, 0) in the 0th row corresponding to the last pixel is processed.

以上の様に処理を行うことにより、参照画像読み取り手段5は、現画像書き込み手段6、現画像読み取り手段8と連動して1行ずつ、画素データの読み出しを実行する。   By performing the processing as described above, the reference image reading unit 5 reads pixel data line by line in conjunction with the current image writing unit 6 and the current image reading unit 8.

図4は、一時記憶手段7の記憶エリアを示している。図4に示すように、一時記憶手段7は、64×8個(総計512個)のブロック(アドレス)からなり、各ブロックは1つの画素データを保持できるものとする。また、各ブロックには識別のため、0番から511番までの通し番号が割り当てられている。   FIG. 4 shows the storage area of the temporary storage means 7. As shown in FIG. 4, the temporary storage means 7 is composed of 64 × 8 (total 512) blocks (addresses), and each block can hold one pixel data. Each block is assigned a serial number from 0 to 511 for identification.

次に、現画像書き込み手段6、一時記憶手段7、現画像読み取り手段8の動作を以下の手順に従って説明する。ここでの動作は、上述の参照画像読み取り手段5の動作と連動しているものとする。   Next, the operations of the current image writing means 6, the temporary storage means 7, and the current image reading means 8 will be described according to the following procedure. The operation here is assumed to be interlocked with the operation of the reference image reading means 5 described above.

(B1)最初に、現画像書き込み手段6、現画像読み取り手段8は、参照画像読み取り手段5から参照画像上の画素(0,63)の位置情報と処理開始の信号を受け取る。これは、上述の(A1)での参照画像読み取り手段5の動作に対応している。それに対して、現画像読み取り手段8は、“対応画素読み取り準備中”の信号を、参照画像読み取り手段5に送る。また、アフィン係数算出手段9から仮アフィン係数もしくはフィードバックされたアフィン係数の値を受け取る。   (B1) First, the current image writing unit 6 and the current image reading unit 8 receive the position information of the pixel (0, 63) on the reference image and the processing start signal from the reference image reading unit 5. This corresponds to the operation of the reference image reading means 5 in (A1) described above. On the other hand, the current image reading unit 8 sends a signal “Preparing corresponding pixel reading” to the reference image reading unit 5. The temporary affine coefficient or the fed back affine coefficient value is received from the affine coefficient calculation means 9.

(B2)現画像読み取り手段8は、参照画像上の画素(0,63)の1つ上の行の仮想的な画素(0,64)を定め、その対応点P0を式2と式4から求め、その点の通る直線(対応直線)を式5から算出する。同様にして、参照画像上の画素(0,63)の対応点P1と、その対応直線、参照画像上の画素(0,63)の1つ下の行の画素(0,62)の対応点P2と、その対応直線を算出する。この時、図2のように、参照画像上の仮想的な画素(0,64)に対する対応直線E0、参照画像上の画素(0,63)に対する対応直線E1、及び参照画像上の画素(0,62)に対する対応直線E2をそれぞれ下記の式とする。   (B2) The current image reading means 8 determines a virtual pixel (0, 64) in a row one pixel above the pixel (0, 63) on the reference image, and determines the corresponding point P0 from Equation 2 and Equation 4. The straight line (corresponding straight line) through which the point passes is calculated from Equation 5. Similarly, the corresponding point P1 of the pixel (0, 63) on the reference image and the corresponding line, the corresponding point of the pixel (0, 62) in the row immediately below the pixel (0, 63) on the reference image P2 and its corresponding straight line are calculated. At this time, as shown in FIG. 2, the corresponding straight line E0 for the virtual pixel (0, 64) on the reference image, the corresponding straight line E1 for the pixel (0, 63) on the reference image, and the pixel (0 on the reference image) , 62), the corresponding straight lines E2 are respectively expressed by the following equations.

Figure 2005149001
Figure 2005149001

(B3)現画像書き込み手段6は、現画像読み取り手段8と同様に、対応点P0、P1、P2と対応直線E0、E1、E2を求める。なお、現画像読み取り手段8が求めた対応点P0、P1、P2と対応直線E0、E1、E2の情報を送ってもらってもよい。また、現画像書き込み手段6が、対応点P0、P1、P2と対応直線E0、E1、E2を求め、現画像読み取り手段8に送ってもよい。現画像書き込み手段6は、以下の(B3−1)〜(B3−5)のようにして、現画像記憶手段4から画素データを読み出し、一時記憶手段7に書き込む。   (B3) The current image writing means 6 obtains corresponding points P0, P1, P2 and corresponding straight lines E0, E1, E2 as in the current image reading means 8. Note that the information on the corresponding points P0, P1, P2 and the corresponding straight lines E0, E1, E2 obtained by the current image reading means 8 may be sent. Further, the current image writing unit 6 may obtain the corresponding points P0, P1, and P2 and the corresponding straight lines E0, E1, and E2 and send them to the current image reading unit 8. The current image writing means 6 reads out pixel data from the current image storage means 4 and writes it in the temporary storage means 7 as in the following (B3-1) to (B3-5).

(B3−1)現画像書き込み手段6は、一時記憶手段7をLブロック毎の仮想的な領域に分割する。この時、Lは対応直線E0とE2の間にある、もしくはどちらかの線を含んでいる画素を列毎に分けて格納できるような大きさであればよい。例えば、Lを「L>|C2−C0|+|tanα|+1を満たすような最小の整数」というように、対応直線の傾きtanαと、y切片C2とC0の間隔に応じて決めてもよい。この例では、Lを4とする。以後、一時記憶手段7において領域毎に分けたブロックの「m領域目のk番目のブロック」を[m,k]ブロックと表記する。この時、図4のように、一時記憶手段7の0番のブロックが[0,0]ブロック、1番のブロックが[0,1]ブロック、・・・となるものとする。なお、一時記憶手段7の最後尾の領域がLブロックに満たない場合(一時記憶手段7がLで割り切れない場合)は最後尾の領域は使用しないものとする。   (B3-1) The current image writing unit 6 divides the temporary storage unit 7 into virtual areas for each L block. At this time, L may be of a size that can store pixels that are between the corresponding straight lines E0 and E2 or that include one of the lines separately for each column. For example, L may be determined according to the slope tanα of the corresponding straight line and the interval between the y-intercepts C2 and C0, such that “L> | C2−C0 | + | tanα | +1”. . In this example, L is 4. Hereinafter, the “k-th block in the m-th area” of the blocks divided for each area in the temporary storage unit 7 is referred to as an [m, k] block. At this time, as shown in FIG. 4, the 0th block of the temporary storage means 7 is a [0, 0] block, the 1st block is a [0, 1] block, and so on. When the last area of the temporary storage means 7 is less than L blocks (when the temporary storage means 7 is not divisible by L), the last area is not used.

(B3−2)現画像書き込み手段6は、図2において、現画像の0列の画素の中で、対応直線E0とE2の間にある、もしくはどちらかの線を含んでいる画素のうち行番号の1番目に大きい物を一時記憶手段7の“0”の領域の0番目のブロックに書き込む。この場合、画素(0,63)が[0,0]ブロックに書き込まれる。   (B3-2) The current image writing means 6 in FIG. 2 is a row among the pixels in the 0th column of the current image that are between the corresponding straight lines E0 and E2 or include any one of the lines. The first largest number is written in the 0th block in the “0” area of the temporary storage means 7. In this case, the pixel (0, 63) is written in the [0, 0] block.

(B3−3)次に、1列の画素を同様にして“1”の領域の0番目のブロックに書き込む。この場合、画素(1,63)を[1,0]ブロックに書き込む。同様にして、画素(2,63)を[2,0]ブロック、画素(3,63)を[3,0]ブロック、画素(4,63)を[4,0]ブロックに書き込む。その後、5列目の場合は、「対応直線E0とE2の間にある、もしくはどちらかの線を含んでいる画素のうち行番号の大きい画素」は、画素(5,62)になる。この画素を[5,0]ブロックに書き込む。以下、同様にして、63列までの画素を対応するブロックに書き込んでいく。   (B3-3) Next, the pixels in one column are similarly written to the 0th block in the “1” area. In this case, the pixel (1, 63) is written in the [1, 0] block. Similarly, the pixel (2, 63) is written in the [2, 0] block, the pixel (3, 63) is written in the [3, 0] block, and the pixel (4, 63) is written in the [4, 0] block. Thereafter, in the case of the fifth column, “the pixel having the largest row number among the pixels between the corresponding straight lines E0 and E2 or including one of the lines” is the pixel (5, 62). This pixel is written into the [5,0] block. In the same manner, pixels up to 63 columns are written in corresponding blocks.

(B3−4)次に、現画像書き込み手段6は、現画像の0列の画素の中で、対応直線E0とE2の間にある、もしくはどちらかの線を含んでいる画素のうち行番号の2番目に大きい物を一時記憶手段7の“0”の領域の1番目のブロックに書き込む。この場合、画素(0,62)が{0,1}ブロックに書き込まれる。以下、同様にして、対応直線E0とE2の間にある、もしくはどちらかの線を含んでいる全ての画素を一時記憶手段7に書き込んでいく。   (B3-4) Next, the current image writing means 6 selects the row number among the pixels in the 0th column of the current image, among the pixels located between the corresponding straight lines E0 and E2, or including any one of the lines. Is written in the first block in the “0” area of the temporary storage means 7. In this case, pixel (0, 62) is written into the {0, 1} block. Thereafter, in the same manner, all the pixels that are between the corresponding straight lines E0 and E2 or that include one of the lines are written in the temporary storage means 7.

(B3−5)ところで、一時記憶手段7に対応する画素が書ききれない場合がありうる。例えば、一時記憶手段7をL個に分割する際にLが8より大きく、かつ0列から63列までの対応直線E0とE2の間にある、もしくはどちらかの線を含んでいる画素が0列から63列まで存在するため、図4に示した一時記憶手段7の64×8ブロックを超えてしまう場合である。この時、現画像書き込み手段6は、一時記憶手段7に書き込むことのできた最後の列を「列番号のオフセット終了値」として記録する。それ以降の列の画素は一時記憶手段7に書き込まないものとする。   (B3-5) By the way, there may be a case where pixels corresponding to the temporary storage unit 7 cannot be written. For example, when the temporary storage means 7 is divided into L pixels, L is greater than 8 and pixels that are between the corresponding straight lines E0 and E2 from the 0th column to the 63rd column or include any one of the lines are 0. Since there are 63 to 63 columns, the temporary storage means 7 shown in FIG. 4 exceeds 64 × 8 blocks. At this time, the current image writing unit 6 records the last column that can be written in the temporary storage unit 7 as the “column number offset end value”. The pixels in the subsequent columns are not written in the temporary storage means 7.

(B4)次に、現画像読み取り手段8は、現画像書き込み手段6と同じ手順で、現画像書き込み手段6が一時記憶手段7に書き込んだ位置(アドレス)から順次、現画像の画素を読み取る。このとき、参照画像上の画素(0,63)の対応する対応点P1の座標を(x1,y1)とした時、以下の(B4−1)、(B4−2)ようにして、対応点P1を補間するための近傍4点の画素データを一時記憶手段7から読み取る。   (B4) Next, the current image reading means 8 reads the pixels of the current image sequentially from the position (address) written in the temporary storage means 7 by the same procedure as the current image writing means 6. At this time, when the coordinates of the corresponding point P1 corresponding to the pixel (0, 63) on the reference image is (x1, y1), the corresponding point is as follows (B4-1) and (B4-2). Pixel data of four neighboring points for interpolating P1 is read from the temporary storage means 7.

(B4−1)まず、現画像読み取り手段8は、対応点が「列番号のオフセット終了値」以下であることを確認する。そうでない場合は、対応する画素が一時記憶手段7に格納されていないので、現画像記憶手段4から直接、対応する画素データを読み出す。   (B4-1) First, the current image reading unit 8 confirms that the corresponding point is equal to or less than the “column number offset end value”. Otherwise, since the corresponding pixel is not stored in the temporary storage means 7, the corresponding pixel data is read directly from the current image storage means 4.

(B4−2)次に、現画像読み取り手段8は、x=x1の時の対応直線E0のyの値を算出し、y≦63の時、yを「行番号のオフセット値」とし、y>63の時、63を「行番号のオフセット値」とする。この場合、y=(tanα)x1+C0となる(ただし、端数は切り捨てられる)。このとき、以下の式とする([]はガウス記号、modはモジュラ演算子)。   (B4-2) Next, the current image reading means 8 calculates the y value of the corresponding straight line E0 when x = x1, and when y ≦ 63, y is set as the “line number offset value”, and y When> 63, 63 is set as the “line number offset value”. In this case, y = (tan α) x1 + C0 (however, the fraction is rounded down). At this time, the following expressions are used ([] is a Gaussian symbol, mod is a modular operator).

Figure 2005149001
Figure 2005149001

この時、一時記憶手段7の{i1,j1}、{i1+1,j1}、{i1,j1+1}、{i1+1,j1+1}のブロックに点(x1,y1)を囲む近傍4点の画素データが格納されているので、そのデータを呼出す。   At this time, pixel data of four neighboring points surrounding the point (x1, y1) are stored in the blocks {i1, j1}, {i1 + 1, j1}, {i1, j1 + 1}, {i1 + 1, j1 + 1} of the temporary storage unit 7. So, call that data.

(B5)現画像読み取り手段8は、4点の画素データを用いて、対応点P1のバイリニア補間を行う。その後、得られた画素データをアフィン係数算出手段9に送る。また、参照画像読み取り手段5への“対応画素読み取り準備中”の信号の送信を停止する。   (B5) The current image reading means 8 performs bilinear interpolation of the corresponding point P1 using the four points of pixel data. Thereafter, the obtained pixel data is sent to the affine coefficient calculation means 9. Also, the transmission of the signal “Ready for corresponding pixel reading” to the reference image reading means 5 is stopped.

(B6)次に、現画像読み取り手段8は、参照画像読み取り手段5から参照画像上の画素(1,63)の情報を受け取る。これは、上述の(A2)での参照画像読み取り手段5の動作に対応している。この場合、(B4)、(B5)と同様に処理をする。画素(1,63)の対応点は、現画像上の対応直線E0とE2の間にある。このため、(B4)と同様に画素データを一時記憶手段7から読み出すことができる。   (B6) Next, the current image reading unit 8 receives information on the pixel (1, 63) on the reference image from the reference image reading unit 5. This corresponds to the operation of the reference image reading means 5 in (A2) described above. In this case, processing is performed in the same manner as (B4) and (B5). The corresponding point of pixel (1, 63) is between corresponding lines E0 and E2 on the current image. For this reason, the pixel data can be read from the temporary storage means 7 as in (B4).

(B7)現画像読み取り手段8が受け取る、画素(2,63)、(3,63)、・・・に関しても(B4)、(B5)と同様に処理する。   (B7) The pixels (2, 63), (3, 63),... Received by the current image reading means 8 are processed in the same manner as (B4) and (B5).

(B8)次に、現画像書き込み手段6、現画像読み取り手段8は、参照画像読み取り手段5から参照画像上での、行を更新した旨の信号を受取り、画素(0,62)の情報を受け取る。この場合、画素(0,61)に対応する点の通る対応直線E3を以下の式とする。   (B8) Next, the current image writing means 6 and the current image reading means 8 receive a signal indicating that the row has been updated on the reference image from the reference image reading means 5, and obtain information on the pixel (0, 62). receive. In this case, a corresponding straight line E3 through which a point corresponding to the pixel (0, 61) passes is represented by the following expression.

Figure 2005149001
Figure 2005149001

この時、対応直線E3とE1に関して、(B3)の(B3−2)〜(B3−5)と同様の処理を行う。ただし、一時記憶手段7の内部にすでにある画素データは、現画像記憶手段4から読み取らないようにし、新しいデータのみ追加する。この時、データを書き込むブロックは、画素の位置から式10と式11を用いて算出する。   At this time, the same processing as (B3-2) to (B3-5) of (B3) is performed on the corresponding straight lines E3 and E1. However, pixel data already in the temporary storage means 7 is not read from the current image storage means 4 and only new data is added. At this time, the block into which data is written is calculated from the pixel position using Equation 10 and Equation 11.

例えば、図2で、現画像の0列においての対応直線E3とE1の間にある、もしくは、どちらかの線を含んでいる画素は、(0,60)、(0,61)、(0,62)であるが、画素(0,61)、(0,62)のデータはすでに一時記憶手段7の[0,1]、[0,2]ブロックにそれぞれ格納されているので、読み取らないようにする。これは、これらの画素が、対応直線E2とE0の間にある、もしくは、どちらかの線を含んでいるかどうかを判定する事で確かめることが出来る。画素(0,60)は、新しい画素データなので、現画像記憶手段4から読み出し、[0,3]のブロックに格納する。また、4列においての対応直線E3とE1の間にある、もしくは、どちらかの線を含んでいる画素は、(4,59)、(4,60)、(4,61)、(4,62)であるが、画素(4,60)、(4,61)、(4,62)のデータはすでに一時記憶手段7の[4,1]、[4,2]、[4,3]ブロックにそれぞれ格納されているので読み取らないようにする。画素(4,59)は、新しい画素データなので、現画像記憶手段4から読み出し、[4,0]のブロックに格納する。この時、それ以前に格納されていた画素(4,63)のデータは、新しい画素(4,59)のデータに上書きされる。このようにして、サイズLのブロックの中に1つの列の新しいデータを循環式に書き込んでいく。この後、63列までの画素で新しいデータを、一時記憶手段7に書き込む。   For example, in FIG. 2, pixels that are between the corresponding straight lines E3 and E1 in the 0th column of the current image or that include either line are (0, 60), (0, 61), (0 , 62), but the data of the pixels (0, 61), (0, 62) are already stored in the [0, 1] and [0, 2] blocks of the temporary storage means 7, and are not read. Like that. This can be ascertained by determining whether these pixels are between the corresponding straight lines E2 and E0 or include either line. Since the pixel (0, 60) is new pixel data, it is read from the current image storage means 4 and stored in the block [0, 3]. In addition, pixels that are between the corresponding straight lines E3 and E1 in the four columns or that include one of the lines are (4, 59), (4, 60), (4, 61), (4, 62), the data of the pixels (4, 60), (4, 61), (4, 62) are already stored in the temporary storage means 7 [4, 1], [4, 2], [4, 3]. Don't read because each is stored in a block. Since the pixel (4, 59) is new pixel data, it is read from the current image storage means 4 and stored in the block [4, 0]. At this time, the data of the pixel (4, 63) stored before that is overwritten with the data of the new pixel (4, 59). In this way, new data in one column is written in a circular manner in a block of size L. Thereafter, new data is written in the temporary storage means 7 with up to 63 columns of pixels.

(B9)以下、同様にして、現画像読み取り手段8は、参照画像読み取り手段5から参照画像上の画素情報を受取り、対応画素のデータの読み取りの処理を行う。この処理を参照画像上の画素(63,0)まで順次行う。   (B9) Hereinafter, similarly, the current image reading unit 8 receives the pixel information on the reference image from the reference image reading unit 5, and performs processing of reading the data of the corresponding pixel. This process is sequentially performed up to the pixel (63, 0) on the reference image.

以上の様に処理を行うことにより、現画像書き込み手段6と一時記憶手段7と現画像読み取り手段8は、参照画像の行毎に対応直線を求めて一時記憶手段7へのデータの書き込み、参照画像の画素毎に、一時記憶手段7からの読み出し等の処理を実行する。   By performing the processing as described above, the current image writing means 6, the temporary storage means 7, and the current image reading means 8 obtain a corresponding straight line for each row of the reference image, and write and reference data to the temporary storage means 7. For each pixel of the image, processing such as reading from the temporary storage unit 7 is executed.

図5は、上記の画像処理装置1の図示しない制御手段によって実行される画像処理プログラムを示す概略のフローチャートである。   FIG. 5 is a schematic flowchart showing an image processing program executed by a control unit (not shown) of the image processing apparatus 1.

このプログラムは、制御手段のROM等のメモリにあらかじめ記憶されていてもよいが、プログラム自体を装置とは独立に存在するものとし、フロッピー(登録商標)ディスクやCD等の外部記憶媒体、又はインターネット等の通信回線を介して、書き込み可能なメモリにインストールするようにしてもよい。この場合には、画像処理プログラムの発明として成立する。   This program may be stored in advance in a memory such as a ROM of the control means, but the program itself exists independently of the apparatus, and is an external storage medium such as a floppy (registered trademark) disk or CD, or the Internet. It may be installed in a writable memory via a communication line such as. In this case, the invention of the image processing program is established.

図5において、まず、アフィン係数算出手段9で定めた仮アフィン係数を読み出し、現画像書き込み手段6と、現画像読み取り手段8に送る(ステップ101)。   In FIG. 5, first, the temporary affine coefficient determined by the affine coefficient calculating means 9 is read and sent to the current image writing means 6 and the current image reading means 8 (step 101).

次に、参照画像記憶手段3に記憶された参照画像の最初の画素を指定する(ステップ102)。   Next, the first pixel of the reference image stored in the reference image storage means 3 is designated (step 102).

次に、参照画像の指定画素の座標(位置)を現画像書き込み手段6、現画像読み取り手段8に送出する(ステップ103)。   Next, the coordinates (position) of the designated pixel of the reference image are sent to the current image writing means 6 and the current image reading means 8 (step 103).

次に、現画像書き込み手段6によって、仮アフィン係数と指定画素の座標から、現画像上の対応画素と対応直線を算出し、算出した対応直線上の画素データ(厳密には、2つの対応直線に乗る画素データもあるので、対応直線に沿った画素データ)の座標を指定する(ステップ104)。   Next, the current image writing means 6 calculates corresponding pixels and corresponding lines on the current image from the temporary affine coefficients and the coordinates of the designated pixels, and pixel data on the calculated corresponding lines (strictly, two corresponding lines) Since there is also pixel data that rides on, the coordinates of the pixel data along the corresponding straight line) are designated (step 104).

次に、指定した座標の現画素データを現画像書き込み手段6によって現画像記憶手段4から読み取って、一時記憶手段7に記憶する(ステップ105)。   Next, the current pixel data at the designated coordinates is read from the current image storage means 4 by the current image writing means 6 and stored in the temporary storage means 7 (step 105).

そして、対応直線上に次の現画素があるか否かを判別し(ステップ106)、次の現画素がある場合にはその画素を指定する(ステップ107)。そして、ステップ105に移行して、その現画素を現画像記憶手段4から読み取って一時記憶手段7に記憶し、ステップ106、ステップ107の処理を行う。   Then, it is determined whether or not there is a next current pixel on the corresponding straight line (step 106). If there is a next current pixel, that pixel is designated (step 107). Then, the process proceeds to step 105, where the current pixel is read from the current image storage unit 4 and stored in the temporary storage unit 7, and the processing of step 106 and step 107 is performed.

すなわち、対応直線上に次の現画素がある限り、ステップ105〜ステップ107のループ処理を繰り返して、図4に示したように、現画素の画素データを一時記憶手段7に順に記憶する。   That is, as long as there is the next current pixel on the corresponding straight line, the loop processing from step 105 to step 107 is repeated, and the pixel data of the current pixel is sequentially stored in the temporary storage means 7 as shown in FIG.

対応直線上におけるすべての現画素の画素データを現画像記憶手段4から読み取って一時記憶手段7に記憶した後、すなわち、ステップ106において次の現画素がない場合には、参照画像上の指定座標の画素データを参照画像読み取り手段5によって参照画像記憶手段3から読み取って、アフィン係数算出手段9に送出する(ステップ108)。   After the pixel data of all current pixels on the corresponding straight line is read from the current image storage means 4 and stored in the temporary storage means 7, that is, when there is no next current pixel in step 106, designated coordinates on the reference image are displayed. Are read from the reference image storage means 3 by the reference image reading means 5 and sent to the affine coefficient calculation means 9 (step 108).

次に、一時記憶手段7に記憶した指定座標に対応する対応点を、バイリニア補間により補間した現画素をアフィン係数算出手段9に送出する(ステップ109)。   Next, the current pixel obtained by interpolating the corresponding point corresponding to the designated coordinate stored in the temporary storage unit 7 by bilinear interpolation is sent to the affine coefficient calculation unit 9 (step 109).

次に、アフィン係数算出手段9によってアフィン係数算出処理が実行される(ステップ110)。   Next, an affine coefficient calculation process is executed by the affine coefficient calculation means 9 (step 110).

そして、参照画像上の読み取り行に次の参照画素があるか否かを判別し(ステップ111)、次の参照画素がある場合にはその画素を指定する(ステップ112)。そして、ステップ108に移行して、その参照画素の画素データを参照画像読み取り手段5によって参照画像記憶手段3から読み取って、アフィン係数算出手段9に送出し、ステップ109〜ステップ112の処理を行う。すなわち、読み取り行に次の参照画素がある限り、ステップ108〜ステップ112のループ処理を繰り返す。   Then, it is determined whether or not there is a next reference pixel in the reading row on the reference image (step 111), and if there is a next reference pixel, that pixel is designated (step 112). Then, the process proceeds to step 108, and the pixel data of the reference pixel is read from the reference image storage unit 3 by the reference image reading unit 5 and sent to the affine coefficient calculation unit 9, and the processing of step 109 to step 112 is performed. That is, as long as there is a next reference pixel in the read row, the loop processing from step 108 to step 112 is repeated.

なお、アフィン係数算出手段9によって実行されるアフィン係数算出処理は、式3に示すように、各参照画素データの積和演算を行う処理であり参照画素毎に処理を行えるので、参照画素に対応する対応直線上のすべての現画素が一時記憶手段7に記憶されなくとも、現画像読み取り手段8は現画像記憶手段4から現画素を読み取って、アフィン係数算出手段9に送出できるものとする。   Note that the affine coefficient calculation process executed by the affine coefficient calculation means 9 is a process for performing a product-sum operation on each reference pixel data as shown in Equation 3, and can be performed for each reference pixel, so that it corresponds to the reference pixel. Even if all the current pixels on the corresponding straight line are not stored in the temporary storage means 7, the current image reading means 8 can read the current pixels from the current image storage means 4 and send them to the affine coefficient calculation means 9.

参照画像の1つの水平方向の行について、ステップ103からステップ112までの処理が終了したときは、処理を行う行をシフトする(ステップ113)。   When the processing from step 103 to step 112 is completed for one horizontal row of the reference image, the row to be processed is shifted (step 113).

このシフトの結果、参照画像記憶手段3に参照画素がないか否かを判別する(ステップ114)。すなわち、シフトされた行に参照画素があるか否か(参照画像上の最後の行の処理を終えたか否か)を判別する。シフトされた行に参照画素がある場合には、ステップ103に移行して、ステップ114までのループ処理を繰り返す。シフトされた行に参照画素がない場合、例えば、図2において、最下の画素(0,0)を通る行がさらに下にシフトされた場合には、このフローを終了する。   As a result of this shift, it is determined whether or not there are no reference pixels in the reference image storage means 3 (step 114). That is, it is determined whether or not there is a reference pixel in the shifted row (whether or not the processing of the last row on the reference image has been completed). If there is a reference pixel in the shifted row, the process proceeds to step 103 and the loop process up to step 114 is repeated. If there is no reference pixel in the shifted row, for example, if the row passing through the lowermost pixel (0, 0) in FIG.

以上のように、この実施の形態1によれば、対応直線に沿って現画像21の読み取りを行い、それを一時記憶手段7にバッファリング(一時的に記憶)することによって、現画像記憶手段4からのデータ読み取りの回数を減らすことができる。このため、二次元の動画像の画像処理によりぶれを抑える際に、画素データの読み取りを高速かつ効率的に行うことにより全体の処理の高速化を可能にするという効果が得られる。   As described above, according to the first embodiment, the current image storage means is read by reading the current image 21 along the corresponding straight line and buffering (temporarily storing) it in the temporary storage means 7. The number of data reads from 4 can be reduced. For this reason, when blurring is suppressed by image processing of a two-dimensional moving image, it is possible to increase the speed of the entire processing by reading pixel data at high speed and efficiency.

また、一時記憶手段7を用いることによって、高速動作の高価な現画像記憶手段を必要としないので、製品のコストダウンを図ることが可能になるという効果が得られる。   Further, the use of the temporary storage means 7 eliminates the need for an expensive current image storage means that operates at high speed, so that the cost of the product can be reduced.

また、本実施の形態1では、現画像21の対応直線上に沿う画素データを全て一括して読み取っているが、一時記憶手段7にデータがない場合に必要なデータのみ、現画像記憶手段4から逐次読み取るような構成にしてもよい。この場合には、必要な画素データの読み取り欠落を回避できるという効果が得られる。   Further, in the first embodiment, all the pixel data along the corresponding straight line of the current image 21 are read all at once, but only the data necessary when there is no data in the temporary storage means 7 is the current image storage means 4. You may make it the structure which reads sequentially from. In this case, there is an effect that it is possible to avoid missing reading of necessary pixel data.

また、この実施の形態1によれば、現画像21における対応直線の傾きαに応じて、一時記憶手段7の領域を動的に変化させるので、現画像21における対応直線の傾きに応じて一時記憶手段7の領域を柔軟に活用できるという効果がある。   Further, according to the first embodiment, since the area of the temporary storage means 7 is dynamically changed according to the inclination α of the corresponding line in the current image 21, it is temporarily changed according to the inclination of the corresponding line in the current image 21. There is an effect that the area of the storage means 7 can be used flexibly.

実施の形態2.
この発明の実施の形態2に係る画像処理装置について図面を参照しながら説明する。図6は、この発明の実施の形態2に係る画像処理装置の構成を示す図である。
Embodiment 2. FIG.
An image processing apparatus according to Embodiment 2 of the present invention will be described with reference to the drawings. FIG. 6 is a diagram showing the configuration of the image processing apparatus according to Embodiment 2 of the present invention.

上述の実施の形態1では、参照画像記憶手段3、現画像記憶手段4、参照画像読み取り手段5、現画像書き込み手段6、一時記憶手段7、現画像読み取り手段8がおのおの一つの構成であった。これに対して、複数の参照画像記憶手段3、現画像記憶手段4、参照画像読み取り手段5、現画像書き込み手段6、一時記憶手段7、現画像読み取り手段8を設け、並列に処理することで、処理を高速化することが考えられる。   In the first embodiment described above, the reference image storage means 3, the current image storage means 4, the reference image reading means 5, the current image writing means 6, the temporary storage means 7, and the current image reading means 8 are each one configuration. . In contrast, a plurality of reference image storage means 3, current image storage means 4, reference image reading means 5, current image writing means 6, temporary storage means 7, and current image reading means 8 are provided and processed in parallel. It is conceivable to speed up the processing.

図6において、参照画像記憶手段3A、3Bは参照画像記憶手段3を、現画像記憶手段4A、4Bは現画像記憶手段4を、参照画像読み取り手段5A、5Bは参照画像読み取り手段5を、現画像書き込み手段6A、6Bは現画像書き込み手段6を、一時記憶手段7A、7Bは一時記憶手段7を、現画像読み取り手段8A、8Bは現画像読み取り手段8を、複数構成としたものである。また、画像分割手段12は画像入力手段2から送られてきた、参照画像、現画像を分割し、それぞれを参照画像記憶手段3A、3Bと現画像記憶手段4A、4Bに送る。それ以外の画像処理については、上記の実施の形態1と同じである。   6, reference image storage means 3A, 3B are reference image storage means 3, current image storage means 4A, 4B are current image storage means 4, reference image reading means 5A, 5B are reference image reading means 5, current image storage means 4. The image writing means 6A, 6B has a plurality of current image writing means 6, the temporary storage means 7A, 7B have a temporary storage means 7, and the current image reading means 8A, 8B have a plurality of current image reading means 8. The image dividing means 12 divides the reference image and the current image sent from the image input means 2 and sends them to the reference image storage means 3A, 3B and the current image storage means 4A, 4B. Other image processing is the same as in the first embodiment.

なお、アフィン係数算出手段9は、参照画像読み取り手段5A、5Bにより読み取られた分割した参照画像を合成し、現画像読み取り手段8A、8Bにより読み取られた分割した現画像を合成し、合成参照画像と合成現画像に基づいてアフィン係数を算出する。また、アフィン変換手段10は、現画像記憶手段4A、4Bから読み出された分割した現画像を合成し、アフィン係数算出手段9により算出されたアフィン係数を用いて、合成現画像の変換を行う。   The affine coefficient calculation means 9 combines the divided reference images read by the reference image reading means 5A and 5B, combines the divided current images read by the current image reading means 8A and 8B, and combines the reference images. And the affine coefficient is calculated based on the synthesized current image. The affine transformation means 10 synthesizes the divided current images read from the current image storage means 4A and 4B, and converts the synthesized current image using the affine coefficients calculated by the affine coefficient calculation means 9. .

つぎに、この実施の形態2に係る画像処理装置の動作について図面を参照しながら説明する。以下では、画像分割手段12の動作を説明する。   Next, the operation of the image processing apparatus according to the second embodiment will be described with reference to the drawings. Below, operation | movement of the image division means 12 is demonstrated.

画像分割手段12は、画像を分割する際に、最初にアフィン係数算出手段9から、仮アフィン係数を受け取る。その後、画像分割手段12は、参照画像を行単位で分割し、分割した画像を参照画像記憶手段3A、3Bそれぞれに送る。また、参照画像を分割した境界線を仮アフィン係数で変換した直線で現画像を分割する。その後、分割した画像に定められた画素分だけ余裕を持たせ、その画像を現画像記憶手段4A、4Bそれぞれに送る。現画像を分割するための直線を求める方法等は上記実施の形態1と同じである。   The image dividing unit 12 first receives a temporary affine coefficient from the affine coefficient calculating unit 9 when dividing an image. Thereafter, the image dividing unit 12 divides the reference image in units of rows and sends the divided images to the reference image storage units 3A and 3B. Further, the current image is divided by a straight line obtained by converting the boundary line obtained by dividing the reference image with the temporary affine coefficient. Thereafter, the divided image is provided with a margin for a predetermined number of pixels, and the image is sent to each of the current image storage means 4A and 4B. The method for obtaining a straight line for dividing the current image is the same as in the first embodiment.

図7は、画像分割手段12での画像の分割の例を示した図である。図7では、参照画像30を領域22〜25の4つの領域に分割している。これに対して、現画像31上で各領域の境界線を仮アフィン係数でアフィン変換した直線が、直線E10、E11、E12である。直線E10、E11、E12で分割された領域より大きい、点線で囲まれた領域が領域26、28であり、これはそれぞれ参照画像30上の領域22、24に対応している。また、直線E10、E11、E12で分割された領域より大きい、網掛けで塗られた領域が領域27、29であり、これはそれぞれ参照画像30上の領域23、25に対応している。つまり、例えば領域26と27は、直線E10を挟んだ上側の実線と下側の点線の間の領域が重複していることになる。画像分割手段12は、領域22、24を参照画像記憶手段3Aに、領域26、28を現画像記憶手段4Aにおくる。また、画像分割手段12は、領域23、25を参照画像記憶手段3Bに、領域27、29を現画像記憶手段4Bにおくる。   FIG. 7 is a diagram showing an example of image division by the image dividing means 12. In FIG. 7, the reference image 30 is divided into four regions 22 to 25. On the other hand, straight lines E10, E11, and E12 are straight lines obtained by affine transforming the boundary lines of the respective regions with the temporary affine coefficients on the current image 31. Regions surrounded by dotted lines that are larger than the regions divided by the straight lines E10, E11, and E12 are regions 26 and 28, which correspond to regions 22 and 24 on the reference image 30, respectively. Also, areas 27 and 29 that are shaded and larger than the areas divided by the straight lines E10, E11, and E12 are areas 27 and 29, which correspond to areas 23 and 25 on the reference image 30, respectively. That is, for example, in the areas 26 and 27, the area between the upper solid line and the lower dotted line across the straight line E10 overlaps. The image dividing means 12 places the areas 22 and 24 in the reference image storage means 3A and the areas 26 and 28 in the current image storage means 4A. Further, the image dividing means 12 places the areas 23 and 25 in the reference image storage means 3B and the areas 27 and 29 in the current image storage means 4B.

以上のようにして画像分割手段12は画像を分割する。分割された画像は、上記実施の形態1と同様の手順で参照画像読み取り手段5A、5B、現画像書き込み手段6A、6B、現画像読み取り手段8A、8B等で処理される。ただし、現画像書き込み手段6A、6Bや、現画像読み取り手段8A、8Bが現画像記憶手段4A、4Bから対応する画素を読み取ろうとした際に、画像が分割されたことにより、対応する画素が現画像記憶手段4A、4Bにない場合がある。このような場合は、その画素に関する処理は行わないようにする。   As described above, the image dividing unit 12 divides the image. The divided images are processed by the reference image reading means 5A and 5B, the current image writing means 6A and 6B, the current image reading means 8A and 8B, and the like in the same procedure as in the first embodiment. However, when the current image writing means 6A, 6B and the current image reading means 8A, 8B try to read the corresponding pixels from the current image storage means 4A, 4B, the corresponding pixels are not displayed because the images are divided. The image storage means 4A, 4B may not be present. In such a case, processing related to the pixel is not performed.

また、本実施の形態2では、画像分割手段12は、仮アフィン係数を用いて画像の分割を行っているが、他の方式で導かれたアフィン係数を用いても良い。例えば、1つ前の画像の処理で算出されたアフィン係数を用いて画像を分割してもよい。また、本実施の形態2では、2つの参照画像読み取り手段5A、5Bや、現画像書き込み手段6A、6B、現画像読み取り手段8A、8B等で処理を行っているが、3つ以上で並列に処理を行っても良い。   In the second embodiment, the image dividing unit 12 divides an image using a temporary affine coefficient. However, an affine coefficient derived by another method may be used. For example, an image may be divided using an affine coefficient calculated by processing the previous image. In the second embodiment, the processing is performed by the two reference image reading units 5A and 5B, the current image writing units 6A and 6B, the current image reading units 8A and 8B, and the like. Processing may be performed.

なお、上記実施の形態1の画像処理プログラムは、この実施の形態2では、参照画像を行単位で少なくとも2つに分割するとともに、前記参照画像を分割した境界線を仮アフィン係数で変換した直線により現画像を分割する手順と、分割した前記参照画像毎に、かつ分割した前記現画像毎に、複数個ある各手段を並列処理させる手順を含む。   In the second embodiment, the image processing program according to the first embodiment divides the reference image into at least two lines in units of lines, and converts the boundary line obtained by dividing the reference image into a temporary affine coefficient. And a procedure for processing a plurality of units in parallel for each of the divided reference images and for each of the divided current images.

以上のように、この実施の形態2によれば、画像を複数に分割して並列に処理することにより、極めて高速の画像処理を実現できるという効果が得られる。   As described above, according to the second embodiment, it is possible to achieve an extremely high-speed image processing by dividing an image into a plurality of pieces and processing them in parallel.

実施の形態3.
この発明の実施の形態3に係る画像処理装置について図面を参照しながら説明する。図8は、この発明の実施の形態3に係る画像処理装置の構成を示す図である。
Embodiment 3 FIG.
An image processing apparatus according to Embodiment 3 of the present invention will be described with reference to the drawings. FIG. 8 is a diagram showing a configuration of an image processing apparatus according to Embodiment 3 of the present invention.

上述の実施の形態2では、複数の参照画像読み取り手段5や、現画像書き込み手段6、現画像読み取り手段8等を設け、画像分割手段12により画像を分割することで、並列に処理を行い、処理の高速化を行っていた。しかし、この場合、現画像書き込み手段6A、6Bが現画像記憶手段4A、4Bから対応する画素を読み取ろうとした際に、画像が分割されたことにより、対応する画素が現画像記憶手段4A、4Bにない場合がある。   In the second embodiment, a plurality of reference image reading means 5, a current image writing means 6, a current image reading means 8 and the like are provided, and the image is divided by the image dividing means 12, so that processing is performed in parallel. The processing was speeded up. However, in this case, when the current image writing means 6A, 6B tries to read the corresponding pixel from the current image storage means 4A, 4B, the corresponding pixel is divided into the current image storage means 4A, 4B. May not be.

これに対して、現画像記憶手段4Aに分割された画像を現画像書き込み手段6Bに送る、もしくは現画像記憶手段4Bに分割された画像を現画像書き込み手段6Aに送るような手段を設け、処理を行うようにしても良い。   On the other hand, there is provided means for sending the image divided into the current image storage means 4A to the current image writing means 6B or for sending the divided image to the current image writing means 6A. May be performed.

図8において、画素呼出手段13A、13Bは、現画像書き込み手段6A、6Bからの指示により、現画像記憶手段4A、4Bから画像を読み取る。転送路14は、画素呼出手段13A、13Bの間で画素データの転送を行う。それ以外の画像処理については、上記実施の形態2と同じである。ただし、図の簡略化のために、参照画像記憶手段3A、3Bと、参照画像読み取り手段5A、5Bと、現画像記憶手段4A、4Bからアフィン変換手段10への転送路は省略してある。   In FIG. 8, the pixel calling units 13A and 13B read images from the current image storage units 4A and 4B according to instructions from the current image writing units 6A and 6B. The transfer path 14 transfers pixel data between the pixel calling units 13A and 13B. Other image processing is the same as in the second embodiment. However, for simplification of the figure, the reference image storage means 3A, 3B, the reference image reading means 5A, 5B, and the transfer path from the current image storage means 4A, 4B to the affine transformation means 10 are omitted.

以下では、画像呼出手段13A、13Bと転送路14の動作を説明する。   Hereinafter, operations of the image calling units 13A and 13B and the transfer path 14 will be described.

(C1)例えば、現画像書き込み手段6Aが現画像記憶手段4Aから対応する画素を読み取ろうとした際に、対応する画素が現画像記憶手段4Aにない場合、現画像書き込み手段6Aは、画素呼出手段13Aに読み取ろうとしている画素の位置情報を送る。   (C1) For example, when the current image writing means 6A tries to read the corresponding pixel from the current image storage means 4A, if the corresponding pixel is not in the current image storage means 4A, the current image writing means 6A The position information of the pixel to be read is sent to 13A.

(C2)画素呼出手段13Aは、位置情報のデータを転送路14経由で画素呼出手段13Bにおくる。   (C2) The pixel calling unit 13A sends the position information data to the pixel calling unit 13B via the transfer path 14.

(C3)画素呼出手段13Bは、画素呼出手段13Aから送られてきた位置情報のデータから、画素データを現画素記憶手段4Bから読み取る。その後、転送路14経由で読み取った画素データを画素呼出手段13Aに送る。   (C3) The pixel calling unit 13B reads pixel data from the current pixel storage unit 4B from the position information data sent from the pixel calling unit 13A. Thereafter, the pixel data read via the transfer path 14 is sent to the pixel calling means 13A.

(C4)画素呼出手段13Aは、画素呼出手段13Bから送られてきた画素データを現画像書き込み手段6Aに送る。   (C4) The pixel calling unit 13A sends the pixel data sent from the pixel calling unit 13B to the current image writing unit 6A.

(C5)現画像書き込み手段6Aは、画素呼出手段13Aから送られてきた画素データを実施の形態1の場合と同様に処理する。   (C5) The current image writing means 6A processes the pixel data sent from the pixel calling means 13A in the same manner as in the first embodiment.

以上のようにして画素呼出手段13A、13B、転送路14を用いて、分割された画像データを現画像書き込み手段6Aにおくる。また、現画像書き込み手段6Bでの処理も同様の手順で行われる。   The divided image data is sent to the current image writing means 6A using the pixel calling means 13A and 13B and the transfer path 14 as described above. Further, the processing in the current image writing means 6B is performed in the same procedure.

また、本実施の形態3では、現画像書き込み手段6Aは、画素呼出手段13Aに画素の位置情報を送ってから画素データが取得されるまで、処理を停止していることを想定している。これに対して、呼出しが行われた画素の処理は画素データが送られてくるまで一時的に停止し、その間に別の画素の処理を実行するようにしても良い。   Further, in the third embodiment, it is assumed that the current image writing unit 6A stops the process from sending the pixel position information to the pixel calling unit 13A until the pixel data is acquired. On the other hand, the processing of the pixel that has been called may be temporarily stopped until pixel data is sent, and the processing of another pixel may be executed during that time.

なお、上記実施の形態1の画像処理プログラムは、この実施の形態3では、参照画像記憶手段3Aに記憶されている分割参照画像上の画素に対応する画素が現画像記憶手段4Aにない場合、現画像記憶手段4Bに記憶されている分割参照画像上の画素を呼び出し、参照画像記憶手段3Bに記憶されている分割参照画像上の画素に対応する画素が現画像記憶手段4Bにない場合、現画像記憶手段4Aに記憶されている分割参照画像上の画素を呼び出す手順を含む。   In the third embodiment, the image processing program according to the first embodiment described above has a case where the pixel corresponding to the pixel on the divided reference image stored in the reference image storage unit 3A is not present in the current image storage unit 4A. When a pixel on the divided reference image stored in the current image storage unit 4B is called and a pixel corresponding to a pixel on the divided reference image stored in the reference image storage unit 3B is not present in the current image storage unit 4B, the current image storage unit 4B This includes a procedure for calling pixels on the divided reference image stored in the image storage means 4A.

以上のように、この実施の形態3によれば、分割した画像を呼び出して処理を行うことにより、アフィン係数の精度が高まるので、ぶれを抑える効果を高め、かつ高速の画像処理を実現できるという効果が得られる。   As described above, according to the third embodiment, since the accuracy of the affine coefficient is increased by calling and processing the divided images, the effect of suppressing blurring can be enhanced and high-speed image processing can be realized. An effect is obtained.

この発明の実施の形態1に係る画像処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the image processing apparatus which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係る画像処理装置における参照画像上の画素と現画像上の画素の配列及びお互いの対応を示す図である。It is a figure which shows the arrangement | sequence of the pixel on the reference image in the image processing apparatus which concerns on Embodiment 1 of this invention, the pixel on the present image, and a mutual correspondence. この発明の実施の形態1に係る画像処理装置の参照画素に対する現画像上の対応画素を求めるためのバイリニア補間の方法を示す図である。It is a figure which shows the method of the bilinear interpolation for calculating | requiring the corresponding pixel on the present image with respect to the reference pixel of the image processing apparatus which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係る画像処理装置の一時記憶手段の記憶エリアの構成を示す図である。It is a figure which shows the structure of the storage area of the temporary storage means of the image processing apparatus which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係る画像処理装置の画像処理手順(画像処理プログラム)を示すフローチャートである。It is a flowchart which shows the image processing procedure (image processing program) of the image processing apparatus which concerns on Embodiment 1 of this invention. この発明の実施の形態2に係る画像処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the image processing apparatus which concerns on Embodiment 2 of this invention. この発明の実施の形態2に係る画像処理装置の画像分割手段の動作を説明するための図である。It is a figure for demonstrating operation | movement of the image division means of the image processing apparatus which concerns on Embodiment 2 of this invention. この発明の実施の形態3に係る画像処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the image processing apparatus which concerns on Embodiment 3 of this invention.

符号の説明Explanation of symbols

1 画像処理装置、2 画像入力手段、3 参照画像記憶手段、4 現画像記憶手段、5 参照画像読み取り手段、6 現画像書き込み手段、7 一時記憶手段、8 現画像読み取り手段、9 アフィン係数算出手段、10 アフィン変換手段、11 画像出力手段、12 画像分割手段、13A、13B 画素呼出手段、14 転送路、20 参照画像、21 現画像。   DESCRIPTION OF SYMBOLS 1 Image processing apparatus, 2 Image input means, 3 Reference image storage means, 4 Current image storage means, 5 Reference image reading means, 6 Current image writing means, 7 Temporary storage means, 8 Current image reading means, 9 Affine coefficient calculation means 10 affine transformation means, 11 image output means, 12 image dividing means, 13A, 13B pixel calling means, 14 transfer path, 20 reference image, 21 current image.

Claims (6)

参照画像及び現画像を入力する画像入力手段と、
前記画像入力手段からの参照画像を記憶する参照画像記憶手段と、
前記画像入力手段からの現画像を記憶する現画像記憶手段と、
前記参照画像記憶手段に記憶された参照画像を順次水平方向に1画素ずつ読み取るとともに、1画素毎の前記参照画像上の位置情報を出力する参照画像読み取り手段と、
前記現画像の画素を循環式に一時的に記憶する一時記憶手段と、
仮アフィン係数及び前記参照画像読み取り手段からの位置情報に基づいて、前記参照画像上の水平線に対応する前記現画像上の対応直線に沿って画素を前記現画像記憶手段から読み出して前記一時記憶手段に書き込む現画像書き込み手段と、
前記仮アフィン係数及び前記参照画像読み取り手段からの位置情報に基づいて、前記参照画像上の画素に対応する前記現画像上の画素の位置情報を求め、この求めた前記現画像上の画素の位置情報に基づき該当する画素を前記一時記憶手段から読み取り、バイリニア補間を行う現画像読み取り手段と、
前記参照画像読み取り手段により読み取られた画素、及び前記現画像読み取り手段により読み取られ前記バイリニア補間が施された画素に基づいてアフィン係数を算出するアフィン係数算出手段と、
前記アフィン係数算出手段により算出されたアフィン係数を用いて、前記現画像記憶手段から読み出された前記現画像の変換を行うアフィン変換手段と
を備えたことを特徴とする画像処理装置。
An image input means for inputting a reference image and a current image;
Reference image storage means for storing a reference image from the image input means;
Current image storage means for storing a current image from the image input means;
A reference image reading means for sequentially reading the reference image stored in the reference image storage means pixel by pixel in the horizontal direction and outputting position information on the reference image for each pixel;
Temporary storage means for temporarily storing the pixels of the current image in a cyclic manner;
Based on the temporary affine coefficient and the position information from the reference image reading means, pixels are read from the current image storage means along the corresponding straight line on the current image corresponding to the horizontal line on the reference image, and the temporary storage means Current image writing means for writing to,
Based on the temporary affine coefficient and the position information from the reference image reading means, the pixel position information on the current image corresponding to the pixel on the reference image is obtained, and the obtained pixel position on the current image is obtained. A current image reading means for reading the corresponding pixel from the temporary storage means based on the information and performing bilinear interpolation;
Affine coefficient calculating means for calculating an affine coefficient based on the pixels read by the reference image reading means and the pixels read by the current image reading means and subjected to the bilinear interpolation;
An image processing apparatus comprising: affine transformation means for transforming the current image read from the current image storage means using the affine coefficient calculated by the affine coefficient calculation means.
前記参照画像記憶手段、前記現画像記憶手段、前記参照画像読み取り手段、前記一時記憶手段、前記現画像書き込み手段、及び前記現画像読み取り手段を少なくとも2個ずつ備え、
前記参照画像を行単位で少なくとも2つに分割して2個の前記参照画像記憶手段それぞれに送出するとともに、前記参照画像を分割した境界線を仮アフィン係数で変換した直線により前記現画像を分割して2個の前記現画像記憶手段それぞれに送出する画像分割手段をさらに備え、
前記参照画像読み取り手段、前記現画像書き込み手段、及び前記現画像読み取り手段は、それぞれ並列処理を実行し、
前記アフィン係数算出手段は、2個の前記参照画像読み取り手段により読み取られた分割参照画像を合成し、2個の前記現画像読み取り手段により読み取られた分割現画像を合成し、合成参照画像と合成現画像に基づいてアフィン係数を算出し、
前記アフィン変換手段は、2個の前記現画像記憶手段から読み出された分割現画像を合成し、前記アフィン係数算出手段により算出されたアフィン係数を用いて、合成現画像の変換を行う
ことを特徴とする請求項1記載の画像処理装置。
At least two of the reference image storage means, the current image storage means, the reference image reading means, the temporary storage means, the current image writing means, and the current image reading means,
The reference image is divided into at least two in units of rows and sent to each of the two reference image storage means, and the current image is divided by a straight line obtained by converting a boundary line obtained by dividing the reference image with a temporary affine coefficient. And further comprising image dividing means for sending to each of the two current image storage means,
The reference image reading unit, the current image writing unit, and the current image reading unit each execute parallel processing,
The affine coefficient calculation means combines the divided reference images read by the two reference image reading means, combines the divided current images read by the two current image reading means, and combines them with a combined reference image Calculate the affine coefficient based on the current image,
The affine transformation means synthesizes the divided current images read from the two current image storage means, and converts the synthesized current image using the affine coefficients calculated by the affine coefficient calculation means. The image processing apparatus according to claim 1, wherein:
第1の参照画像記憶手段に記憶されている分割参照画像上の画素に対応する画素が第1の現画像記憶手段にない場合、第2の現画像記憶手段に記憶されている分割参照画像上の画素を呼び出して第1の現画像書き込み手段に送出する第1の画素呼出手段と、
第2の参照画像記憶手段に記憶されている分割参照画像上の画素に対応する画素が前記第2の現画像記憶手段にない場合、前記第1の現画像記憶手段に記憶されている分割参照画像上の画素を呼び出して第2の現画像書き込み手段に送出する第2の画素呼出手段と
をさらに備えたことを特徴とする請求項2記載の画像処理装置。
On the divided reference image stored in the second current image storage means when the first current image storage means does not have a pixel corresponding to the pixel on the divided reference image stored in the first reference image storage means. First pixel calling means for calling and sending the pixels to the first current image writing means;
When there is no pixel corresponding to the pixel on the divided reference image stored in the second reference image storage means in the second current image storage means, the divided reference stored in the first current image storage means 3. The image processing apparatus according to claim 2, further comprising: second pixel calling means for calling a pixel on the image and sending it to the second current image writing means.
コンピュータに、
参照画像記憶手段に記憶された参照画像の画素を指定する第1の手順と、
仮アフィン係数と前記参照画像上の指定画素の座標から、前記参照画像上の指定画素に対応する、現画像記憶手段に記憶された現画像上の画素の座標と対応直線を算出し、算出した対応直線に沿った画素の座標を指定する第2の手順と、
前記現画像上の指定座標に基づき前記対応直線に沿った画素を前記現画像記憶手段から読み取って一時記憶手段に書き込む第3の手順と、
前記参照画像上の指定画素を前記参照画像記憶手段から読み取る第4の手順と、
前記参照画像上の指定画素に対応する前記現画像上の画素を前記一時記憶手段から読み取り、バイリニア補間を施す第5の手順と、
前記参照画像記憶手段から読み取られた画素、及び前記一時記憶手段から読み取られ前記バイリニア補間が施された画素に基づいてアフィン係数を算出する第6の手順と
を実行させるための画像処理プログラム。
On the computer,
A first procedure for designating pixels of the reference image stored in the reference image storage means;
From the provisional affine coefficient and the coordinates of the designated pixel on the reference image, the coordinates of the pixel on the current image stored in the current image storage unit and the corresponding straight line corresponding to the designated pixel on the reference image are calculated and calculated. A second procedure for specifying the coordinates of the pixels along the corresponding straight line;
A third procedure for reading the pixels along the corresponding straight line from the current image storage means based on the designated coordinates on the current image and writing them to the temporary storage means;
A fourth procedure for reading designated pixels on the reference image from the reference image storage means;
A fifth procedure for reading a pixel on the current image corresponding to a designated pixel on the reference image from the temporary storage means and performing bilinear interpolation;
An image processing program for executing a sixth procedure for calculating an affine coefficient based on a pixel read from the reference image storage means and a pixel read from the temporary storage means and subjected to the bilinear interpolation.
前記コンピュータに、
前記参照画像を行単位で少なくとも2つに分割するとともに、前記参照画像を分割した境界線を仮アフィン係数で変換した直線により前記現画像を分割する第7の手順と、
分割した前記参照画像毎に、かつ分割した前記現画像毎に、前記第1の手順から前記第5の手順までの並列処理
を実行させるための請求項4記載の画像処理プログラム。
In the computer,
A seventh procedure of dividing the current image by a straight line obtained by dividing the reference image into at least two lines in units of lines and converting a boundary line obtained by dividing the reference image with a temporary affine coefficient;
The image processing program according to claim 4, wherein the parallel processing from the first procedure to the fifth procedure is executed for each of the divided reference images and for each of the divided current images.
前記コンピュータに、
第1の参照画像記憶手段に記憶されている分割参照画像上の画素に対応する画素が第1の現画像記憶手段にない場合、第2の現画像記憶手段に記憶されている分割参照画像上の画素を呼び出し、
第2の参照画像記憶手段に記憶されている分割参照画像上の画素に対応する画素が前記第2の現画像記憶手段にない場合、前記第1の現画像記憶手段に記憶されている分割参照画像上の画素を呼び出す第8の手順
を実行させるための請求項5記載の画像処理プログラム。
In the computer,
On the divided reference image stored in the second current image storage means when the first current image storage means does not have a pixel corresponding to the pixel on the divided reference image stored in the first reference image storage means. Call the pixel of
When there is no pixel corresponding to the pixel on the divided reference image stored in the second reference image storage means in the second current image storage means, the divided reference stored in the first current image storage means The image processing program according to claim 5, for executing an eighth procedure for calling a pixel on an image.
JP2003383820A 2003-11-13 2003-11-13 Image processor and image processing program Pending JP2005149001A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003383820A JP2005149001A (en) 2003-11-13 2003-11-13 Image processor and image processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003383820A JP2005149001A (en) 2003-11-13 2003-11-13 Image processor and image processing program

Publications (1)

Publication Number Publication Date
JP2005149001A true JP2005149001A (en) 2005-06-09

Family

ID=34692428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003383820A Pending JP2005149001A (en) 2003-11-13 2003-11-13 Image processor and image processing program

Country Status (1)

Country Link
JP (1) JP2005149001A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8934736B2 (en) 2011-05-11 2015-01-13 Kabushiki Kaisha Toshiba Image processing apparatus, image processing system, and method for having computer process image

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8934736B2 (en) 2011-05-11 2015-01-13 Kabushiki Kaisha Toshiba Image processing apparatus, image processing system, and method for having computer process image

Similar Documents

Publication Publication Date Title
US20210174471A1 (en) Image Stitching Method, Electronic Apparatus, and Storage Medium
US5977994A (en) Data resampler for data processing system for logically adjacent data samples
Gribbon et al. A novel approach to real-time bilinear interpolation
US7634143B2 (en) Image processing apparatus and method, recording medium, and program
JP2012165363A (en) Raster output of pixels rotated and interpolated to be optimized for digital image stabilization
JPWO2014064783A1 (en) Image processing apparatus, image processing method, image processing program, and recording medium
GB2578769A (en) Data processing systems
JP6151930B2 (en) Imaging apparatus and control method thereof
WO2019041264A1 (en) Image processing apparatus and method, and related circuit
JP5566199B2 (en) Image processing apparatus, control method therefor, and program
CN115471404A (en) Image scaling method, processing device and storage medium
CN102652321A (en) Image synthesis device and image synthesis program
US8938133B2 (en) Image resizing apparatus and method that interpolates image blocks with abuttal regions
JP6750847B2 (en) Image processing apparatus, control method thereof, and program
JP5643576B2 (en) Image processing apparatus and control method thereof
JP2005149001A (en) Image processor and image processing program
JP2000354244A (en) Image processing unit, its method and computer-readable storage medium
US20130315502A1 (en) Image processing apparatus and image processing method
JP2013126123A (en) Image processing device, imaging apparatus, and image processing method
JP2005157847A (en) Image processor and processing method
JP4232869B2 (en) Conversion unit and apparatus, and image processing apparatus
EP1032883B1 (en) Data resampler for data processing system
CN117057982B (en) Integrated circuit for performing distortion transformation on image and electronic equipment
JP4504861B2 (en) Image processing method and image processing apparatus
JP5687370B2 (en) Image processing apparatus, image processing method, image processing program, and recording medium