(57)【要約】【課題】撮像画像についてのローリングシャッター歪補正の精度を向上させる。【解決手段】入力画のラインに対応する姿勢情報を算出する。そして算出される姿勢情報が共通となる入力画のライン方向の線である第１仮想線を、姿勢情報に応じて回転させて出力画上の第２仮想線を求める。出力画の各画素については、対応する第２仮想線を算出し、対応する第２仮想線に基づいて姿勢情報を求めるようにする。そして出力画の各画素座標について、対応づけられた姿勢情報を用いてその画素座標に対応する入力画上の参照座標を算出する。この参照画素に基づいて入力画から出力画を切り出すことで、ラインによってカメラ姿勢が異なる場合でも、精度の高い歪補正が実現されるようにする。【選択図】図１
2020031264.tif 000002
【特許請求の範囲】
【請求項１】
入力画のラインに対応する姿勢情報を算出する姿勢算出部と、
算出される姿勢情報が共通となる入力画のライン方向の仮想的な線である第１仮想線を姿勢情報に応じて回転させて出力画上の仮想的な線である第２仮想線を求め、出力画の各画素について対応する第２仮想線を算出し、前記対応する第２仮想線に基づいて姿勢情報を求める姿勢対応付け部と、
出力画の各画素座標について、前記姿勢対応付け部で対応づけられた姿勢情報を用いてその画素座標に対応する入力画上の参照座標を算出する画像変形部と、を備えた
信号処理装置。
【請求項２】
出力画の各画素座標についての前記参照座標に基づいて、前記入力画の画素データを記憶する記憶部から参照画素データを読み出す参照画素取得部と、
前記参照画素データを用いた補間処理を行い、出力画を構成する画素データを生成する補間部と、を備えた
請求項１に記載の信号処理装置。
【請求項３】
前記第２仮想線は、複数の前記第１仮想線のそれぞれについて、それぞれの姿勢情報で示される回転角度の回転が与えられた複数の線である
請求項１に記載の信号処理装置。
【請求項４】
前記姿勢対応付け部は、出力画の各画素座標について、前記対応する第２仮想線として、画素座標が挟まれる関係となる２つの第２仮想線を求め、該２つの第２仮想線を用いた処理により画素座標の姿勢情報を求める
請求項１に記載の信号処理装置。
【請求項５】
前記姿勢対応付け部は、複数のそれぞれの第２仮想線について、第２仮想線上のベクトルとその第２仮想線上から処理対象である画素座標に向かうベクトルの外積を用いて、該画素座標に対応する第２仮想線となる２つの第２仮想線を判定する
請求項４に記載の信号処理装置。
【請求項６】
前記姿勢対応付け部は、対応する２つの第２仮想線への処理対象の画素座標からの垂線の距離の逆比で線形補間を行って、該画素座標の姿勢情報を求める
請求項４に記載の信号処理装置。
【請求項７】
前記姿勢情報は撮像装置の傾きを３次元のベクトルで表す回転ベクトルである
請求項１に記載の信号処理装置。
【請求項８】
前記姿勢対応付け部及び前記画像変形部に対して、処理対象とする出力画の各画素座標を順次指示する出力画座標生成部を備える
請求項１に記載の信号処理装置。
【請求項９】
前記姿勢対応付け部及び前記画像変形部は、座標点を対象とする演算により、出力画の各画素座標の画素値の生成のために参照する入力画の画素座標を計算し、参照座標とする
請求項１に記載の信号処理装置。
【請求項１０】
入力画の画素データを記憶する記憶部を備える
請求項１に記載の信号処理装置。
【請求項１１】
前記参照座標は、出力画において入力画の姿勢補正とレンズ歪み補正を実現するための参照座標とされている
請求項１に記載の信号処理装置。
【請求項１２】
入力画は、姿勢検出データが対応づけられた撮像画像信号である
請求項１に記載の信号処理装置。
【請求項１３】
前記姿勢検出データは、角速度データ及び加速度データである
請求項１２に記載の信号処理装置。
【請求項１４】
光学系を介して入射する被写体光を受光して被写体を撮像する撮像部と、
撮像部の撮像時の姿勢検出データを得る検出部と、
前記姿勢検出データを用いて前記撮像部からの入力画のラインに対応する姿勢情報を算出する姿勢算出部と、
算出される姿勢情報が共通となる入力画のライン方向の仮想的な線である第１仮想線を姿勢情報に応じて回転させて出力画上の仮想的な線である第２仮想線を求め、出力画の各画素について対応する第２仮想線を算出し、前記対応する第２仮想線に基づいて姿勢情報を求める姿勢対応付け部と、
出力画の各画素座標について、前記姿勢対応付け部で対応づけられた姿勢情報を用いてその画素座標に対応する入力画上の参照座標を算出する画像変形部と、
出力画の各画素座標についての前記参照座標に基づいて、前記入力画の画素データを記憶する記憶部から参照画素データを読み出す参照画素取得部と、
前記参照画素データを用いた補間処理を行い、出力画を構成する画素データを生成する補間部と、を備えた
撮像装置。
【請求項１５】
入力画のラインに対応する姿勢情報を算出する姿勢算出処理と、
算出される姿勢情報が共通となる入力画のライン方向の仮想的な線である第１仮想線を姿勢情報に応じて回転させて出力画上の仮想的な線である第２仮想線を求め、出力画の各画素について対応する第２仮想線を算出し、前記対応する第２仮想線に基づいて姿勢情報を求める姿勢対応付け処理と、
出力画の各画素座標について、前記姿勢対応付け処理で対応づけられた姿勢情報を用いてその画素座標に対応する入力画上の参照座標を算出する変換処理と、
を信号処理装置が行う信号処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は信号処理装置、撮像装置、信号処理方法に関し、特に撮像装置（カメラ）のローリングシャッター歪の補正技術に関する。
【背景技術】
【０００２】
撮像装置（カメラ）においては、手ぶれ補正として光学式手振れ補正（ＯＩＳ：Optical Image Stabilizer）や電子式手振れ補正（ＥＩＳ：Electronic Image Stabilization）が知られており、これらにより撮像装置の振れが画像に与える影響を抑制することができる。
例えば電子式手振れ補正では、画像から動き量を求める方法により手振れを補正するように画像処理が行われる。しかしながら、この方法では、計算処理が複雑であったり、低照度下での動き量の測定精度が低下したり、動被写体による手振れ量の推定誤差が発生したりするため、手振れ補正の精度が低下することがあった。
【０００３】
これに対し、ジャイロセンサや加速度センサなどにより検出されるモーションセンサ情報を用いる電子式手振れ補正が提案されている。
ところが、モーションセンサ情報を用いる従来の電子式手振れ補正では、移動量に合わせて画像全体の位置を移動させるだけであり、画像面内での位置による移動量の違いに対応することは困難であった。
特に、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサのようなローリングシャッターを用いた撮像素子を用いた場合には、画素のラインごとの露光時間のズレによる一画面内での移動量の違い（フォーカルプレーン現象）に対する対応は行われていなかった。
【０００４】
そこで本出願人は、特許文献１に開示されているように、画像面内での位置による移動量の違いや、一画面内での露光時間のズレによる移動量の違いに対応して手振れ補正を行うことができる撮像装置を提案している。この手振れ補正を採用することで、中央から周辺まで非常に精度よく手振れを補正することができるのに加え、フォーカルプレーン現象による変形も抑制することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１４／１５６７３１号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、特許文献１に開示されている手振れ補正により良好な効果を得ることができるが、特にローリングシャッター方式で撮像された画像について、フォーカルプレーン現象による変形（ローリングシャッター歪）をさらに適切に補正することが求められている。
本開示は、このような状況に鑑みて、より高精度の歪補正を実現できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本技術に係る信号処理装置は、入力画のラインに対応する姿勢情報を算出する姿勢算出部と、算出される姿勢情報が共通となる入力画のライン方向の仮想的な線である第１仮想線を姿勢情報に応じて回転させて出力画上の仮想的な線である第２仮想線を求め、出力画の各画素について対応する第２仮想線を算出し、前記対応する第２仮想線に基づいて姿勢情報を求める姿勢対応付け部と、出力画の各画素座標について、前記姿勢対応付け部で対応づけられた姿勢情報を用いてその画素座標に対応する入力画上の参照座標を算出する画像変形部と、を備える。
このような信号処理装置は、ローリングシャッター方式で撮像された画像の歪補正に適用できる。即ちローリングシャッター方式で撮像した画像におけるカメラの姿勢情報は、カメラ姿勢が変化していると、ラインによって異なることになる。カメラ姿勢の変化が大きい場合、第１仮想線としてのラインの姿勢情報を、座標変換して切り出す出力画像について使用すると、必ずしも画素毎の適切な姿勢情報が得られない。そこで第２仮想線を算出し、出力画の画素に対応する姿勢情報を得るようにする。
なお第１仮想線は、１フレームの撮像画像のライン毎、又は間欠的なライン毎に検出されるデータ（例えばＩＭＵサンプル等）から求められる姿勢情報に対応する線であり、例えば入力画のラインに対応する直線である。１フレームに複数の第１仮想線が存在するといえる。１つの第１仮想線に相当するラインの画素は、姿勢情報が同じ値となる画素となる。
第２仮想線は例えば第１仮想線の座標変換で得られる線であるが、例えば直線、折れ線、或いは曲線とすることが想定される。
【０００８】
上記した本技術に係る信号処理装置においては、出力画の各画素座標についての前記参照座標に基づいて、前記入力画の画素データを記憶する記憶部から参照画素データを読み出す参照画素取得部と、前記参照画素データを用いた補間処理を行い、出力画を構成する画素データを生成する補間部と、を備えることが考えられる。
即ち出力画の各画素を得るために、各画素について求められた参照座標により、入力画の画素データを取得し、補間処理を行う。
【０００９】
上記した本技術に係る信号処理装置においては、前記第２仮想線は、複数の前記第１仮想線のそれぞれについて、それぞれの姿勢情報で示される回転角度の回転が与えられた複数の線であることが考えられる。
即ち第２仮想線は、出力画上で入力画の第１仮想線のそれぞれのラインを、各姿勢情報に対応する回転角度を与えるようにすることで、出力画上で傾きを持つ二次元的に表現される線とする。
【００１０】
上記した本技術に係る信号処理装置においては、前記姿勢対応付け部は、出力画の各画素座標について、前記対応する第２仮想線として、画素座標が挟まれる関係となる２つの第２仮想線を求め、該２つの第２仮想線を用いた処理により画素座標の姿勢情報を求めることが考えられる。
第２仮想線は、出力画上で入力画のラインを投影した、二次元的に表現される線であるが、ライン毎に回転角が変わるため、必ずしも入力画と出力画で格子点（画素座標）が一致しない。そこで画素座標を挟み込む２つの第２仮想線を用いて姿勢情報を求める。
【００１１】
上記した本技術に係る信号処理装置においては、前記姿勢対応付け部は、複数のそれぞれの第２仮想線について、第２仮想線上のベクトルとその第２仮想線上から処理対象である画素座標に向かうベクトルの外積を用いて、該画素座標に対応する第２仮想線となる２つの第２仮想線を判定することが考えられる。
即ち注目画素座標を挟む関係となる２つの第２仮想線をベクトルの外積を用いて判定する。
【００１２】
上記した本技術に係る信号処理装置においては、前記姿勢対応付け部は、対応する２つの第２仮想線への処理対象の画素座標からの垂線の距離の逆比で線形補間を行って、該画素座標の姿勢情報を求めることが考えられる。
注目画素座標を挟む関係となる２つの第２仮想線は、それぞれ姿勢情報を示す線である。その各姿勢情報を用い、処理対象の画素座標からの２つの第２仮想線の距離の比に応じた補間を行う。
【００１３】
上記した本技術に係る信号処理装置においては、前記姿勢情報は撮像装置の傾きを３次元のベクトルで表す回転ベクトルであることが考えられる。
回転ベクトルとは、ベクトルの向きで回転軸を表し、ベクトルの大きさで回転量（単位 radian）を表すものである。
【００１４】
上記した本技術に係る信号処理装置においては、前記姿勢対応付け部及び前記画像変形部に対して、処理対象とする出力画の各画素座標を順次指示する出力画座標生成部を備えることが考えられる。
例えば画像の各画素を水平方向及び垂直方向に順次指定していくカウンタによりラスタ順などとして各画素が順次姿勢対応付け部と画像変形部での処理対象とされるようにする。
【００１５】
上記した本技術に係る信号処理装置においては、前記姿勢対応付け部及び前記画像変形部は、座標点を対象とする演算により、出力画の各画素座標の画素値の生成のために参照する入力画の画素座標を計算し、参照座標とすることが考えられる。
つまり画像データ（各画素データ）を使用するものではなく、座標の対応関係を求める演算を行う。
【００１６】
上記した本技術に係る信号処理装置においては、入力画の画素データを記憶する記憶部を備えることが考えられる。
撮像された入力された入力画は、例えばブロック変換などの必要な処理が施されて記憶部に記憶される。
【００１７】
上記した本技術に係る信号処理装置においては、前記参照座標は、出力画において入力画の姿勢補正とレンズ歪み補正を実現するための参照座標とされていることが考えられる。
撮像され入力された入力画は、レンズを通してイメージャに入射された被写体光の信号であるため、レンズ歪みの影響を受けている。そこで画像（座標）を回転するにあたっては、まず入力画のレンズ歪みの影響を取り除くようにする。
【００１８】
上記した本技術に係る信号処理装置においては、入力画は、姿勢検出データが対応づけられた撮像画像信号であることが考えられる。
撮像装置（カメラ）によって撮像された撮像画像信号が入力画とされるが、この撮像画像信号にはカメラの姿勢検出データ、例えばＩＭＵサンプルが対応づけられている。
【００１９】
上記した本技術に係る信号処理装置においては、前記姿勢検出データは、角速度データ及び加速度データであることが考えられる。
即ちＩＭＵサンプルが撮像画像信号に対応づけられている。
【００２０】
本技術に係る撮像装置は、光学系を介して入射する被写体光を受光して被写体を撮像する撮像部と、撮像部の撮像時の姿勢検出データを得る検出部と、上記信号処理装置としての姿勢算出部、姿勢対応付け部、画像変形部、参照画素取得部、補間部とを備える。
これにより撮像装置において適切な歪補正を行う信号処理装置が搭載されるものとなる。
【００２１】
本技術に係る信号処理方法は、入力画のラインに対応する姿勢情報を算出する姿勢算出処理と、算出される姿勢情報が共通となる入力画のライン方向の仮想的な線である第１仮想線を姿勢情報に応じて回転させて出力画上の仮想的な線である第２仮想線を求め、出力画の各画素について対応する第２仮想線を算出し、前記対応する第２仮想線に基づいて姿勢情報を求める姿勢対応付け処理と、出力画の各画素座標について、前記姿勢対応付け処理で対応づけられた姿勢情報を用いてその画素座標に対応する入力画上の参照座標を算出する変換処理と、を信号処理装置が行う信号処理方法である。
これによりローリングシャッター方式で撮像した画像について、カメラ姿勢変化が大きい場合でも、出力画の画素に対応する姿勢情報を適切に得ることができる。
【発明の効果】
【００２２】
本技術によれば、出力画の各画素位置に、適切なカメラ姿勢情報を対応させることが可能になり、姿勢変化が大きくても、歪補正を精度良く行うことができる。
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００２３】
【図１】本技術の第１の実施の形態の信号処理装置のブロック図である。
【図２】ＥＩＳ処理の説明図である。
【図３】実施の形態の回転ベクトルの説明図である。
【図４】実施の形態の回転ベクトルと画像入力の関係の説明図である。
【図５】実施の形態のレンズ歪補正と回転の説明図である。
【図６】実施の形態の出力画に対応する入力画の座標算出の説明図である。
【図７】ＥＩＳ処理での入力画枠と出力画枠の説明図である。
【図８】カメラ姿勢が理想姿勢のときの第１仮想線と第２仮想線の説明図である。
【図９】カメラ姿勢が理想姿勢でないときの第１仮想線と第２仮想線の説明図である。
【図１０】第１仮想線を用いて出力画の姿勢情報を得る場合の説明図である。
【図１１】出力画の座標について回転情報が不明なことの説明図である。
【図１２】第２仮想線を用いて出力画の姿勢情報を得る場合の説明図である。
【図１３】入力画からの回転及び補間による出力画の情報を得ることの説明図である。
【図１４】実施の形態の出力画の姿勢情報取得のための処理の説明図である。
【図１５】実施の形態の出力画の姿勢情報取得のための処理の説明図である。
【図１６】実施の形態の出力画の姿勢情報取得のための処理の説明図である。
【図１７】実施の形態の出力画の姿勢情報取得のための処理の説明図である。
【図１８】実施の形態のカメラ姿勢対応付け処理のフローチャートである。
【図１９】第２の実施の形態の信号処理装置のブロック図である。
【発明を実施するための形態】
【００２４】
以下、実施の形態を次の順序で説明する。
＜１．第１の実施の形態の信号処理装置の構成＞
＜２．信号処理装置の動作＞
＜３．カメラ姿勢対応付け処理＞
＜４．第２の実施の形態の信号処理装置の構成＞
＜５．まとめ及び変形例＞                      
【００２５】
＜１．第１の実施の形態の信号処理装置の構成と動作概要＞
図１に第１の実施の形態の信号処理装置３０の構成例を示す。
この図１では撮像装置３１の一部の構成を示しており、信号処理装置３０は、撮像装置３１に内蔵される例とする。
【００２６】
撮像装置３１は、ＩＭＵ（inertial measurement unit：慣性計測装置）１０、イメージャ１１、及び信号処理装置３０を有する。
【００２７】
ＩＭＵ１０は３軸方向の角速度と加速度を検出する装置であり、ここではカメラ姿勢を検出するユニットとして搭載される。ＩＭＵ１０による姿勢検出データ（例えば角速度や加速度のＩＭＵデータ）は、所定のサンプルタイミング毎にイメージャ１１に供給される。
なお、姿勢検出データの取得のためには、ＩＭＵに限らず各種のモーションセンサが想定される。また姿勢検出の軸方向として６軸または９軸方向の動きを検出可能なものを使用してもよい。
【００２８】
イメージャ１１には、撮像素子部及び撮像信号処理部が設けられている。イメージャ１１における撮像素子部は複数の画素が行列状に配置された撮像面を有する。そして撮像素子部は、図示しない光学系により被写体からの光が集光され撮像面に結像される被写体の像を撮像し、その撮像により取得される画像信号を出力する。
得られた画像信号についてはイメージャ１１内の撮像信号処理部でＡＧＣ（Automatic Gain Control）処理やＡ／Ｄ変換（アナログ−デジタル変換）等の処理が施され、例えばＲＡＷ画像データとしてイメージャ１１から出力される。例えばＲＡＷ画像データは４Ｋ×２Ｋの画素による画像データとして出力される。
【００２９】
またイメージャ１１にはＩＭＵ１０用のインタフェースが実装されており、そのインタフェースを経由してＩＭＵ１０から出力されるＩＭＵデータを取り込む。そして、イメージャ１１はＲＡＷ画像データにＩＭＵデータを対応づけて出力する。
この場合、ＩＭＵデータには、対応するライン番号が示されるようにされる。イメージャ１１の撮像素子部はローリングシャッター方式で撮像を行うため、ライン毎に露光タイミングが異なる。一方でＩＭＵ１０は所定のサンプルタイミング毎にＩＭＵデータを出力する。例えば撮像画像の１フレームに複数のサンプルタイミングが含まれるようなタイミング関係となる。
そのため、１サンプルタイミングのＩＭＵデータは、１フレームの画像内のあるラインの露光タイミングに検出されたデータとなる。そこで、ＩＭＵデータにはライン番号が対応づけられるようにし、これによりＩＭＵデータと画像のラインの同期がとられるようにしている。
【００３０】
信号処理装置３０は、カメラ姿勢算出部１、参照座標計算部２、データ分離部３、ブロック変換部４、フレームバッファー５、キャッシュ６、補間フィルタ７を有する。
また参照座標計算部２は、カメラ姿勢対応付け部２１、出力画座標カウンタ２２、ホモグラフィイ変換部２３、レンズ歪補正部２４を有する。
【００３１】
データ分離部３は、イメージャ１１から供給されるＩＭＵデータ付きＲＡＷ画像データを、画像データとＩＭＵデータに分離する。そして、データ分離部３は、ＩＭＵデータをカメラ姿勢算出部１に供給し、ＲＡＷ画像データ（入力画）をブロック変換部４に供給する。
【００３２】
ブロック変換部４は、４Ｋ×２Ｋの画像データを８×８画素の順にするブロック変換を行う。
ブロック変換された画像データは、ＲＡＷ画像データの８×８画素の順でフレームバッファー５に書き込まれる。フレームバッファー５は例えばＤＲＡＭ（Dynamic Random Access Memory）により構成される。
フレームバッファー５からは後述する参照座標ＲＣに基づいて、８×８画素のＲＡＷ画像データが読み出され、キャッシュ６に保持される。
キャッシュ６に読み出されたＲＡＷ画像データは補間フィルタ７（例えばLanczosフィルタ）により補間処理され、出力画ＰＯとしてのＲＡＷ画像データが出力される。
なお図示していないが、信号処理装置３０の後段には、現像処理系や記録系等の回路が設けられ、出力画ＰＯに対しては現像処理、圧縮処理等が施され、表示に供されたり、記憶媒体へ記憶されたり、或いは外部機器に送信されたりする。
【００３３】
ここで補間フィルタ７を介した出力画ＰＯとしてのＲＡＷ画像データは、ＥＩＳとしての振れ補正、レンズ歪補正とともにローリングシャッター歪に対する補正が施された画像データとなっている。これらの補正のための参照座標ＲＣを生成する処理が、カメラ姿勢算出部１と参照座標計算部２で行われる。
【００３４】
カメラ姿勢算出部１は、ＩＭＵデータに基づいて、本実施の形態において姿勢情報として用いる回転ベクトルを求める。回転ベクトルについては後述する。
回転ベクトルは信号処理装置３０のカメラ姿勢対応付け部２１に供給される。
【００３５】
信号処理装置３０において、カメラ姿勢対応付け部２１は、出力画の各画素座標について、対応する姿勢情報（回転ベクトル）を対応づける。
またホモグラフィイ変換部２３は、出力画ＰＯの各画素座標について、カメラ姿勢対応付け部２１で対応づけられた姿勢情報を用いてその画素座標に対応する入力画上の参照座標を算出する処理（画像変形処理）を行う。
出力画座標カウンタ２２は、水平方向及び垂直方向に配列された画素を指定するカウンタである。出力画座標カウンタ２２は、その水平方向及び垂直方向のカウント値をカメラ姿勢対応付け部２１及びホモグラフィイ変換部２３に対して供給することで、処理対象とする出力画の各画素座標を順次指示する。
レンズ歪補正部２４は、出力画ＰＯの各画素座標に対応する入力画上の参照座標を対象として更にレンズ歪補正に対応する補正処理を行う。
以上の結果得られた参照座標がキャッシュ６に供給され、出力画ＰＯの生成が行われる。
【００３６】
この構成において、詳細は後述するが、カメラ姿勢対応付け部２１は、算出される姿勢情報が共通となる入力画のライン方向の仮想的な線である第１仮想線を、姿勢情報に応じて回転させて出力画上の仮想的な線である第２仮想線を求め、出力画の各画素について、対応する第２仮想線を算出し、対応する第２仮想線に基づいて姿勢情報を求める処理を行うようにしている。このようにすることで、ＥＩＳ処理の過程で、ローリングシャッター歪みを高い精度で補正できるようにしている。
【００３７】
＜２．信号処理装置の動作＞
このような信号処理装置３０による動作を説明する。
まず図２によりＥＩＳを模式的に説明する。ＥＩＳでは撮像された画像からカメラの傾き・動きの影響を取り除く処理を行う。
例えば図２Ａは傾いたカメラで撮像した様子を示している。ここでの傾いた状態とは、カメラがロール方向に傾いて水平・垂直方向が保たれていない状態である。この場合、撮像により得られる画像データは図２Ｂのように被写体が傾いた状態となる。
このような画像データに対して、ＥＩＳ処理によりカメラの傾きと同じ方向に画像を回転させることで、図２Ｃの画像データを得ることができる。この図２Ｃの画像データは、図２Ｄのようにまっすぐの姿勢（ロール方向に傾きがない姿勢）のカメラで撮像した場合の画像と同様になる。
このように姿勢の傾きに対する回転を行うが、これは、入力画から、入力画サイズより小さいサイズの出力画を切り出す際に、切り出す画素範囲を姿勢情報に基づいて回転させることで実現する。
【００３８】
ここで姿勢情報としての回転ベクトルを図３で説明する。
回転ベクトルはカメラ姿勢を３次元のベクトルで表現するものである。
即ち回転ベクトルとはカメラの傾き（回転）を表すベクトルである。
ベクトルの向きで回転軸を表し、ベクトルの大きさで回転量ｒ（単位：radian）を表す。
回転の正負は回転ベクトルの先から見て逆時計まわりが正とする。
回転量（ベクトルの大きさ）には一意性を保証するため例えば０≦||ｒ||≦２πのような制限を設ける。
【００３９】
回転ベクトル入力と画像入力との関係を図４に示す。
カメラを動かしながら撮像するときは、１フレームの間でも回転ベクトルは変化していくことになる。
回転ベクトルの元になるＩＭＵデータが、例えば数ラインおきに取得されるとすると、回転ベクトルｒ0、ｒ1、ｒ2、ｒ3も図示のように数ラインおきに取得される。ここでは垂直同期信号Vsyncで示される１フレームの期間に４つの回転ベクトルが取得されることを示しているが、これはあくまでも説明上の一例である。この場合は、フレームの上方１／４の画像に対応して回転ベクトルｒ0、次の１／４の画像に対して回転ベクトルｒ1、次の１／４の画像に対して回転ベクトルｒ2、最後の１／４の画像に対して回転ベクトルｒ3が、それぞれ対応することになる。
ここで第１仮想線Ｌ１は同じ値の回転ベクトルが対応する仮想的なラインを示している。
【００４０】
参照座標計算部２では、このような入力画像に対応する回転ベクトルの位置を出力座標に変換する。これは、図５のように、入力画での回転ベクトルを示す第１仮想線Ｌ１を出力座標系における第２仮想線Ｌ２に変換するものといえる。
回転ベクトルの位置を出力画に変換するには、入力画と同じ変換を加える必要がある。そこで図５に示すように、始めに入力画についてレンズ歪みを取り除き、そのあと、カメラと同じ向きに回転させる。これが出力座標系に変換したものとなる。
【００４１】
続いて図６に示すように、出力画像の各点Ｐ（ｕｏ，ｖｏ）に対し、対応する入力画像の点Ｐ（ｕｉ，ｖｉ）を求める。
即ち出力画の各画素の点に対して、入力画のどこを参照するかを求めるものである。
【００４２】
図６の出力座標は、出力画ＰＯとしての画素座標である、ある注目画素の点Ｐ（ｕｏ，ｖｏ）を示している。その点Ｐ（ｕｏ，ｖｏ）に対応する入力画像の点Ｐ（ｕｉ，ｖｉ）は、点Ｐ（ｕｏ，ｖｏ）に対応する回転ベクトルｒ（ｕｏ，ｖｏ）を用いて逆回転させる。
このときに、点Ｐ（ｕｏ，ｖｏ）に対応する回転ベクトルｒ（ｕｏ，ｖｏ）は、上述の第２仮想線Ｌ２を用いて算出することで、フレーム内で変化する回転ベクトルの値のうちで、正しく対応する回転ベクトルを判定できる。つまり点Ｐ（ｕｏ，ｖｏ）に対し、正しい回転ベクトルｒを判定し、その逆回転として正しい回転量を与えることができる。
そして、その逆回転の後、入力画像と同じになるようにレンズ歪を付加することで、入力座標上での対応点である点Ｐ（ｕｉ，ｖｉ）がわかる。
【００４３】
出力座標上の全ての画素座標について、このように対応する入力座標上の点が求められることで、切り出すべき範囲が設定される。
つまり、出力画の全ての画素の座標に対して、入力画上での位置を参照座標として求めることで、ＥＩＳとしての回転補正のために入力画から切り出す画素範囲が求められることになる。
これはフレームバッファー５からキャッシュ６に読み出す画素データを指定するものとなるが、それは即ち、回転方向の補正を加えて、入力画のうちで出力画として切り出す範囲を指定するものとなる。
参照座標は、出力画の各画素に対する入力画の座標であるが、出力画の座標点が、必ずしも入力画の画素としての座標点に対応するわけではないので、参照座標は小数点を含む座標値となる。
【００４４】
なお図５，図６においてレンズ歪みを考慮しているのは、被写体光はカメラのレンズを通して撮像素子部に入るため、入力画としての画像データはレンズ歪みの影響を受けているためである。
そのためＥＩＳにおいて回転するにあたっては、まず入力画のレンズ歪みの影響を取り除くようにしているためである。
【００４５】
そして本実施の形態の場合、出力座標に対応する入力座標上での対応点を求めるにあたって仮想的な第２仮想線Ｌ２を用いることで、ラインと垂直方向の回転ベクトルの変化に対して精度の高い対応点算出を行うようにしている。これによってローリングシャッター歪みも精度よく補正する。
以下では、実施の形態で以上のような動作を行う理由について述べるとともに、その動作を詳細に説明する。
【００４６】
まず図７は入力画枠ＷＩと出力画枠ＷＯを示している。これは出力画を水平方向及び垂直方向に入力画の半分の画素数とする例である。
ここでライン番号に注目すると、ライン番号v_inは入力画の姿勢が対応するライン番号である。
ライン番号v_outは、出力画の姿勢が対応するライン番号である。
そしてv_out = v_in− (VSIZE_IN−VSIZE_OUT)／２となる。
出力画では０≦v_out ≦（VSIZE_OUT−１）の範囲の姿勢情報を使用することになる。
【００４７】
ここで図８のように、カメラ姿勢が理想姿勢のときの入力画枠ＷＩと出力画枠ＷＯにおける第１仮想線Ｌ１考える。
第１仮想線Ｌ１は、１フレームの撮像画像の各ライン毎、又は間欠的なライン毎に検出されるデータ（例えばＩＭＵサンプル等）から求められる回転ベクトル（姿勢情報）に対応する仮想的な線（例えば直線）であり、１フレームに複数の第１仮想線Ｌ１が存在するといえる。
【００４８】
撮像を行ったカメラが理想姿勢（もともと水平がとれたカメラ姿勢）であれば、先の図７の出力画枠ＷＯとして、入力画枠ＷＩの中央を切り出せば良い。
すると、カメラ姿勢が対応する入力画上の第１仮想線Ｌ１は、カメラ姿勢が対応する出力画上の線としても問題ない。
つまり上述のように第２仮想線Ｌ２を用いる必要はない。
【００４９】
ところが理想姿勢でないときは、精度が低下する。
図９にカメラ姿勢が理想姿勢でないときの入力画枠ＷＩと出力画枠ＷＯを示している。
理想姿勢でないときは例えば図示のように、入力画枠ＷＩに対する出力画枠ＷＯの位置、形状が変化する。
ここで、本実施の形態の第２仮想線Ｌ２を用いない場合は、出力画枠ＷＯに対しては、姿勢情報に関して第１仮想線Ｌ１’を想定した状態で、各画素の入力画枠ＷＩでの対応点を求めるようにしていた。第１仮想線Ｌ１’は出力画における水平方向の画素ラインに相当する線である。
ところが、その場合、第１仮想線Ｌ１と第１仮想線Ｌ１’がずれているため、出力画の各画素座標の姿勢情報が、入力画の姿勢情報と結びつかない。
本実施の形態では、このような出力画枠ＷＯに対して、破線で示すように第２仮想線Ｌ２を計算し、これにより、第１仮想線Ｌ１に正しく対応した状態で、対応点計算を行うことになる。
【００５０】
そもそも第１仮想線Ｌ１’を用いていたのは以下の理由による。
ローリングシャッター歪みを補正するには、１フレーム期間に取得された複数のＩＭＵデータサンプルによって算出された、複数のカメラ姿勢の中から、各ラインの露光タイミングに近いカメラ姿勢を用いて、ライン毎に歪を補正することが必要である。
しかし、出力画の画素位置が、入力画の複数のカメラ姿勢のうち、どれに対応するかを求めるのが困難だったため、簡易的に、カメラ姿勢が変化しない前提の対応を用いていたものである。カメラ姿勢が変化しないのであれば、第１仮想線Ｌ１と第１仮想線Ｌ１’がずれていても、実際の姿勢情報に違いは生じないため問題はない。このような手法は、カメラ姿勢を出力画の「横方向の１次元のライン」に対応させていたものといえる。
【００５１】
より具体的にいえば、このような手法は、まず図１０Ａのように、入力画とＩＭＵサンプル（カメラ姿勢）の対応づけを行う。図では各第１仮想線Ｌ１の姿勢情報のサンプルＳＰ１〜ＳＰ４を示している。
次に図１０Ｂのように出力画とＩＭＵサンプルの対応づけを行う。このとき簡易的に、姿勢変化がない前提でライン番号を変換する。
ここで注目画素ＡＴＧについて入力座標上での対応点を探索する。そして図１０Ｃのように、注目画素近傍２サンプル（ＳＰ１，ＳＰ２）をみつけ、注目画素を挟むサンプルＳＰ１，ＳＰ２の姿勢情報で線形補間を行うことで、注目画素ＡＴＧについての姿勢情報を取得する。
【００５２】
このような手法は簡易である一方、カメラ姿勢が変化しないことを前提とするため、カメラ姿勢変化が大きい場合、カメラ姿勢と出力画の画素位置の対応が理想とずれ、ローリングシャッター歪補正がうまく機能しないことになってしまう。
例えば、カメラ姿勢が光軸周りに９０度回転していた場合、カメラ姿勢は出力画の縦ラインに対応すべきだが横に対応させることになってしまう。
また例えばカメラ姿勢が光軸周りに１８０度回転していた場合、カメラ姿勢と出力画のラインの対応が上下反対になってしまっていた。このような場合、ローリングシャッター歪みを強調するようなこととなってしまう。
【００５３】
これを解消するには、出力画の各画素座標について、バックワードマッピングにより入力画の対応点を正確に探索すればよい。ところが、出力画の各画素座標についての回転行列が不明なため、そのようなことができない。
これは、姿勢情報（姿勢情報に基づく回転情報）は入力画のラインに紐づいているものであり、出力画の画素からは変換元のアドレスがたどれないためである。
図１１には、入力画から、歪補正、ホモグラフィイ変換（ＥＩＳ）、リサイズを行って出力画を得ることを模式的に示している。
しかし出力画側からみると、リサイズ前のホモグラフィイ変換に対する逆変換の回転行列が不明であり、これによって入力画の対応点までたどることができない。
【００５４】
そこで本実施の形態としては、フォワードマッピングと補間で近似する手法により、出力画の画素座標に対する入力画での対応点（対応点における姿勢情報）が精度よく求められるようにする。
即ちホモグラフィイ変換での回転情報は、入力画の第１仮想線Ｌ１をフォワードマッピングでホモグラフィイ変換することで、第２仮想線Ｌ２を生成し、対応する回転情報を伝搬する。そして出力画素の座標に応じて、姿勢情報を補間する。
【００５５】
図１２Ａに図１０Ａと同様に、入力画とＩＭＵサンプル（カメラ姿勢）の対応（第１仮想線Ｌ１）を示している。この第１仮想線Ｌ１について２次元的な対応付けを行う。
そして図１２Ｂのように、この第１仮想線Ｌ１を、それぞれのＩＭＵサンプルＳＰ１〜ＳＰ４に対応するカメラ姿勢情報を用いて、入力画の露光タイミングのラインが対応する出力画上の第２仮想線Ｌ２を、正しいホモグラフィイ計算により算出する（フォワードマッピング)。
これは、カメラ姿勢を、出力画の「傾きを持った２次元的な第２仮想線Ｌ２」に対応させるものとなる。
具体的には、入力画のラインを表す第１仮想線Ｌ１のベクトル表現を、カメラ姿勢を表す回転行列で回転させ、透視投影することで、出力画の（傾きを持った二次元的な）第２仮想線Ｌ２のベクトル表現に対応させる。
【００５６】
その後、図１２Ｃのように、出力画の各画素（注目画素ＡＴＧ）について、２次元的な第２仮想線Ｌ２の中から、その注目画素ＡＴＧの位置を挟む線２本を探索する。
この場合、第２仮想線Ｌ２は二次元的な直線なので、直線と点の位置関係の方程式を外積を使って求めることができる。具体的には直線と点の位置関係が変わるとき、ベクトルの外積の符号（＋／−）が変わることを利用する。
そして近傍２サンプルの姿勢情報を線形補間することで、注目画素ＡＴＧの姿勢情報を算出する。
このような処理により、カメラ姿勢の変化に関わらず、出力画の各画素について、精度よく姿勢情報を得ることができる。
【００５７】
ここで図１３Ａに入力画における画素を示す。破線は第１仮想線Ｌ１を示すとする。図１３Ｂは回転された第２仮想線Ｌ２と、入力画の画素及び出力画の範囲を示している。
図１３Ｂの状態でフォワードマッピングされた入力画では、それぞれの第１仮想線Ｌ１毎に回転が変わるので、格子点からの垂線Ｈをホモグラフィイ変換して伸ばしても、隣の格子点と交わらない。
また出力画素Ｇ０についてみると、必ずしもフォワードマッピングの上に乗らないので、出力座標に合わせた補間処理が必要となる。
そして格子点を通る垂線が交わらないので解析的に解く補間は使えないことになる。
【００５８】
これらのことを考慮して、本実施の形態では、出力画素座標に対応する姿勢情報を求めるために、以下のような補間処理を行うようにする。
【００５９】
図１４は、入力画における出力画枠ＷＯを示し、また各ＩＭＵサンプルＳＰ１，ＳＰ２，ＳＰ３に対応する第１仮想線Ｌ１として、第１仮想線Ｌ１−１，Ｌ１−２，Ｌ１−３を示している。
各第１仮想線Ｌ１（Ｌ１−１，Ｌ１−２，Ｌ１−３）上に、２つの点Ａｎ，Ｂｎをおく。（ｎ＝１，２，３・・・）
図ではＩＭＵサンプルＳＰ１の第１仮想線Ｌ１−１上にＡ１、Ｂ１を設定し、ＩＭＵサンプルＳＰ２の第１仮想線Ｌ１−２上にＡ２、Ｂ２を設定し、ＩＭＵサンプルＳＰ３の第１仮想線Ｌ１−３上にＡ３、Ｂ３を設定した状態を示している。
【００６０】
このそれぞれの２つの点Ａｎ，Ｂｎを、図１５に示すように、そのＩＭＵサンプル（ＳＰ１，ＳＰ２，ＳＰ３）に対応する回転行列の転置で出力画に射影する。
出力画に対して、第１仮想線Ｌ１−１，Ｌ１−２，Ｌ１−３がそれぞれ回転された第２仮想線Ｌ２（Ｌ２−１，Ｌ２−２，Ｌ２−３）が得られる。
【００６１】
ここで、出力画の座標上で、注目画素ＡＴＧと各ＩＭＵサンプルの第２仮想線Ｌ２との位置関係を判定する。具体的には、注目画素ＡＴＧが、各第２仮想線Ｌ２−１，Ｌ２−２，Ｌ２−３に対して、上にあるか、直線上か、下にあるか、を判定する。
そのために図１６に示す、ベクトルＡｎ→ＡＴＧと、ベクトルＡｎ→Ｂｎの外積を計算する。
ベクトルＡｎ→ＡＴＧとは、第２仮想線Ｌ２−１については点Ａ１から注目画素ＡＴＧへのベクトル、第２仮想線Ｌ２−２については点Ａ２から注目画素ＡＴＧへのベクトル、第２仮想線Ｌ２−３については点Ａ３から注目画素ＡＴＧへのベクトルである。
ベクトルＡｎ→Ｂｎとは、第２仮想線Ｌ２−１については点Ａ１から点Ｂ１へのベクトル、第２仮想線Ｌ２−２については点Ａ２から点Ｂ２へのベクトル、第２仮想線Ｌ２−３については点Ａ３から点Ｂ３へのベクトルである。
【００６２】
各第２仮想線Ｌ２について求められる外積の値はｚ軸の向きになる。
外積の符号が＋だと注目画素ＡＴＧは、その第２仮想線Ｌ２より上、
外積の絶対値が０だと注目画素ＡＴＧは、その第２仮想線Ｌ２上、
外積の符号が−だと注目画素ＡＴＧは、その第２仮想線Ｌ２の下
にいることになる。
図１６の場合、ｎ＝１，２，３のそれぞれで、外積は＋，＋，−になる。つまり、この場合、注目画素ＡＴＧは第２仮想線Ｌ２−２と第２仮想線Ｌ２−３の間にいることになる。
【００６３】
次に図１７のように、注目画素ＡＴＧと、上記のように選ばれた２つの第２仮想線Ｌ２−２，Ｌ２−３の距離ｌ２，ｌ３を求める。即ち注目画素ＡＴＧから第２仮想線Ｌ２−２，Ｌ２−３への垂線の長さである。
そして、第２仮想線Ｌ２−２（ＩＭＵサンプルＳＰ２）、第２仮想線Ｌ２−３（ＩＭＵサンプルＳＰ３）に対応する回転ベクトルｒ２，ｒ３を、距離ｌ３，ｌ２の重みで線形補完したものを、注目画素ＡＴＧの回転ベクトルｒとする。
【００６４】
以上により、注目画素ＡＴＧの回転ベクトルｒが求められる。
カメラ姿勢対応付け部２１が、このように第１仮想線Ｌ１を、姿勢情報に応じて回転させて出力画上の仮想的な直線である第２仮想線Ｌ２を求め、出力画の各画素について、対応する第２仮想線Ｌ２を算出し、対応する第２仮想線Ｌ２に基づいて姿勢情報を求める処理を行うことで、ローリングシャッター歪みを高い精度で補正できる。
【００６５】
＜３．カメラ姿勢対応付け処理＞
カメラ姿勢対応付け部２１の処理の具体例を図１８に示す。
カメラ姿勢対応付け部２１は、図１８のループ処理ＬＰ１として、画像データの１フレーム内の全ての回転ベクトルについて、ステップＳ１０１〜Ｓ１０２の処理を実行する。
【００６６】
ステップＳ１０１でカメラ姿勢対応付け部２１は、処理対象の回転ベクトルが対応する入力画像上の第１仮想線Ｌ１を求める。
ステップＳ１０２でカメラ姿勢対応付け部２１は、入力画上の第１仮想線Ｌ１を、その処理対象の回転ベクトルの値により回転させ、第２仮想線Ｌ２として出力画上にマッピングする。
【００６７】
全ての回転ベクトルについて以上の処理を終えたら、カメラ姿勢対応付け部２１は続いてループ処理ＬＰ２として、出力画の全画素（ピクセル）についてステップＳ２０１〜Ｓ２０５の処理を実行する。
【００６８】
ステップＳ２０１でカメラ姿勢対応付け部２１は、処理対象の画素（注目画素ＡＴＧの画素座標）を挟む近傍の２つの第２仮想線Ｌ２を探索する。これは上述の図１６のようにベクトル外積を計算することで求める。
ステップＳ２０２でカメラ姿勢対応付け部２１は、２つの第２仮想線Ｌ２の探索ができたか否かで処理を分岐する。
【００６９】
２つの第２仮想線Ｌ２が発見できた場合は、カメラ姿勢対応付け部２１はステップＳ２０３に進み、２つの第２仮想線Ｌ２と処理対象の注目画素ＡＴＧの間の距離を算出する。
そしてステップＳ２０４でカメラ姿勢対応付け部２１は、算出した距離の逆比で線形補間を行い、注目画素ＡＴＧの回転ベクトル（姿勢情報）を算出する。即ち図１７で説明した処理を行う。
【００７０】
ステップＳ２０２で２つの第２仮想線Ｌ２の探索ができないと判定された場合は、カメラ姿勢対応付け部２１はステップＳ２０５に進み、代替回転ベクトルを処理対象である注目画素ＡＴＧの回転ベクトル（姿勢情報）とする。
【００７１】
以上により、出力画の各画素座標について回転ベクトルが求められる。
その後、参照座標計算部２の処理として、各画素座標については、求められた回転ベクトルを用いて、入力画から切り出すべき参照座標が求められる。
その参照座標を用いてフレームバッファー５から読み出された入力画データからは、出力画の各画素座標の画素値が補間フィルタ７での補間処理により生成され、出力画ＰＯとして出力されることになる。これによってＥＩＳによるブレ補正とともにローリングシャッター歪補正がなされた出力画ＰＯが得られる。
【００７２】
＜４．第２の実施の形態の信号処理装置の構成＞
第２の実施の形態の信号処理装置３０の構成を図１９に示す。
この図１９の信号処理装置３０は、ＥＩＳ及びローリングシャッター歪みを補正する必要な構成を備えたものとして示している。
信号処理装置３０は、カメラ姿勢算出部１、参照座標計算部２、補間フィルタ７、メモリ８を備えている。参照座標計算部２は、カメラ姿勢対応付け部２１、出力画座標生成部２５、画像変形部２６を備えている。
【００７３】
メモリ８には、一体又は別体のカメラで撮像された画像データが入力画ＰＩとして書き込まれる。そしてメモリ８からは、参照座標ＲＣに基づいて入力画ＰＩ内の必要な画素のデータが読み出され、補間フィルタ７で補間処理が施されて出力画ＰＯとされる。
【００７４】
カメラ姿勢算出部１には、姿勢検出データＳＳが入力される。姿勢検出データＳＳは、例えば上述のＩＭＵデータ、或いはその他のカメラ姿勢に応じた検出データである。姿勢検出データＳＳが入力画ＰＩのラインに対応づけられている。
カメラ姿勢算出部１は、姿勢検出データＳＳを用いて姿勢情報、例えば回転ベクトルを算出して参照座標計算部２に供給する。
【００７５】
参照座標計算部２において、カメラ姿勢対応付け部２１は第１の実施の形態と同様の処理を行う。出力画座標生成部２５は、例えば図１の出力画座標カウンタ２２などのように注目画素座標を指示する。
画像変形部２６は、例えば図１のホモグラフィイ変換部２３のように座標ベースでの画像変形を行う。画像変形部２６はホモグラフィイ変換として例えば中心射影及び３次元回転でもよいし、他に仮想天球面にマップし回転させる変換、或いは等距離射影及び３次元回転などを行うようなものでもよい。
そして参照座標計算部２は当該構成により、第１の実施の形態と同様に出力画ＰＯの各画素座標に対応する参照座標ＲＣを求める処理を行う。
なおここでは図１のレンズ歪補正部２４は設けていない構成例を示している。
【００７６】
信号処理装置３０はこのような図１９の構成としても実現可能であり、この信号処理装置３０は、撮像装置に内蔵されるほか、撮像装置とは別体の装置とされてもよい。
【００７７】
＜５．まとめ及び変形例＞
以上の実施の形態によれば次のような効果が得られる。
実施の形態の信号処理装置３０は、入力画のラインに対応する姿勢情報を算出するカメラ姿勢算出部１を備える。また信号処理装置３０は、算出される姿勢情報が共通となる入力画のライン方向の仮想的な線である第１仮想線Ｌ１を、姿勢情報に応じて回転させて出力画上の仮想的な線である第２仮想線Ｌ２を求め、出力画の各画素について、対応する第２仮想線Ｌ２を算出し、対応する第２仮想線Ｌ２に基づいて姿勢情報を求めるカメラ姿勢対応付け部２１を備える。また信号処理装置３０は、出力画の各画素座標について、カメラ姿勢対応付け部２１で対応づけられた姿勢情報を用いてその画素座標に対応する入力画上の参照座標を算出する画像変形部（ホモグラフィイ変換部２３又は画像変形部２６）を備える。
即ち実施の形態では、入力画とＩＭＵサンプル（カメラ姿勢の第１仮想線Ｌ１）の対応として、各ＩＭＵサンプルに対応する姿勢で例えばホモグラフィ演算を行い、出力画に２次元的に第２仮想線Ｌ２をマップする。
また出力画とＩＭＵサンプルの対応として、注目画素の近傍２サンプル（２つの第２仮想線Ｌ２）の探索を行う。そして近傍２サンプル探索結果として、注目画素を挟む２つの第２仮想線Ｌ２の姿勢情報で線形補間を行い、画素の姿勢情報を得る。
これにより、出力画の各画素位置に、適切なカメラ姿勢を対応させることが可能になり、姿勢変化が大きくてもローリングシャッター歪補正を精度良く行うことができるようになる。
【００７８】
実施の形態の信号処理装置３０は、さらに、出力画の各画素座標についての参照座標に基づいて、入力画の画素データを記憶する記憶部から参照画素データを読み出す参照画素取得部（キャッシュ６又はメモリ８）と、参照画素データを用いた補間処理を行い、出力画を構成する画素データを生成する補間部（補間フィルタ７）を備えている。
即ち出力画の各画素を得るために、各画素について求められた参照座標により、入力画の画素データを取得し、補間処理を行う。
これによりＥＩＳ処理による出力画としての画像データ、即ちカメラ姿勢を水平な状態としたときに得られるような画像を得ることができる。
【００７９】
実施の形態では、第２仮想線Ｌ２は、複数の第１仮想線Ｌ１のそれぞれについて、それぞれの姿勢情報で示される回転角度の回転が与えられた複数の線であるとした。
即ち第２仮想線Ｌ２は、入力画でラインに対応した横方向の一次元の第１仮想線Ｌ１のそれぞれに対して、姿勢情報で示される回転角度と同じ回転を与えて出力画上で傾きを持つ二次元的に表現される線とする。従って各第１仮想線Ｌ１が異なる姿勢情報の場合には、各第２仮想線Ｌ２も、それぞれの姿勢情報に応じて回転された線となる。
つまりローリングシャッター方式で撮像した場合、入力画の各ラインに応じた姿勢情報はそれぞれ異なるものとなる場合があるが、それが第２仮想線Ｌ２にも反映される。
これにより、第２仮想線Ｌ２は入力画から切り出されて回転された出力画枠上の画素座標に対応した姿勢情報を表現されたものとなる。従って出力画の各画素に対して、姿勢情報を正しく対応づける線となる。
【００８０】
実施の形態のカメラ姿勢対応付け部２１は、出力画の各画素座標について、対応する第２仮想線Ｌ２として、画素座標が挟まれる関係となる２つの第２仮想線Ｌ２を求め、該２つの第２仮想線Ｌ２を用いた処理により画素座標の姿勢情報を求めるものとした。
第２仮想線Ｌ２は、出力画上で入力画のラインを投影した、二次元的に表現される線であるが、ライン毎に回転角が変わるため、必ずしも入力画と出力画で格子点（画素座標）が一致しない。そこで画素座標を挟み込む２つの第２仮想線Ｌ２を探索する。処理対象の注目画素を挟み込む２つの第２仮想線Ｌ２が得られれば、その注目画素の姿勢情報は、例えば２つの第２仮想線Ｌ２の各姿勢情報から線形補間により求めることができる。これにより、入力画と出力画とで画素座標の対応が一致していなくても、出力画の各画素座標について精度のよい姿勢情報を求めることができる。
【００８１】
実施の形態のカメラ姿勢対応付け部２１は、複数のそれぞれの第２仮想線Ｌ２について、第２仮想線Ｌ２上のベクトルとその第２仮想線Ｌ２上から処理対象である画素座標に向かうベクトルの外積を用いて、該画素座標に対応する第２仮想線Ｌ２となる２つの第２仮想線Ｌ２を判定するという例を挙げた。
即ち２つの第２仮想線Ｌ２の判定を、ベクトル外積の符号による直線と点の位置関係を利用して行う。外積を用いることで、出力画の注目画素と各第２仮想線の位置関係（注目画素の座標が第２仮想線より上にあるか、第２仮想線上か、第２仮想線より下にあるか）を判定することができ、注目画素に対応する２つの第２仮想線を的確に判定できる。
【００８２】
実施の形態のカメラ姿勢対応付け部２１は、対応する２つの第２仮想線Ｌ２への処理対象の画素座標からの垂線の距離の逆比で線形補間を行って、該画素座標の姿勢情報を求めるものとした。
これにより２つの第２仮想線Ｌ２に挟まれた位置状態に応じて正確且つ容易な補間演算で注目画素座標の姿勢情報を得ることができる。
【００８３】
実施の形態では、姿勢情報は撮像装置の傾きを３次元のベクトルで表す回転ベクトルとする例を挙げた。
回転ベクトルによりカメラの姿勢情報を表現できる。回転ベクトルで表される３次元の回転角度で回転させることで、ＥＩＳのための参照座標の算出や、第２仮想線の生成を行うことができる。
なお姿勢情報としては回転ベクトルに限定されず、クオータニオン（Quaternion）、回転行列（ＳＯ３）、オイラー角等を用いてもよい。
【００８４】
実施の形態の信号処理装置３０は、さらにカメラ姿勢対応付け部２１及びホモグラフィイ変換部２３（又は画像変形部２６）に対して、処理対象とする出力画の各画素座標を順次指示する出力画座標生成部（出力画座標カウンタ２２又は出力画座標生成部２５）を備えるものとした。
例えば画像の各画素を水平方向及び垂直方向に順次指定していくカウンタによりラスタ順などとして各画素が順次姿勢対応付け部と画像変形部での処理対象とされるようにする。
これにより出力画を構成する各画素座標について、順次参照座標が計算される。
【００８５】
実施の形態では、カメラ姿勢対応付け部２１及びホモグラフィイ変換部２３（又は画像変形部２６）は、座標点を対象とする演算により、出力画の各画素座標の画素値の生成のために参照する入力画の画素座標を計算し、参照座標ＲＣとするものとした。
つまり画像データ（各画素データ）を使用するものではなく、座標の対応関係を求める演算を行う。このため参照座標計算部２の処理は、座標点を対象とする演算のみで、画素値を用いないため、処理負担が過大にならない。
【００８６】
実施の形態の信号処理装置３０は、入力画の画素データを記憶する記憶部（フレームバッファー５又はメモリ８）を備えるものとした。
撮像された入力された入力画は、例えばブロック変換などの必要な処理が施されて記憶部に記憶される。これにより出力画を構成する各画素座標の画素値を読み出すことができ、ＥＩＳ処理やローリングシャッター歪み補正を適切に行うことができる。
【００８７】
実施の形態では、参照座標ＲＣは、出力画において入力画の姿勢補正とレンズ歪み補正を実現するための参照座標とされている例を挙げた。
これによりレンズ歪みも補正した出力画を得ることができる。
なおレンズ歪み補正としては、中心射影の歪モデル、例えばＴｓａｉのレンズ歪モデルによる補正、魚眼レンズ歪モデル、等距離射影からの歪みの補正、変換テーブルを利用した補正などが考えられる。
【００８８】
実施の形態では、入力画は、姿勢検出データが対応づけられた撮像画像信号であるとする例を挙げた。
撮像装置（カメラ）によって撮像された撮像画像信号が入力画とされるが、この撮像画像信号にはカメラの姿勢検出データ、例えばＩＭＵサンプルが対応づけられている。
これにより入力画のラインに対応した姿勢情報を求めることができる。
【００８９】
実施の形態では、姿勢検出データは、角速度データ及び加速度データであるとする例を挙げた。即ちＩＭＵサンプルが撮像画像信号に対応づけられている。
ＩＭＵサンプルとしての角速度データ及び加速度データは、カメラ姿勢算出部１に供給され、回転ベクトルが求められる。これにより入力画のラインに対応した姿勢情報を求めることができる。
【００９０】
実施の形態は図１の信号処理装置３０を含む撮像装置３１の構成例とした。
即ち撮像装置３１は、光学系を介して入射する被写体光を受光して被写体を撮像する撮像部（イメージャ１１）と、撮像部の撮像時の姿勢検出データを得る検出部（ＩＭＵ１０）と、信号処理装置３０（カメラ姿勢算出部１と、カメラ姿勢対応付け部と、ホモグラフィイ変換部２３（又は画像変形部２６）と、参照画素取得部（キャッシュ６又はメモリ８）と、補間部（補間フィルタ７）を備える例とした。
このように構成することで、撮像装置３１（例えばデジタルカメラ）において、適切なローリングシャッター歪み補正が実現できる。
なお、図１や図１９で示した信号処理装置３０は必ずしも撮像装置に内蔵される構成とされることに限らない。例えば独立した装置として信号処理装置３０が構成されてもよい。また信号処理装置３０は、撮像装置で撮像した画像データを入力する装置、例えば画像編集装置、通信装置、情報処理装置、サーバ装置、テレビジョン装置、画像記録装置、画像再生装置、表示装置等に内蔵される装置としてもよい。
【００９１】
なお、本明細書に記載された効果はあくまでも例示であって限定されるものではなく、また他の効果があってもよい。
【００９２】
なお本技術は以下のような構成も採ることができる。
（１）
入力画のラインに対応する姿勢情報を算出する姿勢算出部と、
算出される姿勢情報が共通となる入力画のライン方向の仮想的な線である第１仮想線を姿勢情報に応じて回転させて出力画上の仮想的な線である第２仮想線を求め、出力画の各画素について対応する第２仮想線を算出し、前記対応する第２仮想線に基づいて姿勢情報を求める姿勢対応付け部と、
出力画の各画素座標について、前記姿勢対応付け部で対応づけられた姿勢情報を用いてその画素座標に対応する入力画上の参照座標を算出する画像変形部と、を備えた
信号処理装置。
（２）
出力画の各画素座標についての前記参照座標に基づいて、前記入力画の画素データを記憶する記憶部から参照画素データを読み出す参照画素取得部と、
前記参照画素データを用いた補間処理を行い、出力画を構成する画素データを生成する補間部と、を備えた
上記（１）に記載の信号処理装置。
（３）
前記第２仮想線は、複数の前記第１仮想線のそれぞれについて、それぞれの姿勢情報で示される回転角度の回転が与えられた複数の線である
上記（１）又は（２）に記載の信号処理装置。
（４）
前記姿勢対応付け部は、出力画の各画素座標について、前記対応する第２仮想線として、画素座標が挟まれる関係となる２つの第２仮想線を求め、該２つの第２仮想線を用いた処理により画素座標の姿勢情報を求める
上記（１）乃至（３）のいずれかに記載の信号処理装置。
（５）
前記姿勢対応付け部は、複数のそれぞれの第２仮想線について、第２仮想線上のベクトルとその第２仮想線上から処理対象である画素座標に向かうベクトルの外積を用いて、該画素座標に対応する第２仮想線となる２つの第２仮想線を判定する
上記（４）に記載の信号処理装置。
（６）
前記姿勢対応付け部は、対応する２つの第２仮想線への処理対象の画素座標からの垂線の距離の逆比で線形補間を行って、該画素座標の姿勢情報を求める
上記（４）又は（５）に記載の信号処理装置。
（７）
前記姿勢情報は撮像装置の傾きを３次元のベクトルで表す回転ベクトルである
上記（１）乃至（６）のいずれかに記載の信号処理装置。
（８）
前記姿勢対応付け部及び前記画像変形部に対して、処理対象とする出力画の各画素座標を順次指示する出力画座標生成部を備える
上記（１）乃至（７）のいずれかに記載の信号処理装置。
（９）
前記姿勢対応付け部及び前記画像変形部は、座標点を対象とする演算により、出力画の各画素座標の画素値の生成のために参照する入力画の画素座標を計算し、参照座標とする
上記（１）乃至（８）のいずれかに記載の信号処理装置。
（１０）
入力画の画素データを記憶する記憶部を備える
上記（１）乃至（９）のいずれかに記載の信号処理装置。
（１１）
前記参照座標は、出力画において入力画の姿勢補正とレンズ歪み補正を実現するための参照座標とされている
上記（１）乃至（９）のいずれかに記載の信号処理装置。
（１２）
入力画は、姿勢検出データが対応づけられた撮像画像信号である
上記（１）乃至（１１）のいずれかに記載の信号処理装置。
（１３）
前記姿勢検出データは、角速度データ及び加速度データである
上記（１２）に記載の信号処理装置。
（１４）
光学系を介して入射する被写体光を受光して被写体を撮像する撮像部と、
撮像部の撮像時の姿勢検出データを得る検出部と、
前記姿勢検出データを用いて前記撮像部からの入力画のラインに対応する姿勢情報を算出する姿勢算出部と、
算出される姿勢情報が共通となる入力画のライン方向の仮想的な線である第１仮想線を姿勢情報に応じて回転させて出力画上の仮想的な線である第２仮想線を求め、出力画の各画素について対応する第２仮想線を算出し、前記対応する第２仮想線に基づいて姿勢情報を求める姿勢対応付け部と、
出力画の各画素座標について、前記姿勢対応付け部で対応づけられた姿勢情報を用いてその画素座標に対応する入力画上の参照座標を算出する画像変形部と、
出力画の各画素座標についての前記参照座標に基づいて、前記入力画の画素データを記憶する記憶部から参照画素データを読み出す参照画素取得部と、
前記参照画素データを用いた補間処理を行い、出力画を構成する画素データを生成する補間部と、を備えた
撮像装置。
（１５）
入力画のラインに対応する姿勢情報を算出する姿勢算出処理と、
算出される姿勢情報が共通となる入力画のライン方向の仮想的な線である第１仮想線を姿勢情報に応じて回転させて出力画上の仮想的な線である第２仮想線を求め、出力画の各画素について対応する第２仮想線を算出し、前記対応する第２仮想線に基づいて姿勢情報を求める姿勢対応付け処理と、
出力画の各画素座標について、前記姿勢対応付け処理で対応づけられた姿勢情報を用いてその画素座標に対応する入力画上の参照座標を算出する変換処理と、
を信号処理装置が行う信号処理方法。
【符号の説明】
【００９３】
１…カメラ姿勢算出部、２…参照座標計算部、３…データ分離部、４…ブロック変換部、５…フレームバッファー、６…キャッシュ、７…補間フィルタ、８…メモリ、１０…ＩＭＵ、１１…イメージャ、２１…カメラ姿勢対応付け部、２２…出力画座標カウンタ、２３…ホモグラフィイ変換部、２４…レンズ歪補正部、２５…出力画座標生成部、２６…画像変形部、３０…信号処理装置、３１…撮像装置
【図１】
2020031264.tif 000003
【図２】
2020031264.tif 000004
【図３】
2020031264.tif 000005
【図４】
2020031264.tif 000006
【図５】
2020031264.tif 000007
【図６】
2020031264.tif 000008
【図７】
2020031264.tif 000009
【図８】
2020031264.tif 000010
【図９】
2020031264.tif 000011
【図１０】
2020031264.tif 000012
【図１１】
2020031264.tif 000013
【図１２】
2020031264.tif 000014
【図１３】
2020031264.tif 000015
【図１４】
2020031264.tif 000016
【図１５】
2020031264.tif 000017
【図１６】
2020031264.tif 000018
【図１７】
2020031264.tif 000019
【図１８】
2020031264.tif 000020
【図１９】
2020031264.tif 000021