前記課題を解決するためになされた第1の発明は、ローリングシャッタ露光方式で被写体を撮像する撮像装置で得られた撮像画像に生じたローリングシャッタ歪みを補正する画像処理装置であって、第1の撮像画像およびこれに時間的に連続する第2の撮像画像に基づいて撮像画像全体の動きベクトルを検出する動きベクトル検出部と、前記撮像画像全体の動きベクトルに基づいて前記撮像画像全体を対象にした幾何変換を行って、歪み補正された撮像画像を取得する歪み補正部と、を備えた構成とする。
これによると、撮像装置の動きに起因するローリングシャッタ歪みを補正することができる。そして、この撮像装置の動きに起因するローリングシャッタ歪みは、撮像画像の全体に一様に発生するため、撮像画像全体の動きベクトルから求められる変換式で撮像画像全体を対象にした幾何変換を行えばローリングシャッタ歪みを補正することができるので、演算量が少なくて済み、処理の高速化を図ることができる。また、撮像画像から得られる情報のみに基づいてローリングシャッタ歪みを補正することができるため、撮像装置での撮像条件などに関する情報がない場合に処理ができなくなる不具合も解消される。
また、第2の発明は、ローリングシャッタ露光方式で被写体を撮像する撮像装置で得られた撮像画像に生じたローリングシャッタ歪みを補正する画像処理装置であって、第1の撮像画像およびこれに時間的に連続する第2の撮像画像に基づいて前記第1の撮像画像内の動き領域を抽出して、前記第1の撮像画像を動き領域画像と静止領域画像とに分離する動き領域抽出部と、前記動き領域画像および前記第2の撮像画像に基づいて動き領域の動きベクトルを検出する動きベクトル検出部と、前記動き領域の動きベクトルに基づいて前記動き領域画像を対象にした幾何変換を行って、歪み補正された動き領域画像を取得する歪み補正部と、前記歪み補正された動き領域画像および前記静止領域画像を合成する画像合成部と、を備えた構成とする。
これによると、被写体の動きに起因するローリングシャッタ歪みを補正することができる。そして、この被写体の動きに起因するローリングシャッタ歪みは動き領域内で一様に発生するため、動き領域ごとに動きベクトルから求められる変換式で動き領域画像を対象にした幾何変換を行えばローリングシャッタ歪みを補正することができるので、演算量が少なくて済み、処理の高速化を図ることができる。また、撮像画像から得られる情報のみに基づいてローリングシャッタ歪みを補正することができるため、撮像装置での撮像条件などに関する情報がない場合に処理ができなくなる不具合も解消される。
また、第3の発明は、ローリングシャッタ露光方式で被写体を撮像する撮像装置で得られた撮像画像に生じたローリングシャッタ歪みを補正する画像処理装置であって、第1の撮像画像およびこれに時間的に連続する第2の撮像画像に基づいて撮像画像全体の動きベクトルを検出する第1の動きベクトル検出部と、前記第1の撮像画像および前記第2の撮像画像に基づいて前記第1の撮像画像内の動き領域を抽出して、前記第1の撮像画像を動き領域画像と静止領域画像とに分離する動き領域抽出部と、前記動き領域画像および前記第2の撮像画像に基づいて動き領域の動きベクトルを検出する第2の動きベクトル検出部と、前記撮像画像全体の動きベクトルに基づいて前記静止領域画像を対象にした幾何変換を行って、歪み補正された静止領域画像を取得する第1の歪み補正部と、前記動き領域の動きベクトルに基づいて前記動き領域画像を対象にした幾何変換を行って、歪み補正された動き領域画像を取得する第2の歪み補正部と、前記歪み補正された静止領域画像および前記歪み補正された動き領域画像を合成する画像合成部と、を備えた構成とする。
これによると、撮像装置および被写体の双方の動きに起因するローリングシャッタ歪みを補正することができる。そして、撮像装置の動きに起因するローリングシャッタ歪みは、撮像画像の全体に一様に発生するため、撮像画像全体の動きベクトルから求められる変換式で撮像画像全体を対象にした幾何変換を行えばローリングシャッタ歪みを補正することができ、また、被写体の動きに起因するローリングシャッタ歪みは、動き領域内で一様に発生するため、動き領域ごとに動きベクトルから求められる変換式で動き領域画像を対象にした幾何変換を行えばローリングシャッタ歪みを補正することができるので、演算量が少なくて済み、処理の高速化を図ることができる。また、撮像画像から得られる情報のみに基づいてローリングシャッタ歪みを補正することができるため、撮像装置での撮像条件などに関する情報がない場合に処理ができなくなる不具合も解消される。
また、第4の発明は、前記幾何変換がアフィン変換である構成とする。
これによると、動きベクトルから求められる単一のアフィン変換式でアフィン変換を行えばよいため、より一層の処理の高速化を図ることができる。
また、第5の発明は、前記歪み補正部は、前記動きベクトル、および前記撮像画像から取得したシャッタ走査方向の画像サイズに基づいて、補正パラメータを算出する補正パラメータ算出部と、前記補正パラメータに基づいて幾何変換を行う幾何変換部と、を備えた構成とする。
これによると、幾何変換により適切にローリングシャッタ歪みを補正することができる。
また、第6の発明は、前記撮像画像全体の動きベクトルに基づいて前記第1の撮像画像に対する前記第2の撮像画像の位置合わせを行って、位置合わせされた第2の撮像画像を取得する位置合わせ部をさらに備え、前記動き領域抽出部は、前記第1の撮像画像および前記位置合わせされた第2の撮像画像に基づいて前記第1の撮像画像内の動き領域を抽出し、前記第2の動きベクトル検出部は、前記撮像画像全体の動きベクトル、前記動き領域画像、および前記位置合わせされた第2の撮像画像に基づいて、前記動き領域の動きベクトルを検出する構成とする。
これによると、注目する第1の撮像画像に対して第2の撮像画像が位置合わせされるため、動き領域抽出部で動き領域を精度よく抽出することができ、また、第2の動きベクトル検出部で動き領域の動きベクトルを精度よく検出することができる。
また、第7の発明は、ローリングシャッタ露光方式で被写体を撮像する撮像装置で得られた撮像画像に生じたローリングシャッタ歪みを補正する画像処理方法であって、第1の撮像画像およびこれに時間的に連続する第2の撮像画像に基づいて撮像画像全体の動きベクトルを検出するステップと、前記撮像画像全体の動きベクトルに基づいて前記撮像画像全体を対象にした幾何変換を行って、歪み補正された撮像画像を取得するステップと、を有する構成とする。
これによると、前記の第1の発明と同様に、ローリングシャッタ歪みを補正する処理の高速化を図ることができ、さらに画像から得られる情報のみに基づいてローリングシャッタ歪みを補正することができる。
また、第8の発明は、ローリングシャッタ露光方式で被写体を撮像する撮像装置で得られた撮像画像に生じたローリングシャッタ歪みを補正する画像処理方法であって、第1の撮像画像およびこれに時間的に連続する第2の撮像画像に基づいて前記第1の撮像画像内の動き領域を抽出して、前記第1の撮像画像を動き領域画像と静止領域画像とに分離するステップと、前記動き領域画像および前記第2の撮像画像に基づいて動き領域の動きベクトルを検出するステップと、前記動き領域の動きベクトルに基づいて前記動き領域画像を対象にした幾何変換を行って、歪み補正された動き領域画像を取得するステップと、前記歪み補正された動き領域画像および前記静止領域画像を合成するステップと、を有する構成とする。
これによると、前記の第2の発明と同様に、ローリングシャッタ歪みを補正する処理の高速化を図ることができ、さらに画像から得られる情報のみに基づいてローリングシャッタ歪みを補正することができる。
また、第9の発明は、ローリングシャッタ露光方式で被写体を撮像する撮像装置で得られた撮像画像に生じたローリングシャッタ歪みを補正する画像処理方法であって、第1の撮像画像およびこれに時間的に連続する第2の撮像画像に基づいて撮像画像全体の動きベクトルを検出するステップと、前記第1の撮像画像および前記第2の撮像画像に基づいて前記第1の撮像画像内の動き領域を抽出して、前記第1の撮像画像を動き領域画像と静止領域画像とに分離するステップと、前記動き領域画像および前記第2の撮像画像に基づいて動き領域の動きベクトルを検出するステップと、前記撮像画像全体の動きベクトルに基づいて前記静止領域画像を対象にした幾何変換を行って、歪み補正された静止領域画像を取得するステップと、前記動き領域の動きベクトルに基づいて前記動き領域画像を対象にした幾何変換を行って、歪み補正された動き領域画像を取得するステップと、前記歪み補正された静止領域画像および前記歪み補正された動き領域画像を合成するステップと、を有する構成とする。
これによると、前記の第3の発明と同様に、ローリングシャッタ歪みを補正する処理の高速化を図ることができ、さらに画像から得られる情報のみに基づいてローリングシャッタ歪みを補正することができる。
以下、本発明の実施の形態を、図面を参照しながら説明する。
(第1実施形態)
図1は、第1実施形態に係る撮像システムを示す全体構成図である。この撮像システムは、被写体を撮像する撮像装置1と、撮像装置1で得られたフレーム画像(撮像画像)に対して画像処理を行う画像処理装置2と、画像処理装置2で得られた処理画像を表示する表示装置3と、を備えている。
撮像装置1は、CMOS型のイメージセンサ4を備えている。このイメージセンサ4ではローリングシャッタ露光方式で撮像が行われ、画像処理装置2では、撮像装置1で得られたフレーム画像に発生したローリングシャッタ歪みを補正する処理が行われる。
なお、撮像装置1から画像処理装置2に画像データがリアルタイムに入力される構成の他、撮像装置1で得られた画像データを適宜な記憶媒体に記憶させ、画像処理装置2で記憶媒体から画像データを読み出して画像処理を行う構成も可能である。また、画像処理装置2で得られた処理済みのフレーム画像は、静止画として出力する他、動画として出力することも可能である。また、画像処理装置2から表示装置3に画像データがリアルタイムに入力される構成の他、画像処理装置2で得られた画像データを適宜な記憶媒体に記憶させ、表示装置3で記憶媒体から画像データを読み出して表示処理を行う構成も可能である。
次に、撮像装置1で得られたフレーム画像に発生するローリングシャッタ歪みについて説明する。図2は、イメージセンサ4におけるローリングシャッタ動作のタイミング図である。図3は、フレーム画像に発生するローリングシャッタ歪みを説明する説明図である。
図2に示すように、ローリングシャッタ露光方式では、ラインごとに露光が行われ、各ラインの露光では所定の露光期間をおいて読み出し動作およびリセット動作が繰り返される。一方、ラインごとの露光は、シャッタ走査方向に(ここでは、上から下に向かって)順に行われることから、露光のタイミングがラインごとにずれる。
このため、撮像装置1に手振れが発生したり、撮像装置1がパンおよびチルトの動作を行うと、図3(A)に示すように、撮像装置1に対して被写体が全体的に動く状態となり、この状態でローリングシャッタ露光方式で撮像が行われると、図3(B)に示すように、フレーム画像に写った被写体の像が全体的に歪むローリングシャッタ歪みが発生する。このような場合、以下に説明するように、フレーム画像全体を対象にした歪み補正が行われる。
図4は、第1実施形態に係る画像処理装置2の概略構成を示すブロック図である。図5は、図4に示した画像処理装置2で行われる処理の概要を説明する説明図である。
本実施形態では、図4に示すように、画像処理装置2が、フレーム入力部11と、フレームバッファ部12と、動きベクトル検出部13と、歪み補正部14と、を備えている。動きベクトル検出部13および歪み補正部14は、所定のプログラムをCPUで実行することで実現される。
フレーム入力部11では、時間的に連続する複数のフレーム画像が順次入力される。フレーム入力部11に入力されたフレーム画像は注目フレーム画像(第1の撮像画像)として動きベクトル検出部13および歪み補正部14に出力される。また、フレーム入力部11に入力されたフレーム画像はフレームバッファ部12に格納され、ここに格納されたフレーム画像は1つ前のフレーム画像(第2の撮像画像)として動きベクトル検出部13に出力される。
動きベクトル検出部13では、図5に示すように、注目フレーム画像とその1つ前のフレーム画像とに基づいて、フレーム画像全体の動きベクトルを検出する処理が行われる。ここでは、注目フレーム画像と1つ前のフレーム画像とを比較して、例えばブロックマッチングや特徴点マッチングなどの手法を用いて、フレーム画像全体の動きベクトルが算出される。なお、ここで得られるフレーム画像全体の動きベクトルは撮像装置1の動きを示すものである。
歪み補正部14では、動きベクトル検出部13で取得したフレーム画像全体の動きベクトルに基づいて注目フレーム画像全体を対象にしたアフィン変換を行って、注目フレーム画像のローリングシャッタ歪みを補正する処理が行われ、歪み補正部14から歪み補正済みの注目フレーム画像が出力される。この歪み補正部14は、図4に示したように、補正パラメータ算出部15と、シャッタ走査方向格納部16と、フレーム画像サイズ格納部17と、アフィン変換部(幾何変換部)18と、を備えている。
補正パラメータ算出部15では、動きベクトル検出部13で取得したフレーム画像全体の動きベクトルに基づいて、アフィン変換部18で行われるアフィン変換で必要となる補正パラメータを算出する処理が行われる。シャッタ走査方向格納部16およびフレーム画像サイズ格納部17には、補正パラメータの算出に必要となるシャッタ走査方向とフレーム画像サイズ(フレーム画像の走査方向の大きさ)とが格納される。アフィン変換部18では、補正パラメータ算出部15で取得した補正パラメータに基づいて、注目フレーム画像に対するアフィン変換が行われる。
なお、シャッタ走査方向およびフレーム画像サイズは、一連のフレーム画像で同一となるため、最初に入力されたフレーム画像から取得して、シャッタ走査方向格納部16およびフレーム画像サイズ格納部17に格納される。
図6は、図4に示した歪み補正部14で行われる処理の概要を説明する説明図である。ここでは、シャッタ走査方向を下向きとする、すなわち上から下に向かって走査する例について説明する。また、走査が開始される一番上の走査開始ラインの露光時刻を補正の基準時刻とする、すなわち、走査開始ラインを基準にして歪み補正を行い、走査開始ラインの先頭画素(左上の画素)を原点Oとしてxy座標系が設定される。
ローリングシャッタ露光方式では、ラインごとの露光タイミングがずれているため、得られたフレーム画像では、y軸方向に伸び縮みが生じ、x軸方向には伸び縮みは生じないが、位置がずれる。これにより長方形の画像が平行四辺形に変形する歪みが発生する。
このようなローリングシャッタ歪みを補正するため、アフィン変換部18でアフィン変換が行われる。このアフィン変換では、平行四辺形の画像を長方形の画像に変形する処理が行われ、次の式1(アフィン変換式)が用いられる。
ここで、(x,y)および(x’,y’)はそれぞれ補正前および補正後の画素座標であり、mおよびnは補正パラメータである。
この式1から明らかなように、アフィン変換には補正パラメータm,nが必要となり、フレーム画像ごとに補正パラメータを算出する処理が補正パラメータ算出部15で行われる。
ここで、動きベクトル検出部13で検出されたフレーム画像全体の動きベクトルMVを(Δx,Δy)とし、歪みがない状態でのフレーム画像の高さをHとすると、補正前の注目点pの座標は(Δx,H+Δy)となり、補正後の注目点p’の座標は(0,H)となる。これを式1に代入すると、次の式2,3が導かれ、この式2,3により補正パラメータm,nを求めることができる。
なお、図6に示した例では、シャッタ走査方向を下向きとしたが、これに限定されるものではなく、走査方向を右向きとする、すなわち左から右に向かって走査する構成に適用することもでき、この場合、座標系を適切な方向に設定すれば、前記と同じ要領で補正パラメータを算出することができる。
図7は、図4に示した画像処理装置2で行われる処理の手順を示すフロー図である。ここでは、まず、フレーム入力部11にフレーム画像が入力され(ST101)、ついで、フレームバッファ部12にフレーム画像が存在するか否かの判定が行われる(ST102)。ここで、最初のフレーム画像の場合には、フレームバッファ部12にフレーム画像が存在しないため、入力されたフレーム画像をフレームバッファ部12に格納するだけで(ST108)、次のフレーム画像の処理に進む。
このフレーム画像の処理では、まず、フレームバッファ部12から1つ前のフレーム画像が動きベクトル検出部13に入力され(ST103)、動きベクトル検出部13にて、注目フレーム画像と1つ前のフレーム画像とに基づいてフレーム画像全体の動きベクトルを検出する処理が行われる(ST104)。
次に、シャッタ走査方向およびフレーム画像サイズを取得する処理が行われる(ST105)。そして、補正パラメータ算出部15にて、フレーム画像全体の動きベクトルと、シャッタ走査方向およびフレーム画像サイズとに基づいて、補正パラメータを算出する処理が行われる(ST106)。
次に、アフィン変換部18にて、補正パラメータに基づいて、注目フレーム画像に対するアフィン変換が行われて、注目フレーム画像のローリングシャッタ歪みが補正され(ST107)、アフィン変換部18から歪み補正済みの注目フレーム画像が出力される。
このようにして1つのフレーム画像の処理が終了すると、次のフレーム画像の処理のために、フレーム入力部11に入力されたフレーム画像をフレームバッファ部12に格納する処理が行われる(ST108)。そして、全てのフレーム画像の処理が完了したか否かの判定が行われ(ST109)、全てのフレーム画像の処理が完了していなければ、次のフレーム画像の処理に進み、これが全てのフレーム画像の処理が完了するまで繰り返される。
以上のように、第1実施形態では、撮像装置1の動きに起因するローリングシャッタ歪みを補正することができる。そして、この撮像装置1の動きに起因するローリングシャッタ歪みは、フレーム画像の全体に一様に発生するため、フレーム画像全体の動きベクトルから求められる単一のアフィン変換式でアフィン変換を行えばよいため、演算量が少なくて済み、処理の高速化を図ることができる。また、フレーム画像から得られる情報のみに基づいてローリングシャッタ歪みを補正することができるため、撮像装置1での撮像条件などに関する情報がない場合に処理ができなくなる不具合も解消される。
(第2実施形態)
次に、被写体の一部に動きがある場合に対応した構成について説明する。建物や樹木などの静止した被写体の他に、車両や人物などの動く被写体があると、フレーム画像に写った被写体のうち、動きのある被写体の像にのみローリングシャッタ歪みが発生する。このような場合、以下に説明するように、フレーム画像内の動きのある被写体の像の領域のみを対象にした歪み補正が行われる。なお、ここで特に言及しない点は前記の実施形態と同様である。
図8は、第2実施形態に係る画像処理装置2の概略構成を示すブロック図である。図9は、図8に示した画像処理装置2で行われる処理の概要を説明する説明図である。
本実施形態では、図8に示すように、画像処理装置2が、フレーム入力部21と、フレームバッファ部22と、動き領域抽出部23と、動きベクトル検出部24と、歪み補正部25と、画像合成部26と、を備えている。
フレーム入力部21では、時間的に連続する複数のフレーム画像が順次入力される。フレーム入力部21に入力されたフレーム画像は注目フレーム画像(第1の撮像画像)として動き領域抽出部23に出力される。また、フレーム入力部21に入力されたフレーム画像はフレームバッファ部22に格納され、ここに格納されたフレーム画像は1つ前のフレーム画像(第2の撮像画像)として動き領域抽出部23および動きベクトル検出部24に出力される。
動き領域抽出部23では、図9に示すように、注目フレーム画像とその1つ前のフレーム画像に基づいて、注目フレーム画像内で動きのある被写体が写った動き領域を抽出して、注目フレーム画像から動き領域を取り出した前景画像(動き領域画像)と、注目フレーム画像から動き領域を取り除いた背景画像(静止領域画像)とに分離する処理が行われる。
動きベクトル検出部24では、動き領域抽出部23で取得した前景画像と1つ前のフレーム画像とに基づいて、動き領域の動きベクトルを検出する処理が行われる。ここでは、前景画像と1つ前のフレーム画像とを比較して、例えばブロックマッチングや特徴点マッチングなどの手法を用いて、動き領域の動きベクトルが算出される。なお、ここで得られる動き領域の動きベクトルは被写体の動きを示すものである。
歪み補正部25では、動きベクトル検出部24で取得した動き領域の動きベクトルに基づいて前景画像を対象にしたアフィン変換を行って、前景画像のローリングシャッタ歪みを補正する処理が行われる。この歪み補正部25は、図8に示したように、補正パラメータ算出部27と、シャッタ走査方向格納部28と、フレーム画像サイズ格納部29と、アフィン変換部30と、を備えている。
補正パラメータ算出部27では、動きベクトル検出部24で取得した動き領域の動きベクトルと、シャッタ走査方向およびフレーム画像サイズとに基づいて、補正パラメータを算出する処理が行われる。アフィン変換部30では、補正パラメータ算出部27で取得した補正パラメータに基づいて、前景画像を対象にしたアフィン変換が行われて、前景画像のローリングシャッタ歪みが補正される。
画像合成部26では、歪み補正部25で取得した歪み補正済みの前景画像を、動き領域抽出部23で取得した背景画像と合成する処理が行われ、この画像合成部26から歪み補正済みの注目フレーム画像が出力される。ここで、単に歪み補正済みの前景画像を背景画像と合成しただけでは、前景画像領域の周辺に画像が欠落した領域が生じるが、この領域では、前後のフレーム画像または周辺画素に基づいて画素を補間する処理が行われる。
図10は、図8に示した歪み補正部25で行われる処理の概要を説明する説明図である。ここでは、図6に示した例と同様に、シャッタ走査方向を下向きとする、すなわち上から下に向かって走査する例について説明する。また、動き領域において最初に露光される一番上のラインの露光時刻を補正の基準時刻とする、すなわち、動き領域において一番上のラインを基準にして歪み補正を行う。
ここで、動きベクトル検出部24で検出された動きベクトルMVを(Δx,Δy)とし、フレーム画像全体の高さをH、歪みがない状態での動き領域の高さをhとして、フレーム画像全体の高さHと動き領域の高さhとの比をk(k=h/H)とすると、補正前の注目点pの座標は(Δx・k,h+Δy・k)となり、補正後の注目点p’の座標は(0,h)となる。これを式1(アフィン変換式)に代入すると、次の式4,5が導かれ、これは、第1実施形態における式2,3と同様のものとなる。
なお、本実施形態では、動き領域における一番上のラインの露光時刻を補正の基準時刻としたが、フレーム画像における一番上の走査開始ラインの露光時刻を補正の基準時刻とすることも可能であり、この場合、フレーム画像の上端から動き領域までの距離dとフレーム画像の高さHとの比(d/H)に応じた補正を行う必要があり、具体的には、補正後の動き領域を、更にベクトル(−Δx・(d/H),−Δy・(d/H))に従って移動させればよい。
図11は、図8に示した画像処理装置2で行われる処理の手順を示すフロー図である。ここでは、まず、フレーム入力部21にフレーム画像が入力され(ST201)、ついで、フレームバッファ部22にフレーム画像が存在するか否かの判定が行われる(ST202)。ここで、最初のフレーム画像の場合には、フレームバッファ部22にフレーム画像が存在しないため、入力されたフレーム画像をフレームバッファ部22に格納するだけで(ST210)、次のフレーム画像の処理に進む。
このフレーム画像の処理では、まず、フレームバッファ部22から1つ前のフレーム画像が動き領域抽出部23に入力され(ST203)、動き領域抽出部23にて、注目フレーム画像とその1つ前のフレーム画像とに基づいて、注目フレーム画像内の動き領域を抽出して、前景画像と背景画像とを分離する処理が行われる(ST204)。ついで、動きベクトル検出部24にて、動き領域と1つ前のフレーム画像とに基づいて、動き領域の動きベクトルを検出する処理が行われる(ST205)。
次に、シャッタ走査方向およびフレーム画像サイズを取得する処理が行われる(ST206)。そして、補正パラメータ算出部27にて、動き領域の動きベクトルと、シャッタ走査方向およびフレーム画像サイズとに基づいて、補正パラメータを算出する処理が行われる(ST207)。
次に、アフィン変換部30にて、補正パラメータに基づいて、前景画像を対象にアフィン変換が行わて、前景画像のローリングシャッタ歪みが補正される(ST208)。そして、画像合成部26にて、歪み補正済みの前景画像を背景画像と合成する処理が行われ(ST209)、画像合成部26から歪み補正済みの注目フレーム画像が出力される。
このようにして1つのフレーム画像の処理が終了すると、次のフレーム画像の処理のために、フレーム入力部21に入力されたフレーム画像をフレームバッファ部22に格納する処理が行われる(ST210)。そして、全てのフレーム画像の処理が完了したか否かの判定が行われ(ST211)、全てのフレーム画像の処理が完了していなければ、次のフレーム画像の処理に進み、これが全てのフレーム画像の処理が完了するまで繰り返される。
以上のように、第2実施形態では、被写体の動きに起因するローリングシャッタ歪みを補正することができる。そして、この被写体の動きに起因するローリングシャッタ歪みは動き領域内で一様に発生するため、動き領域ごとに動きベクトルから求められるアフィン変換式でアフィン変換を行えばよいため、演算量が少なくて済み、処理の高速化を図ることができる。また、フレーム画像から得られる情報のみに基づいてローリングシャッタ歪みを補正することができるため、撮像装置1での撮像条件などに関する情報がない場合に処理ができなくなる不具合も解消される。
(第3実施形態)
次に、撮像装置1と被写体の双方に動きがある場合に対応した構成について説明する。撮像装置1に手ぶれが生じたり、撮像装置1がパンおよびチルトの動作を行うと、フレーム画像に写った被写体の像が全体的に歪むローリングシャッタ歪みが発生する。これに加えて、建物や樹木などの静止した被写体の他に、車両や人物などの動く被写体があると、フレーム画像に写った被写体のうち、動きのある被写体の像には、静止した被写体の像に発生するローリングシャッタ歪みとは異なるローリングシャッタ歪みが発生する。このような場合、以下に説明するように、フレーム画像内の静止した被写体の像の領域を対象にした歪み補正と、フレーム画像内の動きのある被写体の像の領域を対象にした歪み補正とが行われる。なお、ここで特に言及しない点は前記の実施形態と同様である。
図12は、第3実施形態に係る画像処理装置2の概略構成を示すブロック図である。図13は、図12に示した画像処理装置2で行われる処理の概要を説明する説明図である。
本実施形態では、図12に示すように、画像処理装置2が、フレーム入力部31と、フレームバッファ部32と、フレーム全体動きベクトル検出部(第1の動きベクトル検出部)33と、フレーム全体動きマッチング部(位置合わせ部)34と、動き領域抽出部35と、動き領域動きベクトル検出部(第2の動きベクトル検出部)36と、背景歪み補正部(第1の歪み補正部)37と、前景歪み補正部(第2の歪み補正部)38と、画像合成部39と、を備えている。
なお、ここでは特に図示しないが、背景歪み補正部37および前景歪み補正部38の各々は、前記の実施形態と同様に、補正パラメータ算出部と、シャッタ走査方向格納部と、フレーム画像サイズ格納部と、アフィン変換部と、を備えている。
フレーム入力部31では、時間的に連続する複数のフレーム画像が順次入力される。フレーム入力部31に入力されたフレーム画像は注目フレーム画像(第1の撮像画像)としてフレーム全体動きベクトル検出部33および動き領域抽出部35に出力される。また、フレーム入力部31に入力されたフレーム画像はフレームバッファ部32に格納され、ここに格納されたフレーム画像は1つ前のフレーム画像(第2の撮像画像)としてフレーム全体動きベクトル検出部33およびフレーム全体動きマッチング部34に出力される。
フレーム全体動きベクトル検出部(第1の動きベクトル検出部)33では、図13に示すように、注目フレーム画像とその1つ前のフレーム画像とに基づいて、フレーム画像全体の動きベクトルを検出する処理が行われる。ここでは、第1実施形態と同様に、注目フレーム画像と1つ前のフレーム画像とを比較して、例えばブロックマッチングや特徴点マッチングなどの手法を用いて、フレーム画像全体の動きベクトルが算出される。なお、ここで得られるフレーム画像全体の動きベクトルは撮像装置1の動きを示すものである。
フレーム全体動きマッチング部(位置合わせ部)34では、フレーム全体動きベクトル検出部33で取得したフレーム画像全体の動きベクトルと、1つ前のフレーム画像に基づいて、注目フレーム画像に対する1つ前のフレーム画像の位置合わせの処理が行われる。ここでは、フレーム画像全体の動きベクトルを用いて、1つ前のフレーム画像に写った被写体の像の位置が注目フレーム画像と整合するように画像を全体的に移動させる処理が行われる。
動き領域抽出部35では、フレーム全体動きマッチング部34で取得した位置合わせ済みの1つ前のフレーム画像と、注目フレーム画像とに基づいて、注目フレーム画像内の動き領域を抽出して、注目フレーム画像から動き領域を取り出した前景画像(動き領域画像)と、注目フレーム画像から動き領域を取り除いた背景画像(静止領域画像)とに分離する処理が行われる。
動き領域動きベクトル検出部(第2の動きベクトル検出部)36では、フレーム全体動きベクトル検出部33で取得したフレーム画像全体の動きベクトルと、動き領域抽出部35で取得した前景画像と、フレーム全体動きマッチング部34で取得した位置合わせ済みの1つ前のフレーム画像に基づいて、動き領域の動きベクトルを検出する処理が行われる。ここでは、前景画像と、位置合わせ済みの1つ前のフレーム画像とを比較して、動き領域の相対動きベクトルを算出し、さらに、この相対動きベクトルにフレーム画像全体の動きベクトルを加えることで、動き領域の絶対動きベクトルを算出する。なお、ここで得られる動き領域の動きベクトルは被写体の動きを示すものである。
背景歪み補正部(第1の歪み補正部)37では、フレーム全体動きベクトル検出部33で取得したフレーム画像全体の動きベクトルに基づいて、動き領域抽出部35で取得した背景画像を対象にしたアフィン変換を行って、背景画像のローリングシャッタ歪み、すなわち撮像装置1の動きによるローリングシャッタ歪みを補正する処理が行われる。なお、ここで行われる処理は第1実施形態と同様のものとなる。
前景歪み補正部(第2の歪み補正部)38では、動き領域動きベクトル検出部36で取得した動き領域の動きベクトルに基づいて、動き領域抽出部35で取得した前景画像を対象にしたアフィン変換を行って、前景画像のローリングシャッタ歪み、すなわち被写体の動きによるローリングシャッタ歪みを補正する処理が行われる。なお、ここで行われる処理は第2実施形態と同様のものとなる。
画像合成部39では、背景歪み補正部37で取得した歪み補正済みの背景画像と、前景歪み補正部38で取得した歪み補正済みの前景画像とを合成する処理が行われ、この画像合成部39から歪み補正済みの注目フレーム画像が出力される。ここで、単に歪み補正済みの前景画像と歪み補正済みの背景画像を合成しただけでは、前景画像の周辺に画像が欠落した領域が生じるが、この領域では、前後のフレーム画像または周辺画素に基づいて画素を補間する処理が行われる。
図14は、図12に示した画像処理装置2で行われる処理の手順を示すフロー図である。ここでは、まず、フレーム入力部31にフレーム画像が入力され(ST301)、ついで、フレームバッファ部32にフレーム画像が存在するか否かの判定が行われる(ST302)。ここで、最初のフレーム画像の場合には、フレームバッファ部32にフレーム画像が存在しないため、入力されたフレーム画像をフレームバッファ部32に格納するだけで(ST311)、次のフレーム画像の処理に進む。
このフレーム画像の処理では、まず、フレームバッファ部32から1つ前のフレーム画像がフレーム全体動きベクトル検出部33に入力され(ST303)、フレーム全体動きベクトル検出部33にて、注目フレーム画像とその1つ前のフレーム画像とに基づいて、フレーム画像全体の動きベクトルを検出する処理が行われる(ST304)。ついで、フレーム全体動きマッチング部34にて、フレーム画像全体の動きベクトルと、1つ前のフレーム画像に基づいて、注目フレーム画像に対する1つ前のフレーム画像の位置合わせの処理が行われる(ST305)。
次に、動き領域抽出部35にて、位置合わせ済みの1つ前のフレーム画像と、注目フレーム画像とに基づいて、注目フレーム画像内の動き領域を抽出して、前景画像と背景画像とを分離する処理が行われる(ST306)。ついで、動き領域動きベクトル検出部36にて、フレーム画像全体の動きベクトルと、前景画像(動き領域画像)と、位置合わせ済みの1つ前のフレーム画像に基づいて、動き領域の動きベクトルを検出する処理が行われる(ST307)。
次に、背景歪み補正部37にて、フレーム画像全体の動きベクトルに基づいて、背景画像を対象にしたアフィン変換を行って、背景画像のローリングシャッタ歪みを補正する処理が行われる(ST308)。また、前景歪み補正部38にて、動き領域の動きベクトルに基づいて、前景画像を対象にしたアフィン変換を行って、前景画像のローリングシャッタ歪みを補正する処理が行われる(ST309)。そして、画像合成部39にて、歪み補正済みの背景画像と歪み補正済みの前景画像とを合成する処理が行われ(ST310)、画像合成部39から歪み補正済みの注目フレーム画像が出力される。
このようにして1つのフレーム画像の処理が終了すると、次のフレーム画像の処理のために、フレーム入力部31に入力されたフレーム画像をフレームバッファ部32に格納する処理が行われる(ST311)。そして、全てのフレーム画像の処理が完了したか否かの判定が行われ(ST312)、全てのフレーム画像の処理が完了していなければ、次のフレーム画像の処理に進み、これが全てのフレームの処理が完了するまで繰り返される。
以上のように、第3実施形態では、撮像装置1および被写体の双方の動きに起因するローリングシャッタ歪みを補正することができる。そして、撮像装置1の動きに起因するローリングシャッタ歪みは、フレーム画像の全体に一様に発生するため、フレーム画像全体の動きベクトルから求められる単一のアフィン変換式でアフィン変換を行えばよく、また、被写体の動きに起因するローリングシャッタ歪みは、動き領域内で一様に発生するため、動き領域ごとに動きベクトルから求められるアフィン変換式でアフィン変換を行えばよいため、演算量が少なくて済み、処理の高速化を図ることができる。また、フレーム画像から得られる情報のみに基づいてローリングシャッタ歪みを補正することができるため、撮像装置1での撮像条件などに関する情報がない場合に処理ができなくなる不具合も解消される。
(第4実施形態)
次に、回転などの不規則な動きがある場合のローリングシャッタ歪みを補正する構成について説明する。図15は、第4実施形態に係る画像処理装置2の概略構成を示すブロック図である。図16は、図15に示した画像処理装置2で行われる処理の概要を説明する説明図である。なお、ここで特に言及しない点は前記の実施形態と同様である。
この第4実施形態では、図15に示すように、画像処理装置2が、フレーム入力部41と、フレームバッファ部42と、動きベクトル検出部43と、歪み補正部44と、を備えている。歪み補正部44は、補正パラメータ算出部45と、シャッタ走査方向格納部46と、フレーム画像サイズ格納部47と、幾何変換部48を備えている。
フレーム入力部41およびフレームバッファ部42と、シャッタ走査方向格納部46およびフレーム画像サイズ格納部47とは、前記の第1実施形態と同様である。
動きベクトル検出部43では、図16に示すように、注目フレーム画像とその1つ前のフレーム画像とに基づいて、フレーム画像全体の動きベクトルを検出する処理が行われる。ここでは、注目フレーム画像と1つ前のフレーム画像とを比較して、例えばブロックマッチングや特徴点マッチングなどの手法を用いて、フレーム画像全体の動きベクトルが算出される。
歪み補正部44では、動きベクトル検出部43で取得したフレーム画像全体の動きベクトルに基づいて幾何変換を行って、注目フレーム画像のローリングシャッタ歪みを補正する処理が行われ、歪み補正部44から歪み補正済みの注目フレーム画像が出力される。特にここでは、図16の注目フレーム画像中に示すように、フレーム画像に写った被写体の像に回転などの不規則な動きが現れる場合に、前記の実施形態で行ったアフィン変換と異なる幾何変換でローリングシャッタ歪みを補正する処理が行われる。
図15に示したように、歪み補正部44の補正パラメータ算出部45では、動きベクトル検出部43で取得した動きベクトルに基づいて、幾何変換部48で行われる幾何変換で必要となる補正パラメータを算出する処理が行われる。特にここでは、幾何変換で画素ごとに座標位置を変換する処理を行うことから、画素ごとに補正パラメータが算出される。幾何変換部48では、補正パラメータ算出部45で取得した補正パラメータに基づいて、注目フレーム画像に対する幾何変換が行われる。
図17は、図15に示した歪み補正部44で行われる処理の概要を説明する説明図である。ここでは、図6に示した例と同様に、シャッタ走査方向を下向きとする、すなわち上から下に向かって走査する例について説明する。また、走査が開始される一番上の走査開始ラインの露光時刻を補正の基準時刻とする、すなわち、走査開始ラインを基準にして歪み補正を行う。
フレーム画像に写った被写体の像に回転などの不規則な動きがある場合、ローリングシャッタ歪みがない状態で2つの注目点p’,q’を直線状に結ぶ像が、補正前の状態では2つの注目点p,qを結ぶ像が曲線状に歪んだものになる。このような歪みが幾何変換により補正される。
ここで、補正前の2つの注目点p,qを補正後の注目点p’,q’に変換する場合の補正パラメータについて説明する。フレームの高さ(走査方向のフレーム画像サイズ)をHとし、走査開始ラインから注目点p,qまでの距離をそれぞれh1,h2とし、注目点p,qの動きベクトルをそれぞれMV1,MV2とすると、注目点p,qの補正パラメータはそれぞれ、−(h1/H)・MV1、−(h2/H)・MV2により算出される。
このようにして注目点p,qの補正パラメータが算出され、この補正パラメータの算出を、フレーム画像内の全ての画素を対象に行えばよいが、演算量を削減するために、画素を間引いて補正パラメータを算出し、間引かれた画素は補間処理で対応するようにしてもよい。
なお、図17に示した例では、シャッタ走査方向を下向きとし、また、一番上の走査開始ラインの露光時刻を補正の基準時刻としたが、これと異なるようにシャッタ走査方向や基準時刻などを設定することも可能であり、この場合、座標系を適切な方向に設定すれば、前記と同じ要領で補正パラメータを算出することができる。
図18は、図15に示した画像処理装置2で行われる処理の手順を示すフロー図である。ここでは、図7に示した第1実施形態と略同様の手順で処理が行われるが、特にここでは、動きベクトル検出部43にて、注目フレーム画像と1つ前のフレーム画像とに基づいてフレーム画像全体の動きベクトルを検出する処理(ST404)が行われた後、補正パラメータ算出部45にて、動きベクトルとシャッタ走査方向およびフレーム画像サイズとに基づいて、画素ごとの補正パラメータを算出する処理(ST406)が行われ、ついで、幾何変換部48にて、画素ごとの補正パラメータに基づいて注目フレーム画像に対する幾何変換が行われて、注目フレーム画像のローリングシャッタ歪みが補正される(ST407)。
なお、第1実施形態では、撮像装置1に動きがある場合に対応した構成について説明したが、この構成は、被写体自体に動きがある場合にも適用することができる。すなわち、撮像範囲の全体を占める被写体が動く場合には、撮像装置1に動きがある場合と同様に、フレーム画像の全体にローリングシャッタ歪みが発生するため、第1実施形態に示した構成で対応することができる。
また、第2および第3の各実施形態では、1つの動き領域が抽出される例について説明したが、動く被写体が複数存在する場合もあり、この場合、動き領域抽出部23,35では複数の動き領域が抽出される。特に、動きが異なる被写体が複数存在する場合には、動きが異なる被写体の領域ごとに異なるアフィン変換を行う必要がある。そこで、動きベクトル検出部24および動き領域動きベクトル検出部36では、複数の動き領域ごとに動きベクトルを検出し、歪み補正部25および前景歪み補正部38にて、複数の動き領域ごとにアフィン変換を行う。
ここで、動き領域ごとに動きベクトル検出およびアフィン変換を行うため、動き領域が増えると演算量も増えるが、通常、動き領域が多数存在する場合は希であり、動き領域が少ない通常のフレーム画像では、本実施形態による手法により、演算量を大幅に削減して、処理の高速化を図ることができる。
また、第2および第3の各実施形態では、静止した被写体の像を背景、動く被写体の像を前景としたが、この背景および前景は、実際の被写体の前後位置とは関係ない。
また、第3実施形態では、撮像装置1と被写体の双方に動きがある場合に対応した構成について説明したが、この第3実施形態において、フレーム画像全体の動きが検出されない、すなわちフレーム画像全体の動きベクトルが(0,0)となる場合は、第2実施形態と同様のものとなり、一方、動き領域が抽出されない場合は、第1実施形態と同様のものとなる。
また、第4実施形態では、第1実施形態と同様に、撮像装置1に動きがある場合に対応した構成について説明したが、この第4実施形態で説明した幾何変換は、第2実施形態のように被写体の一部に動きがある場合や、第3実施形態のように撮像装置1と被写体の双方に動きがある場合にも同様に適用することができる。