"走査線順に撮像された入力映像信号の水平方向および垂直方向動きベクトルを生成する動きベクトル生成部と、前記水平方向および垂直方向動きベクトルに基づいて前記走査線毎に水平方向補正量を生成するとともに、前記垂直方向動きベクトルに基づいて前記走査線毎に垂直方向補正量を生成する補正量生成部と、前記水平方向および垂直方向補正量に基づいて、前記入力映像信号を補正して出力映像信号を生成する補正部と、を備えることを特徴とする画像処理装置。前記補正量生成部は、下記1式に基づいて前記水平方向補正量を生成し、下記2式に基づいて前記垂直方向補正量を生成することを特徴とする請求項1に記載の画像処理装置。MODx[y]=MVxy/MVyH1MODy[y]=MVyy/MVyH2ここで、MODx[y]は前記水平方向補正量、MODy[y]は前記垂直方向補正量、MVxは前記水平方向動きベクトル、MVyは前記垂直方向動きベクトル、yは補正対象画素の前記走査線位置、Hは全走査線数。前記補正量生成部は、下記3式に基づいて前記水平方向補正量を生成し、下記4式に基づいて前記垂直方向補正量を生成することを特徴とする請求項1に記載の画像処理装置。MODx[y]=MVxya/MVyH>>Sft3MODy[y]=MVyya/MVyH>>Sft4ここで、MODx[y]は前記水平方向補正量、MODy[y]は前記垂直方向補正量、MVxは前記水平方向動きベクトル、MVyは前記垂直方向動きベクトル、yは補正対象画素の前記走査線位置、Hは全走査線数、aは任意の係数、Sftはビットシフト量。前記水平方向および垂直方向補正量が小数点以下の精度を有する場合、前記補正部は、補正対象の画素から前記水平方向補正量および垂直方向補正量だけずれた位置の画素を、その周囲の1または複数の画素を用いて生成し、前記補正対象の画素を前記生成された画素に置き換えることを特徴とする請求項1に記載の画像処理装置。走査線順に撮像する撮像装置と、前記撮像装置から入力される入力映像信号の水平方向および垂直方向動きベクトルを生成する動きベクトル生成部と、前記水平方向および垂直方向動きベクトルに基づいて前記走査線毎に水平方向補正量を生成し、前記垂直方向動きベクトルに基づいて前記走査線毎に垂直方向補正量を生成する補正量生成部と、前記水平方向および垂直方向補正量に基づいて、前記入力映像信号を補正して出力映像信号を生成する補正部と、を備えることを特徴とする画像処理システム。走査線順に撮像された入力映像信号の水平方向および垂直方向動きベクトルを生成するステップと、前記水平方向および垂直方向動きベクトルに基づいて前記走査線毎に水平方向補正量を生成し、前記垂直方向動きベクトルに基づいて前記走査線毎に垂直方向補正量を生成するステップと、前記水平方向および垂直方向補正量に基づいて、前記入力映像信号を補正して出力映像信号を生成するステップと、を備えることを特徴とする画像処理方法。動画像の歪みを高精度に補正可能な画像処理装置、画像処理システムおよび画像処理方法を提供する。実施形態によれば、画像処理装置は、動きベクトル生成部と、補正量生成部と、補正部とを備える。動きベクトル生成部は、走査線順に撮像された入力映像信号の水平方向および垂直方向動きベクトルを生成する。補正量生成部は、前記水平方向および垂直方向動きベクトルに基づいて前記走査線毎に水平方向補正量を生成するとともに、前記垂直方向動きベクトルに基づいて前記走査線毎に垂直方向補正量を生成する。補正部は、前記水平方向および垂直方向補正量に基づいて、前記入力映像信号を補正して出力映像信号を生成する。以下、本発明の実施形態について、図面を参照しながら具体的に説明する。第1の実施形態図1は、動きベクトルを用いてフォーカルプレーン歪みを補正する原理を説明する図である。図1は、ローリングシャッタ方式のCMOSセンサで撮影された時間的に連続する2枚のフレームF1,F2を示している。CMOSセンサは、フレームF1の全体を同時に撮像するのではなく、画面上部から下部へ走査線毎に順に撮像する。1本の走査線を撮像するのに要する時間をts、各フレームの全走査線数をHとすると、時間tsHかかってフレームF1の全走査線を撮像した後、引き続くフレームF2を、画面上部から下部へ走査線毎に順に撮像する。フレームF1では、中心がx1,y1に位置していた物体Objが、フレームF2ではx2,y2に移動したとする。すなわち、1フレームでの水平方向および垂直方向の移動量はそれぞれx2-x1,y2-y1である。以下では、この1フレームでの水平方向の移動量を水平方向動きベクトルMVx=x2-x1、垂直方向の移動量を垂直方向動きベクトルMVy=y2-y1と呼ぶ。ここで、時刻t0でフレームF1のx1,y1を含む走査線を撮影したとすると、フレームF2のx2,y2を含む走査線を撮影する時刻は、時刻t1=t0tsMVyHである。したがって、物体Objが水平方向動きベクトルMVxだけ移動するのに要した時間は、t1-t0=tsMVyHである。よって、1本の走査線を撮像する間以下、1走査線当たり、というの物体Objの水平方向移動量dxおよび垂直方向移動量dyは、下記の1,2式でそれぞれ表される。dx=MVx/t1-t0=MVx/{tsMVyH}1dy=MVy/t1-t0=MVy/{tsMVyH}2物体Objの下部は、上部と比べて撮像タイミングが遅いため、移動量が大きくなる。その結果、図1に示すように、物体Objは歪んでしまう。そこで、走査線y毎に水平方向補正量MODx[y]および垂直方向補正量MODx[y]を下記3、4式により算出する。ここで、時間tsyは、1~y番目の走査線を撮像するのに要する時間に相当する。MODx[y]=dxtsy=MVxy/MVyH3MODy[y]=dytsy=MVyy/MVyH4これら補正量MODx[y],MODy[y]は、x,yの画素を仮に1本目の走査線と同時に撮像していたとすると、そのx,yの画素はx-MODx[y],y-MODy[y]にあったことを意味する。よって、x-MODx[y],y-MODy[y]の画素をx,yの画素に置き換える補正をすれば、言い換えると、x,yの画素をxMODx[y],yMODy[y]の画素に置き換える補正をすればフォーカルプレーン歪みが補正される。このように、1ライン当たりの物体Objの水平および垂直方向移動量dx,dyを、垂直方向動きベクトルMVyを考慮して上記1,2式とする。そして、これら1ライン当たりの移動量dx,dyに基づいて、走査線毎に補正量MODx[y],MODy[y]を算出することにより、高精度にフォーカルプレーン歪みを補正できる。図2は、第1の実施形態に係る画像処理システムの概略ブロック図である。画像処理システムは、CMOSセンサ1と、画像処理装置2と、外部機器3とを備えている。CMOSセンサ1により取得されたRAWデータである入力映像信号が画像処理装置2に入力される。画像処理装置2は入力映像信号のフォーカルプレーン歪みを補正して、出力映像信号を生成する。外部機器3は、例えば出力映像信号を表示する液晶ディスプレイ等の表示装置や、出力映像信号を記憶するフラッシュメモリやハードディスク等の記憶媒体である。画像処理装置2は、前処理部11と、フレームメモリ12と、動きベクトル生成部13と、補正量生成部14と、補正部15とを有する。本実施形態では、画像処理装置2とは別個にCMOSセンサ1が設けられている例を示すが、画像処理装置2と同一チップにCMOSセンサ1を搭載してもよい。前処理部11は、CMOSセンサ1から入力されるRAWデータからRGB補間を行って、各画素のRGB値を生成するとともに、このRGB値に基づいて所定のマトリクス変換を行い、Y輝度成分を生成する。生成されたRGB値およびY成分はフレームメモリ12に記憶される。フレームメモリ12は、例えば2フレームの画素情報を記憶できるものとする。このとき、各フレームのx,yの画素のRGB値はそれぞれ、フレームメモリ12の各フレームに対応するアドレスx,yに記憶されるものとする。動きベクトル生成部13は、CMOSセンサ1から入力される現在のフレームのY成分と、フレームメモリ12に記憶された過去のフレームにおけるY成分とを用いて動きベクトル探索を行い、フレームにつき1つの水平方向動きベクトルMVxおよび垂直方向動きベクトルMVyを生成する。生成された動きベクトルMVx,MVyは補正量生成部14に入力される。より具体的には、フレーム中に複数画素からなるいくつか例えば5個のブロックを設定し、ブロック毎に差分絶対値和SumofAbsoluteDifference:SADによるブロックマッチング演算を行って動きベクトル探索を行う。そして、全ブロックの動きベクトルの平均またはメディアンをそのフレームの動きベクトルとする。あるいは別の手法として、現在および過去のフレームを縮小し、走査線毎に動きベクトル探索を行って、動きベクトル生成部13内の動きベクトル用ラインメモリ不図示に一旦記憶する。そして、全走査線の動きベクトルのメディアンをそのフレームの動きベクトルMVx,MVyとする。また、画像処理装置2とは別個に画像符号化装置不図示等が設けられ、外部から動きベクトルを取得してもよい。この場合、現在および過去のフレームのY成分を用いなくてもよい。補正量生成部14は、動きベクトルMVx,MVyと、外部の例えばホストプロセッサ不図示から設定される全走査線数Hを用いて、走査線位置y毎に、垂直方向動きベクトルMVyを考慮した水平方向補正量MODx[y]および垂直方向補正量MODy[y]を下記5,6式により生成する。MODx[y]=MVxy/MVyH5MODy[y]=MVyy/MVyH6これら5,6式はそれぞれ、上記3,4式と対応する。補正量MODx[y],MODy[y]は補正部15へ入力される。なお、走査線位置yは、例えば水平同期信号Hsyncのパルス数をカウントすることにより得られる。本実施形態では、補正量MODx[y],MODy[y]が整数精度となるよう、小数点以下の切り捨てまたは四捨五入等を行う。図3は、補正量生成部14の内部構成の一例を示す図である。補正量生成部14は、乗算器21,22と、加算器23と、除算器24,25とを有する。第1の乗算器21は、MVxyを生成する。加算器23は、MVyHを生成する。第1の除算器24は、乗算器21により生成されたMVxyを、加算器23により生成されたMVyHで除し、水平方向補正量MODxを生成する。第2の乗算器22は、MVyyを生成する。第2の除算器25は、乗算器22により生成されたMVyyを、加算器23により生成されたMVyHで除し、垂直方向補正量MODy[y]を生成する。図2の補正部15は、補正量MODx[y],MODy[y]およびフレームメモリ12に記憶された現在のフレームのRGB値を用いて、入力映像信号を補正する。より具体的には、x,yの画素のRGB値を、xMODx[y],yMODy[y]の画素のRGB値で置き換える補正を行う。図4は、補正部15の内部構成の一例を示す図である。補正部15は、カウンタ31,32と、加算器33,34とを有する。カウンタ31には水平同期信号Hsyncが入力され、水平同期信号Hsyncのアサートによりカウント値を0にリセットしながらカウントアップを繰り返すことで位置xを算出する。加算器33は、位置xと水平方向補正量MODx[y]とを加算し、水平方向アドレスADRx=xMODx[y]を生成する。カウンタ32には垂直同期信号Vsyncと水平同期信号Hsyncが入力され、垂直同期信号Vsyncのアサートによりカウント値を0にリセットしながら水平同期信号Hsyncのパルスの数をカウントすることで位置yを算出する。加算器34は、位置yと垂直方向補正量MODy[y]とを加算し、垂直方向アドレスADRy=yMODy[y]を生成する。そして、フレームメモリ12からアドレスADRx,ADRyに記憶されたRGB値を読み出し、補正後の出力映像信号とする。これにより、フォーカルプレーン歪みを抑制できる。図5は、画像処理装置2の処理動作を示すフローチャートである。初めは、フレームメモリ12にフレームF1のY成分およびRGB値が記憶されているものとする。CMOSセンサ1からフレームF1に引き続くフレームF2の入力映像信号が入力されると、前処理部11はRGB値とY成分を生成するS1。次に、動きベクトル生成部13は、現在のフレームF2のY成分と、フレームメモリ12に記憶された過去のフレームF1のY成分とを用いて動きベクトルMVx,MVyを生成するS2。その後、フレームメモリ12をフレームF2のRGB値およびY成分に更新するS3。続いて、補正量生成部14は、上記5,6式に基づいて、走査線位置y毎に、垂直方向動きベクトルMVyを考慮した補正量MODx[y],MODy[y]を生成するS4。そして、補正部15は各位置x,yのRGB値を、補正量MODx[y],MODy[y]およびフレームメモリ12に記憶されたフレームF1のRGB画素値を用いて、補正するS5。補正されたRGB値からなる出力映像信号は外部機器3に供給される。このように、第1の実施形態では、垂直方向動きベクトルMVyを考慮した補正量MODx[y],MODy[y]を生成し、補正を行う。そのため、高精度にフォーカルプレーン歪みを補正できる。なお、上述した例ではフレームメモリ12が2フレームの画素情報を記憶するものであったが、必ずしも2フレームを記憶するメモリでなくてもよい。例えば、1フレームを記憶するフレームメモリに加え、垂直方向の補正で必要となる補正量MODy[y]の最大値と、動きベクトル探索で必要となる動きベクトル探索範囲の垂直方向の最大値と、のうちの最大値に相当するライン数を記憶できるラインメモリを用いてもよい。第2の実施形態第1の実施形態の補正量生成部14は、外部から全走査線数Hのみが設定されて、補正量MODx[x],MODy[y]を生成した。これに対し、第2の実施形態の補正量生成部14aは、さらに多くのパラメータが設定されて、補正量MODx[x],MODy[y]を生成するものである。図6は、第2の実施形態に係る画像処理システムの概略ブロック図である。図6では、図2と共通する構成部分には同一の符号を付しており、以下では相違点を中心に説明する。図6の画像処理システムは、画像処理装置2a内の補正量生成部14aの内部構成が、図2の補正量生成部14の内部構成とは異なっている。補正量生成部14aは、外部から全走査線数H、任意の係数aおよびビットシフト量Sftがパラメータとして設定される。そして、補正量生成部14aは、下記7,8式により水平方向補正量MODx[y]および垂直方向補正量MODy[y]を生成する。MODx[y]=MVxya/MVyH>>Sft7MODy[y]=MVyya/MVyH>>Sft8ここで、>>Sftは右にビットシフト量Sftだけビットシフトすることを示し、2のSft乗で除すことと等価である。すなわち、上記7,8式は、5,6式の補正量MODx[y],MODy[y]に係数aを乗じ、2のSft乗で除したものである。第2の実施形態では、補正量MODx[y],MODy[y]が整数精度となるよう、係数aに応じてビットシフト量Sftを定める。上記の7,8式により補正量MODx[y],MODy[y]を生成する場合、外部から設定されるパラメータにより、補正量を柔軟に調整することができる。例えば、誤補正を防ぐために補正量を小さく設定したい場合は、係数aを1倍に相当する値より小さく設定すればよい。補正量MODx[y],MODy[y]は、係数aに比例するため、その調整が簡易に行える。特に画像処理装置2aをハードウェアで実現する場合、係数aを乗じてビットシフトすることで、除算器をもう1つ用いることに比べて、ハードウェアの規模を抑えて、調整を行うことができる。図7は、補正量生成部14aの内部構成の一例を示す図である。補正量生成部14aは、乗算器41~44と、加算器45と、除算器46,47と、ビットシフト器48,49とを有する。第1の乗算器41は、MVxyを生成する。第2の乗算器43は、MVxyaを生成する。加算器45は、MVyHを生成する。第1の除算器46は、乗算器43により生成されたMVxyaを、加算器45により生成されたMVyHで除し、MVxya/MVyHを生成する。第1のビットシフト器48は、MVxya/MVyHをビットシフト量Sftだけビットシフトして、水平方向補正量MODx[y]を生成する。第3の乗算器42はMVyyを生成し、第4の乗算器44はMVyyaを生成する。第2の除算器47は、第4の乗算器44により生成されたMVyyaを、加算器45により生成されたMVyHで除し、MVyya/MVyHを生成する。第2のビットシフト器49は、MVyya/MVyHをビットシフト量Sftだけビットシフトして、垂直方向補正量MODy[y]を生成する。以下、第1の実施形態と同様にして、生成された補正量MODx[y],MODy[y]を用いて入力映像信号を補正する。このように、第2の実施形態では、第1の実施形態に加え、係数aおよびビットシフト量Sftを外部から設定して、補正量MODx[y],MODy[y]を生成する。そのため、外部から補正量を簡易に調整できる。第3の実施形態第1および第2の実施形態は、補正量MODx[y],MODy[y]を整数精度とし、補正対象の画素をフレーム内に存在するいずれかの画素で置き換えて補正するものであった。これに対し、第3の実施形態は、補正量MODx[y],MODy[y]を小数精度とし、フレーム内の1または複数の画素から生成される画素で置き換えて補正するものである。図8は、第3の実施形態による補正を説明する図である。同図では、補正量MODx[y],MODy[y]を小数以下2ビットまで、すなわち、0.25の単位まで算出する例を示している。同図の黒丸はフレームメモリから読み出される画素の位置を示しており、整数座標にのみ存在する。これに対し、白ヌキ四角は、置き換えられる可能性がある画素の位置の例を示しており、0.25単位の座標に存在する。これらは、補間により生成される。例えば位置P5,1に存在する画素において、水平方向補正量MODx[1]=0.25、垂直方向補正量MODy[y]=1.75である場合、置き換えるべき画素の位置はP’5.25,2.75となる。実際には、この位置に画素は存在しない。そのため、周囲の画素、例えば位置A5,2,B6,2,C5,3,D6,3の4つの画素のRGB値から位置P’5.25,2.75の画素のRGB値を畳み込み演算フィルタ処理を行って補間する。そして、位置P5,1の画素のRGB値を、補間により生成された位置P’5.25,2.75のRGB値で置き換える補正を行う。このように補正量MODx[y],MODy[y]を小数精度まで制御することで、補正の精度を向上できる。補正量MODx[y],MODy[y]を小数精度とするためには、例えば第1の実施形態の5,6式で小数点以下まで計算したり、第2の実施形態のビットシフト量Sftを小さく設定したりすればよい。図9は、第3の実施形態の補正部15aの内部構成の一例を示す図である。補正部15aは、カウンタ31,32と、加算器33,34と、補間部60とを有する。補間部60は、係数テーブル61と、乗算器62と、加算器63と、アキュムレータACC64とを有する。以下、図8と同様の条件にて、図9の補正部15aの動作を説明する。図4の補正部15と同様に、カウンタ31,32は位置x,yをそれぞれ算出する。また、加算器33,34は水平方向アドレスADRx=xMODx[y]および垂直方向アドレスADRy=yMODy[y]を生成する。ここで、補正量MODx[y],MODy[y]は小数点以下2ビットまでの精度を有するため、アドレスADRx,ADRyも同様に小数以下2ビットまでの精度を有する。そして、フレームメモリ12からアドレスADRx,ADRyの周囲の整数座標に存在する画素のRGB値が読み出される。そして、乗算器62は、アドレスADRx,ADRyとの距離に応じて予め定められ、係数テーブル61に格納されたフィルタ係数と、読み出されたRGB値のそれぞれとを乗じ、加算器63およびアキュムレータ64により積算する。図8の例では、アドレス5.25,2.75の周囲に存在するアドレス5,2,6,2,5,3,6,3のそれぞれについて、上記の処理が行われる。アドレス5,3のRGB値には、アドレス5.25,2.75との距離が小さいため、比較的大きな値のフィルタ係数が乗じられる。一方、アドレス6,2のRGB値には、アドレス5.25,2.75との距離が大きいため、比較的小さな値のフィルタ係数が乗じられる。このようにして、補間されたRGB値を補正後のRGB値とする。また、本実施形態では、補間されたRGB値を求める際の畳み込み演算では、1画素あたりに複数回のフレームメモリ12へのアクセスが行われる。しかしながら、畳み込み演算ではフレーム中のデータ局所性を有するため、フレームメモリ12と補正部15aとの間にフレームメモリ参照キャッシュ不図示を設けることや、メモリ参照コントローラ不図示を設けることで、消費電力やメモリアクセスレイテンシを削減することも可能である。なお、第3の実施形態では、補正量MODx[y],MODy[y]を小数点以下2ビットの精度としたが、より高精度にしてもよい。また、補間の手法は任意でよく、4つ以上の画素のRGB値を用いて補間してもよいし、最近接の画素1つのみで補間してもよい。このように、第3の実施形態では、補正量MODx[y],MODy[y]を小数点以下まで算出し、1または複数の画素から補間されるRGB値を用いて補正を行う。そのため、補正量をより細かく制御でき、補正の精度が向上する。なお、各実施形態の入力映像信号は、走査線毎に順に撮像されたものであればよく、CMOSセンサでなく他の撮像装置により撮像されたものであってもよい。各実施形態で説明した画像処理システムの少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、画像処理システムの少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD-ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。また、画像処理システムの少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線無線通信も含むを介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。"