(57)【特許請求の範囲】
【請求項１】
行列に配置された撮像素子を有し、上端の行から下端の行に向かって隣接する行間のシャッタ時間が所定のずれ時間を有するＸＹアドレス読み出し法により前記撮像素子の信号を取り出すことにより所定のフレーム周期でフレーム画像を得るカメラと、
２枚のフレーム画像に含まれる対象物について、前記２枚のフレーム画像間における前記対象物の行方向および列方向の移動量を動きベクトルとして検出する動きベクトル検出部と、
前記動きベクトルとして検出された前記移動量の前記列方向成分を、前記所定のずれ時間および前記フレーム周期と、前記撮像素子の総行数と、の少なくとも一方を用いて補正し、前記移動量の前記行方向成分および補正後の列方向成分を出力する動きベクトル垂直成分補正部と、
を備えた撮像装置。
【請求項２】
前記動きベクトル垂直成分補正部は、
前記動きベクトル検出部に検出された前記移動量の前記列方向成分をＶ、前記所定のずれ時間を前記フレーム周期で除した値をＫとしたとき、Ｖ０＝Ｖ／（１＋ＫＶ）により前記補正後の列方向成分Ｖ０を算出し、前記移動量の前記行方向成分および前記補正後の列方向成分Ｖ０を出力する、
請求項１記載の撮像装置。
【請求項３】
前記動きベクトル垂直成分補正部は、
前記動きベクトルとして検出された前記移動量の前記列方向成分をＶ、前記所定のずれ時間を前記フレーム周期で除した値をＫとしたとき、Ｖ０＝Ｖ（１−ＫＶ）により前記補正後の列方向成分Ｖ０を算出し、前記移動量の前記行方向成分および前記補正後の列方向成分Ｖ０を出力する、
請求項１記載の撮像装置。
【請求項４】
前記動きベクトル垂直成分補正部は、
前記動きベクトルとして検出された前記移動量の前記列方向成分をＶ、前記撮像素子の総行数をＮとしたとき、Ｖ０＝Ｖ（１−Ｖ／Ｎ）により前記補正後の列方向成分Ｖ０を算出し、前記移動量の前記行方向成分および前記補正後の列方向成分Ｖ０を出力する、
請求項１記載の撮像装置。
【請求項５】
前記動きベクトル垂直成分補正部により出力された前記移動量の前記行方向成分および前記補正後の列方向成分Ｖ０を用いて、前記カメラにより得られた前記フレーム画像の前記ＸＹアドレス読み出し法に起因する歪みを補正する画像歪み補正部、
をさらに備えた請求項１ないし４のいずれか１項に記載の撮像装置。
【請求項６】
行列に配置された撮像素子を有したカメラから、上端の行から下端の行に向かって隣接する行間のシャッタ時間が所定のずれ時間を有するＸＹアドレス読み出し法により前記撮像素子の信号を取り出すことにより、所定のフレーム周期でフレーム画像を得るステップと、
２枚のフレーム画像に含まれる対象物について、前記２枚のフレーム画像間における前記対象物の行方向および列方向の移動量を動きベクトルとして検出するステップと、
この動きベクトルとして検出された移動量の前記列方向成分を、前記所定のずれ時間および前記フレーム周期と、前記撮像素子の総行数と、の少なくとも一方を用いて補正し、前記移動量の前記行方向成分および補正後の列方向成分を出力するステップと、
を有する動きベクトル検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、撮像装置および動きベクトル検出方法に関する。
【背景技術】
【０００２】
ＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサなどのイメージセンサの駆動方法の１つに、ＸＹアドレス読み出し法（以下、ローリングシャッタ法という）がある。ローリングシャッタ法は、１枚のフレーム画像を作成する際に、上部から画素行ごとに順次シャッタ動作を行って画像信号を取り出し、フレーム周期以内に全行の読み出し動作を完了する方法である。
【０００３】
画像信号は、シャッタが開の期間にサンプリングされる。このため、ローリングシャッタ法では、一枚のフレーム画像内において、上部の行から下部の行に向かって行ごとにサンプリング時刻が所定のずれ時間ずつ遅れることになる。このため、ローリングシャッタ法を用いて移動体を撮影した場合、行ごとに異なるサンプリング時刻を考慮しつつ、動きベクトルを用いて画像を補正することが好ましい。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１４１７１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ローリングシャッタ法において、時間的に隣り合うフレーム画像の同一行どうしのサンプリング間隔は、フレーム周期と一致する。このため、動きベクトルの画素行方向（水平方向）の成分については、フレーム間の移動画素量をフレーム周期で除すことにより容易に求めることができる。
【０００６】
一方、時間的に隣り合うフレーム画像の異なる行どうしのサンプリング間隔は、フレーム周期とは異なる。このため、動きベクトルの画素列方向（垂直方向）の成分は、横方向成分と同様にフレーム間の移動画素量をフレーム周期で除して算出してしまうと、誤差が生ることになる。したがって、従来の技術では、動きベクトルに縦方向成分を含む被写体（垂直方向に移動する被写体）については、検出した動きベクトルの縦方向成分に誤差が含まれてしまう。
【課題を解決するための手段】
【０００７】
本発明の一実施形態に係る撮像装置は、上述した課題を解決するために、カメラと、動きベクトル検出部と、動きベクトル垂直成分補正部とを備える。カメラは、行列に配置された撮像素子を有し、上端の行から下端の行に向かって隣接する行間のシャッタ時間が所定のずれ時間を有するＸＹアドレス読み出し法により撮像素子の信号を取り出すことにより所定のフレーム周期でフレーム画像を得る。動きベクトル検出部は、２枚のフレーム画像に含まれる対象物について、２枚のフレーム画像間における対象物の行方向および列方向の移動量を動きベクトルとして検出する。動きベクトル垂直成分補正部は、動きベクトルとして検出された移動量の列方向成分を、所定のずれ時間およびフレーム周期と、撮像素子の総行数と、の少なくとも一方を用いて補正し、移動量の行方向成分および補正後の列方向成分を出力する。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る撮像装置の一例を示す全体構成図。
【図２】図２（ａ）はグローバルシャッタ法におけるフレーム画像のサンプリング面と時間の関係の一例を示す説明図、（ｂ）はローリングシャッタ法におけるフレーム画像のサンプリング面と時間の関係の一例を示す説明図。
【図３】図２（ｂ）に示すローリングシャッタ法におけるフレーム画像のサンプリング面のｙｔ平面の一例を示す説明図。
【図４】図１に示す主制御部のＣＰＵにより、ローリングシャッタカメラにより取得された画像から検出される動きベクトルの列方向（垂直方向）の誤差を補正し、補正後の動きベクトルを用いて画像の歪みを補正する際の手順を示すフローチャート。
【発明を実施するための形態】
【０００９】
本発明に係る撮像装置および動きベクトル検出方法の実施の形態について、添付図面を参照して説明する。
【００１０】
図１は、本発明の一実施形態に係る撮像装置１０の一例を示す全体構成図である。
【００１１】
撮像装置１０は、ローリングシャッタカメラ１１および主制御部１２を有する。
【００１２】
ローリングシャッタカメラ１１は、行列に配置された撮像素子を有しローリングシャッタ法（ＸＹアドレス読み出し法）により画像信号を出力するＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサなどにより構成される。
【００１３】
主制御部１２は、ＣＰＵ、ＲＡＭおよびＲＯＭなどの記憶媒体などにより構成される。主制御部１２のＣＰＵは、ＲＯＭなどの記憶媒体に記憶された動きベクトル検出プログラムおよびこのプログラムの実行のために必要なデータをＲＡＭへロードし、このプログラムに従って、ローリングシャッタカメラ１１により取得された画像から検出される動きベクトルの列方向（垂直方向）の誤差を補正する。
【００１４】
主制御部１２のＲＡＭは、ＣＰＵが実行するプログラムおよびデータを一時的に格納するワークエリアを提供する。主制御部１２のＲＯＭなどの記憶媒体は、動きベクトル検出プログラムや、これらのプログラムを実行するために必要な各種データを記憶する。
【００１５】
なお、ＲＯＭをはじめとする記憶媒体は、磁気的もしくは光学的記録媒体または半導体メモリなどの、ＣＰＵにより読み取り可能な記録媒体を含んだ構成を有し、これら記憶媒体内のプログラムおよびデータの一部または全部は図示しないネットワーク接続部を介して電子ネットワークを介してダウンロードされるように構成してもよい。
【００１６】
なお、この場合、ネットワーク接続部は、ネットワークの形態に応じた種々の情報通信用プロトコルを実装し、この各種プロトコルに従って主制御部１２と他の電気機器とを電子ネットワークを介して接続する。この接続には、電子ネットワークを介した電気的な接続などを適用することができる。ここで電子ネットワークとは、電気通信技術を利用した情報通信網全般を意味し、無線／有線ＬＡＮ（Local Area Network）やインターネット網のほか、電話通信回線網、光ファイバ通信ネットワーク、ケーブル通信ネットワークおよび衛星通信ネットワークなどを含む。
【００１７】
図１に示すように、主制御部１２のＣＰＵは、動きベクトル検出プログラムによって、少なくとも動きベクトル検出部１３、動きベクトル垂直成分補正部１４および画像歪み補正部１５として機能する。この各部１３〜１５は、ＲＡＭの所要のワークエリアを、データの一時的な格納場所として利用する。なお、これらの機能実現部は、ＣＰＵを用いることなく回路などのハードウエアロジックによって構成してもよい。
【００１８】
図２（ａ）はグローバルシャッタ法におけるフレーム画像のサンプリング面と時間の関係の一例を示す説明図であり、（ｂ）はローリングシャッタ法におけるフレーム画像のサンプリング面と時間の関係の一例を示す説明図である。
【００１９】
行列に配置された撮像素子を有するカメラの駆動方法には、大きくグローバルシャッタ法とローリングシャッタ法の２通りがある。
【００２０】
行列に配置された撮像素子の各素子に対応するフレーム上の画素をＰ（ｘ、ｙ）とし、さらに時間ｔにサンプリングが開始されるフレーム上の画素をＰ（ｘ、ｙ、ｔ）とする。
【００２１】
グローバルシャッタ法は、全ての撮像素子のサンプリングを同時に行う方法である。このため、グローバルシャッタ法では、同一フレーム上の任意の画素が同一時刻ｔでサンプリングされる。したがって、グローバルシャッタ法では、図２（ａ）に示すように、ｘ軸、ｙ軸およびｔ軸が互いに直交する。
【００２２】
一方、ローリングシャッタ法は、１枚のフレーム画像を作成する際に、上部から画素行ごとに順次シャッタ動作を行って画像信号を取り出し、フレーム周期Ｔ以内に全行の読み出し動作を完了する方法である。このため、同一行の撮像素子間ではサンプリング時刻が等しいが、上部の行から下部の行に向かって行ごとにサンプリング時刻が所定のずれ時間ｋずつ遅れる。したがって、ローリングシャッタ法では、図２（ｂ）に示すように、ｘ軸とｙ軸およびＸ軸とｔ軸は直交するものの、ｙ軸とｔ軸は直交しない。
【００２３】
次に、ローリングシャッタ法で得られたフレーム画像にもとづいて検出される動きベクトルの補正方法について説明する。
【００２４】
図３は、図２（ｂ）に示すローリングシャッタ法におけるフレーム画像のサンプリング面のｙｔ平面の一例を示す説明図である。図３において、破線はローリングシャッタ法におけるフレーム画像のサンプリング面を表す。
【００２５】
動きベクトル検出部１３は、ブロックマッチング法や勾配法などを用いて、ローリングシャッタ法で得られた時間的に連続する２枚のフレーム画像に含まれる対象物について、２枚のフレーム画像間における対象物の行方向および列方向の動きベクトルｍ（ｕ、ｖ）を検出する。
【００２６】
たとえば、時間的に連続する２枚のフレームをフレームｎ−１およびフレームｎとし、フレームｎ−１においてｙ座標ｙ１にあった被写体が、フレームｎにおいてｙ座標ｙ２で観測された場合を考える。
【００２７】
このとき、動きベクトル検出部１３は、フレーム周期Ｔを用いて動きベクトルｍ（ｕ、ｖ）を算出する。したがって、動きベクトル検出部１３により検出される動きベクトルｍの列方向成分ｖは、次のように書ける。  
v = (y2−y1)/T                  （１）
【００２８】
一般に、動きベクトルは単位時間当たりではなく、フレーム間の移動量として定義することが多い。このため、動きベクトル検出部１３は、フレーム間の移動量を出力してもよい。このとき、たとえば動きベクトル検出部１３が出力するフレーム間の移動量の列方向成分は、式（１）を変形した次式で得ることができる。  
vT = y2−y1                    （２）
【００２９】
しかし、ローリングシャッタ法のサンプリング面は、垂直方向の画素位置に応じてグローバルシャッタ法のサンプリング面に対して時間遅れが発生するため、式（１）および式（２）で求められる動きベクトルｍの列方向成分ｖは誤差を含んでいる。
【００３０】
そこで、動きベクトル垂直成分補正部１４は、動きベクトル検出部１３により検出された移動量の列方向成分ｖ・Ｔを、所定のずれ時間（ローリングシャッタ法におけるサンプリング時刻の行間のずれ時間）およびフレーム周期Ｔと、撮像素子の総行数と、の少なくとも一方を用いて補正し、移動量の行方向成分ｕ・Ｔおよび補正後の列方向成分ｖ０・Ｔを出力する。
【００３１】
ローリングシャッタ法におけるサンプリング時刻の行間のずれ時間をｋ、１枚のフレームの読み出しに要する時間をτ、撮像素子の総行数をＮとすると、行間のずれ時間ｋはｋ＝τ／Ｎで表される。このとき、ｙ座標ｙ１およびｙ２におけるローリングシャッタ法のサンプリング面のグローバルシャッタ法のサンプリング面に対する時間遅れΔｔ１およびΔｔ２は、それぞれ次の式（３）および式（４）のように表せる。  
Δt1 = (τ/N) y1 = ky1          （３）
Δt2 = (τ/N) y2 = ky2          （４）
【００３２】
このため、フレームｎ−１においてｙ座標ｙ１がサンプリングされる時刻から、フレームｎにおいてｙ座標ｙ２がサンプリングされる時刻までの時間は、フレーム周期Ｔに比べ時間Δｔだけずれることになる（図３参照）。  
Δt = Δt2−Δt1 = k(y2−y1)      （５）
【００３３】
したがって、ｙ１からｙ２への移動に対応する動きベクトルの列方向成分（垂直成分）の単位時間当たりの移動量ｖ０は、次のように表せる。  
v0 = (y2−y1) /(T+Δt)            （６）
【００３４】
この式（５）が正しい動きベクトルの列方向成分（垂直成分）の単位時間当たりの移動量ｖ０を示す式であって、グローバルシャッタサンプリング面に換算した単位時間当たりの移動量と考えることができる。式（５）を変形すれば、正しいフレーム間の移動量の列方向成分を与える次式を得ることができる。  
v0 T =(y2−y1) T /(T+Δt) 
=(y2−y1) /(1+Δt/T)          （７）
【００３５】
フレーム間の移動量の垂直成分について、補正前をｖ・Ｔ＝Ｖ、補正後をｖ０・Ｔ＝Ｖ０とすると、式（２）および式（７）から次式が導かれる。  
V0 = V /(1+Δt/T)                  （８）
【００３６】
また、式（２）および式（５）からＶ＝Δｔ／ｋと書けるため、式（８）は次のように変形できる。  
V0 = V /(1+kV/T)                （９）
【００３７】
動きベクトル垂直成分補正部１４は、この式（９）を用いて動きベクトル検出部１３が出力した移動量の垂直成分ＶをＶ０に補正して出力する。
【００３８】
また、ｋＶ／Ｔが１より十分小さい場合、式（９）を次のように近似できる。  
V0 ≒ V(1−KV)                （１０）
ただし、Ｋ＝ｋ／Ｔ＝（τ／Ｔ）／Ｎ
【００３９】
このとき、さらにτ／Ｔ≒１であれば、Ｋ＝（τ／Ｔ）／Ｎ≒１／Ｎであるから、式（１０）は次のように変形できる。  
V0 ≒ V(1−V/N)                （１１）
【００４０】
動きベクトル垂直成分補正部１４は、式（１０）または式（１１）を用いて動きベクトル検出部１３が出力した移動量の垂直方向成分ＶをＶ０に補正して出力してもよい。
【００４１】
なお、動きベクトルの行方向成分（水平成分）は、フレーム間で同一行上にあるため、ローリングシャッタ法に起因するサンプリング時刻差は発生しない。このため、水平成分を補正する必要は無い。
【００４２】
続いて、画像歪み補正について説明する。  
画像歪み補正部１５は、動きベクトル垂直成分補正部１４により出力された移動量の行方向成分Ｕおよび補正後の列方向成分Ｖ０を用いて、ローリングシャッタカメラ１１により出力されたフレーム画像のローリングシャッタ法に起因する歪みを補正する。ここで、Ｕ＝ｕ・Ｔを表すものとする。以下、画像歪み補正についてより具体的に説明する。
【００４３】
垂直方向については、画像歪み補正部１５は、補正後の列方向成分Ｖ０を用いてグローバルシャッタ法のサンプリング面における画素位置のｙ座標ｙ０を算出する。  
y0 = y2−v0Δt2
= y2(1−kv0)    （∵式（４））
= y2(1−kV0/T)
= y2(1−KV0)                  （１２）
【００４４】
水平方向については、画像歪み補正部１５は、動きベクトル検出部１３が出力したフレーム間の移動量の行方向成分Ｕを用いてグローバルシャッタ法のサンプリング面における画素位置のｘ座標ｘ０を算出する。  
x0 = x2−uΔt2
= x2−uky2    （∵式（４））
= x2−Uky2 /T
= x2−UKy2                  （１３）
【００４５】
さらに、τ／Ｔ≒１であれば、Ｋ＝（τ／Ｔ）／Ｎ≒１／Ｎであるから、式（１２）および式（１３）はそれぞれ次のように変形できる。  
y0 = y2(1−V0/N)                （１４）
x0 = x2−U(y2 /N )              （１５）
【００４６】
画像歪み補正部１５は、式（１４）および式（１５）を用いてローリングシャッタカメラ１１により出力されたフレーム画像の各画素の画素位置を補正することにより、ローリングシャッタ法に起因する画像の歪みを補正する。
【００４７】
次に、本実施形態に係る撮像装置および動きベクトル検出方法の動作の一例について説明する。
【００４８】
図４は、図１に示す主制御部１２のＣＰＵにより、ローリングシャッタカメラ１１により取得された画像から検出される動きベクトルの列方向（垂直方向）の誤差を補正し、補正後の動きベクトルを用いて画像の歪みを補正する際の手順を示すフローチャートである。図４において、Ｓに数字を付した符号は、フローチャートの各ステップを示す。
【００４９】
まず、ステップＳ１において、動きベクトル検出部１３は、ローリングシャッタカメラ１１からローリングシャッタ法で得られた時間的に連続する２枚のフレーム画像の画像データを取得する。
【００５０】
次に、ステップＳ２において、動きベクトル検出部１３は、取得した画像データにもとづいて、時間的に連続する２枚のフレーム画像間における対象物のフレーム間移動量の行方向成分Ｕおよび列方向成分Ｖを算出する。
【００５１】
次に、ステップＳ３において、動きベクトル垂直成分補正部１４は、式（９）−式（１１）のいずれかにもとづき、ローリングシャッタ法におけるサンプリング時刻の行間のずれ時間（シャッタずれ時間）ｋ（＝τ／Ｎ）およびフレーム周期Ｔと、撮像素子の総行数Ｎと、の少なくとも一方を用いてフレーム間移動量の補正後の列方向成分Ｖ０を算出する。
【００５２】
次に、ステップＳ４において、画像歪み補正部１５は、式（１２）および式（１３）、または式（１４）および式（１５）にもとづき、フレーム間の移動量の行方向成分Ｕおよび補正後の列方向成分Ｖ０を用いてローリングシャッタカメラ１１により出力されたフレーム画像の各画素の画素位置を補正することにより、ローリングシャッタ法に起因する画像の歪みを補正する。
【００５３】
以上の手順により、ローリングシャッタカメラ１１により取得された画像から検出される動きベクトルの列方向（垂直方向）の誤差を補正し、補正後の動きベクトルを用いて画像の歪みを補正することができる。
【００５４】
本実施形態に係る撮像装置１０は、動きベクトル垂直成分補正部１４により式（９）−式（１１）のいずれかにもとづいてフレーム間移動量の補正後の列方向成分Ｖ０を算出することができる。このため、ローリングシャッタ法に起因する動きベクトルの列方向成分の誤差を、容易かつ正確に補正することができる。したがって、本実施形態に係る撮像装置１０は、たとえば運転支援技術などの正確な動きベクトルを必要とする技術に好適である。
【００５５】
また、フレーム間移動量の補正後の列方向成分Ｖ０にもとづいて、ローリングシャッタ法に起因する画像の歪みを正確に補正することができる。
【００５６】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００５７】
また、本発明の実施形態では、フローチャートの各ステップは、記載された順序に沿って時系列的に行われる処理の例を示したが、必ずしも時系列的に処理されなくとも、並列的あるいは個別実行される処理をも含むものである。
【符号の説明】
【００５８】
１０  撮像装置
１１  ローリングシャッタカメラ
１２  主制御部
１３  動きベクトル検出部
１４  動きベクトル垂直成分補正部
１５  画像歪み補正部
【図１】
0005731839.tif 000002
【図２】
0005731839.tif 000003
【図３】
0005731839.tif 000004
【図４】
0005731839.tif 000005