(57)【要約】【課題】全体の処理を高速にでき、コストダウンも図ることが可能な画像処理装置を得る。【解決手段】参照画像を順次水平方向に１画素ずつ読み取り、１画素毎の参照画像上の位置情報を出力する参照画像読み取り手段５と、仮アフィン係数及び参照画像読み取り手段５からの位置情報に基き、参照画像上の水平線に対応する現画像上の対応直線に沿って画素を現画像記憶手段４から読み出し一時記憶手段７に書き込む現画像書き込み手段６と、仮アフィン係数及び位置情報に基き、参照画像上の画素に対応する現画像上の画素の位置情報を求め、該当する画素を一時記憶手段７から読み取り、バイリニア補間を行う現画像読み取り手段８と、参照画像読み取り手段５により読み取られた画素と現画像読み取り手段８により読み取られた画素に基きアフィン係数を算出するアフィン係数算出手段９等を設けた。【選択図】図１
2005149001.tif 000002
【特許請求の範囲】
【請求項１】
参照画像及び現画像を入力する画像入力手段と、
前記画像入力手段からの参照画像を記憶する参照画像記憶手段と、
前記画像入力手段からの現画像を記憶する現画像記憶手段と、
前記参照画像記憶手段に記憶された参照画像を順次水平方向に１画素ずつ読み取るとともに、１画素毎の前記参照画像上の位置情報を出力する参照画像読み取り手段と、
前記現画像の画素を循環式に一時的に記憶する一時記憶手段と、
仮アフィン係数及び前記参照画像読み取り手段からの位置情報に基づいて、前記参照画像上の水平線に対応する前記現画像上の対応直線に沿って画素を前記現画像記憶手段から読み出して前記一時記憶手段に書き込む現画像書き込み手段と、
前記仮アフィン係数及び前記参照画像読み取り手段からの位置情報に基づいて、前記参照画像上の画素に対応する前記現画像上の画素の位置情報を求め、この求めた前記現画像上の画素の位置情報に基づき該当する画素を前記一時記憶手段から読み取り、バイリニア補間を行う現画像読み取り手段と、
前記参照画像読み取り手段により読み取られた画素、及び前記現画像読み取り手段により読み取られ前記バイリニア補間が施された画素に基づいてアフィン係数を算出するアフィン係数算出手段と、
前記アフィン係数算出手段により算出されたアフィン係数を用いて、前記現画像記憶手段から読み出された前記現画像の変換を行うアフィン変換手段と
を備えたことを特徴とする画像処理装置。
【請求項２】
前記参照画像記憶手段、前記現画像記憶手段、前記参照画像読み取り手段、前記一時記憶手段、前記現画像書き込み手段、及び前記現画像読み取り手段を少なくとも２個ずつ備え、
前記参照画像を行単位で少なくとも２つに分割して２個の前記参照画像記憶手段それぞれに送出するとともに、前記参照画像を分割した境界線を仮アフィン係数で変換した直線により前記現画像を分割して２個の前記現画像記憶手段それぞれに送出する画像分割手段をさらに備え、
前記参照画像読み取り手段、前記現画像書き込み手段、及び前記現画像読み取り手段は、それぞれ並列処理を実行し、
前記アフィン係数算出手段は、２個の前記参照画像読み取り手段により読み取られた分割参照画像を合成し、２個の前記現画像読み取り手段により読み取られた分割現画像を合成し、合成参照画像と合成現画像に基づいてアフィン係数を算出し、
前記アフィン変換手段は、２個の前記現画像記憶手段から読み出された分割現画像を合成し、前記アフィン係数算出手段により算出されたアフィン係数を用いて、合成現画像の変換を行う
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
第１の参照画像記憶手段に記憶されている分割参照画像上の画素に対応する画素が第１の現画像記憶手段にない場合、第２の現画像記憶手段に記憶されている分割参照画像上の画素を呼び出して第１の現画像書き込み手段に送出する第１の画素呼出手段と、
第２の参照画像記憶手段に記憶されている分割参照画像上の画素に対応する画素が前記第２の現画像記憶手段にない場合、前記第１の現画像記憶手段に記憶されている分割参照画像上の画素を呼び出して第２の現画像書き込み手段に送出する第２の画素呼出手段と
をさらに備えたことを特徴とする請求項２記載の画像処理装置。
【請求項４】
コンピュータに、
参照画像記憶手段に記憶された参照画像の画素を指定する第１の手順と、
仮アフィン係数と前記参照画像上の指定画素の座標から、前記参照画像上の指定画素に対応する、現画像記憶手段に記憶された現画像上の画素の座標と対応直線を算出し、算出した対応直線に沿った画素の座標を指定する第２の手順と、
前記現画像上の指定座標に基づき前記対応直線に沿った画素を前記現画像記憶手段から読み取って一時記憶手段に書き込む第３の手順と、
前記参照画像上の指定画素を前記参照画像記憶手段から読み取る第４の手順と、
前記参照画像上の指定画素に対応する前記現画像上の画素を前記一時記憶手段から読み取り、バイリニア補間を施す第５の手順と、
前記参照画像記憶手段から読み取られた画素、及び前記一時記憶手段から読み取られ前記バイリニア補間が施された画素に基づいてアフィン係数を算出する第６の手順と
を実行させるための画像処理プログラム。
【請求項５】
前記コンピュータに、
前記参照画像を行単位で少なくとも２つに分割するとともに、前記参照画像を分割した境界線を仮アフィン係数で変換した直線により前記現画像を分割する第７の手順と、
分割した前記参照画像毎に、かつ分割した前記現画像毎に、前記第１の手順から前記第５の手順までの並列処理
を実行させるための請求項４記載の画像処理プログラム。
【請求項６】
前記コンピュータに、
第１の参照画像記憶手段に記憶されている分割参照画像上の画素に対応する画素が第１の現画像記憶手段にない場合、第２の現画像記憶手段に記憶されている分割参照画像上の画素を呼び出し、
第２の参照画像記憶手段に記憶されている分割参照画像上の画素に対応する画素が前記第２の現画像記憶手段にない場合、前記第１の現画像記憶手段に記憶されている分割参照画像上の画素を呼び出す第８の手順
を実行させるための請求項５記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、二次元の動画像のぶれを画像処理で抑える際に、適切なバッファ構成とデータアクセスにより、データの読み出しが高速かつ効率的に実行でき、全体の処理を高速化できる画像処理装置及び画像処理プログラムに関するものである。
【背景技術】
【０００２】
デジタルカメラ等で二次元の動画像を撮影する場合、手ぶれや撮影環境によりカメラ等が振動し、撮影した画像がぶれてしまうことがある。このようなぶれによる画像の劣化・視認性の劣化を避けるため従来から様々な技術が開発されてきた。そのような技術に画像処理によりぶれを推定し補正する方法がある。一例として、動画像の画素ごとにマッチングをとることで、画像全体の動きを求める方法がある。この手法の場合、参照フレーム（参照画像）と現フレーム（現画像）の点（ｘ，ｙ）における画素の輝度をそれぞれＩｒ（ｘ，ｙ）、Ｉｃ（ｘ，ｙ）とし、画像の動きベクトルを（ｕ，ｖ）とすると、式１の誤差ｅを最小とするような動きベクトルを求めることにより、画像の動きを求めることが出来る。動きベクトル（ｕ，ｖ）は式２のようなアフィン変換の形式で表せる。
【０００３】
【数１】
2005149001.tif 000003
【０００４】
このようにして求めたアフィン係数によるアフィン変換を現フレームに施すことにより、参照フレームと重なるようなぶれを抑えた画像を作成することができる。このような手法により、画像処理により画像のぶれを抑えることが出来る（例えば、非特許文献１参照）。
【０００５】
誤差ｅを最小にするような動きベクトルを求める手法には、例えば、誤差ｅを最小にするアフィン係数を求めるための行列式がある。このような行列式の逆行列を求める等の方法により、アフィン係数を求めることが出来る（例えば、非特許文献２参照）。
【０００６】
【数２】
2005149001.tif 000004
【０００７】
【非特許文献１】興梠正克、村岡洋一著「グローバルなアフィン動きパラメータの実時間推定手法」、電子情報通信学会論文誌（D-II）、Vol.J82-D-II、No.7、pp.1161-1170、1999年7月
【非特許文献２】Michael R. Piacentino, Michael W. Hansen,「Reconfigurable Elements for a Video Pipeline Processor」, Symposium on Field-Programmable CustomComputing (FCCM99), April 99.
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述のような画像処理により画像の動きを表すアフィン係数を求め、ぶれを抑えようとする方法の場合、一般に、参照画像のある画素（ｘ，ｙ）と現画像上の対応する画素（ｘ’，ｙ’）を取り出して演算を行う。この場合、参照画像の画素（ｘ，ｙ）のｘを固定してｙのみを変化させた場合、現画像上の対応画素（ｘ’，ｙ’）はアフィン係数によって変化する斜めの直線上に乗る。このため、上述の動画像のぶれを抑える装置を構成した場合、参照画像の画素をｘを固定してｙのみを変化させるような水平横方向に連続してメモリ等の記憶装置から読み出した場合、現画像上の対応画素をメモリ等の記憶装置から読み出すと、離散的にメモリアクセスを行わなくてはならない。特に二次元の動画像のような、連続的に変化する画像のぶれを抑えようとする場合、現画像上の対応画素が乗る直線の傾きも動的に変化するため、メモリへのアクセスも動的に変化する。
【０００９】
従来は、二次元の動画像から画像処理で動きを示すアフィン係数を算出する場合、処理の負荷が大きく演算に時間がかかるため、小さな画素サイズの画像でのみ処理を行うか、画像上のすべての画素のデータを読み出す等の処理は行わず特徴のある点を取り出すか、画素を飛び飛びに読み出す等の処理が行われていた。このため、メモリのアクセス時間が問題になるようなことは無かった。しかし、半導体技術等の向上により、これらの処理が大きな画素サイズの画像に対して高速に実行できるようになり、メモリの読み出し速度が全体の処理に対するボトルネックになる可能性が出てきた。また、この処理場合、読み出しデータは連続的ではなく離散的であるため、バースト転送によりアドレス指定等を省略するといった手法により、読み出しを高速化することが困難である。このような問題の解決方法として、読み出し速度の速いメモリを使用する方法があるが、装置のコストが高くなり、装置の規模も大きくなってしまう。すなわち、上記従来の画像処理装置においては、読み取りを高速化することと製品のコストダウンを図ることがトレードオフの関係になっていて、双方の要求を満たすことができないという課題があった。
【００１０】
この発明は、上述のような課題を解決するためになされたもので、その目的は、二次元の動画像のぶれを画像処理により抑える装置を構成しようとする場合に、画像データの読み取りを高速かつ効率的に行うことにより全体の処理の高速化を可能にすると共に、装置のコストダウンを図ることが可能な画像処理装置及び画像処理のプログラムを得るものである。
【課題を解決するための手段】
【００１１】
この発明に係る画像処理装置は、参照画像及び現画像を入力する画像入力手段と、前記画像入力手段からの参照画像を記憶する参照画像記憶手段と、前記画像入力手段からの現画像を記憶する現画像記憶手段と、前記参照画像記憶手段に記憶された参照画像を順次水平方向に１画素ずつ読み取るとともに、１画素毎の前記参照画像上の位置情報を出力する参照画像読み取り手段と、前記現画像の画素を循環式に一時的に記憶する一時記憶手段と、仮アフィン係数及び前記参照画像読み取り手段からの位置情報に基づいて、前記参照画像上の水平線に対応する前記現画像上の対応直線に沿って画素を前記現画像記憶手段から読み出して前記一時記憶手段に書き込む現画像書き込み手段と、前記仮アフィン係数及び前記参照画像読み取り手段からの位置情報に基づいて、前記参照画像上の画素に対応する前記現画像上の画素の位置情報を求め、この求めた前記現画像上の画素の位置情報に基づき該当する画素を前記一時記憶手段から読み取り、バイリニア補間を行う現画像読み取り手段と、前記参照画像読み取り手段により読み取られた画素、及び前記現画像読み取り手段により読み取られ前記バイリニア補間が施された画素に基づいてアフィン係数を算出するアフィン係数算出手段と、前記アフィン係数算出手段により算出されたアフィン係数を用いて、前記現画像記憶手段から読み出された前記現画像の変換を行うアフィン変換手段とを設けたものである。
【発明の効果】
【００１２】
この発明に係る画像処理装置は、画像データの読み取りを高速かつ効率的に行うことにより全体の処理の高速化を可能にすると共に、装置のコストダウンを図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１３】
実施の形態１．
この発明の実施の形態１に係る画像処理装置について図面を参照しながら説明する。図１は、この発明の実施の形態１に係る画像処理装置の構成を示す図である。なお、各図中、同一符号は同一又は相当部分を示す。
【００１４】
図１において、本実施の形態１に係る画像処理装置１は、現画像と参照画像のデータを入力する画像入力手段２と、画像入力手段２から送られてきた参照画像等を記憶する参照画像記憶手段３と、画像入力手段２から送られてきた現画像等を記憶する現画像記憶手段（主記憶装置）４と、参照画像のどの画素のデータを読み取るかを決めて参照画像記憶手段３からの読み取りを実行する参照画像読み取り手段５と、現画像記憶手段４から読み出された現画像の画素データを一時的に記憶する一時記憶手段７と、参照画像読み取り手段５が参照画像のどの画素を読み取ったかに基づいて、画素データの領域をあらかじめ算出し、領域内の画素データを現画像記憶手段４から読み出して一時記憶手段７に書き込む現画像書き込み手段６と、参照画像読み取り手段５が参照画像のどの画素を読み取ったかに基づいて、現画像のどの画素のデータを読み取るかを決めて一時記憶手段７から現画像の画素データの読み取りを実行する現画像読み取り手段８と、現画像の画素データとそれに対応する参照画像の画素データからアフィン係数を算出するアフィン係数算出手段９と、アフィン係数算出手段９で算出したアフィン係数を用いて現画像の変換を行うアフィン変換手段１０と、アフィン変換手段１０で変換した現画像を出力する画像出力手段１１とが設けられている。
【００１５】
なお、図１には記載されていないが、この画像処理装置１を全体的に制御する制御手段があり、参照画像読み取り手段５、現画像書き込み手段６、現画像読み取り手段８、アフィン係数算出手段９、アフィン変換手段１０、画像出力手段１１にシステムバス等を介して接続されており、これらの各手段を制御する。ただし、以下においては説明を簡潔にするために、参照画像読み取り手段５、現画像書き込み手段６、現画像読み取り手段８、アフィン係数算出手段９等が自らデータ処理を実行するものとする。
【００１６】
また、上述の参照画像記憶手段３と現画像記憶手段４は、例えばアフィン係数算出手段９、アフィン変換手段１０の外部に接続されているメモリで構成されている。一方、一時記憶手段７は、これらのメモリと比較して、現画像書き込み手段６、現画像読み取り手段８と高速にデータ受渡しが可能で、読み書きが同時に行えるダブルポートの構造であるが、記憶容量の小さな内部メモリもしくはキャッシュ等で構成されている。しかしながら、この発明は上記構成に限定されるものではない。すなわち、参照画像読み取り手段５、現画像書き込み手段６、一時記憶手段７、現画像読み取り手段８、アフィン係数算出手段９、アフィン変換手段１０は別々の装置（デバイス）で構成される必要はなく、１つのＬＳＩ等で構成されていてもよい。
【００１７】
また、上述の画像入力手段２は、例えばカメラなどの撮影手段を想定しているが、外部の記憶装置からの入力や、他の画像処理装置からの入力などであってもよい。また、画像出力手段１１は、例えばディスプレイ等であるが、外部の記憶装置や他の画像処理装置への出力であってもよい。
【００１８】
つぎに、この実施の形態１に係る画像処理装置の動作について図面を参照しながら説明する。
【００１９】
まず、この画像処理装置１による画像処理方法の概略について以下の（１）〜（９）の順に従って説明する。
【００２０】
（１）時刻ｔ−１に、画像入力手段２は撮影対象を撮影し、これを参照画像として参照画像記憶手段３に送る。この参照画像記憶手段３は、１フレームの参照画像のデータを記憶する。
【００２１】
（２）次に、時刻ｔに、画像入力手段２は撮影対象を撮影し、これを現画像として現画像記憶手段４に送る。この現画像記憶手段４は、１フレームの現画像のデータを記憶する。
【００２２】
（３）次に、アフィン係数算出手段９は仮アフィン係数を定める。これを、現画像書き込み手段６と、現画像読み取り手段８に送る。
【００２３】
（４）参照画像読み取り手段５は、参照画像上の画素データをラスタ走査のように画像の左上隅から水平方向に１画素ずつ読み取る。参照画像読み取り手段５は、画素データをひとつ読み出すごとに、読み出した画素の画像上の位置（アドレス）と画素データを、アフィン係数算出手段９に送る。また、読み出した画素の画像上の位置（アドレス）の情報を現画像書き込み手段６、現画像読み取り手段８に送る。ある行の全ての画素データを読み取った後は、１行下にずらして（シフトして）左から右に水平に画素を順次読み取っていき、現画像上のすべての画素データを読み出すようにする。
【００２４】
（５）現画像書き込み手段６は、参照画像読み取り手段５が新たな行の画素データを読み出す場合、アフィン係数算出手段９から送られてきた仮アフィン係数と、参照画像読み取り手段５から送られてきた画素の参照画像上の位置（アドレス）の情報をもとに、参照画像に対応する現画像上の対応直線を求め、その対応直線に沿う画素データを現画像記憶手段４から読み出し、一時記憶手段７に書き込んでおく。
【００２５】
（６）現画像読み取り手段８は、アフィン係数算出手段９から送られてきた仮アフィン係数と、参照画像読み取り手段５から送られてきた画素の参照画像上の位置（アドレス）の情報をもとに、参照画像上の画素に対応する現画像上の画素の位置（一時記憶手段７のアドレス）を算出する。その後、バイリニア補間を行うために、算出した現画像上の画素の位置に基づき一時記憶手段７から対応する画素のデータを読み出し、補間した画素データをアフィン係数算出手段９に送る。
【００２６】
（７）アフィン係数算出手段９は、参照画像読み取り手段５から送られてきた全ての画素データと、現画像読み取り手段８から送られてきた全ての画素データから、式３の演算を行い、アフィン係数を算出する。また、同時に、式１の演算を実行し、参照画像と現画像との誤差を算出する。
【００２７】
（８）アフィン係数算出手段９は、算出した参照画像と現画像との誤差が規定値以内であれば、算出したアフィン係数をアフィン変換手段１０に送る。誤差が規定値を超えている場合は、算出したアフィン係数を現画像書き込み手段６と、現画像読み取り手段８に送り、（４）〜（７）までの処理を繰り返す。このようなフィードバックを、誤差が規定値以内になるか、繰り返しの回数が規定の回数をこえるまで繰り返す。
【００２８】
（９）アフィン変換手段１０は、現画像記憶手段４から画像データを読み出し、アフィン係数算出手段９から送られてきたアフィン係数で変換を行う。その後、変換された画像を、画像出力手段１１に送る。
【００２９】
画像処理装置１は、以上の動作により現画像をアフィン変換し、ぶれを抑制する。
【００３０】
なお、仮アフィン係数の算出方法に関しては、一例として、上述した非特許文献１に、乱数、画像の輝度の時空間こう配を用いて仮アフィン係数を求める方法が示されている。また、１フレーム前の処理のアフィン係数を、仮アフィン係数としてもよいし、６個のアフィン係数を０として処理を開始してもよい。これらの方法により、仮アフィン係数を求めることが出来る。
【００３１】
図２は、この発明の実施の形態１において参照画像上の画素と現画像上の画素の配列及びお互いの対応を示す図である。図２において、左側は参照画像２０であり、右側は現画像２１である。参照画像２０上の任意の画素データと、現画像２１の対応画素データとによって、アフィン係数を算出する。
【００３２】
この例では、参照画像２０上の画素を順次、水平方向に読み取った場合に、現画像２１上の対応画素が傾き（角度）αになったものとする。ただし、ここでは、−π／２＜α≦π／２とする。αは上述の仮アフィン係数、もしくはフィードバックされたアフィン係数から簡単に求めることが出来る。これは式２と、参照画像２０上の画素（ｘ，ｙ）と現画像２１上の対応画素（ｘ’，ｙ’）の関係式である式４から求めることができ、式５のようになる。以下では、参照画像２０上の画素（ｘ，ｙ）に対する現画像２１上の対応画素（ｘ’，ｙ’）を通る傾きαの直線のことを、単に“対応直線”と表現する。
【００３３】
【数３】
2005149001.tif 000005
【００３４】
また、図２のように、参照画像２０、現画像２１の画像のサイズを共に横６４画素、縦６４画素とし、画像の左下すみの画素を原点（０，０）として、横軸をＸ軸、縦軸をＹ軸とし、原点から右側ｘ画素目、上側ｙ画素目の点を（ｘ，ｙ）と表すものとする。また、アフィン係数は式３から算出するものとする。
【００３５】
また、以下の例では、参照画像２０上の画素Ｓ（ｘ，ｙ）に対する現画像２１上の対応点Ｔ（ｘ’，ｙ’）の画素データは、バイリニア補間とよばれる方法で求めるものとする。これは、対応点Ｔ（ｘ’，ｙ’）の値は一般的に整数にならないため、対応点Ｔを囲んでいる近傍４画素の比例配分によって画素値を計算して補間する方法である。
【００３６】
図３は、参照画素に対する現画像上の対応画素を求めるためのバイリニア補間の方法を示したものである。［］をガウス記号として、ｉ＝［ｘ’］，ｊ＝［ｙ’］とすると、対応点Ｔを囲んでいる近傍４画素の位置は、（ｉ，ｊ），（ｉ＋１，ｊ），（ｉ，ｊ＋１），（ｉ＋１，ｊ＋１）となる。これから、補間された点（ｘ’，ｙ’）の画素値は式６から求められる。
【００３７】
【数４】
2005149001.tif 000006
【００３８】
参照画像読み取り手段５の動作を以下の手順（Ａ１）〜（Ａ５）に従って説明する。
【００３９】
（Ａ１）最初に、参照画像読み取り手段５は、図２に示すように、参照画像２０上の左上すみの６３行目の画素（０，６３）のデータを読み取る。次に、参照画像読み取り手段５は、画素（０，６３）のデータを、アフィン係数算出手段９に送る。また、画素の位置を示す（０，６３）という情報と、処理を開始した旨の信号を現画像書き込み手段６、現画像読み取り手段８に送る。参照画像読み取り手段５は、現画像読み取り手段８から、後述する“対応画素読み取り準備中”の信号が止まるまで、処理を休止する。
【００４０】
（Ａ２）次に、参照画像読み取り手段５は、ラスタ走査と同様の順番で、６３行目の画素（１，６３）から順に水平方向に画素（６３，６３）まで読み取る。参照画像読み取り手段５は、読み取った画素データを、アフィン係数算出手段９に送り、読み取った画素データの位置を示す（ｘ，６３）という情報を現画像読み取り手段８に送る。
【００４１】
（Ａ３）次に、参照画像読み取り手段５は、読み取る行を１つシフトして、（Ａ１）の処理と同様に、参照画像上の６２行目の画素（０，６２）のデータを読み取る。参照画像読み取り手段５は、画素（０，６２）のデータをアフィン係数算出手段９に送る。また、画素データの位置を示す（０，６２）という情報と、読み取り行を更新（シフト）した旨の信号を現画像書き込み手段６、現画像読み取り手段８に送る。参照画像読み取り手段５は、（Ａ１）の処理と同様に、現画像読み取り手段８から“対応画素読み取り準備中”の信号が止まるまで、処理を休止する。
【００４２】
（Ａ４）参照画像読み取り手段５は、（Ａ２）と同様に、６２行目の画素（１，６２）から順に画素（６３，６２）まで読み取り、読み取った画素データを、アフィン係数算出手段９に送り、その読み取った画素データの位置情報（アドレス）を現画像読み取り手段８に送る。
【００４３】
（Ａ５）以下、同様にして、読み取る行を１つずつシフトして順次処理を行っていく。最後の画素に当たる０行目の画素（６３，０）が処理されるまで処理を行う。
【００４４】
以上の様に処理を行うことにより、参照画像読み取り手段５は、現画像書き込み手段６、現画像読み取り手段８と連動して１行ずつ、画素データの読み出しを実行する。
【００４５】
図４は、一時記憶手段７の記憶エリアを示している。図４に示すように、一時記憶手段７は、６４×８個（総計５１２個）のブロック（アドレス）からなり、各ブロックは１つの画素データを保持できるものとする。また、各ブロックには識別のため、０番から５１１番までの通し番号が割り当てられている。
【００４６】
次に、現画像書き込み手段６、一時記憶手段７、現画像読み取り手段８の動作を以下の手順に従って説明する。ここでの動作は、上述の参照画像読み取り手段５の動作と連動しているものとする。
【００４７】
（Ｂ１）最初に、現画像書き込み手段６、現画像読み取り手段８は、参照画像読み取り手段５から参照画像上の画素（０，６３）の位置情報と処理開始の信号を受け取る。これは、上述の（Ａ１）での参照画像読み取り手段５の動作に対応している。それに対して、現画像読み取り手段８は、“対応画素読み取り準備中”の信号を、参照画像読み取り手段５に送る。また、アフィン係数算出手段９から仮アフィン係数もしくはフィードバックされたアフィン係数の値を受け取る。
【００４８】
（Ｂ２）現画像読み取り手段８は、参照画像上の画素（０，６３）の１つ上の行の仮想的な画素（０，６４）を定め、その対応点Ｐ０を式２と式４から求め、その点の通る直線（対応直線）を式５から算出する。同様にして、参照画像上の画素（０，６３）の対応点Ｐ１と、その対応直線、参照画像上の画素（０，６３）の１つ下の行の画素（０，６２）の対応点Ｐ２と、その対応直線を算出する。この時、図２のように、参照画像上の仮想的な画素（０，６４）に対する対応直線Ｅ０、参照画像上の画素（０，６３）に対する対応直線Ｅ１、及び参照画像上の画素（０，６２）に対する対応直線Ｅ２をそれぞれ下記の式とする。
【００４９】
【数５】
2005149001.tif 000007
【００５０】
（Ｂ３）現画像書き込み手段６は、現画像読み取り手段８と同様に、対応点Ｐ０、Ｐ１、Ｐ２と対応直線Ｅ０、Ｅ１、Ｅ２を求める。なお、現画像読み取り手段８が求めた対応点Ｐ０、Ｐ１、Ｐ２と対応直線Ｅ０、Ｅ１、Ｅ２の情報を送ってもらってもよい。また、現画像書き込み手段６が、対応点Ｐ０、Ｐ１、Ｐ２と対応直線Ｅ０、Ｅ１、Ｅ２を求め、現画像読み取り手段８に送ってもよい。現画像書き込み手段６は、以下の（Ｂ３−１）〜（Ｂ３−５）のようにして、現画像記憶手段４から画素データを読み出し、一時記憶手段７に書き込む。
【００５１】
（Ｂ３−１）現画像書き込み手段６は、一時記憶手段７をＬブロック毎の仮想的な領域に分割する。この時、Ｌは対応直線Ｅ０とＥ２の間にある、もしくはどちらかの線を含んでいる画素を列毎に分けて格納できるような大きさであればよい。例えば、Ｌを「Ｌ＞｜Ｃ２−Ｃ０｜＋｜ｔａｎα｜＋１を満たすような最小の整数」というように、対応直線の傾きｔａｎαと、ｙ切片Ｃ２とＣ０の間隔に応じて決めてもよい。この例では、Ｌを４とする。以後、一時記憶手段７において領域毎に分けたブロックの「ｍ領域目のｋ番目のブロック」を［ｍ，ｋ］ブロックと表記する。この時、図４のように、一時記憶手段７の０番のブロックが［０，０］ブロック、１番のブロックが［０，１］ブロック、・・・となるものとする。なお、一時記憶手段７の最後尾の領域がＬブロックに満たない場合（一時記憶手段７がＬで割り切れない場合）は最後尾の領域は使用しないものとする。
【００５２】
（Ｂ３−２）現画像書き込み手段６は、図２において、現画像の０列の画素の中で、対応直線Ｅ０とＥ２の間にある、もしくはどちらかの線を含んでいる画素のうち行番号の１番目に大きい物を一時記憶手段７の“０”の領域の０番目のブロックに書き込む。この場合、画素（０，６３）が［０，０］ブロックに書き込まれる。
【００５３】
（Ｂ３−３）次に、１列の画素を同様にして“１”の領域の０番目のブロックに書き込む。この場合、画素（１，６３）を［１，０］ブロックに書き込む。同様にして、画素（２，６３）を［２，０］ブロック、画素（３，６３）を［３，０］ブロック、画素（４，６３）を［４，０］ブロックに書き込む。その後、５列目の場合は、「対応直線Ｅ０とＥ２の間にある、もしくはどちらかの線を含んでいる画素のうち行番号の大きい画素」は、画素（５，６２）になる。この画素を［５，０］ブロックに書き込む。以下、同様にして、６３列までの画素を対応するブロックに書き込んでいく。
【００５４】
（Ｂ３−４）次に、現画像書き込み手段６は、現画像の０列の画素の中で、対応直線Ｅ０とＥ２の間にある、もしくはどちらかの線を含んでいる画素のうち行番号の２番目に大きい物を一時記憶手段７の“０”の領域の１番目のブロックに書き込む。この場合、画素（０，６２）が｛０，１｝ブロックに書き込まれる。以下、同様にして、対応直線Ｅ０とＥ２の間にある、もしくはどちらかの線を含んでいる全ての画素を一時記憶手段７に書き込んでいく。
【００５５】
（Ｂ３−５）ところで、一時記憶手段７に対応する画素が書ききれない場合がありうる。例えば、一時記憶手段７をＬ個に分割する際にＬが８より大きく、かつ０列から６３列までの対応直線Ｅ０とＥ２の間にある、もしくはどちらかの線を含んでいる画素が０列から６３列まで存在するため、図４に示した一時記憶手段７の６４×８ブロックを超えてしまう場合である。この時、現画像書き込み手段６は、一時記憶手段７に書き込むことのできた最後の列を「列番号のオフセット終了値」として記録する。それ以降の列の画素は一時記憶手段７に書き込まないものとする。
【００５６】
（Ｂ４）次に、現画像読み取り手段８は、現画像書き込み手段６と同じ手順で、現画像書き込み手段６が一時記憶手段７に書き込んだ位置（アドレス）から順次、現画像の画素を読み取る。このとき、参照画像上の画素（０，６３）の対応する対応点Ｐ１の座標を（ｘ１，ｙ１）とした時、以下の（Ｂ４−１）、（Ｂ４−２）ようにして、対応点Ｐ１を補間するための近傍４点の画素データを一時記憶手段７から読み取る。
【００５７】
（Ｂ４−１）まず、現画像読み取り手段８は、対応点が「列番号のオフセット終了値」以下であることを確認する。そうでない場合は、対応する画素が一時記憶手段７に格納されていないので、現画像記憶手段４から直接、対応する画素データを読み出す。
【００５８】
（Ｂ４−２）次に、現画像読み取り手段８は、ｘ＝ｘ１の時の対応直線Ｅ０のｙの値を算出し、ｙ≦６３の時、ｙを「行番号のオフセット値」とし、ｙ＞６３の時、６３を「行番号のオフセット値」とする。この場合、ｙ＝（ｔａｎα）ｘ１＋Ｃ０となる（ただし、端数は切り捨てられる）。このとき、以下の式とする（［］はガウス記号、ｍｏｄはモジュラ演算子）。
【００５９】
【数６】
2005149001.tif 000008
【００６０】
この時、一時記憶手段７の｛ｉ１，ｊ１｝、｛ｉ１＋１，ｊ１｝、｛ｉ１，ｊ１＋１｝、｛ｉ１＋１，ｊ１＋１｝のブロックに点（ｘ１，ｙ１）を囲む近傍４点の画素データが格納されているので、そのデータを呼出す。
【００６１】
（Ｂ５）現画像読み取り手段８は、４点の画素データを用いて、対応点Ｐ１のバイリニア補間を行う。その後、得られた画素データをアフィン係数算出手段９に送る。また、参照画像読み取り手段５への“対応画素読み取り準備中”の信号の送信を停止する。
【００６２】
（Ｂ６）次に、現画像読み取り手段８は、参照画像読み取り手段５から参照画像上の画素（１，６３）の情報を受け取る。これは、上述の（Ａ２）での参照画像読み取り手段５の動作に対応している。この場合、（Ｂ４）、（Ｂ５）と同様に処理をする。画素（１，６３）の対応点は、現画像上の対応直線Ｅ０とＥ２の間にある。このため、（Ｂ４）と同様に画素データを一時記憶手段７から読み出すことができる。
【００６３】
（Ｂ７）現画像読み取り手段８が受け取る、画素（２，６３）、（３，６３）、・・・に関しても（Ｂ４）、（Ｂ５）と同様に処理する。
【００６４】
（Ｂ８）次に、現画像書き込み手段６、現画像読み取り手段８は、参照画像読み取り手段５から参照画像上での、行を更新した旨の信号を受取り、画素（０，６２）の情報を受け取る。この場合、画素（０，６１）に対応する点の通る対応直線Ｅ３を以下の式とする。
【００６５】
【数７】
2005149001.tif 000009
【００６６】
この時、対応直線Ｅ３とＥ１に関して、（Ｂ３）の（Ｂ３−２）〜（Ｂ３−５）と同様の処理を行う。ただし、一時記憶手段７の内部にすでにある画素データは、現画像記憶手段４から読み取らないようにし、新しいデータのみ追加する。この時、データを書き込むブロックは、画素の位置から式１０と式１１を用いて算出する。
【００６７】
例えば、図２で、現画像の０列においての対応直線Ｅ３とＥ１の間にある、もしくは、どちらかの線を含んでいる画素は、（０，６０）、（０，６１）、（０，６２）であるが、画素（０，６１）、（０，６２）のデータはすでに一時記憶手段７の［０，１］、［０，２］ブロックにそれぞれ格納されているので、読み取らないようにする。これは、これらの画素が、対応直線Ｅ２とＥ０の間にある、もしくは、どちらかの線を含んでいるかどうかを判定する事で確かめることが出来る。画素（０，６０）は、新しい画素データなので、現画像記憶手段４から読み出し、［０，３］のブロックに格納する。また、４列においての対応直線Ｅ３とＥ１の間にある、もしくは、どちらかの線を含んでいる画素は、（４，５９）、（４，６０）、（４，６１）、（４，６２）であるが、画素（４，６０）、（４，６１）、（４，６２）のデータはすでに一時記憶手段７の［４，１］、［４，２］、［４，３］ブロックにそれぞれ格納されているので読み取らないようにする。画素（４，５９）は、新しい画素データなので、現画像記憶手段４から読み出し、［４，０］のブロックに格納する。この時、それ以前に格納されていた画素（４，６３）のデータは、新しい画素（４，５９）のデータに上書きされる。このようにして、サイズＬのブロックの中に１つの列の新しいデータを循環式に書き込んでいく。この後、６３列までの画素で新しいデータを、一時記憶手段７に書き込む。
【００６８】
（Ｂ９）以下、同様にして、現画像読み取り手段８は、参照画像読み取り手段５から参照画像上の画素情報を受取り、対応画素のデータの読み取りの処理を行う。この処理を参照画像上の画素（６３，０）まで順次行う。
【００６９】
以上の様に処理を行うことにより、現画像書き込み手段６と一時記憶手段７と現画像読み取り手段８は、参照画像の行毎に対応直線を求めて一時記憶手段７へのデータの書き込み、参照画像の画素毎に、一時記憶手段７からの読み出し等の処理を実行する。
【００７０】
図５は、上記の画像処理装置１の図示しない制御手段によって実行される画像処理プログラムを示す概略のフローチャートである。
【００７１】
このプログラムは、制御手段のＲＯＭ等のメモリにあらかじめ記憶されていてもよいが、プログラム自体を装置とは独立に存在するものとし、フロッピー（登録商標）ディスクやＣＤ等の外部記憶媒体、又はインターネット等の通信回線を介して、書き込み可能なメモリにインストールするようにしてもよい。この場合には、画像処理プログラムの発明として成立する。
【００７２】
図５において、まず、アフィン係数算出手段９で定めた仮アフィン係数を読み出し、現画像書き込み手段６と、現画像読み取り手段８に送る（ステップ１０１）。
【００７３】
次に、参照画像記憶手段３に記憶された参照画像の最初の画素を指定する（ステップ１０２）。
【００７４】
次に、参照画像の指定画素の座標（位置）を現画像書き込み手段６、現画像読み取り手段８に送出する（ステップ１０３）。
【００７５】
次に、現画像書き込み手段６によって、仮アフィン係数と指定画素の座標から、現画像上の対応画素と対応直線を算出し、算出した対応直線上の画素データ（厳密には、２つの対応直線に乗る画素データもあるので、対応直線に沿った画素データ）の座標を指定する（ステップ１０４）。
【００７６】
次に、指定した座標の現画素データを現画像書き込み手段６によって現画像記憶手段４から読み取って、一時記憶手段７に記憶する（ステップ１０５）。
【００７７】
そして、対応直線上に次の現画素があるか否かを判別し（ステップ１０６）、次の現画素がある場合にはその画素を指定する（ステップ１０７）。そして、ステップ１０５に移行して、その現画素を現画像記憶手段４から読み取って一時記憶手段７に記憶し、ステップ１０６、ステップ１０７の処理を行う。
【００７８】
すなわち、対応直線上に次の現画素がある限り、ステップ１０５〜ステップ１０７のループ処理を繰り返して、図４に示したように、現画素の画素データを一時記憶手段７に順に記憶する。
【００７９】
対応直線上におけるすべての現画素の画素データを現画像記憶手段４から読み取って一時記憶手段７に記憶した後、すなわち、ステップ１０６において次の現画素がない場合には、参照画像上の指定座標の画素データを参照画像読み取り手段５によって参照画像記憶手段３から読み取って、アフィン係数算出手段９に送出する（ステップ１０８）。
【００８０】
次に、一時記憶手段７に記憶した指定座標に対応する対応点を、バイリニア補間により補間した現画素をアフィン係数算出手段９に送出する（ステップ１０９）。
【００８１】
次に、アフィン係数算出手段９によってアフィン係数算出処理が実行される（ステップ１１０）。
【００８２】
そして、参照画像上の読み取り行に次の参照画素があるか否かを判別し（ステップ１１１）、次の参照画素がある場合にはその画素を指定する（ステップ１１２）。そして、ステップ１０８に移行して、その参照画素の画素データを参照画像読み取り手段５によって参照画像記憶手段３から読み取って、アフィン係数算出手段９に送出し、ステップ１０９〜ステップ１１２の処理を行う。すなわち、読み取り行に次の参照画素がある限り、ステップ１０８〜ステップ１１２のループ処理を繰り返す。
【００８３】
なお、アフィン係数算出手段９によって実行されるアフィン係数算出処理は、式３に示すように、各参照画素データの積和演算を行う処理であり参照画素毎に処理を行えるので、参照画素に対応する対応直線上のすべての現画素が一時記憶手段７に記憶されなくとも、現画像読み取り手段８は現画像記憶手段４から現画素を読み取って、アフィン係数算出手段９に送出できるものとする。
【００８４】
参照画像の１つの水平方向の行について、ステップ１０３からステップ１１２までの処理が終了したときは、処理を行う行をシフトする（ステップ１１３）。
【００８５】
このシフトの結果、参照画像記憶手段３に参照画素がないか否かを判別する（ステップ１１４）。すなわち、シフトされた行に参照画素があるか否か（参照画像上の最後の行の処理を終えたか否か）を判別する。シフトされた行に参照画素がある場合には、ステップ１０３に移行して、ステップ１１４までのループ処理を繰り返す。シフトされた行に参照画素がない場合、例えば、図２において、最下の画素（０，０）を通る行がさらに下にシフトされた場合には、このフローを終了する。
【００８６】
以上のように、この実施の形態１によれば、対応直線に沿って現画像２１の読み取りを行い、それを一時記憶手段７にバッファリング（一時的に記憶）することによって、現画像記憶手段４からのデータ読み取りの回数を減らすことができる。このため、二次元の動画像の画像処理によりぶれを抑える際に、画素データの読み取りを高速かつ効率的に行うことにより全体の処理の高速化を可能にするという効果が得られる。
【００８７】
また、一時記憶手段７を用いることによって、高速動作の高価な現画像記憶手段を必要としないので、製品のコストダウンを図ることが可能になるという効果が得られる。
【００８８】
また、本実施の形態１では、現画像２１の対応直線上に沿う画素データを全て一括して読み取っているが、一時記憶手段７にデータがない場合に必要なデータのみ、現画像記憶手段４から逐次読み取るような構成にしてもよい。この場合には、必要な画素データの読み取り欠落を回避できるという効果が得られる。
【００８９】
また、この実施の形態１によれば、現画像２１における対応直線の傾きαに応じて、一時記憶手段７の領域を動的に変化させるので、現画像２１における対応直線の傾きに応じて一時記憶手段７の領域を柔軟に活用できるという効果がある。
【００９０】
実施の形態２．
この発明の実施の形態２に係る画像処理装置について図面を参照しながら説明する。図６は、この発明の実施の形態２に係る画像処理装置の構成を示す図である。
【００９１】
上述の実施の形態１では、参照画像記憶手段３、現画像記憶手段４、参照画像読み取り手段５、現画像書き込み手段６、一時記憶手段７、現画像読み取り手段８がおのおの一つの構成であった。これに対して、複数の参照画像記憶手段３、現画像記憶手段４、参照画像読み取り手段５、現画像書き込み手段６、一時記憶手段７、現画像読み取り手段８を設け、並列に処理することで、処理を高速化することが考えられる。
【００９２】
図６において、参照画像記憶手段３Ａ、３Ｂは参照画像記憶手段３を、現画像記憶手段４Ａ、４Ｂは現画像記憶手段４を、参照画像読み取り手段５Ａ、５Ｂは参照画像読み取り手段５を、現画像書き込み手段６Ａ、６Ｂは現画像書き込み手段６を、一時記憶手段７Ａ、７Ｂは一時記憶手段７を、現画像読み取り手段８Ａ、８Ｂは現画像読み取り手段８を、複数構成としたものである。また、画像分割手段１２は画像入力手段２から送られてきた、参照画像、現画像を分割し、それぞれを参照画像記憶手段３Ａ、３Ｂと現画像記憶手段４Ａ、４Ｂに送る。それ以外の画像処理については、上記の実施の形態１と同じである。
【００９３】
なお、アフィン係数算出手段９は、参照画像読み取り手段５Ａ、５Ｂにより読み取られた分割した参照画像を合成し、現画像読み取り手段８Ａ、８Ｂにより読み取られた分割した現画像を合成し、合成参照画像と合成現画像に基づいてアフィン係数を算出する。また、アフィン変換手段１０は、現画像記憶手段４Ａ、４Ｂから読み出された分割した現画像を合成し、アフィン係数算出手段９により算出されたアフィン係数を用いて、合成現画像の変換を行う。
【００９４】
つぎに、この実施の形態２に係る画像処理装置の動作について図面を参照しながら説明する。以下では、画像分割手段１２の動作を説明する。
【００９５】
画像分割手段１２は、画像を分割する際に、最初にアフィン係数算出手段９から、仮アフィン係数を受け取る。その後、画像分割手段１２は、参照画像を行単位で分割し、分割した画像を参照画像記憶手段３Ａ、３Ｂそれぞれに送る。また、参照画像を分割した境界線を仮アフィン係数で変換した直線で現画像を分割する。その後、分割した画像に定められた画素分だけ余裕を持たせ、その画像を現画像記憶手段４Ａ、４Ｂそれぞれに送る。現画像を分割するための直線を求める方法等は上記実施の形態１と同じである。
【００９６】
図７は、画像分割手段１２での画像の分割の例を示した図である。図７では、参照画像３０を領域２２〜２５の４つの領域に分割している。これに対して、現画像３１上で各領域の境界線を仮アフィン係数でアフィン変換した直線が、直線Ｅ１０、Ｅ１１、Ｅ１２である。直線Ｅ１０、Ｅ１１、Ｅ１２で分割された領域より大きい、点線で囲まれた領域が領域２６、２８であり、これはそれぞれ参照画像３０上の領域２２、２４に対応している。また、直線Ｅ１０、Ｅ１１、Ｅ１２で分割された領域より大きい、網掛けで塗られた領域が領域２７、２９であり、これはそれぞれ参照画像３０上の領域２３、２５に対応している。つまり、例えば領域２６と２７は、直線Ｅ１０を挟んだ上側の実線と下側の点線の間の領域が重複していることになる。画像分割手段１２は、領域２２、２４を参照画像記憶手段３Ａに、領域２６、２８を現画像記憶手段４Ａにおくる。また、画像分割手段１２は、領域２３、２５を参照画像記憶手段３Ｂに、領域２７、２９を現画像記憶手段４Ｂにおくる。
【００９７】
以上のようにして画像分割手段１２は画像を分割する。分割された画像は、上記実施の形態１と同様の手順で参照画像読み取り手段５Ａ、５Ｂ、現画像書き込み手段６Ａ、６Ｂ、現画像読み取り手段８Ａ、８Ｂ等で処理される。ただし、現画像書き込み手段６Ａ、６Ｂや、現画像読み取り手段８Ａ、８Ｂが現画像記憶手段４Ａ、４Ｂから対応する画素を読み取ろうとした際に、画像が分割されたことにより、対応する画素が現画像記憶手段４Ａ、４Ｂにない場合がある。このような場合は、その画素に関する処理は行わないようにする。
【００９８】
また、本実施の形態２では、画像分割手段１２は、仮アフィン係数を用いて画像の分割を行っているが、他の方式で導かれたアフィン係数を用いても良い。例えば、１つ前の画像の処理で算出されたアフィン係数を用いて画像を分割してもよい。また、本実施の形態２では、２つの参照画像読み取り手段５Ａ、５Ｂや、現画像書き込み手段６Ａ、６Ｂ、現画像読み取り手段８Ａ、８Ｂ等で処理を行っているが、３つ以上で並列に処理を行っても良い。
【００９９】
なお、上記実施の形態１の画像処理プログラムは、この実施の形態２では、参照画像を行単位で少なくとも２つに分割するとともに、前記参照画像を分割した境界線を仮アフィン係数で変換した直線により現画像を分割する手順と、分割した前記参照画像毎に、かつ分割した前記現画像毎に、複数個ある各手段を並列処理させる手順を含む。
【０１００】
以上のように、この実施の形態２によれば、画像を複数に分割して並列に処理することにより、極めて高速の画像処理を実現できるという効果が得られる。
【０１０１】
実施の形態３．
この発明の実施の形態３に係る画像処理装置について図面を参照しながら説明する。図８は、この発明の実施の形態３に係る画像処理装置の構成を示す図である。
【０１０２】
上述の実施の形態２では、複数の参照画像読み取り手段５や、現画像書き込み手段６、現画像読み取り手段８等を設け、画像分割手段１２により画像を分割することで、並列に処理を行い、処理の高速化を行っていた。しかし、この場合、現画像書き込み手段６Ａ、６Ｂが現画像記憶手段４Ａ、４Ｂから対応する画素を読み取ろうとした際に、画像が分割されたことにより、対応する画素が現画像記憶手段４Ａ、４Ｂにない場合がある。
【０１０３】
これに対して、現画像記憶手段４Ａに分割された画像を現画像書き込み手段６Ｂに送る、もしくは現画像記憶手段４Ｂに分割された画像を現画像書き込み手段６Ａに送るような手段を設け、処理を行うようにしても良い。
【０１０４】
図８において、画素呼出手段１３Ａ、１３Ｂは、現画像書き込み手段６Ａ、６Ｂからの指示により、現画像記憶手段４Ａ、４Ｂから画像を読み取る。転送路１４は、画素呼出手段１３Ａ、１３Ｂの間で画素データの転送を行う。それ以外の画像処理については、上記実施の形態２と同じである。ただし、図の簡略化のために、参照画像記憶手段３Ａ、３Ｂと、参照画像読み取り手段５Ａ、５Ｂと、現画像記憶手段４Ａ、４Ｂからアフィン変換手段１０への転送路は省略してある。
【０１０５】
以下では、画像呼出手段１３Ａ、１３Ｂと転送路１４の動作を説明する。
【０１０６】
（Ｃ１）例えば、現画像書き込み手段６Ａが現画像記憶手段４Ａから対応する画素を読み取ろうとした際に、対応する画素が現画像記憶手段４Ａにない場合、現画像書き込み手段６Ａは、画素呼出手段１３Ａに読み取ろうとしている画素の位置情報を送る。
【０１０７】
（Ｃ２）画素呼出手段１３Ａは、位置情報のデータを転送路１４経由で画素呼出手段１３Ｂにおくる。
【０１０８】
（Ｃ３）画素呼出手段１３Ｂは、画素呼出手段１３Ａから送られてきた位置情報のデータから、画素データを現画素記憶手段４Ｂから読み取る。その後、転送路１４経由で読み取った画素データを画素呼出手段１３Ａに送る。
【０１０９】
（Ｃ４）画素呼出手段１３Ａは、画素呼出手段１３Ｂから送られてきた画素データを現画像書き込み手段６Ａに送る。
【０１１０】
（Ｃ５）現画像書き込み手段６Ａは、画素呼出手段１３Ａから送られてきた画素データを実施の形態１の場合と同様に処理する。
【０１１１】
以上のようにして画素呼出手段１３Ａ、１３Ｂ、転送路１４を用いて、分割された画像データを現画像書き込み手段６Ａにおくる。また、現画像書き込み手段６Ｂでの処理も同様の手順で行われる。
【０１１２】
また、本実施の形態３では、現画像書き込み手段６Ａは、画素呼出手段１３Ａに画素の位置情報を送ってから画素データが取得されるまで、処理を停止していることを想定している。これに対して、呼出しが行われた画素の処理は画素データが送られてくるまで一時的に停止し、その間に別の画素の処理を実行するようにしても良い。
【０１１３】
なお、上記実施の形態１の画像処理プログラムは、この実施の形態３では、参照画像記憶手段３Ａに記憶されている分割参照画像上の画素に対応する画素が現画像記憶手段４Ａにない場合、現画像記憶手段４Ｂに記憶されている分割参照画像上の画素を呼び出し、参照画像記憶手段３Ｂに記憶されている分割参照画像上の画素に対応する画素が現画像記憶手段４Ｂにない場合、現画像記憶手段４Ａに記憶されている分割参照画像上の画素を呼び出す手順を含む。
【０１１４】
以上のように、この実施の形態３によれば、分割した画像を呼び出して処理を行うことにより、アフィン係数の精度が高まるので、ぶれを抑える効果を高め、かつ高速の画像処理を実現できるという効果が得られる。
【図面の簡単な説明】
【０１１５】
【図１】この発明の実施の形態１に係る画像処理装置の構成を示すブロック図である。
【図２】この発明の実施の形態１に係る画像処理装置における参照画像上の画素と現画像上の画素の配列及びお互いの対応を示す図である。
【図３】この発明の実施の形態１に係る画像処理装置の参照画素に対する現画像上の対応画素を求めるためのバイリニア補間の方法を示す図である。
【図４】この発明の実施の形態１に係る画像処理装置の一時記憶手段の記憶エリアの構成を示す図である。
【図５】この発明の実施の形態１に係る画像処理装置の画像処理手順（画像処理プログラム）を示すフローチャートである。
【図６】この発明の実施の形態２に係る画像処理装置の構成を示すブロック図である。
【図７】この発明の実施の形態２に係る画像処理装置の画像分割手段の動作を説明するための図である。
【図８】この発明の実施の形態３に係る画像処理装置の構成を示すブロック図である。
【符号の説明】
【０１１６】
１  画像処理装置、２  画像入力手段、３  参照画像記憶手段、４  現画像記憶手段、５  参照画像読み取り手段、６  現画像書き込み手段、７  一時記憶手段、８  現画像読み取り手段、９  アフィン係数算出手段、１０  アフィン変換手段、１１  画像出力手段、１２  画像分割手段、１３Ａ、１３Ｂ  画素呼出手段、１４  転送路、２０  参照画像、２１  現画像。
【図１】
2005149001.tif 000010
【図２】
2005149001.tif 000011
【図３】
2005149001.tif 000012
【図４】
2005149001.tif 000013
【図５】
2005149001.tif 000014
【図６】
2005149001.tif 000015
【図７】
2005149001.tif 000016
【図８】
2005149001.tif 000017