(57)【要約】【課題】  画像間の動きベクトルから撮像装置の動き量を検出する際に、記録画像の撮影周期より短い周期のぶれを検出できない。【解決手段】撮像センサと、二つの画像入力部と、前記二つの画像入力部に対する入力タイミングを独立して制御するタイミング制御部と、二枚の画像から動きベクトルを算出する手段と、前記タイミング制御部により、前記二つの画像入力部へ入力する画像のタイミングをずらし、前記タイミングをずらした量に応じて前記二つの画像入力部から入力した画像を複数の領域に分割する手段と、を有し、分割した前記複数領域毎に動きベクトルを求めることにより、前記撮像センサの読み出し期間中の前記撮像センサの動きを検出すること。【選択図】  図３
2019149602.tif 000002
【特許請求の範囲】
【請求項１】
撮像センサと、
二つの画像入力部と、
前記二つの画像入力部に対する入力タイミングを独立して制御するタイミング制御部と、
二枚の画像から動きベクトルを算出する手段と、
前記タイミング制御部により、前記二つの画像入力部へ入力する画像のタイミングをずらし、
前記タイミングをずらした量に応じて前記二つの画像入力部から入力した画像を複数の領域に分割する手段と、を有し、
分割した前記複数領域毎に動きベクトルを求めることにより、前記撮像センサの読み出し期間中の前記撮像センサの動きを検出することを特徴とする撮像装置。
【請求項２】
前記撮像センサの読み出し期間中の動きベクトルを用いてローリングシャッタ歪みの補正を行うことを特徴とする請求項１に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は撮像装置に関するもので、撮影画像からの動きベクトルの検出方法に関する。
【背景技術】
【０００２】
近年、スマートフォンやデジタルカメラの多くでは、ローリングシャッタ方式のＣＭＯＳ撮像センサが用いられている。
【０００３】
ＣＭＯＳ撮像センサでは、所謂マルチストリーム出力と呼ばれるライン単位で独立して読みだしタイミングを変更することが可能なものがある。これにより、一つの撮像センサから、読み出しタイミングやフレームレートの異なる画像を並列して出力可能となる。
【０００４】
また、この方式の撮像センサでは、画素毎に電荷の蓄積開始と読み出しを行うため撮像のタイムラグが生じ、撮像中の撮像センサの変位に応じて出力画像が歪むといった課題がある。例えば、上記撮像センサで左上から水平方向に画像データを読み込み、１ライン読み込んだら次のラインを読み込む制御を行った際、パンニングで撮影画像が斜めに歪み、チルティングでは撮影画像が伸び縮みする。そして、手ぶれが加わると撮影画像が波を打ったように歪む。この現象をローリングシャッタ歪みと呼ぶ。
【０００５】
このようなローリングシャッタ歪みの問題に対して、特許文献１では、ジャイロセンサなどの動き検出センサで得られた手振れ情報に基づいて、各ラインの記録画素の開始位置を変更することでローリングシャッタ歪みを補正する方法について記載されている。
【０００６】
また、特許文献２では、ジャイロセンサなどの動き検出センサを搭載せずに、前後の撮影画像を用いて動き量を検出する方法について記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−３５８９９９号公報
【特許文献２】特許第４７５３８５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示された技術では、ジャイロセンサなどの動き検出センサを搭載する必要があるため、コストあがってしまう問題がある。
【０００９】
また、特許文献２に開示された技術では、前後の撮影画像を用いるため、前後の画像間の動きベクトルから動き量を推定する必要があり、撮影周期より手ぶれ周期が短い場合に正確に動き量を算出できない問題がある。
【００１０】
そこで本発明では、ジャイロセンサなどの動き検出センサを搭載することなく、周期が短い動き量を精度よく検出する手段を提供することにある。
【課題を解決するための手段】
【００１１】
前記の課題を解決するため、本発明の撮像装置では、
撮像センサと、
二つの画像入力部と、
前記二つの画像入力部に対する入力タイミングを独立して制御するタイミング制御部と、
二枚の画像から動きベクトルを算出する手段と、
前記タイミング制御部により、前記二つの画像入力部へ入力する画像のタイミングをずらし、
前記タイミングをずらした量に応じて前記二つの画像入力部から入力した画像を複数の領域に分割する手段と、を有し、
分割した前記複数領域毎に動きベクトルを求めることにより、前記撮像センサの読み出し期間中の前記撮像センサの動きを検出する。
【発明の効果】
【００１２】
本発明によれば、周期の短い動き量を精度よく検出し、ローリングシャッタ歪みを補正することが可能である。
【図面の簡単な説明】
【００１３】
【図１】本実施例における撮像装置の構成を示す図である。
【図２】本実施例における撮像装置の画像信号の出力タイミングを説明する図である。
【図３】本実施例における撮像装置の２つの画像信号の出力タイミングを説明する図である。
【図４】本実施例における撮像装置の動き量算出部の算出方法を説明するための図である。
【図５】本実施例における撮像装置の制御を説明するフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら本発明の好適な実施の形態を説明する。
【００１５】
［実施例］
図１は、本発明に係る撮像装置の構成の一例を示すブロック図である。図１の撮像装置１００は、内部バス１０１、システム制御部１０２、ＲＯＭ１０３、メモリ１０４、撮像レンズ１０５、撮像センサ１０６、第一のＡ／Ｄ変換部１１１、第二のＡ／Ｄ変換部１１２、タイミング制御部１０７、画像処理部１０８を備える。さらに、動きベクトル算出部１０９、動き量算出部１１０を備える。
【００１６】
内部バス１０１は、各ブロックに接続され、映像信号や制御信号のやりとりが行われる。システム制御部１０２は、撮像装置１００全体の制御を行う。ＲＯＭ１０３は、電気的に消去・記録可能なメモリである。ＲＯＭ１０３には、システム制御部１０２の動作用の定数、プログラム等が記録される。ここでいう、プログラムとは、本実施形態にて後述する各種フローチャートなどを実行するためのプログラムのことである。
【００１７】
メモリ１０４は、画像データやシステム制御部１０２の一時データを格納する。メモリ１０４は所定枚数の静止画像や所定時間の動画像を格納するのに十分な記憶容量を備えている。撮影レンズ１０５は被写体の光学像を取り込む光学レンズ群である。
【００１８】
撮像センサ１０６は、ローリングシャッタ方式のＣＭＯＳ撮像センサである。撮像センサ１０６は２系統の画像出力を有しており、読み出しタイミングの異なる第一、第二の２つの画像信号をライン毎に並列に出力する。第一の画像信号は、記録、及び、表示に用いられる画像データを出力し、第二の画像信号は、後述する動きベクトルの算出に用いられる画像データの出力を行う。なお、撮像センサ１０６はＣＭＯＳ撮像センサでなくてもよく、結像された像をライン毎にデジタル信号に変換し、ラインを走査することで像全体の画像データを得ることが可能な構成であれば、どのような構成でもよい。
【００１９】
第一のＡ／Ｄ変換部１１１及び、第二のＡ／Ｄ変換部１１２は撮像センサ１０６の出力であるアナログ信号をデジタル信号（画像データ）に変換する。第一のＡ／Ｄ変換器１１１は撮像センサ１０６の第一の画像信号が入力され、第二のＡ／Ｄ変換器１１２は撮像センサ１０６の第二の画像信号が入力される。
【００２０】
タイミング制御部１０７は、撮像センサ１０６の第一及び、第二の画像信号の出力タイミングの制御を行う。第一の画像信号、及び第二の画像信号は独立したタイミングで制御を行い、第二の画像信号は第一の画像信号の出力タイミングより後述する所定の遅延をつけた出力タイミングで制御を行う。
【００２１】
画像処理部１０８は、システム制御部１０１の制御により、第一のＡ／Ｄ変換部１１１及び、第二のＡ／Ｄ変換部１１２から出力した第一及び、第二の画像データに対して、色変換処理やガンマ補正などの現像処理を行い、得られた撮影画像データをメモリ１０４に格納する。また、メモリ１０４に格納された画像データに対し、リサイズやトリミング処理、ローリングシャッタ歪みの補正処理などを行い、得られた画像データをメモリ１０４に格納する。
【００２２】
動きベクトル算出部１０９は撮像センサ１０６から出力された時間軸で連続して撮像された第一の画像信号及び第二の画像信号を用いて、画像データ間の相関に基づいて動きベクトルを算出する。
【００２３】
動き量算出部１１０は、システム制御部１０２の制御により、動きベクトル算出部１０９で算出した動きベクトルに基づいて撮像センサ１０６の第一の画像信号に対して、１フレーム内の動き量を算出する。算出した動き量は、システム制御部１０２の制御に基づいて、画像処理部１０８のローリングシャッタ歪み補正処理の制御に用いられる。
【００２４】
まず、図２を用いてローリングシャッタ歪みについて説明する。図２は撮像センサ１０６のライン毎の画像信号の出力タイミングを示している。２０１は撮像センサ１０６から出力される画像信号である。２０２は画像信号２０１の光学像を取り込む露光期間を示しており、２０３の斜線部は画像信号２０１の読み出しタイミングを示している。
【００２５】
２０４の点線は露光期間２０２の中心のタイミング（以後、露光タイミングと呼ぶ）を示している。画像信号２０１の点線で区切られた矩形領域が１ライン分の画像信号を示しており（中間部のラインは省略）、ライン順に右方向へタイムラグｄをもって露光される。即ち、有効画像がライン数Ｎの撮像センサ１０６において、先頭のライン１の出力タイミングを０とすると、終端のラインＮの出力タイミングは、Ｔ（＝（Ｎ−１）×ｄ）となる。ローリングシャッタ歪みは、撮像装置のブレや動体被写体を撮影した場合に、ライン毎の露光タイミングが異なることに起因して発生する。
【００２６】
次に、動きベクトル算出部１０９における動きベクトルの算出方法について、図３を用いて説明する。
【００２７】
図３は撮像センサ１０６の第一の画像信号及び第二の画像信号の出力タイミングを示した図である。３０１は第一の画像信号、３０２は第二の画像信号である。３１１は、第一の画像信号３０１の露光タイミングを示している。３１２は、第二の画像信号３０２の露光タイミングを示しており、タイミング制御部１０７に従って、第一の画像信号３０１の露光タイミング３１１よりＤだけ遅れて、露光タイミング３１２が開始している。
【００２８】
動きベクトル算出部１０９での動きベクトルの算出方法としては、従来から行われている相関法やブロックマッチング法を用いることができる。例えば、ブロックマッチング法は、まず、入力された画像信号を複数の適当な大きさのブロック領域（例えば８画素×８ライン）に分割する。そして、このブロック単位で第一の画像信号及び、第一の画像信号から遅延させた第二の画像信号の一定範囲の画素との差を計算し、この差の絶対値の和が最小となる前のフレームのブロックを探索する方法である。そして、画面間の相対的なずれが、そのブロックの動きベクトルを示している。上述の方法で、動きベクトル算出部１０９では、撮像センサ１０５から出力された各画像信号３０１及び、３０２を用いて、動きベクトルを算出する。
【００２９】
また、動きベクトル算出部１０９で算出される動きベクトルは、第一の画像信号と第二の画像信号の露光タイミングの遅延量Ｄに応じて、画像信号３０１及び、画像信号３０２に示すように画像データを垂直方向に複数の領域に分割して、動きベクトルを算出する。画像信号の分割方法について説明する。第二の露光タイミング３１２のライン１の露光開始タイミングｔ２と同タイミングとなる第一の画像信号の露光タイミング３１１のラインＸ１までの、ライン１〜ラインＸ１までを一つ目の分割である第一領域とする。
【００３０】
同様に、第二の露光タイミング３１２のラインＸ１の露光開始タイミングｔ３と同タイミングとなる第一の画像信号の露光タイミング３１１のラインＸ２までの、ラインＸ１〜ラインＸ２までを二つ目の分割である第二領域とする。これを、第一の画像信号の最終ラインであるラインＮまで繰り返し行い、画像信号の領域の分割を行う。そのため、画像の分割数は第一の画像信号と第二の画像信号の露光タイミングの遅延量Ｄに応じて分割数及び、分割領域の垂直サイズが変化する。本実施例では、第一〜第四の４つの領域に分割した場合について説明を行う。
【００３１】
各画像信号３０１及び、３０２の第一領域におけるベクトル算出について説明する。第一の画像信号３０１の第一領域における露光タイミングはｔ１〜ｔ２であり、第二の画像信号３０２の第一領域における露光タイミングｔ２〜ｔ３であるため、第一領域から算出される動きベクトルは中心タイミングであるｔ２における動きベクトルとなる。
【００３２】
次に、動き量算出部１１０で行う第一の画像信号の動き量の算出方法について、図４を用いて説明する。
【００３３】
図４（ａ）は領域毎に算出した動きベクトルを示した図である。４０１は図３の画像信号３０１と画像信号３０２の第一領域を用いて、動きベクトル算出部１０９で算出した動きベクトルである。同様に、４０２、４０３、４０４は、各々画像信号３０１と画像信号３０２の第二、第三、第四領域を用いて算出した動きベクトルである。
【００３４】
図４（ｂ）は撮像センサ１０６の第一の画像信号３０１の露光タイミング３１１における動き量を示した図である。前述したように、各動きベクトル４０１、４０２、４０３、４０４は、各々が図３の画像信号３０１の露光タイミングｔ２、ｔ３、ｔ４、ｔ５の動きベクトルとなる。動き量算出部１１０では、動きベクトル４０１〜４０４を用いて、第一の画像信号３０１の動き量の算出を行う。４００の矢印は、算出した第一の画像信号３０１の露光タイミング３１１におけるフレーム内の動き量である。動きベクトルから動き量の算出については、公知であるため、省略する。
【００３５】
４１１は、図３の露光タイミング３１１のｔ１における第一の画像信号３０１の撮影範囲である。同様に、４１２、４１３，４１４、４１５は、露光タイミング３１１のｔ２、ｔ３、ｔ４、ｔ５における第一の画像信号３０１の撮影範囲である。第一の撮像ユニット１３５の撮影範囲は、露光タイミングの開始であるｔ１から動き量４００、つまり、時刻ごとの動きベクトル４０１，４０２，４０３，４０４に沿って撮影範囲４１１〜４１５へと移動している。
【００３６】
図５は、撮像装置１００のローリングシャッタ歪みの補正処理について説明するためのフローチャートである。図５を用いて、本発明における制御フローを詳細に説明する。
【００３７】
ステップＳ５０１では、タイミング制御部１０７の制御に従って、撮像センサ１０６から第一及び、第二の画像データを並列に出力する。第二の画像データは第一の画像データから所定の遅延量をつけて出力される。遅延量は小さいほど、一つの画像データから多くの時刻における動きベクトルが検出可能だが、遅延量が小さくなるほど画像データの分割数が多くなるため、分割領域の画像データサイズが小さくなり、動きベクトルの検出精度が落ちる。
【００３８】
そのため、遅延量は出力される画像データの垂直サイズに応じて決定するのが望ましい。前述の図３は、第一の画像データの露光タイミング３１１の４分の１の時間を遅延させて、第二の画像データの露光タイミング３１２を開始した場合である。出力された各第一、第二の画像データをメモリ１０４に格納する。
【００３９】
ステップＳ５０２では、ステップＳ５０１の第一の画像データと第二の画像データの遅延量に応じて、画像データを垂直方向に各領域に分割する。
【００４０】
ステップＳ５０３では、ステップＳ５０２でメモリ１０４に格納された第一の画像データ及び、第二の画像データを用いて、分割された領域毎に動きベクトル算出部１０９で動きベクトルを算出する。
【００４１】
ステップＳ５０４では、ステップＳ５０３で算出した動きベクトルに基づいて、動き量算出部１１０で第一の画像データに対応する１フレーム内の動き量を算出する。
【００４２】
ステップＳ５０５では、システム制御部１０１に従って、算出した１フレーム内の動き量に基づいて、画像処理部１０８で第一の画像データに対してローリングシャッタ歪補正を行い、補正された画像データをメモリ１０４に格納する。動き量に基づいてのローリングシャッタ歪みの補正については公知なので説明を省略する。ローリングシャッタ歪補正された画像を生成し、処理を終了する。
【００４３】
本実施例では、１つの撮像センサから２系統の画像信号を出力する構成について説明したが、同一の撮影範囲を撮影可能な２つの撮像センサを用いて、２系統の画像信号を生成する構成であっても実施可能である。
【００４４】
以上のようにして、第一の画像データと第一の画像データから遅延させた第二の画像データを用いて、動き量を算出することで、周期が短い動き量を精度よく検出することが可能となる。
【符号の説明】
【００４５】
１００  撮像装置
１０１  内部バス
１０２  システム制御部
１０３  ＲＯＭ
１０４  メモリ
１０５  撮像レンズ
１０６  撮像センサ
１１１  第一のＡ／Ｄ変換部
１１２  第二のＡ／Ｄ変換部
１０７  タイミング制御部
１０８  画像処理部
１０９  動きベクトル算出部
１１０  動き量算出部
【図１】
2019149602.tif 000003
【図２】
2019149602.tif 000004
【図３】
2019149602.tif 000005
【図４】
2019149602.tif 000006
【図５】
2019149602.tif 000007