(58)【調査した分野】(Int.Cl.,DB名)
前記目標ジャイロデータ、前記各フレーム画像の露光中心の時間、及び前記各走査線のローリングシャッター現象の発生時間に基づいて、前記各走査線の目標ローリングシャッター現象回転角度を計算するステップは、
前記目標ジャイロデータを用いて、目標期間を少なくとも二つのサブ期間に分けるステップであって、前記目標期間の時間の長さが、前記各フレーム画像の各走査線のローリングシャッター現象の発生時間及び前記各フレーム画像の露光中心の時間によって確定されるステップと、
前記少なくとも二つのサブ期間の時間の長さ及び前記少なくとも二つのサブ期間が対応する第一ジャイロデータをそれぞれ乗算し、少なくとも二つの乗積を得るステップであって、前記第一ジャイロデータが、前記目標ジャイロデータ中のデータまたは参考ジャイロデータであるステップと、
得られた乗積を加算して前記各走査線の目標ローリングシャッター現象回転角度を得るステップと、を含む、ことを特徴とする請求項1に記載の方法。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の実施例は、ローリングシャッター現象の補正方法、装置、及びコンピュータが読み取り可能な記録媒体を提供しており、画像の完全性を保証する前提下で、画像中のローリングシャッター現象を排除することができる。
【課題を解決するための手段】
【0004】
第一に、本発明はローリングシャッター現象補正の方法を提供しており、それは、
撮影装置を用いて処理対象のダブル魚眼画像(双魚眼画像)を得るステップと、
前記撮影装置のジャイロデータを含む画像処理パラメータを得るステップと、
前記画像処理パラメータに基づいてローリングシャッター現象補正パラメータを計算するステップと、
前記ローリングシャッター現象補正パラメータを用いて、球座標系下にて、前記ダブル魚眼画像に対してローリングシャッター現象の補正を行うステップと、を含む。
【0005】
そのうち、前記画像処理パラメータは、さらに、
前記撮影装置が生成する各フレーム画像のタイムスタンプと、
前記撮影装置のローリングシャッター現象時間と、
単一魚眼画像の幅及び高さと、
前記撮影装置の絞り値と、を含む。
【0006】
そのうち、前記の前記画像処理パラメータに基づいてローリングシャッター現象補正パラメータを計算するステップは、
前記撮影装置が生成する各フレーム画像のタイムスタンプに基づいて、前記各フレーム画像の露光中心の時間を得るステップと、
前記各フレーム画像のローリングシャッター現象の開始時間を確定するステップと、
前記各フレーム画像の露光中心の時間と前記ローリングシャッター現象の開始時間に基づいて、前記各フレーム画像の各走査線のローリングシャッター現象の発生時間を確定するステップと、
前記撮影装置のジャイロデータと、前記各フレーム画像の露光中心の時間と、前記各走査線のローリングシャッター現象の発生時間に基づいて、前記各走査線が対応する目標ジャイロデータを確定するステップと、
前記目標ジャイロデータと、前記各フレーム画像の露光中心の時間と、前記各走査線のローリングシャッター現象発生時間に基づいて、前記各走査線の目標ローリングシャッター現象回転角度を計算するステップと、を含む。
【0007】
そのうち、前記の前記各フレーム画像のローリングシャッター現象の開始時間を確定するステップは、
以下の式によって、前記各フレーム画像のローリングシャッター現象の開始時間を確定するステップを含む。
【数1】
【0008】
式中、RST
startは前記各フレーム画像のローリングシャッター現象の開始時間を表し、ECTは前記各フレーム画像の露光中心の時間を表し、rstは前記撮影装置のローリングシャッター現象時間を表す。
【0009】
そのうち、前記の前記各フレーム画像の露光中心の時間と前記ローリングシャッター現象の開始時間に基づいて、前記各フレーム画像の各走査線のローリングシャッター現象の発生時間を確定するステップは、
以下の式によって、前記各フレーム画像の各走査線のローリングシャッター現象の発生時間を確定するステップを含む。
【数2】
【0010】
式中、rst
row_iは前記各フレーム画像の各走査線のローリングシャッター現象の発生時間を表し、RST
startは前記各フレーム画像のローリングシャッター現象開始時間を表し、rstは前記撮影装置のローリングシャッター現象時間を表し、row_iは前記各フレームの第i行走査線を表し、hは前記各フレーム画像の総走査行数を表す。
【0011】
そのうち、前記の前記目標ジャイロデータと、前記各フレーム画像の露光中心の時間と、前記各走査線のローリングシャッター現象発生時間に基づいて、前記各走査線の目標ローリングシャッター現象回転角度を計算するステップは、
前記目標ジャイロデータを用いて、目標期間を少なくとも二つのサブ期間に分けるステップであって、なお、前記目標期間の時間の長さは、前記各フレーム画像の各走査線のローリングシャッター現象発生時間と前記各フレーム画像の露光中心の時間によって確定されるステップと、
前記少なくとも二つのサブ期間の時間の長さと前記少なくとも二つのサブ期間が対応する第一ジャイロデータをそれぞれ乗算し、少なくとも二つの乗積を得るステップであって、なお、前記第一ジャイロデータは、前記目標ジャイロデータ中のデータまたは参考ジャイロデータであるステップと、
得られた乗積を加算して前記各走査線の目標ローリングシャッター現象回転角度を得るステップと、を含む。
【0012】
そのうち、前記の得られた乗積を加算して前記各走査線の目標ローリングシャッター現象回転角度を得た後で、前記方法は、さらに、
補正対象レンズの情報と補正方向を含む補正参考パラメータを得るステップと、
前記補正対象レンズの情報と、前記補正方向と角度の対応関係に基づいて、前記目標ローリングシャッター現象回転角度が対応する最終目標ローリングシャッター現象角度を確定するステップと、を含む。
【0013】
そのうち、前記の前記ローリングシャッター現象補正パラメータを用いて、球座標系下にて、前記ダブル魚眼画像に対してローリングシャッター現象の補正を行うステップは、
第iフレーム画像に対して、前記第iフレーム画像の各走査行の最終目標ローリングシャッター現象回転角度を得るステップと、
前記最終目標ローリングシャッター現象回転角度を回転行列に変換するステップと、
前記ダブル魚眼画像を単一魚眼画像に切断するとともに、前記撮影装置の絞り値に基づいて目標単一魚眼画像を単位球座標上に変換して、前記単一魚眼画像中の任意の一フレームである目標単一魚眼画像の単位球座標を得るステップと、
前記単位球座標と前記回転行列を乗算し、補正後の単位球座標を得るステップと、
前記補正後の単位球座標を2D魚眼座標に変換するステップと、
前記2D魚眼座標を用いて、補正後の目標単一魚眼画像を生成するステップと、
前記補正後の目標単一魚眼画像を用いて、補正後のダブル魚眼画像を得るステップと、を含む。
【0014】
そのうち、前記単位球座標を第一座標軸に沿って第一角度だけ回転させて、第一単位球座標を取得し、
前記単位球座標と前記回転行列を乗算して、補正後の単位球座標を取得し、これは、
前記第一単位球座標と前記回転行列を乗算して、補正後の第一単位球座標を得るステップを含み、
前記第一単位球座標と前記回転行列を乗算して、補正後の第一単位球座標を得た後で、前記方法は、さらに、
前記補正後の第一単位球座標を前記第一座標軸に沿って前記第一角度だけ逆回転させるステップと、
前記補正後の単位球座標を2D魚眼座標に変換するステップと、を含み、
前記補正後の単位球座標を2D魚眼座標に変換するステップは、
逆方向に回転後の前記補正後の第一単位球座標を2D魚眼座標に変換するステップを含む。
【0015】
第二に、本発明はローリングシャッター現象補正装置を提供しており、それは、
撮影装置を用いて処理対象のダブル魚眼画像を得るのに用いられる第一取得モジュールと、
前記撮影装置のジャイロデータを含む画像処理パラメータを得るのに用いられる第二取得モジュールと、
前記画像処理パラメータに基づいてローリングシャッター現象補正パラメータを計算するのに用いられる計算モジュールと、
前記ローリングシャッター現象補正パラメータを用いて、球座標系下にて、前記ダブル魚眼画像に対してローリングシャッター現象の補正を行うのに用いられる補正モジュールと、を含む。
【0016】
第三に、本発明はコンピュータが読み取り可能な記録媒体を提供しており、前記コンピュータが読み取り可能な媒体上にはコンピュータプログラムが記憶されており、前記コンピュータプログラムがプロセッサによって実行される際に、上記の第一に記載の方法中のステップを実現する。
【0017】
本発明の実施例では、撮影装置のジャイロデータを含む画像処理パラメータにより、ローリングシャッター現象補正パラメータを計算するとともに、取得したダブル魚眼画像に対してローリングシャッター現象補正パラメータを用いてローリングシャッター現象の補正を行う。本発明の実施例の方法を利用すれば画像を切断する必要が無いので、従来技術に比べ、画像の完全性を保証する前提下で、画像中のローリングシャッター現象を排除することができる。
【発明を実施するための形態】
【0019】
以下、本開示の実施例の図面を組み合わせて、本開示の実施例の技術案をはっきりと、完全に記述するが、言うまでもなく、記述する実施例は本開示の一部実施例に過ぎず、全ての実施例ではない。本開示の実施例に基づき、当業者が創造的労働をせずに取得したすべてのその他実施例は、すべて本開示の保護範囲に入る。
【0020】
本明細書で言及した「一つの実施例」または「実施例」は、実施例に関連する特定の特徴、構造または特性が本発明の少なくとも一つの実施例に含まれることを意味する。したがって、本明細書のいたるところに出現する「一つの実施例で」または「実施例で」とは必ずしも同じ実施例を指すとは限らない。なお、これら特定の特徴、構造若しくは特性は任意に適当な方式で一つ或は複数の実施例に結合することができる。
【0021】
本発明の種々の実施例において、以下の各プロセスの番号の大きさは実行順序の前後を意味するものではない。各プロセスの実行順序は、その機能と内在的論理に依存し、本発明実施例の実施過程に対していかなる限定も行われない。
【0022】
図1は、本発明の実施例が提供するローリングシャッター現象補正方法のフロー図であり、
図1に示すように、以下のステップを含む。
【0023】
ステップ101:撮影装置を用いて処理対象のダブル魚眼画像を得る。
【0024】
なお、前記撮影装置は、カメラや撮像ヘッドなどであって良い。
【0025】
ステップ102:画像処理パラメータを得る。
【0026】
なお、前記画像処理パラメータは、前記撮影装置のジャイロ(gyro)データを含む。また、前記ジャイロデータは、ジャイロデータが含むタイムスタンプを含んでも良く、撮影装置はX、Y、Zの三軸上の角速度にある。
【0027】
良好な補正効果を得るために、本発明の実施例では、前記画像処理パラメータは、さらに、
前記撮影装置が生成する各フレーム画像のタイムスタンプと、前記撮影装置のローリングシャッター現象時間と、単一魚眼画像の幅と高さと、前記撮影装置の絞り値と、を含む。
【0028】
本発明の実施例では、前記撮影装置のローリングシャッター現象時間を、例えば25.6msとすることができる。撮影装置をカメラとした例では、前記絞り値は200°とすることができる。
【0029】
ステップ103:前記画像処理パラメータに基づいてローリングシャッター現象補正パラメータを計算する。
【0030】
本発明の実施例では、前記ローリングシャッター現象相対パラメータの主な指標は、ローリングシャッター現象回転角度である。このステップにおいて、
図2に示すように、以下の計算式によってローリングシャッター現象補正パラメータを計算することができる。
【0031】
ステップ1031:前記撮影装置が生成する各フレーム画像のタイムスタンプに基づいて、前記各フレーム画像の露光中心の時間を得る。
【0032】
本発明の実施例では、生成した各フレーム画像のタイムスタンプを、各フレーム画像の露光中心の時間とすることができる。
【0033】
ステップ1032:前記各フレーム画像のローリングシャッター現象の開始時間を確定する。
【0034】
このステップにおいて、以下の式(1)によって、前記各フレーム画像のローリングシャッター現象の開始時間を確定する。
【数3】
【0035】
式中、RST
startは前記各フレーム画像のローリングシャッター現象の開始時間を表し、ECTは前記各フレーム画像の露光中心の時間を表し、rstは前記撮影装置のローリングシャッター現象時間を表す。
【0036】
ステップ1033:前記各フレーム画像の露光中心の時間と前記ローリングシャッター現象の開始時間に基づいて、前記各フレーム画像の各走査線のローリングシャッター現象の発生時間を確定する。
【0037】
このステップにおいて、以下の式(2)によって、前記各フレーム画像の各走査線のローリングシャッター現象の発生時間を確定する。
【数4】
【0038】
式中、rst
row_iは前記各フレーム画像の各走査線のローリングシャッター現象の発生時間を表し、RST
startは前記各フレーム画像のローリングシャッター現象開始時間を表し、rstは前記撮影装置のローリングシャッター現象時間を表し、row_iは前記各フレームの第i行走査線を表し、hは前記各フレーム画像の総走査行数を表す。
【0039】
ステップ1034:前記撮影装置のジャイロデータと、前記各フレーム画像の露光中心の時間と、前記各走査線のローリングシャッター現象の発生時間に基づいて、前記各走査線が対応する目標ジャイロデータを確定する。
【0040】
このステップにおいて、一つ又は複数のジャイロデータを取得することができる。そして、各フレーム画像の露光中心の時間から前記各走査線のローリングシャッター現象発生時間までの各期間内に取得されたジャイロデータについて、ここでは目標ジャイロデータと称することができる。よって、各走査線は一つ又は複数のジャイロデータに対応することが可能である。
【0041】
ステップ1035:前記目標ジャイロデータと、前記各フレーム画像の露光中心の時間と、前記各走査線のローリングシャッター現象発生時間に基づいて、前記各走査線の目標ローリングシャッター現象回転角度を計算する。
【0042】
このステップにおいて、前記目標ジャイロデータを用いて、目標期間を少なくとも二つのサブ期間に分ける。なお、前記目標期間の時間の長さは、前記各フレーム画像の各走査線のローリングシャッター現象発生時間と前記各フレーム画像の露光中心の時間によって確定される。その後、前記少なくとも二つのサブ期間の時間の長さと前記少なくとも二つのサブ期間が対応する第一ジャイロデータをそれぞれ乗算し、少なくとも二つの乗積を得る。なお、前記第一ジャイロデータは、前記目標ジャイロデータ中のデータまたは参考ジャイロデータである。その後、得られた乗積を加算して前記各走査線の目標ローリングシャッター現象回転角度を得る。
【0043】
図3に示すように、rst
row_iからECTまでの時間tの間に、それぞれg1とg2の二つのジャイロデータが有ると仮定する。なお、g1の時間はg2の前にある。そして、g1とg2は時間tを三つのサブ期間に分ける。それぞれrst
row_i-t1、t1-t2、t2-ECTであり、この三つのサブ期間の長さはそれぞれΔt1、Δt2、Δt3である。
【0044】
そして、目標ローリングシャッター現象回転角度は以下の式(3)によって計算される。
【数5】
【0045】
或いは、以下の式(4)によって目標ローリングシャッター現象回転角度を計算することも可能である。
【数6】
【0046】
式中、g0とg3はそれぞれ参考ジャイロデータである。例えば、g0は期間tの前のその期間中のジャイロデータであっても良いし、g3は期間tの後のその期間中のジャイロデータであっても良い。
【0047】
これを基礎にして、本ステップでは、得られる目標ローリングシャッター現象回転角度をさらに正確なものとするために、目標ローリングシャッター現象回転角度を得た後、補正参考パラメータを得ることも可能である。なお、前記補正参考パラメータは、補正対象レンズの情報と補正方向を含む。なお、補正対象の撮像ヘッドの情報は、正面撮像ヘッドと背面撮像ヘッドを含んでも良く、補正方向は、Pitch、roll、yaw等を含んでも良い。その後、前記補正対象レンズの情報と、前記補正方向と角度の対応関係に基づいて、前記目標ローリングシャッター現象回転角度が対応する最終目標ローリングシャッター現象角度を確定する。
【0048】
表1に、補正対象レンズの情報と、補正方向と角度の対応関係を示す。
【表1】
【0049】
上記表1に基づき、計算した目標ローリングシャッター現象回転角度はAngelで表される。もし補正対象レンズが正面撮像ヘッドであって補正方向がPitchであるならば、最終目標ローリングシャッター現象回転角度はAngelであり、もし補正対象レンズが正面撮像ヘッドであって補正方向がyawであるならば、最終目標ローリングシャッター現象回転角度は-Angelである。
【0050】
ステップ104:前記ローリングシャッター現象補正パラメータを用いて、球座標系下にて、前記ダブル魚眼画像に対してローリングシャッター現象の補正を行う。
【0051】
本発明の実施例において、ローリングシャッター現象補正の主な思想は、魚眼画像座標を三次元座標に変換し、その後、三次元空間中で回転することにより歪みを補正すること、つまり球座標系下でローリングシャッター現象の補正を行うことである。具体的に、このステップでは、
図4に示すように、以下の方法で補正を行うことが可能である。
【0052】
ステップ1041:第iフレーム画像に対して、前記第iフレーム画像の各走査行の最終目標ローリングシャッター現象回転角度を得る。
【0053】
ステップ103の計算に基づき、第iフレーム画像の各走査行の最終目標ローリングシャッター現象回転角度を得ることができる。
【0054】
ステップ1042:前記最終目標ローリングシャッター現象回転角度を回転行列に変換する。
【0055】
ステップ1043:前記ダブル魚眼画像を単一魚眼画像に切断するとともに、前記撮影装置の絞り値に基づいて目標単一魚眼画像を単位球座標上に変換して、前記単一魚眼画像中の任意の一フレームである目標単一魚眼画像の単位球座標を得る。
【0056】
ステップ1044:前記単位球座標と前記回転行列を乗算し、補正後の単位球座標を得る。
【0057】
ステップ1045:前記補正後の単位球座標を2D魚眼座標に変換する。
【0058】
ステップ1046:前記2D魚眼座標を用いて、補正後の目標単一魚眼画像を生成する。
【0059】
ステップ1047:前記補正後の目標単一魚眼画像を用いて、補正後のダブル魚眼画像を得る。
【0060】
その他、上記実施例を基礎にして、撮影装置と単位球座標が統一しない場合、上記ステップ1043の後、前記単位球座標を第一座標軸に沿って第一角度だけ回転させて、第一単位球座標を得ることを含んでも良い。例えば、前記単位球画像をY軸に沿って90度回転させることができる。そして、ステップ1044は具体的に、前記第一単位球座標と前記回転行列を乗算して、補正後の第一単位球座標を得る。相応に、矯正後の第一単位球座標を得た後、前記補正後の第一単位球座標を前記第一座標軸に沿って前記第一角度だけ逆回転させる。例えば、前記単位球座標をY軸に沿って90度逆回転させることができる。そして、ステップ1045は具体的に、逆方向に回転後の前記補正後の第一単位球座標を2D魚眼座標に変換する。
【0061】
例えば、前記単位球座標をY軸に沿って90度回転させるのを例にすると、以下の式によって、前記単位球座標を第一座標軸に沿って第一角度だけ回転させて、第一単位球座標を得ることができる。
【数7】
【0062】
式中、coor
3drotatedは第一単位球座標を表し、coor
3dは単位球座標を表す。
【0063】
そして、以下の式によって、前記第一単位球座標と前記回転行列を乗算して、補正後の第一単位球座標を得る。
【数8】
【0064】
式中、coor
3dRSCは補正後の第一球座標を表し、Rは回転行列を表し、coor
3dは単位球座標を表す。
【0065】
具体的に、以下の式によって、前記補正後の第一単位球座標を前記第一座標軸に沿って前記第一角度だけ逆回転させる。
【数9】
【0066】
式中、coor
3dRSCrotatedは逆方向に回転後の前記矯正後の第一単位球座標を表し、coor
3dRSCは補正後の第一単位球座標を表す。
【0067】
図5は、ローリングシャッター現象補正の例を示している。
図5を組み合わせて、二次元魚眼画像中では、点が一直線上にある必要があるが、ローリングシャッター現象の存在により、それらは曲線上にある。ローリングシャッター現象補正計算方法が、二次元魚眼画像を三次元単位球に変換し、その後、回転してこれらの点を揃えた後、再び二次元魚眼画像に変換する。
【0068】
本発明の実施例では、撮影装置のジャイロデータを含む画像処理パラメータにより、ローリングシャッター現象補正パラメータを計算するとともに、取得したダブル魚眼画像に対してローリングシャッター現象補正パラメータを用いてローリングシャッター現象の補正を行う。本発明の実施例の方法を利用すれば画像を切断する必要が無いので、従来技術に比べ、画像の完全性を保証する前提下で、画像中のローリングシャッター現象を排除することができる。
【0069】
その他、本発明の実施例では、二次元画像を三次元単位球画像に変換するので、従来の計算方法に比べ、固有パラメータを用いてローリングシャッター現象の補正の補正を行う必要が無い。また、三次元単位球画像に対して回転を行うので、従来のwarping計算方法に比べ、本発明の実施例の方法を用いて最終的に完全な二次元画像を生成することができる。
【0070】
実験において、大量の画像に対して異なる方向と異なる解像度のローリングシャッター現象補正率を計算したところ、所有する比率は全てゼロより大きかった。よって、本発明の実施例の方法を利用すれば非常に良好にローリングシャッター現象の補正を実現可能であることが分かる。
【0071】
図6は、本発明の実施例が提供するローリングシャッター現象補正装置の構造図である。
図6に示すように、前記ローリングシャッター現象補正装置400は、
撮影装置を用いて処理対象のダブル魚眼画像を得るのに用いられる第一取得モジュール401と、前記撮影装置のジャイロデータを含む画像処理パラメータを得るのに用いられる第二取得モジュール402と、前記画像処理パラメータに基づいてローリングシャッター現象補正パラメータを計算するのに用いられる計算モジュール403と、前記ローリングシャッター現象補正パラメータを用いて、球座標系下にて、前記ダブル魚眼画像に対してローリングシャッター現象の補正を行うのに用いられる補正モジュール404と、を含む。
【0072】
選択的に、本発明の実施例では、前記画像処理パラメータは、前記撮影装置が生成する各フレーム画像のタイムスタンプと、前記撮影装置のローリングシャッター現象時間と、単一魚眼画像の幅と高さと、前記撮影装置の絞り値と、を含む。
【0073】
選択的に、
図7に示すように、前記計算モジュール403は、
前記撮影装置が生成する各フレーム画像のタイムスタンプに基づいて、前記各フレーム画像の露光中心の時間を得る、取得サブモジュール4031と、
前記各フレーム画像のローリングシャッター現象の開始時間を確定する第一確定サブモジュール4032と、
前記各フレーム画像の露光中心の時間と前記ローリングシャッター現象の開始時間に基づいて、前記各フレーム画像の各走査線のローリングシャッター現象の発生時間を確定する第二確定サブモジュール4033と、
前記撮影装置のジャイロデータと、前記各フレーム画像の露光中心の時間と、前記各走査線のローリングシャッター現象の発生時間に基づいて、前記各走査線が対応する目標ジャイロデータを確定する第三確定サブモジュール4034と、
前記目標ジャイロデータと、前記各フレーム画像の露光中心の時間と、前記各走査線のローリングシャッター現象発生時間に基づいて、前記各走査線の目標ローリングシャッター現象回転角度を計算する計算サブモジュール4035と、を含む。
【0074】
選択的に、前記第一確定サブモジュール4032は具体的に、以下の式によって、前記各フレーム画像のローリングシャッター現象の開始時間を確定するのに用いられる。
【数10】
【0075】
式中、RST
startは前記各フレーム画像のローリングシャッター現象の開始時間を表し、ECTは前記各フレーム画像の露光中心の時間を表し、rstは前記撮影装置のローリングシャッター現象時間を表す。
【0076】
選択的に、前記第二確定サブモジュール4033は具体的に、以下の式によって、前記各フレーム画像の各走査線のローリングシャッター現象の発生時間を確定するのに用いられる。
【数11】
【0077】
式中、rst
row_iは前記各フレーム画像の各走査線のローリングシャッター現象の発生時間を表し、RST
startは前記各フレーム画像のローリングシャッター現象開始時間を表し、rstは前記撮影装置のローリングシャッター現象時間を表し、row_iは前記各フレームの第i行走査線を表し、hは前記各フレーム画像の総走査行数を表す。
【0078】
選択的に、
図8に示すように、前記計算サブモジュール4035は、
前記目標ジャイロデータを用いて、目標期間を少なくとも二つのサブ期間に分けるのに用いられるユニットであって、なお、前記目標期間の時間の長さは、前記各フレーム画像の各走査線のローリングシャッター現象発生時間と前記各フレーム画像の露光中心の時間によって確定される、区分ユニット40351と、
前記少なくとも二つのサブ期間の時間の長さと前記少なくとも二つのサブ期間が対応する第一ジャイロデータをそれぞれ乗算し、少なくとも二つの乗積を得るのに用いられるユニットであって、なお、前記第一ジャイロデータは、前記目標ジャイロデータ中のデータまたは参考ジャイロデータである、第一取得ユニット40352と、
得られた乗積を加算して前記各走査線の目標ローリングシャッター現象回転角度を得るのに用いられる第二取得ユニット40353と、を含んでも良い。
【0079】
選択的に、
図9に示すように、前記計算サブモジュール4035は、
補正対象レンズの情報と補正方向を含む、補正参考パラメータを得るのに用いられる第三取得ユニット40354と、前記補正対象レンズの情報と、前記補正方向と角度の対応関係に基づいて、前記目標ローリングシャッター現象回転角度が対応する最終目標ローリングシャッター現象角度を確定するのに用いられる確定ユニット40355と、を含んでも良い。
【0080】
選択的に、
図10に示すように、前記補正モジュール404は、
第iフレーム画像に対して、前記第iフレーム画像の各走査行の最終目標ローリングシャッター現象回転角度を得るのに用いられる第一取得ユニット4041と、
前記最終目標ローリングシャッター現象回転角度を回転行列に変換するのに用いられる第二取得ユニット4042と、
前記ダブル魚眼画像を単一魚眼画像に切断するとともに、前記撮影装置の絞り値に基づいて目標単一魚眼画像を単位球座標上に変換して、前記単一魚眼画像中の任意の一フレームである目標単一魚眼画像の単位球座標を得るのに用いられる第三取得ユニット4043と、
前記単位球座標と前記回転行列を乗算し、補正後の単位球座標を得るのに用いられる第四取得ユニット4044と、
前記補正後の単位球座標を2D魚眼座標に変換するのに用いられる第一変換ユニット4045と、
前記2D魚眼座標を用いて、補正後の目標単一魚眼画像を生成するのに用いられる生成ユニット4046と、
前記補正後の目標単一魚眼画像を用いて、補正後のダブル魚眼画像を得るのに用いられる補正ユニット4047と、を含んでも良い。
【0081】
選択的に、
図11に示すように、前記補正モジュール404は、
前記単位球座標を第一座標軸に沿って第一角度だけ回転させて、第一単位球座標を得るのに用いられる第一回転モジュール4048を含んでも良い。この時、前記第四取得ユニット4044は具体的に、前記単位球座標と前記回転行列を乗算して、補正後の単位球座標を得るのに用いられる。前記補正モジュール404はさらに、前記補正後の第一単位球座標を前記第一座標軸に沿って前記第一角度だけ逆回転させるのに用いられる第二回転モジュール4049を含んでも良い。この時、前記第一変換ユニット4045は具体的に、逆方向に回転後の前記補正後の第一単位球座標を2D魚眼座標に変換するのに用いられる。
【0082】
本発明の実施例が提供する装置は上記方法の実施例を実行可能であり、その実現原理と技術効果は類似のものであるので、本実施例はここで贅言しない。
【0083】
図12は、本発明の実施例が提供するローリングシャッター現象補正装置のハードウェア構造ブロック図である。
図12に示すように、該ローリングシャッター現象補正装置1000は、
プロセッサ1002と、
コンピュータプログラムコマンドが記憶されているメモリ1044と、を含み、
前記コンピュータプログラムコマンドが前記プロセッサによって実行される際、前記プロセッサ1002は、
撮影装置を用いて処理対象のダブル魚眼画像を得るステップと、
前記撮影装置のジャイロデータを含む画像処理パラメータを得るステップと、
前記画像処理パラメータに基づいてローリングシャッター現象補正パラメータを計算するステップと、
前記ローリングシャッター現象補正パラメータを用いて、球座標系下にて、前記ダブル魚眼画像に対してローリングシャッター現象の補正を行うステップと、を実行する。
【0084】
更に、
図12に示すように、該ローリングシャッター現象補正装置の1000は、ネットワークインターフェース1001と、入力装置1003と、ハードディスク1005と、表示装置1006を含むことも可能である。
【0085】
上記各インターフェースと装置との間は、バスアーキテクチャによって互いに接続する。バスアーキテクチャは、任意の数量の相互接続するバス及びブリッジを含むことが可能である。具体的には、プロセッサ1002に代表される一つ又は複数のセントラルプロセッサ(CPU)、及びメモリ1004に代表される一つ又は複数のメモリの各種回路が、一つに接続される。バスアーキテクチャは、周辺機器や電圧レギュレータや電力管理回路のようなさまざまなその他の回路と一緒に接続することも可能である。バスアーキテクチャは、これらの構成要素の間の接続通信を実現するためのものであると理解可能である。バスアーキテクチャは、データバスの他、電力バス、制御バス、およびステータス信号バスも含むが、これらは全て本分野で公知のものであるので、本明細書ではこれらについて詳細に記載しない。
【0086】
前記ネットワークインターフェース1001は、ネットワーク(例えばインターネット、ローカルエリアネットワーク等)と接続可能で、ネットワークから情報を受信するとともに、受信した内容をハードディスク1005中に保存することができる。
【0087】
前記入力装置1003は、オペレータが入力する様々なコマンドを受信できるとともに、実行のためにプロセッサ1002に送信することができる。前記入力装置1003は、キーボードやクリックデバイス(例えばマウス、トラックボール(trackball)、タッチパッド、タッチスクリーンなど)を含むことが可能である。
【0088】
前記表示装置1006は、プロセッサ1002がコマンドを実行して得た結果を表示することができる。
【0089】
前記メモリ1004は、オペレーティングシステムが稼働するのに必須のプログラムとデータや、プロセッサ1002の演算プロセス中の中間結果などのデータを保存するのに用いられる。
【0090】
本発明の実施例のメモリ1004は、揮発性メモリまたは不揮発性メモリであっても良いし、揮発性メモリと不揮発性メモリの両方を含んでも良い、と理解できる。なお、不揮発性メモリは、読み出し専用メモリ(ROM)であっても、プログラマブル読み出し専用メモリ(PROM)であっても、消去可能なプログラマブル読み出し専用メモリ(EPROM)であっても、電気的に消去可能なプログラマブル読み出し専用メモリ(EEPROM)であっても、フラッシュメモリであってもよい。揮発性メモリは、ランダムアクセスメモリ(RAM)であってもよく、外部キャッシュとして用いられる。本明細書に記載の装置と方法のメモリ1004は、これらと任意のその他の適合類型のメモリを含むが、これらに限らない。
【0091】
いくつかの実施形態において、メモリ1004は、実行可能なモジュールまたはデータ構造、それらのサブ集合または拡張集合、オペレーティングシステム10041、アプリケーションプログラム10042、の要素を記憶している。
【0092】
なお、オペレーティングシステム10041は各種の基礎業務およびハードウェアに基づくタスクを実現するように、例えば枠組層、コアー層、駆動層など各種のシステムプログラムを含む。アプリケーションプログラム10042は各種のアプリケーション業務を実現するように、例えばブラウザー(Browser)などの各種アプリケーションプログラムを含む。本発明の実施例の方法を実現するプログラムはアプリケーションプログラム10042に含まれることが可能である。
【0093】
本発明の上記実施例による方法はプロセッサ1002に応用でき、あるいはプロセッサ1002によって実現できる。プロセッサ1002は信号の処理能力を有する集積回路チップであってもよい。実現過程では、上記方法の各ステップはプロセッサ1002内のハードウェアの集積ロジック回路またはソフトウェア形式のコマンドによって完成できる。上記プロセッサ1002は汎用プロセッサであっても、デジタル信号処理器(DSP)であっても、特定用途向け集積回路(ASIC)であっても、現場で構成可能な回路アレイ(FPGA)又はその他のプログラマブルロジックデバイスであっても、個別ゲートまたはトランジスタロジックデバイスであっても、個別ハードウェアユニットであってもよく、本発明の実施例に公開された各方法、ステップおよびロジックブロック図を実現または実行できる。汎用プロセッサは、マイクロプロセッサ又はいかなる常用的なプロセッサであっても良い。本発明の実施例より公開された方法のステップと組み合わせて直接的にできることは、ハードウェアデコーダプロセッサにより実行して完成すること、或いは、デコーダプロセッサ内のハードウェアおよびソフトウェアモジュールの組み合わせによって実行して完成すること、である。ソフトウェアモジュールはランダムメモリ、フラッシュメモリ、読み出し専用メモリ、プログラマブル読み出し専用メモリまたは電気的に消去可能なプログラマブルメモリ、レジスタなどの当分野において成熟された記録媒体に位置することが可能である。当該記録媒体はメモリ1004にあり、プロセッサ1002はメモリ1004内の情報を読み取って、そのハードウェアと組み合わせて上記方法のステップを完成する。
【0094】
本明細書に記載されたこれらの実施例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコードまたはその組み合わせによって実現できる、と理解可能である。ハードウェアの実現について、プロセスユニットは一つ又は複数の特定用途向け集積回路(ASIC)、デジタル信号処理器(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブル
ゲート アレイ(FPGA)、汎用プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、本願の前記機能を実現するためのほかの電子モジュール、または組み合わせで実現可能である。
【0095】
ソフトウェアの実現について、本明細書に記載された前記機能を実行するモジュール(例えばプロセス、関数など)によって本明細書の前記技術を実現できる。ソフトウェアコードはメモリに記憶され、かつプロセッサによって実行することが可能である。メモリはプロセッサ内またはプロセッサ外部において実現できる。
【0096】
なお、前記画像処理パラメータは、
前記撮影装置が生成する各フレーム画像のタイムスタンプと、前記撮影装置のローリングシャッター現象時間と、単一魚眼画像の幅と高さと、前記撮影装置の絞り値と、を含む。
【0097】
具体的に、前記コンピュータプログラムがプロセッサ1002によって実行される際に、
前記撮影装置が生成する各フレーム画像のタイムスタンプに基づいて、前記各フレーム画像の露光中心の時間を得るステップと、
前記各フレーム画像のローリングシャッター現象の開始時間を確定するステップと、
前記各フレーム画像の露光中心の時間と前記ローリングシャッター現象の開始時間に基づいて、前記各フレーム画像の各走査線のローリングシャッター現象の発生時間を確定するステップと、
前記撮影装置のジャイロデータと、前記各フレーム画像の露光中心の時間と、前記各走査線のローリングシャッター現象の発生時間に基づいて、前記各走査線が対応する目標ジャイロデータを確定するステップと、
前記目標ジャイロデータと、前記各フレーム画像の露光中心の時間と、前記各走査線のローリングシャッター現象発生時間に基づいて、前記各走査線の目標ローリングシャッター現象回転角度を計算するステップと、を実現することもできる。
【0098】
具体的に、前記コンピュータプログラムがプロセッサ1002によって実行される際に、
以下の式によって、前記各フレーム画像のローリングシャッター現象の開始時間を確定するステップを実現することもできる。
【数12】
【0099】
式中、RST
startは前記各フレーム画像のローリングシャッター現象の開始時間を表し、ECTは前記各フレーム画像の露光中心の時間を表し、rstは前記撮影装置のローリングシャッター現象時間を表す。
【0100】
具体的に、前記コンピュータプログラムがプロセッサ1002によって実行される際に、
以下の式によって、前記各フレーム画像の各走査線のローリングシャッター現象の発生時間を確定するステップを実現することもできる。
【数13】
【0101】
式中、rst
row_iは前記各フレーム画像の各走査線のローリングシャッター現象の発生時間を表し、RST
startは前記各フレーム画像のローリングシャッター現象開始時間を表し、rstは前記撮影装置のローリングシャッター現象時間を表し、row_iは前記各フレームの第i行走査線を表し、hは前記各フレーム画像の総走査行数を表す。
【0102】
具体的に、前記コンピュータプログラムがプロセッサ1002によって実行される際に、
前記目標ジャイロデータを用いて、目標期間を少なくとも二つのサブ期間に分けるステップであって、なお、前記目標期間の時間の長さは、前記各フレーム画像の各走査線のローリングシャッター現象発生時間と前記各フレーム画像の露光中心の時間によって確定される、ステップと、
前記少なくとも二つのサブ期間の時間の長さと前記少なくとも二つのサブ期間が対応する第一ジャイロデータをそれぞれ乗算し、少なくとも二つの乗積を得るのに用いられるステップであって、なお、前記第一ジャイロデータは、前記目標ジャイロデータ中のデータまたは参考ジャイロデータである、ステップと、
得られた乗積を加算して前記各走査線の目標ローリングシャッター現象回転角度を得るステップと、を実現することもできる。
【0103】
具体的に、前記コンピュータプログラムがプロセッサ1002によって実行される際に、
補正対象レンズの情報と補正方向を含む、補正参考パラメータを得るステップと、
前記補正対象レンズの情報と、前記補正方向と角度の対応関係に基づいて、前記目標ローリングシャッター現象回転角度が対応する最終目標ローリングシャッター現象角度を確定するステップと、を実現することもできる。
【0104】
具体的に、前記コンピュータプログラムがプロセッサ1002によって実行される際に、
第iフレーム画像に対して、前記第iフレーム画像の各走査行の最終目標ローリングシャッター現象回転角度を得るステップと、
前記最終目標ローリングシャッター現象回転角度を回転行列に変換するステップと、
前記ダブル魚眼画像を単一魚眼画像に切断するとともに、前記撮影装置の絞り値に基づいて目標単一魚眼画像を単位球座標上に変換して、前記単一魚眼画像中の任意の一フレームである目標単一魚眼画像の単位球座標を得るステップと、
前記単位球座標と前記回転行列を乗算し、補正後の単位球座標を得るステップと、
前記補正後の単位球座標を2D魚眼座標に変換するステップと、
前記2D魚眼座標を用いて、補正後の目標単一魚眼画像を生成するステップと、
前記補正後の目標単一魚眼画像を用いて、補正後のダブル魚眼画像を得るステップと、を実現することもできる。
【0105】
具体的に、前記コンピュータプログラムがプロセッサ1002によって実行される際に、
前記単位球座標を第一座標軸に沿って第一角度だけ回転させて、第一単位球座標を得るステップと、
前記第一単位球座標と前記回転行列を乗算して、補正後の第一単位球座標を得るステップと、
前記補正後の第一単位球座標を前記第一座標軸に沿って前記第一角度だけ逆回転させるステップと、
逆方向に回転後の前記補正後の第一単位球座標を2D魚眼座標に変換するステップと、を実現することもできる。
【0106】
本発明が提供する幾つかの実施例において開示された方法及び装置は別の形態でも実現可能であると理解すべきである。例えば、上記の装置の実施例は模式的なものに過ぎない。例えば、前記ユニットの分割は論理的な機能分割に過ぎず、実際に実現する際に別の分割方式を採用しても良い。例えば、複数のユニットまたはコンポーネントを組み合わせるか、別のシステムに集約しても良いし、或いは一部の機能を省略しても良いし、若しくは実行しなくてもよい。さらに、上記表示または開示された相互的な接続または直接な接続若しくは通信可能な接続は、インターフェースを介した接続であっても良いし、装置やユニット同士の間接的な接続または通信可能な接続は、電気的または機械的もしくは他の形態の接続であっても良い。
【0107】
また、本発明の各実施例における各機能的なユニットをひとつのプロセスユニットに集成しても良いし、各ユニットが物理的に単独で存在させても良いし、二つあるいは二つ以上のユニットを一つのユニットに集成させても良い。前記集約されたユニットは、ハードウェアの形式で実現しても良いし、ハードウェアにソフトウェア機能ユニットを加えた形式で実現しても良い。
【0108】
前記ソフトウェア機能ユニットの形式で実現する集約されたユニットは、コンピュータが読み取り可能な記録媒体に記憶することができる。上記ソフトウェア機能ユニットは記録媒体に記憶されて、コンピュータ装置(パーソナルコンピュータ、サーバ或いはネットワーク設備などでも良い)に本願の各実施例に記載の方法の一部のステップを実行させる若干のコマンドを含んでいる。前記の記録媒体は、USBメモリ、リムーバブルディスク、ROM、RAM、磁気ディスク、あるいは光ディスクなど、プログラムコードを格納できる様々な媒体を含む。
【0109】
上記は本発明の好ましい実施形態であり、当業者は本発明の原理から逸脱することなくいくつかの改良および修正を行うことができることに留意されたい。これらの改良及び修正も、本発明の保護の範囲と見なされるべきである。