(57)【要約】【課題】本発明は、パノラマ映像を処理する方法、装置、デバイス、コンピュータ読取り可能な記憶媒体を提供する。【解決手段】処理方法は、二次元パノラマ画像のフレームを複数に含むパノラマ映像を受信し；前記パノラマ映像中の隣接する任意の2つの二次元パノラマ画像に対して、フレーム間動きを推定し；前記フレーム間動きの推定結果に基づいて、前記パノラマ映像の動き歴史軌跡を求めて平滑化し；平滑化された動き歴史軌跡に基づいて、フレーム毎に、二次元パノラマ画像の動き補正回転マトリックスを計算し；及び、フレーム毎に、前記動き補正回転マトリックスを用いて、二次元パノラマ画像を再構成し、手ぶれ補正されたパノラマ映像を出力する。【選択図】図１
2019004451.tif 000002
【特許請求の範囲】
【請求項１】
パノラマ映像を処理する方法であって、
複数フレームの二次元パノラマ画像を含む処理待ちのパノラマ映像を受信し；
前記パノラマ映像において隣接する任意の2フレームの二次元パノラマ画像に対してフレーム間の動きを推定し；
前記フレーム間の動きの推定の結果に基づいて、前記パノラマ映像の動き履歴軌跡を求め、且つ該動き履歴軌跡を平滑化し；
平滑化された動き履歴軌跡に基づいて、フレーム毎に二次元パノラマ画像の動き補正回転マトリックスを計算し；及び
フレーム毎に前記動き補正回転マトリックスを用いて二次元パノラマ画像を再構成することにより手ぶれ補正を行い、手ぶれ補正されたパノラマ映像を出力するステップを含むことを特徴とする方法。
【請求項２】
前記パノラマ映像において隣接する任意の2フレームの二次元パノラマ画像に対してフレーム間の動きを推定することは、
N+1番目フレームの二次元パノラマ画像における複数の特徴点をN番目のフレームの二次元パノラマ画像における複数の特徴点に一対一にマッチングし、Nは正の整数であり；
すべてのマッチング点対から正しいマッチング点対を特定し、この正しいマッチング点対に基づいて、N+1番目フレームの二次元パノラマ画像からN番目フレームの二次元パノラマ画像までの回転マトリックスを計算するステップを含むことを特徴とする請求項1に記載の方法。
【請求項３】
すべてのマッチング点対から正しいマッチング点対を特定することは、
すべてのマッチング点対からマッチング点対をM対選択し、Mは1より大きい整数であり；
選択されたM対のマッチング点対に基づいて、N+1番目フレームの二次元パノラマ画像からN番目フレームの二次元パノラマ画像までの第1回転マトリックスを計算し；
前記第1回転マトリックスを用いて、M対のマッチング点対以外の他のマッチング点対の誤差値を計算し、算出された誤差値に基づいて、前記第1マトリックスをサポートするマッチング点対の数を確定し；及び
前記第1回転マトリックスをサポートするマッチング点対の数が第1閾値よりも大きい場合に、選択されたM対のマッチング点対が正しいマッチング点対であることを判断し、前記第1回転マトリックスのマッチング点対の数が第1閾値以下の場合に、選択されたM対のマッチング点対が正しくないマッチング点対であることを判断するステップを含むことを特徴とする請求項2に記載の方法。
【請求項４】
平滑化された動き履歴軌跡に基づいて、フレーム毎に二次元パノラマ画像の動き補正回転マトリックスを計算することは、
平滑化された動き履歴軌跡に基づいて、二次元パノラマ画像の現フレームが前フレームに対する変化が、カメラの意図した動きによるものなのか否かを判断し；
前記二次元パノラマ画像の現フレームが前フレームに対する変化がカメラの意図しないノイズ運動である場合に、前記現フレームが前フレームに対する動き補正回転マトリックスを計算し；及び
前記二次元パノラマ画像の現フレームが前フレームに対する変化がカメラの意図した動きである場合に、参照フレームとなる二次元パノラマ画像を更新し、更新された参照フレームと現フレームに基づき、2フレーム間の動き補正回転マトリックスを算出するステップを含むことを特徴とする請求項1に記載の方法。
【請求項５】
平滑化された動き履歴軌跡に基づいて二次元パノラマ画像の現フレームが前フレームに対する変化がカメラの意図した動きによるものなのか否かを判断することは、
前記動き履歴軌跡に基づいて、二次元パノラマ画像の現フレームが前フレームに対するノイズレベルを計算し；
前記ノイズレベルが第2閾値以下である場合に、二次元パノラマ画像の現フレームが前フレームに対する変化が意図しないノイズ運動であると判断し；及び
前記ノイズレベルが前記第2閾値より大きい場合に、二次元パノラマ画像の現フレームが前フレームに対する変化が意図した動きであると判断するステップを含むことを特徴とする請求項4に記載の方法。
【請求項６】
パノラマ映像を処理する装置であって、
複数フレームの二次元パノラマ画像を含む処理待ちのパノラマ映像を受信する受信モジュールと；
前記パノラマ映像において隣接する任意の2フレームの二次元パノラマ画像に対してフレーム間の動きを推定する動き推定モジュールと；
前記フレーム間の動きの推定の結果に基づいて、前記パノラマ映像の動き履歴軌跡を求め、且つ該動き履歴軌跡を平滑化する動き履歴軌跡計算モジュールと；
平滑化された動き履歴軌跡に基づいて、フレーム毎に二次元パノラマ画像の動き補正回転マトリックスを計算する動き補正回転マトリックス計算モジュールと；
フレーム毎に前記動き補正回転マトリックスを用いて二次元パノラマ画像を再構成することにより手ぶれ補正を行い、手ぶれ補正されたパノラマ映像を出力する再構築モジュールと、を含むことを特徴とする装置。
【請求項７】
プロセッサーとメモリとを含み、
前記メモリにコンピュータプログラムコマンドが格納され、
前記コンピュータプログラムコマンドは、前記プロセッサーにより実行されるときに、前記プロセッサーに、請求項1〜5の任意の1項に記載の方法を実行させることを特徴とする電子デバイス。
【請求項８】
コンピュータに、請求項1〜5の任意の1項に記載の方法を実行させるためのプログラム。
【請求項９】
請求項8に記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は移動映像処理技術分野に関し、特に、パノラマ映像を処理する方法、装置、デバイス、コンピュータ読取り可能な記憶媒体に関する。
【背景技術】
【０００２】
撮像装置や移動ネットワークの飛躍的な発展に伴い、携帯型撮像装置による映像撮影は我々の生活に増々密着するようになってきた。例えば、流行りの移動映像実況放送プラットフォームや、観光実況放送、ショッピング実況放送などがある。そこで、ユーザに良好な映像画質を提供するために、映像の手ぶれ補正は、実況映像処理において重要な一環になる。
【０００３】
従来の映像手ぶれ補正方式は、機械式処理、光学式処理、デジタル方式処理の3種類がある。機械式による映像手ぶれ補正方法では、付設するセンサ、例えば、ジャイロ、角度センサ等により取得されたカメラの手ぶれ情報を手ぶれ補正に使用する。また、光学式の手ぶれ補正方法では、光学部、例えば、レンズとプリズムとの間の方向や位置を変えることで、カメラの手ぶれを解消する。機械式による映像手ぶれ補正方法は、光学式による映像手ぶれ補正方法と同じく、付設するハードウェアに基づく手ぶれ処理方法であるために、高価な装置を必要とすると共に、移植性が悪い。一方、デジタル方式による映像手ぶれ補正方法はいかなる機械的または光学的な手段を必要とせず、画像処理方法により手ぶれの動き情報を取得し、画像補正処理方法により安定した映像画像配列を得ることができる。機械式又は光学式による映像手ぶれ補正方法に比べて、デジタル方式による映像手ぶれ補正方法は用途がより広い。
【０００４】
デジタル方式による映像手ぶれ補正方法は、手ぶれ補正された映像配列（sequence）がリアルタイムに得られたか否かによって、リアルタイム映像手ぶれ補正方法とオフライン映像手ぶれ補正方法の2種類に分類される。オフライン映像手ぶれ補正方法は映像を後処理するために、映像配列全体の動きの軌跡を取得することが可能のために、最適化された滑らかな軌跡が推定され、よりロバストで安定した映像の流れが得られる。一方、リアルタイム映像手ぶれ補正方法は、将来の動き情報を利用することができないため、オフライン映像手ぶれ補正方法に比べてロバスト性が悪いが、即時性が保たれる。オフライン映像手ぶれ補正方法かリアルタイム映像手ぶれ補正方法かにかかわらず、デジタル方式による映像手ぶれ補正方法は、カメラの動きの推定、カメラの動きの平滑化、及び手ぶれ補正の三つのステップを主に含む。動きの推定では初期の動き軌跡が推定される。動きの平滑化では初期の動き軌跡に基づいて動き軌跡の平滑化演算を行う。手ぶれ補正では推定された平滑な動き軌跡に基づいて初期映像に対して補正を行い、安定する映像配列が求められる。
【０００５】
一般的に、従来の映像手ぶれ補正方法は、二次元アフィン変換モデルに基づいて回転マトリクス及びオフセットマトリックスの動きを推定し、X軸およびY軸上でそれぞれ動き補正を行う。一方、360度パノラマカメラは、カメラ製造技術の進みにつれて品質が向上し、ビデオ監視やライブ放送等多くの分野に使用されるようになってきた。これに伴い、良好なパノラマ映像の画質の提供を可能にするパノラマ映像の手ぶれ補正技術は注目されてきた。ところが、球体画像の特殊性のために、パノラマ映像の手ぶれ補正において、パノラマ画像の動きの推定が従来の二次元動きモデルに対応せず、従来の手ぶれ補正技術がパノラマ映像の手ぶれ補正に適用されない問題がある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記問題を鑑みて、本発明は、パノラマ映像に対して映像手ぶれ補正を行う処理の方法、装置、デバイス、コンピュータ読取り可能な記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記問題を解決するために、本発明の実施例は、まず、パノラマ映像を処理する方法であって、複数フレームの二次元パノラマ画像を含むパノラマ映像を受信し；前記パノラマ映像において隣接する任意の2フレームの二次元パノラマ画像に対してフレーム間の動きを推定し；前記フレーム間の動きの推定の結果に基づいて、前記パノラマ映像の動き履歴軌跡を求め、且つ動き履歴軌跡を平滑化し；平滑化された動き履歴軌跡に基づいて、フレーム毎に二次元パノラマ画像の動き補正回転マトリックスを計算し；フレーム毎に動き補正回転マトリックスを用いて二次元パノラマ画像を再構成することより手ぶれ補正を行い、手ぶれ補正されたパノラマ映像を出力するステップを含むことを特徴とする方法を提供する。
【０００８】
また、前記パノラマ映像において隣接する任意の2フレームの二次元パノラマ画像に対してフレーム間の動きを推定することは、N+1番目フレームの二次元パノラマ画像における複数の特徴点をN番目のフレームの二次元パノラマ画像における複数の特徴点に一対一にマッチングし、Nは正の整数であり；すべてのマッチング点対から正しいマッチング点対を特定し、この正しいマッチング点対に基づいて、N+1番目フレームの二次元パノラマ画像からN番目フレームの二次元パノラマ画像までの回転マトリックスを計算するステップを含む。
【０００９】
また、前記したすべてのマッチング点対から正しいマッチング点対を特定することは、すべてのマッチング点対からマッチング点対をM対選択し、Mは1より大きい整数であり；選択されたM対のマッチング点対に基づいて、N+1番目フレームの二次元パノラマ画像からN番目フレームの二次元パノラマ画像までの第1回転マトリックスを計算し；前記第1回転マトリックスを用いて、M対のマッチング点対以外の他のマッチング点対の誤差値を計算し、算出された誤差値に基づいて、前記第1マトリックスをサポートするマッチング点対の数を確定し；前記第1回転マトリックスをサポートするマッチング点対の数が第1閾値よりも大きい場合に、選択されたM対のマッチング点対が正しいマッチング点対であることを判断し、前記第1回転マトリックスのマッチング点対の数が第1閾値以下の場合に、選択されたM対のマッチング点対が正しくないマッチング点対であることを判断するステップを含む。
【００１０】
また、前記した平滑化された動き履歴軌跡に基づいて、フレーム毎に二次元パノラマ画像の動き補正回転マトリックスを計算することは、平滑化された動き履歴軌跡に基づいて、二次元パノラマ画像の現フレームが前フレームに対する変化が、カメラの意図した動きによるものなのか否かを判断し；前記二次元パノラマ画像の現フレームが前フレームに対する変化がカメラの意図しないノイズ運動である場合に、前記現フレームが前フレームに対する動き補正回転マトリックスを計算し；前記二次元パノラマ画像の現フレームが前フレームに対する変化がカメラの意図した動きである場合に、参照フレームとなる二次元パノラマ画像を更新し、更新された参照フレームと現フレームに基づき、2フレーム間の動き補正回転マトリックスを算出するステップを含む。
【００１１】
また、平滑化された動き履歴軌跡に基づいて二次元パノラマ画像の現フレームが前フレームに対する変化がカメラの意図した動きによるものなのか否かを判断することは、前記動き履歴軌跡に基づいて、二次元パノラマ画像の現フレームが前フレームに対するノイズレベルを計算し；前記ノイズレベルが第2閾値以下である場合に、二次元パノラマ画像の現フレームが前フレームに対する変化が意図しないノイズ運動であると判断し；前記ノイズレベルが第2閾値よりも大きい場合に、二次元パノラマ画像の現フレームが前フレームに対する変化が意図した動きであると判断するステップを含み、そのうち、意図しないノイズ運動は、所定のノイズ許容範囲内にあるもの、及び所定のノイズ許容範囲を超えたものを含み、所定のノイズ許容範囲は、第2閾値よりも小さい第3閾値以下である。
【００１２】
そして、本発明の実施例は、パノラマ映像を処理する装置であって、複数フレームの二次元パノラマ画像を含むパノラマ映像を受信する受信モジュールと；前記パノラマ映像において隣接する任意の2フレームの二次元パノラマ画像に対してフレーム間の動きを推定する動き推定モジュールと；前記フレーム間の動きの推定の結果に基づいて、前記パノラマ映像の動き履歴軌跡を求め、且つ動き履歴軌跡を平滑化する動き履歴軌跡計算モジュールと；平滑化された動き履歴軌跡に基づいて、フレーム毎に二次元パノラマ画像の動き補正回転マトリックスを計算する動き補正回転マトリックス計算モジュールと；フレーム毎に動き補正回転マトリックスを用いて二次元パノラマ画像を再構成することより手ぶれ補正を行い、手ぶれ補正されたパノラマ映像を出力する再構築モジュールと、を含む装置を提供する。
【００１３】
さらに、本発明の実施例は、処理装置と、コンピュータプログラム指令を記憶する記憶装置とを備える電子デバイスであって、前記処理装置が前記コンピュータプログラム指令を実行することにより、複数フレームの二次元パノラマ画像を含むパノラマ映像を受信し；前記パノラマ映像において隣接する任意の2フレームの二次元パノラマ画像に対してフレーム間の動きを推定し；前記フレーム間の動きの推定の結果に基づいて、前記パノラマ映像の動き履歴軌跡を求め、且つ動き履歴軌跡を平滑化し；平滑化された動き履歴軌跡に基づいて、フレーム毎に二次元パノラマ画像の動き補正回転マトリックスを計算し；フレーム毎に動き補正回転マトリックスを用いて二次元パノラマ画像を再構成することより手ぶれ補正を行い、手ぶれ補正されたパノラマ映像を出力するステップが実行される電子デバイスを提供する。
【００１４】
最後に、本発明の実施例は、コンピュータプログラムが記憶されるコンピュータ読取り可能な記憶媒体であって、前記コンピュータプログラムを処理装置に実行させることより、複数フレームの二次元パノラマ画像を含むパノラマ映像を受信し；前記パノラマ映像において隣接する任意の2フレームの二次元パノラマ画像に対してフレーム間の動きを推定し；前記フレーム間の動きの推定の結果に基づいて、前記パノラマ映像の動き履歴軌跡を求め、且つ動き履歴軌跡を平滑化し；平滑化された動き履歴軌跡に基づいて、フレーム毎に二次元パノラマ画像の動き補正回転マトリックスを計算し；フレーム毎に動き補正回転マトリックスを用いて二次元パノラマ画像を再構成することより手ぶれ補正を行い、手ぶれ補正されたパノラマ映像を出力するステップが実行される記憶媒体を提供する。
【発明の効果】
【００１５】
本発明の実施例により、二次元パノラマ画像に対応する三次元球体パノラマ画像は、画像情報を失わずに任意の方向へ回転可能のために、2フレームの二次元パノラマ画像間に存在する回転ベクトルにより、前記２フレームの二次元パノラマ画像中の一方をもう一方に接近させることができる。本発明はフレーム毎に二次元パノラマ画像の動き補正回転マトリックスを計算し、算出される動き補正回転マトリックスで二次元パノラマ画像を再構築することより映像手ぶれ補正を行い、パノラマ映像の手ぶれ補正を実現する効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施例にかかるパノラマ映像を処理する方法を示すフロー図である。
【図２】本発明の実施例にかかるパノラマ映像において隣接する任意2フレームのパノラマ画像のフレーム間動きを推定する処理を示すフロー図である。
【図３】本発明の実施例にかかる全てのマッチング点対から正しいマッチング点対を特定する処理を示すフロー図である。
【図４】本発明の実施例にかかるフレーム毎に二次元パノラマ画像の動き補正回転マトリックスを計算して算出された動き補正回転マトリックスを用いて二次元パノラマ画像を再構成する処理を示すフロー図である。
【図５】本発明の実施例にかかる前フレームの二次元パノラマ画像元に対するフレームの二次元パノラマ画像の変化がカメラの意図した動きか、それとも意図しないノイズ運動かを判断する処理を示すフロー図である。
【図６】本発明の実施例にかかるパノラマ映像を処理する装置のモジュール構成図である。
【図７】本発明の実施例にかかる動き推定モジュールを構成するモジュール構成図である。
【図８】本発明の実施例にかかる特定ユニットを構成するモジュール構成図である。
【図９】本発明の実施例にかかる動き補正回転マトリックス計算モジュールを構成するモジュール構成図である。
【図１０】本発明の実施例にかかる判断モジュールを構成するモジュール構成図である。
【図１１】本発明の実施例にかかるパノラマ映像を処理する電子デバイスを構成するモジュール構成図である。
【図１２】本発明の実施例にかかる手ぶれ補正前後のパノラマ画像配列を示す図である。
【図１３】本発明の実施例にかかるパノラマ映像を処理する方法のフロー図である。
【図１４】本発明の実施例にかかる特徴点のマッチング処理を示すフロー図である。
【図１５】本発明の実施例にかかる不安定な二次元パノラマ画像に対する補正を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施例が解決しようとする課題、発明の構成及びメリットをより明確にするために、図面及び具体的な実施例を用いて詳細に説明する。
【００１８】
本発明の実施例は、パノラマ映像を処理する方法、装置、器具、コンピュータ可読記憶媒体を提供し、パノラマ映像に対して手ぶれ補正を行う。
【００１９】
＜実施例1＞
本発明の実施形態は、パノラマ映像を処理する方法を提供し、前記方法は図1に示すように、次のステップ101〜ステップ105を含む。
【００２０】
ステップ101：複数フレームの二次元パノラマ画像を含むパノラマ映像を受信する；
ステップ102：前記パノラマ映像において隣接する任意の2フレームの二次元パノラマ画像に対してフレーム間の動きを推定する；
ステップ103：前記フレーム間の動きの推定の結果に基づいて、前記パノラマ映像の動き履歴軌跡を求め、且つ動き履歴軌跡を平滑化する；
ステップ104：平滑化された動き履歴軌跡に基づいて、フレーム毎に二次元パノラマ画像の動き補正回転マトリックスを計算する；
ステップ105：フレーム毎に動き補正回転マトリックスを用いて二次元パノラマ画像を再構成することより手ぶれ補正を行い、手ぶれ補正されたパノラマ映像を出力する。
【００２１】
二次元パノラマ画像に対応する三次元球体パノラマ画像は、画像情報を失わずに任意の方向へ回転可能のために、2フレームの二次元パノラマ画像間に存在する回転ベクトルにより、前記２フレームの二次元パノラマ画像中の一方をもう一方に接近させることができる。本発明はフレーム毎に二次元パノラマ画像の動き補正回転マトリックスを計算し、算出される動き補正回転マトリックスで二次元パノラマ画像を再構築することより映像手ぶれ補正を行い、パノラマ映像の手ぶれ補正を実現する。
【００２２】
一例として、図2に示すように、前記ステップ102は、次のステップ1021〜ステップ1022を含む。
【００２３】
ステップ1021：N+1番目フレームの二次元パノラマ画像における複数の特徴点をN番目のフレームの二次元パノラマ画像における複数の特徴点に一対一にマッチングする。ここで、Nは正の整数である。
【００２４】
ステップ1022：すべてのマッチング点対から正しいマッチング点対を特定し、この正しいマッチング点対に基づいて、N+1番目フレームの二次元パノラマ画像からN番目フレームの二次元パノラマ画像までの回転マトリックスを計算する。
【００２５】
一例として、図3に示すように、前記ステップ1022は次のステップ10221〜ステップ10225を含む。
【００２６】
ステップ10221：すべてのマッチング点対からマッチング点対をM対選択する。ここで、Mは1より大きい整数である。
【００２７】
ステップ10222：選択されたM対のマッチング点対に基づいて、N+1番目フレームの二次元パノラマ画像からN番目フレームの二次元パノラマ画像までの第1回転マトリックスを計算する。
【００２８】
ステップ10223：前記第1回転マトリックスを用いて、M対のマッチング点対以外の他のマッチング点対の誤差値を計算し、算出された誤差値に基づいて、前記第1マトリックスをサポートするマッチング点対の数を確定する。
【００２９】
ステップ10224：前記第1回転マトリックスをサポートするマッチング点対の数が第1閾値よりも大きい場合に、選択されたM対のマッチング点対が正しいマッチング点対であることを判断する。
【００３０】
ステップ10225：前記第1回転マトリックスのマッチング点対の数が第1閾値以下の場合に、選択されたM対のマッチング点対が正しくないマッチング点対であることを判断し、ステップ10221に移行し、マッチング点対をM対選択し直す。
【００３１】
一例として、図4に示すように、ステップ104は次のステップ1041〜ステップ1043を含む。
【００３２】
ステップ1041：平滑化された動き履歴軌跡に基づいて、二次元パノラマ画像の現フレームが前フレームに対する変化が、カメラの意図した動きによるものなのか否かを判断する。
【００３３】
ステップ1042：二次元パノラマ画像の現フレームが前フレームに対する変化がカメラの意図しないノイズ運動である場合に、前記現フレームが前フレームに対する動き補正回転マトリックスを計算する。
【００３４】
ステップ1043：二次元パノラマ画像の現フレームが前フレームに対する変化がカメラの意図した動きである場合に、参照フレームとなる二次元パノラマ画像を更新し、更新された参照フレームと現フレームに基づき、2フレーム間の動き補正回転マトリックスを算出する。
【００３５】
ステップ105において、前記動き補正回転マトリックスに対して平滑処理を行い、平滑化された動き補正回転マトリックスを現フレームの二次元パノラマ画像に適用することにより、手ぶれ補正された二次元パノラマ画像が得られる。
【００３６】
一例として、図5に示すように、前記ステップ1041は次のステップ10411〜ステップ10413を含む。
【００３７】
ステップ10411：前記動き履歴軌跡に基づいて、二次元パノラマ画像の現フレームが前フレームに対するノイズレベルを計算する。
【００３８】
ステップ10412：前記ノイズレベルが第2閾値以下である場合に、二次元パノラマ画像の現フレームが前フレームに対する変化が意図しないノイズ運動であると判断する。
【００３９】
ステップ10413：前記ノイズレベルが第2の閾値よりも大きい場合に、二次元パノラマ画像の現フレームが前フレームに対する変化が意図した動きであると判断する。
【００４０】
なお、意図しないノイズ運動は、所定のノイズ許容範囲内にあるもの、及び所定のノイズ許容範囲を超えたものを含み、所定のノイズ許容範囲は、第2閾値よりも小さい第3閾値以下である。
＜実施例2＞
本発明の実施例は、パノラマ映像を処理する装置を提供する。その装置は、図6に示すように、次の各モジュール、即ち、
複数フレームの二次元パノラマ画像を含むパノラマ映像を受信する受信モジュール21；
前記パノラマ映像において隣接する任意の2フレームの二次元パノラマ画像に対してフレーム間の動きを推定する動き推定モジュール22；
前記フレーム間の動きの推定の結果に基づいて、前記パノラマ映像の動き履歴軌跡を求め、且つ動き履歴軌跡を平滑化する動き履歴軌跡計算モジュール23；
平滑化された動き履歴軌跡に基づいて、フレーム毎に二次元パノラマ画像の動き補正回転マトリックスを計算する動き補正回転マトリックス計算モジュール24；及び
フレーム毎に動き補正回転マトリックスを用いて二次元パノラマ画像を再構成することより手ぶれ補正を行い、手ぶれ補正されたパノラマ映像を出力する再構築モジュール25を含む。
【００４１】
二次元パノラマ画像に対応する三次元球体パノラマ画像は、画像情報を失わずに任意の方向へ回転可能のために、2フレームの二次元パノラマ画像間に存在する回転ベクトルにより、前記２フレームの二次元パノラマ画像中の一方をもう一方に接近させることができる。本発明はフレーム毎に二次元パノラマ画像の動き補正回転マトリックスを計算し、算出される動き補正回転マトリックスで二次元パノラマ画像を再構築することより映像手ぶれ補正を行い、パノラマ映像の手ぶれ補正を実現する。
【００４２】
一例として、図7に示すように、前記動き推定モジュール22は、次の各ユニット、即ち、
二次元パノラマ画像のN+1番目フレームにおける複数の特徴点とN番目フレームにおける複数の特徴点とが1一対一にマッチングするマッチングユニット221；
すべてのマッチング点対から正しいマッチング点対を特定する特定ユニット222；及び
前記正しいマッチング点対に基づいて、N+1番目フレームの二次元パノラマ画像からN番目フレームの二次元パノラマ画像までの回転マトリックスを計算する計算ユニット223を含む。ここで、Nは正の整数である。
【００４３】
一例として、図8に示すように、確定ユニット222は、次のサブモジュール、即ち、
すべてのマッチング点対からマッチング点対をM対選択する選択サブユニット2221；
選択されたM対のマッチング点対に基づいて、N+1番目フレームの二次元パノラマ画像からN番目フレームの二次元パノラマ画像までの第1回転マトリックスを計算する第1計算サブユニット2222；
第1回転マトリックスを用いて、M対のマッチング点対以外の他のマッチング点対の誤差値を計算し、算出された誤差値に基づいて、前記第1マトリックスをサポートするマッチング点対の数を確定する第2計算サブユニット2223；及び
第1回転マトリックスをサポートするマッチング点対の数が第1閾値よりも大きい場合に、選択されたM対のマッチング点対が正しいマッチング点対であることが確定され、第1回転マトリックスのマッチング点対の数が第1閾値以下の場合に、選択されたM対のマッチング点対が正しくないマッチング点対であることを判断する処理サブユニット2224を含む。
【００４４】
一例として、図9に示すように、前記動き補正回転マトリックスモジュール24は、以下のユニット、即ち、
平滑化された動き履歴軌跡に基づいて、二次元パノラマ画像の現フレームが前フレームに対する変化が、カメラの意図した動きによるものなのか否かを判断する判断ユニット241；及び
二次元パノラマ画像の現フレームが前フレームに対する変化は、カメラの意図しないノイズ運動である場合に、前記現フレームが前フレームに対する動き補正回転マトリックスを計算し、二次元パノラマ画像の現フレームが前フレームに対する変化は、カメラの意図した動きである場合に、参照フレームとなる二次元パノラマ画像を更新し、更新された参照フレームと現フレームに基づき、2フレーム間の動き補正回転マトリックスを算出する動き補正回転マトリックス計算ユニット242を含む。
【００４５】
前記再構築モジュール25は、具体的に、前記動き補正回転マトリックスに対して平滑処理を行い、平滑化された動き補正回転マトリックスを現フレームの二次元パノラマ画像に適用することにより、手ぶれ補正された二次元パノラマ画像を得る。
【００４６】
一例として、図10に示すように、前記判断ユニット241は、次のサブユニット、即ち、
前記動き履歴軌跡に基づいて、二次元パノラマ画像の現フレームが前フレームに対するノイズレベルを計算するノイズレベル計算サブユニット2411；及び
前記ノイズレベルが第2閾値以下である場合に、二次元パノラマ画像の現フレームが前フレームに対する変化が意図しないノイズ運動であると判断し、前記ノイズレベルが第2の閾値よりも大きい場合に、二次元パノラマ画像の現フレームが前フレームに対する変化が意図した動きであると判断する判断サブユニット2412を含む。
【００４７】
なお、意図しないノイズ運動は、所定のノイズ許容範囲内にあるもの、及び所定のノイズ許容範囲を超えたものを含み、所定のノイズ許容範囲は、第2閾値よりも小さい第3閾値以下である。
【００４８】
＜実施例3＞
本実施例はパノラマ映像を処理する電子デバイス30を提供すする。図11に示すように、電子デバイス30は、処理装置32と、コンピュータプログラム指令を記憶する記憶装置34とを有し、前記処理装置が前記コンピュータプログラム指令を実行することにより、次の各ステップが実行される。
【００４９】
複数フレームの二次元パノラマ画像を含むパノラマ映像を受信し；
前記パノラマ映像において隣接する任意の2フレームの二次元パノラマ画像に対してフレーム間の動きを推定し；
前記フレーム間の動きの推定の結果に基づいて、前記パノラマ映像の動き履歴軌跡を求め、且つ動き履歴軌跡を平滑化し；
平滑化された動き履歴軌跡に基づいて、フレーム毎に二次元パノラマ画像の動き補正回転マトリックスを計算し；
フレーム毎に動き補正回転マトリックスを用いて二次元パノラマ画像を再構成することより手ぶれ補正を行い、手ぶれ補正されたパノラマ映像を出力する。
【００５０】
また、図11に示すように、パノラマ映像処理を行う電子デバイス30は、ネットワーク31と、入力装置33と、ハードディスク35と、表示装置36とを備える。
【００５１】
上記各インタフェースはバスアーキテクチャを介して装置に接続される。バスアーキテクチャは互いに接続される任意数のバスとブリッジを含む。具体的に、処理装置32が代表とする1つ又は複数の中央処理器（CPU）と記憶装置34が代表する1つまたは複数の記憶装置の各種回路が接続される。バスアーキテクチャより、例えば外付け機器、レギュレータ―及び電力管理回路などの種々の別の回路が接続される。バスアーキテクチャよりこれらの機器が通信可能に接続される。バスアーキテクチャは、データバス以外に、電源バス、制御バス及び状態信号バスを含む。これらは公知技術であり、詳細な説明を省略する。
【００５２】
ネットワークインタフェース31は、ネットワーク(例えば、インターネットやLANなど)に接続され、ネットワークからパノラマカメラより撮影されるパノラマ映像等のデータを取得してハードディスク35に記憶させるインタフェースである。
【００５３】
入力装置33はユーザより入力される各種指令を受け付け、処理装置32に送信して実行させる手段である。また、入力装置33はキーボードやクリック手段であり、例えば、マウス、トラックボール、タッチボードやタッチパネル等がある。
【００５４】
表示装置36は処理装置32より指令を実行した結果表示する手段である。
【００５５】
記憶装置34はオペレティングシステムが実行するプログラムとデータ、及び処理装置32より計算された中間結果等のデータを記憶する記憶装置である。
【００５６】
本実施例にかかる記憶装置34は揮発性記憶手段又は非揮発性記憶手段、もしくは揮発性記憶手段と非揮発性記憶手段の両方である。その中の非揮発性記憶手段はROM、PROM、EPROM、EEPROM、フラッシュメモリである。揮発性記憶手段は、RAMであり、外付け高速バッファとする。しかし、本明細書に記載される装置及び方法に用いった記憶装置34はこれらの記憶手段に限定されず、他の適切な記憶装置でもよい。
【００５７】
一部の実施形態において、記憶装置34にモジュール又はデータ構成若しくはこれらのサブモジュールや買う超モジュールであるオペレティングシステム341及びアプリケーションプログラム342が記憶される。
【００５８】
その中に、オペレティングシステム341は、各種システムプログラム、例えばフレーム層、コア層、駆動層等を含み、各種操作業務及びハードウェアによる処理されるジョブを実現するためのものである。アプリケーションプログラム342は各種アプリケーションプログラム、例えばウェブブラウザ―等を含み、各種アプリケーション業務を実現するためのものである。本実施例にかかる方法は実行するプログラムはアプリケーションプログラム342に含む。
【００５９】
上記処理装置32は、記憶装置34に記憶されるアプリケーションプログラム及びデータ、例えばアプリケーションプログラム342で記述されるプログラムまたは指令、をアップロードして実行することにより、
複数フレームの二次元パノラマ画像を含むパノラマ映像を受信し；
前記パノラマ映像において隣接する任意の2フレームの二次元パノラマ画像に対してフレーム間の動きを推定し；
前記フレーム間の動きの推定の結果に基づいて、前記パノラマ映像の動き履歴軌跡を求め、且つ動き履歴軌跡を平滑化し；
平滑化された動き履歴軌跡に基づいて、フレーム毎に二次元パノラマ画像の動き補正回転マトリックスを計算し；
フレーム毎に動き補正回転マトリックスを用いて二次元パノラマ画像を再構成することより手ぶれ補正を行い、手ぶれ補正されたパノラマ映像を出力する。
【００６０】
上記本発明の実施例にかかる方法は処理装置32に適用し、または処理装置32によって実現される。処理装置32は集積回路基板であって、信号を処理する能力がある。上記方法の各ステップは処理装置32におけるハードウェアである集積論理回路又はソフトウェア形式の指令によって実現される。上記処理装置32は汎用処理器、DSP、ASIC、FPGA又はその他のPLD、ディスクリートまたはトランジスタ論理デバイス、ディスクリートハードウェア部品であり、本発明の実施例にかかる各方法、ステップ及び論理的モジュールを実現又は実行可能なものである。汎用処理器はマイクロプロセッサ又は任意の一般処理器などである。本発明の実施例にかかる方法の各ステップはハードウェアであるプロセッサより実行して実現され、またはプロセッサにお行けるハードウェアとソフトウェアの組み合わせによって実現される。ソフトウェアモジュールはRAM、フラッシュメモリ、ROM、PROM又はEPROM、レジスタ等従来の記憶媒体に記憶される。処理装置32はこのソフトウェアが記憶される記憶媒体を備える記憶装置34から情報を読出し、ハードウェアと組み合わせて上記のステップを実現する。
【００６１】
本実施例にかかるハードウェア、ソフトウェア、ファームウェア、中間ウェア、マイクロコード、またはこれらの組み合わせによって実現される。処理ユニットにおいてハードウェアによる実現はASIC、DSP、DSPD、PLD、FPGA、汎用プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサの中の一つ又は複数、及び本明細書に記載されて前記機能を実現する他の電子部品又は組み合わせで実行される。
【００６２】
また、ソフトウェアによる実現は、プログラムで記述される機能的モジュール(例えばプログラム、関数等)より実行する。ソフトウェアプログラムはメモリに記憶されてプロセッサによって実行される。メモリはプロセッサ内部又は外部で実現できる。
【００６３】
具体的に、処理装置32は、N+1番目フレームの二次元パノラマ画像における複数の特徴点をN番目のフレームの二次元パノラマ画像における複数の特徴点に一対一にマッチングする；すべてのマッチング点対から正しいマッチング点対を特定し、この正しいマッチング点対に基づいて、N+1番目フレームの二次元パノラマ画像からN番目フレームの二次元パノラマ画像までの回転マトリックスを計算する。ここで、Nは正の整数である。
【００６４】
具体的に、処理装置32は、すべてのマッチング点対からM対マッチング点対を選択し；選択されたM対のマッチング点対に基づいて、N+1番目フレームの二次元パノラマ画像からN番目フレームの二次元パノラマ画像までの第1回転マトリックスを計算し；前記第1回転マトリックスを用いて、M対のマッチング点対以外の他のマッチング点対の誤差値を計算し、算出された誤差値に基づいて、前記第1マトリックスをサポートするマッチング点対の数を確定し；前記第1回転マトリックスをサポートするマッチング点対の数が第1閾値よりも大きい場合に、選択されたM対のマッチング点対が正しいマッチング点対であることを判断する。
【００６５】
具体的に、処理装置32は、平滑化された動き履歴軌跡に基づいて、二次元パノラマ画像の現フレームが前フレームに対する変化が、カメラの意図した動きによるものなのか否かを判断し；二次元パノラマ画像の現フレームが前フレームに対する変化がカメラの意図しないノイズ運動である場合に、前記現フレームが前フレームに対する動き補正回転マトリックスを計算し；二次元パノラマ画像の現フレームが前フレームに対する変化がカメラの意図した動きである場合に、参照フレームとなる二次元パノラマ画像を更新し、更新された参照フレームと現フレームに基づき、2フレーム間の動き補正回転マトリックスを算出し；前記動き補正回転マトリックスに対して平滑処理を行い；平滑化された動き補正回転マトリックスを現フレームの二次元パノラマ画像に適用することにより、手ぶれ補正された二次元パノラマ画像が得られる。
【００６６】
具体的に、処理装置32は、前記動き履歴軌跡に基づいて、二次元パノラマ画像の現フレームが前フレームに対するノイズレベルを計算し；前記ノイズレベルが第2閾値以下である場合に、二次元パノラマ画像の現フレームが前フレームに対する変化が意図しないノイズ運動であると判断し；前記ノイズレベルが第2の閾値よりも大きい場合に、二次元パノラマ画像の現フレームが前フレームに対する変化が意図した動きであると判断する。
【００６７】
なお、意図しないノイズ運動は、所定のノイズ許容範囲内にあるもの、及び所定のノイズ許容範囲を超えたものを含み、所定のノイズ許容範囲は、第2閾値よりも小さい第3閾値以下である。
【００６８】
二次元パノラマ画像に対応する三次元球体パノラマ画像は、画像情報を失わずに任意の方向へ回転可能のために、2フレームの二次元パノラマ画像間に存在する回転ベクトルにより、前記２フレームの二次元パノラマ画像中の一方をもう一方に接近させることができる。本発明はフレーム毎に二次元パノラマ画像の動き補正回転マトリックスを計算し、算出される動き補正回転マトリックスで二次元パノラマ画像を再構築することより映像手ぶれ補正を行い、パノラマ映像の手ぶれ補正を実現する。
【００６９】
＜実施例4＞
本発明の実施例はコンピュータ読取り可能な記憶媒体を提供する。前記記憶媒体に記憶されるコンピュータプログラムを処理装置に実行させることより、次の各ステップが実行される。
【００７０】
複数フレームの二次元パノラマ画像を含むパノラマ映像を受信し；
前記パノラマ映像において隣接する任意の2フレームの二次元パノラマ画像に対してフレーム間の動きを推定し；
前記フレーム間の動きの推定の結果に基づいて、前記パノラマ映像の動き履歴軌跡を求め、且つ動き履歴軌跡を平滑化し；
平滑化された動き履歴軌跡に基づいて、フレーム毎に二次元パノラマ画像の動き補正回転マトリックスを計算し；
フレーム毎に動き補正回転マトリックスを用いて二次元パノラマ画像を再構成することより手ぶれ補正を行い、手ぶれ補正されたパノラマ映像を出力する。
【００７１】
＜実施例5＞
カメラ技術の進化に伴い、360度の視野を有するパノラマカメラは増々日常生活で使用されるようになった。通常のパノラマカメラは2つの魚眼レンズでパノラマ画像を撮像する。図12において、左側にパノラマカメラから取得した不安定なパノラマ画像の配列を示し、右側に本発明により得られた安定したパノラマ画像の配列を示す。二次元パノラマ画像に対応する三次元球体パノラマ画像は、画像情報を失わずに任意の方向へ回転可能のために、2フレームの二次元パノラマ画像間に存在する回転ベクトルにより、前記２フレームの二次元パノラマ画像中の一方をもう一方に接近させることができる。パノラマ映像の手ぶれ補正において、回転ベクトル即ち回転マトリックスの推定はキーポイントである。本発明は主に回転ベクトルの精密推定及び回転ベクトルの平滑化に重点を置く。
【００７２】
図13に示すように、本実施例にかかるパノラマ映像の処理方法は次の各ステップを備える。
【００７３】
ステップ401：複数二次元パノラマ画像を含むパノラマ映像を受信する。
【００７４】
具体的に、入力されたパノラマ映像は、例えば、パノラマカメラによる実況映像や予め記憶されるオフラインパノラマ映像等がある。
【００７５】
ステップ402：隣接する任意の2フレームの二次元パノラマ画像間の回転マトリックスを計算する。
【００７６】
本実施例で、二次元等距離円柱状投影図を二次元パノラマ画像とする。また、本発明の実施例で、特徴点に基づく方法により動きを推定する。具体的に、Harrisコーナー、FASTコーナー、SURFコーナー、SIFTコーナー等一般的なコーナー特徴を用いることができる。具体的には、図14に示すように、コーナー特徴に基づいて、前後2フレームの2次元パノラマ画像間で特徴点マッチングを行い、特徴点マッチングを白線によって接続して示し、正しい特徴点マッチング対を特定する。
【００７７】
図14にマッチング結果を示すように、多くのマッチングミス点対が存在する。このために、マッチングミス点対を取除く必要がある。従来の二次元画像の特徴点マッチング選択に、二次元アフィン変換モデルを用いる。しかし、二次元パノラマ画像は、その特殊性のために、二次元空間において二次元アフィン変換モデルに対応しない。このために、二次元アフィン変換モデルを二次元パノラマ画像特徴点対のマッチング選択に適用すると、多くの正しいマッチング点対が取除かれる一方、マッチングミス点対が逆に残される場合がある。このせいで、動きの推定の精度が大幅に低下する。そこで、本発明は二次元パノラマ画像の特殊性を考慮し、単位球体図に基づく特徴点マッチング対選択方法を開発した。即ち、球体空間上の回転動き一致性に基づく特徴点マッチング選択である。
【００７８】
具体的に、正しいマッチング点対の特定と、マッチングミス点対の取除きは、次の各ステップを含む。
【００７９】
（１）二次元空間における特徴点マッチング対を三次元単位球体空間座標系に変換し、三次元単位球体空間座標系において、2フレームのパノラマ画像間における全てのマッチング点対の動き方向を一致させる。
【００８０】
（２）上記すべてのマッチング点対からマッチング点対をM対ランダムに選択する。本実施例において、マッチング点対をランダムに4対選択して回転マトリックスの計算に用いる。
【００８１】
（３）ランダムに選択されたM対のマッチング点対に基づいて、隣接する2フレームのパノラマ画像に対してフレーム間の回転マトリックスを計算する。
【００８２】
（４）算出された回転マトリックスに基づいて、選択されたM対以外の残りのマッチング点対の誤差関数を計算し、これら残りのマッチング点対を回転マトリックスに入力させ、前記回転マトリックスに満たす誤差値を計算する。
【００８３】
（５）前記回転マトリックスを支持するマッチング点対を選択し、計算された誤差値が設定値未満の場合に、回転マトリックスを支持する当該マッチング点対とすることより、マトリックスを支持するマッチング点対がすべて得られる。
【００８４】
（６）現回転マトリックスが要求を満たすかを判断する。現回転マトリックスを支持するマッチング点対が十分に多ければ、選択されたM対のマッチング点対が正しいマッチング点対とし、逆の場合には、正しいマッチング点対を得るまで上記の（２）〜（５）を繰り返す。
【００８５】
図14の一番下の図に示すように、初期のマッチング結果に比べて、多くのマッチングミス点対が取り除かれた。その後、正しいマッチング点対に基づいて回転マトリックスを計算する。このように、選別されたマッチング点対により、より正確な回転マトリックスを算出することができる。カメラの主な動きとして、三次元空間においては回転運動と平行移動であるが、二次元パノラマ画像の場合には、二次元パノラマ画像のブレは、カメラの回転ブレ以外に平行移動ブレがある。二次元パノラマ画像の特殊性のために、平行移動はある程度、回転運動に近似することができる。このために、本発明は回転運動で用いてカメラブレの動きを表す。一般的な回転運動の計算方法として、回転マトリックス、オイラー角、単位四元数、および回転ベクトルを使用することができる。本発明においては、回転マトリックスで回転運動を表す。
【００８６】
ステップ403：前記フレーム間の回転マトリックスに基づいて、前記パノラマ映像の動き履歴軌跡を求め、前記動き履歴軌跡に基づいてパノラマ画像に対して動きの平滑化を行う。
【００８７】
パノラマ映像の動き履歴軌跡は前記フレーム間の回転マトリックスに基づいて求められる。動きの平滑化は手ぶれによるランダムなブレを除いて残される本来のカメラの動きを得るために行った。カメラの動きの中に、意図した動き以外の動きはノイズ運動とする。
【００８８】
本実施例において、回転マトリックスで動きを表し、オイラー角で動き軌跡を表した。一方、撮影において手ぶれにより撮像された画像を示す画面がぶれる。他方、安定した画像を示す画面に対して、カメラの手ぶれによるブレはノイズ運動そのものである。これらを鑑みて、本実施例はカメラのノイズ運動を取り除く方法によりオンライン動きの平滑化を行う。具体的に次のステップを含む。
【００８９】
現二次元パノラマ画像がぶれる原因となる動きが、ノイズ運動か、もしくはカメラの意図した動き（例えば、撮影者によるカメラの移動）か、を判断する。具体的に、動き履歴軌跡に基づいて、現二次元パノラマ画像がぶれる原因が、ノイズ運動か、もしくはカメラの意図した動きか、を判断する。主に前フレームのパノラマ画像に対する現フレームのパノラマ画像の相対的な動きパラメータの変化量に基づいて判断する。動きパラメータの変化量は、予め設定された閾値を超えた場合に、カメラの意図した動きであると判断し、逆に閾値より小さい場合に、無意識的なブレ、即ち無意識的なノイズ運動であると判断する。無意識的なノイズ運動が現フレームのパノラマ画像にブレを生じさせた場合に、ノイズ除去モデルに基づいて画像手ぶれ補正を行う。逆に、カメラの意図的な動きが現フレームのパノラマ画像にブレを生じさせた場合に、参照フレームのパノラマ画像で更新を行う。
【００９０】
angle_error=abs(angleinter_frame-mean(angle(n-size)noise,angle(n-size+1)noise,…,angle(n-1)noise))  (1)
【数１】
2019004451.tif 000003
anglenactual=anglen-mean(angle(n-size)noise,angle(n-size+1)noise,…,angle(n-1)noise)        (3)
【００９１】
上記式(1)で、angle_errorは、カメラのノイズ運動であり、angleinter_frameは、2フレームのパノラマ画像間の動き角度であり、mean(angle(n-size)noise,angle(n-size+1)noise,…,angle(n-1)noise)は、所定のスライディング・ウィンドウ内のノイズ平均値であり、anglensmoothは、平滑化された動き角度である。また、anglesmoothは、手ぶれ補正された隣接する2フレームのパノラマ画像間の動きの差分である。ｎは、フレーム数である。
【００９２】
また、式(2)では、updatedParameterは、更新された参照フレームのパラメータであり、T2は、第2閾値であり、T1は、第3閾値である。angle_error≦T2の場合、カメラの動きは、意図しないノイズ運動であり、また、意図しないノイズ運動は、所定のノイズ許容範囲内にあるもの、及び所定のノイズ許容範囲を超えたものを含む。なお、所定のノイズ許容範囲は、第2閾値（T2）よりも小さい第3閾値（T1）以下であり、即ち、angle_error≦T1である。また、angle_error＞T2の場合、カメラの動きは、ユーザの意図した動きによるものである。
【００９３】
実験から分かるように、隣接する2フレームのパノラマ画像間の動きは、動きオイラー角が[0，1]範囲内にある場合に、視覚的に感じられないブレである。このために、式(2)で、T1=1。angle_error≦T1の場合に、現フレームの二次元パノラマ画像の動きに対して行われる平滑化処理は前フレームの二次元パノラマ画像の動きに対して行われる平滑化処理と同様である。T1＜angle_error≦T2の場合に、カメラの動きは、ノイズ許容範囲を超えており、現フレームの平滑化処理角度は、anglenactualに等しく、anglenactualは、式(3)で計算することができる。式(3)において、anglenは参照フレームの二次元パノラマ画像に対するカメラの実際の動き角度値である。angle_error＞T2になると、カメラの動きはユーザの意図した動きにより生じたものである。この場合に現フレームの二次元パノラマ画像が基準二次元パノラマ画像に対して大きな差があるために、参照フレームの二次元パノラマ画像を更新する必要がある。ここで、T2は実験から得られる。本実施例においてT2を10に設定する。
【００９４】
ノイズを含んだ動きに対して平滑化処理を施す。即ち、オイラー角pitch/roll/yawに対してノイズ除去処理を施す。具体的に次の式を用いる。
【数２】
2019004451.tif 000004
【００９５】
平滑化された角度に基づいて動き補正回転マトリックスを計算する。
【００９６】
カレント平滑化フレームと一個前の平滑化フレームに基づいて回転角度誤差を計算し、算出された回転角度誤差を基づいて手ぶれ補正を評価する。周知のように、手ぶれ補正処理の間に、絶対的な安定はあり得ないため、ノイズの影響が避けられない。ノイズの影響を導入して平滑化された2フレーム間の回転角度ノイズの計算に用いて、後続の画像手ぶれ補正の評価に使用する。本発明はスライディング・ウィンドウでフレーム間ノイズ保存を行い、スライディング・ウィンドウ・サイズは、一般に、画像のフレームレートに応じて設定される。
【００９７】
上記式（2）により、カレントフレームの二次元パノラマ画像が突然に変化したと判断された場合に、累積誤差の増加を防ぐために、参照フレームの二次元パノラマ画像を更新する。一般的に、一番目のフレームのパノラマ画像を参照フレームのパノラマ画像として用いる。更新が必要の際に、カレントフレームのパノラマ画像で参照フレームのパノラマ画像を更新する。
【００９８】
ステップ404：パノラマ映像に対して手ぶれ補正を行う。
【００９９】
手ぶれ補正とは、動き平滑結果即ち動き補正回転マトリックスに基づいてパノラマ映像を再構成することである。従来の二次元映像の手ぶれ補正処理においては、パノラマ画像は、画像の切り取りにより画像を再構成して映像の手ぶれ補正を実現する。しかし、パノラマ画像の場合に、画像の切り取りにより360度の広角性が壊れる。一方、一般に画像は三次元空間においてパノラマ画像は球体画像である。球体画像の特性に基づいて、任意の方向に回転させて手ぶれ補正の効果が得られる。球体画像が任意の方向に回転することができるために、球体画像の手ぶれ補正は画像の切り取りが必要せず、回転動き補正により行う。図15において、左上に照準参照フレームの2次元パノラマ画像、左下に補正対象となるぶれる2次元パノラマ画像を示す。参照フレームの二次元パノラマ画像（左上の画像）及びぶれる二次元パノラマ画像（左下の画像）に基づいてフレーム間の動き補正回転マトリックスを計算し、オンライン動き平滑化計算により平滑化された回転マトリックスが求められる。そして、平滑化された動き補正回転マトリックスをカレントフレームの二次元パノラマ画像（右上の画像）に適用することにより、手ぶれ補正された二次元パノラマ画像（右下の画像）が得られる。補正された2次元パノラマ画像は参照フレームや補正前の2次元パノラマ画像に比べて、より安定的である。動き補正回転マトリックスRは次の式で表すことができる。
【数３】
2019004451.tif 000005
安定画像＝Rsmooth*Rnoise*ぶれる画像＋T        （6）
【０１００】
ここで、式（5）において、Rは回転マトリックスであり、オイラー角計算より求められたtheta(x)、theta(y)、theta(z)はそれぞれグローバル座標系動き計算から得られるオイラー角roll、pitch、yawを表す。オイラー角roll、pitch、yawは参照フレームに対する現フレームの回転角度である。また、式（6）はぶれる画像から安定画像への変換に用いる計算式である。その中に、Rsmoothは平滑化された回転マトリックスで、Rnoiseは元の回転マトリックスである。Tは動きシフト量である。球体画像手ぶれ補正において、球体画像の動きは主に回転動きで表す。このために、Tを無視してもよい。
【０１０１】
手ぶれ補正された映像を出力する。オンライン実況パノラマ映像が入力される場合に、オンライン実況パノラマ映像が出力される。オフラインパノラマ映像が入力される場合に、オフラインパノラマ映像が出力される。
【０１０２】
本発明はパノラマ映像の手ぶれ補正方法を提供する。三次元パノラマ画像の球体特性のために、画像のブレを主に回転動きで表すことができる。これにより、本発明は回転動き補正に基づくパノラマ画像手ぶれ補正方法を提供する。本発明の手ぶれ補正方法により、従来の画像切り取りを必要とせず、任意方向上の球体画像回転により映像手ぶれ補正が実現される。実況動き平滑化処理において、複雑の三次元動きモデルが必要とせず、オイラー角に対して平滑化を行うと共に、実況の動き手ぶれ補正処理を行う。本発明は、意図した動きかどうかを判断すると共に、動きに対して角度平滑化計算を行い、現フレームが意図した動きであると判断する場合に、参照フレームを更新し、逆に、意図しない動きであるノイズ運動と判断する場合に、さらに、ノイズ運動が許容範囲内にあるかを判断し、ノイズ運動が許容範囲内の場合に、一個前のフレームの平滑化動きパラメータを用いてカレントフレームに対して動き平滑化処理を施し、逆に、ノイズ運動が許容範囲内にない場合に、現フレームのノイズを導入し、動き情報履歴に基づいて、動き平滑処理を行う。本発明より提供される方法は段階処理方式を用いて、従来の映像手ぶれ補正方法に比べて累積誤差が少ない。
【０１０３】
以上、本発明の最適実施形態を説明した。本発明の主旨を逸脱しない限り、上述した実施例を変更、追加または削除することができるが、いずれの場合も本発明の範囲に属する。
【図１】
2019004451.tif 000006
【図２】
2019004451.tif 000007
【図３】
2019004451.tif 000008
【図４】
2019004451.tif 000009
【図５】
2019004451.tif 000010
【図６】
2019004451.tif 000011
【図７】
2019004451.tif 000012
【図８】
2019004451.tif 000013
【図９】
2019004451.tif 000014
【図１０】
2019004451.tif 000015
【図１１】
2019004451.tif 000016
【図１２】
2019004451.tif 000017
【図１３】
2019004451.tif 000018
【図１４】
2019004451.tif 000019
【図１５】
2019004451.tif 000020