(57)【要約】【課題】スポーツのプレイヤーの動作を撮影した動画の像振れを精度良く補正しつつも、処理負荷を合理的に抑えることができる像振れ補正システムを提供する。【解決手段】スポーツのプレイヤーの動作を撮影した動画の像振れを補正するための像振れ補正システムが提供される。前記像振れ補正システムは、前記動画に含まれる複数の第１フレーム上の特徴点の座標に基づいて、前記複数の第１フレーム間の位置のズレを補正する第１補正処理を実行する第１補正部と、前記第１補正処理後の複数の第１フレームである複数の第２フレーム間の位置のズレが所定の閾値よりも大きいか否かを判定する判定部と、前記複数の第２フレーム間の位置のズレが前記所定の閾値よりも大きいと判定された場合には、前記複数の第２フレーム上の特徴点の座標に基づいて、前記複数の第２フレーム間の位置のズレを補正する第２補正処理を実行する第２補正部とを備える。【選択図】図４
2015126373.tif 000002
【特許請求の範囲】
【請求項１】
スポーツのプレイヤーの動作を撮影した動画の像振れを補正するための像振れ補正システムであって、
前記動画に含まれる複数の第１フレーム上の特徴点の座標に基づいて、前記複数の第１フレーム間の位置のズレを補正する第１補正処理を実行する第１補正部と、
前記第１補正処理後の複数の第１フレームである複数の第２フレーム間の位置のズレが所定の閾値よりも大きいか否かを判定する判定部と、
前記複数の第２フレーム間の位置のズレが前記所定の閾値よりも大きいと判定された場合には、前記複数の第２フレーム上の特徴点の座標に基づいて、前記複数の第２フレーム間の位置のズレを補正する第２補正処理を実行する第２補正部と
を備える、像振れ補正システム。
【請求項２】
前記判定部は、前記複数の第２フレーム間の差分が前記所定の閾値よりも大きい否かを判定する、
請求項１に記載の像振れ補正システム。
【請求項３】
前記第２補正部は、前記第２補正処理において、前記第２フレーム上に前記特徴点が所定の個数以上検出されない場合には、前記特徴点を検出するための閾値を下げる、
請求項１又は２に記載の像振れ補正システム。
【請求項４】
前記第１補正処理の前に、前記プレイヤーの存在しない背景領域を設定する背景設定部
をさらに備え、
前記第１補正部及び前記第２補正部は、前記背景領域における前記複数の第１フレーム上の前記特徴点及び前記背景領域における前記複数の第２フレームの前記特徴点の座標に基づいて、前記第１補正処理及び前記第２補正処理を実行し、
前記判定部は、前記複数の第２フレーム間の前記背景領域における位置のズレが前記所定の閾値よりも大きいか否かを判定する、
請求項１から３のいずれかに記載の像振れ補正システム。
【請求項５】
前記背景設定部は、前記プレイヤーの身体の形状的特徴に基づいて前記プレイヤーを捉えたマスク領域を検出した後、前記背景領域を検出する、
請求項４に記載の像振れ補正システム。
【請求項６】
前記第１補正処理の前に、前記複数の第１フレームの画像サイズを縮小するサイズ調整部
をさらに備える、
請求項１から５のいずれかに記載の像振れ補正システム。
【請求項７】
前記サイズ調整部は、前記複数の第１フレームの長手方向の端部の領域を切り取ることにより、前記画像サイズを縮小する、
請求項６に記載の像振れ補正システム。
【請求項８】
スポーツのプレイヤーの動作を撮影した動画の像振れを補正するための像振れ補正プログラムであって、
前記動画に含まれる複数の第１フレーム上の特徴点の座標に基づいて、前記複数の第１フレーム間の位置のズレを補正する第１補正処理を実行するステップと、
前記第１補正処理後の複数の第１フレームである複数の第２フレーム間の位置のズレが所定の閾値よりも大きいか否かを判定するステップと、
前記複数の第２フレーム間の位置のズレが前記所定の閾値よりも大きいと判定された場合には、前記複数の第２フレーム上の特徴点の座標に基づいて、前記複数の第２フレーム間の位置のズレを補正する第２補正処理を実行するステップと
をコンピュータに実行させる、
像振れ補正プログラム。
【請求項９】
スポーツのプレイヤーの動作を撮影した動画の像振れを補正するための像振れ補正方法であって、
前記動画に含まれる複数の第１フレーム上の特徴点の座標に基づいて、前記複数の第１フレーム間の位置のズレを補正する第１補正処理を実行するステップと、
前記第１補正処理後の複数の第１フレームである複数の第２フレーム間の位置のズレが所定の閾値よりも大きいか否かを判定するステップと、
前記複数の第２フレーム間の位置のズレが前記所定の閾値よりも大きいと判定された場合には、前記複数の第２フレーム上の特徴点の座標に基づいて、前記複数の第２フレーム間の位置のズレを補正する第２補正処理を実行するステップと
を備える、像振れ補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スポーツのプレイヤーの動作を撮影した動画の像振れを補正するための像振れ補正システム、プログラム及び方法に関する。
【背景技術】
【０００２】
従来より、スポーツのプレイヤーの動作を動画として撮影し、かかる動画を画像処理することで、プレイヤーの動作を分析する装置が公知である（特許文献１等）。分析の結果は、プレイヤーのフォームの改善やスポーツ用品の開発等、様々な用途で利用される。
【０００３】
このとき、分析の対象となる動画の撮影には、三脚等で固定されたカメラが用いられることもあるが、カメラ機能の搭載された携帯電話を手に持って気軽に撮影を行いたいという要望もある。しかしながら、この場合には、像振れの問題が特に顕著となる。なお、「像振れ」とは、典型的には、カメラを持つ手の揺れにより生じる手振れであるが、画像に振れが生じる限り、三脚等で固定されたカメラでの撮影時に生じる振れも意味し得る。
【０００４】
そして、分析の対象となる動画の像振れが大きいと、プレイヤーの動作を正確に評価することが難しくなる。例えば、動画のフレーム内でプレイヤーの手を捉えた領域が移動したとしても、それが、実際にプレイヤーが手を動かしたことによるものなのか、カメラが動いたことによるものなのかの判別が難しくなるからである。そこで、特許文献１では、このような問題を解決するべく、特にゴルフスイングの分析に適した像振れを低減するための補正処理のアルゴリズムが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−７８０６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、像振れの程度は、撮影者やカメラ、撮影場所等の撮影条件によって異なる。にも拘わらず、どのような撮影条件下で撮影された動画に対しても同様の補正処理を実行するのでは、像振れの大きい動画において像振れ補正の精度が不十分になるか、或いは像振れの小さい動画において無駄に処理負荷が上がるかのどちらかの結果をもたらし得る。
【０００７】
本発明は、スポーツのプレイヤーの動作を撮影した動画の像振れを精度良く補正しつつも、処理負荷を合理的に抑えることができる像振れ補正システム、プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１観点に係る像振れ補正システムは、スポーツのプレイヤーの動作を撮影した動画の像振れを補正するための像振れ補正システムであって、前記動画に含まれる複数の第１フレーム上の特徴点の座標に基づいて、前記複数の第１フレーム間の位置のズレを補正する第１補正処理を実行する第１補正部と、前記第１補正処理後の複数の第１フレームである複数の第２フレーム間の位置のズレが所定の閾値よりも大きいか否かを判定する判定部と、前記複数の第２フレーム間の位置のズレが前記所定の閾値よりも大きいと判定された場合には、前記複数の第２フレーム上の特徴点の座標に基づいて、前記複数の第２フレーム間の位置のズレを補正する第２補正処理を実行する第２補正部とを備える。
【０００９】
本発明の第２観点に係る像振れ補正システムは、第１観点に係るシステムであって、前記判定部は、前記判定部は、前記複数の第２フレーム間の差分が前記所定の閾値よりも大きい否かを判定する。
【００１０】
本発明の第３観点に係る像振れ補正システムは、第１又は第２観点に係るシステムであって、前記第２補正部は、前記第２補正処理において、前記第２フレーム上に前記特徴点が所定の個数以上検出されない場合には、前記特徴点を検出するための閾値を下げる。
【００１１】
本発明の第４観点に係る像振れ補正システムは、第１から第３観点のいずれかに係るシステムであって、前記第１補正処理の前に、前記プレイヤーの存在しない背景領域を設定する背景設定部をさらに備える。前記第１補正部及び前記第２補正部は、前記背景領域における前記複数の第１フレーム上の前記特徴点及び前記背景領域における前記複数の第２フレームの前記特徴点の座標に基づいて、前記第１補正処理及び前記第２補正処理を実行する。前記判定部は、前記複数の第２フレーム間の前記背景領域における位置のズレが前記所定の閾値よりも大きいか否かを判定する。
【００１２】
本発明の第５観点に係る像振れ補正システムは、第４観点に係るシステムであって、前記補正部は、前記背景設定部は、前記プレイヤーの身体の形状的特徴に基づいて前記プレイヤーを捉えたマスク領域を検出した後、前記背景領域を検出する。
【００１３】
本発明の第６観点に係る像振れ補正システムは、第１から第５観点のいずれかに係るシステムであって、前記第１補正処理の前に、前記複数の第１フレームの画像サイズを縮小するサイズ調整部をさらに備える。
【００１４】
本発明の第７観点に係る像振れ補正システムは、第６観点に係るシステムであって、前記サイズ調整部は、前記複数の第１フレームの長手方向の端部の領域を切り取ることにより、前記画像サイズを縮小する。
【００１５】
本発明の第８観点に係る像振れ補正プログラムは、スポーツのプレイヤーの動作を撮影した動画の像振れを補正するためのプログラムであって、前記動画に含まれる複数の第１フレーム上の特徴点の座標に基づいて、前記複数の第１フレーム間の位置のズレを補正する第１補正処理を実行するステップと、前記第１補正処理後の複数の第１フレームである複数の第２フレーム間の位置のズレが所定の閾値よりも大きいか否かを判定するステップと、前記複数の第２フレーム間の位置のズレが前記所定の閾値よりも大きいと判定された場合には、前記複数の第２フレーム上の特徴点の座標に基づいて、前記複数の第２フレーム間の位置のズレを補正する第２補正処理を実行するステップとをコンピュータに実行させる。
【００１６】
本発明の第９観点に係る像振れ補正方法は、スポーツのプレイヤーの動作を撮影した動画の像振れを補正するための方法であって、前記動画に含まれる複数の第１フレーム上の特徴点の座標に基づいて、前記複数の第１フレーム間の位置のズレを補正する第１補正処理を実行するステップと、前記第１補正処理後の複数の第１フレームである複数の第２フレーム間の位置のズレが所定の閾値よりも大きいか否かを判定するステップと、前記複数の第２フレーム間の位置のズレが前記所定の閾値よりも大きいと判定された場合には、前記複数の第２フレーム上の特徴点の座標に基づいて、前記複数の第２フレーム間の位置のズレを補正する第２補正処理を実行するステップとを備える。
【発明の効果】
【００１７】
本発明によれば、スポーツのプレイヤーの動作を撮影した動画に含まれる複数のフレーム間の位置のズレを補正する補正処理が実行される。しかしながら、その後、依然として補正処理後の複数のフレーム間の位置のズレが大きい場合には、すなわち、像振れが大き過ぎたために、１回目の補正処理で十分に像振れを解消できなかった場合には、２回目の補正処理が実行される。従って、必要とされる場合にのみ、処理負荷が増大することになる。その結果、スポーツのプレイヤーの動作を撮影した動画の像振れを精度良く補正しつつも、処理負荷を合理的に抑えることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態に係るゴルフスイング分析システム（像振れ補正システム）の構成を示すブロック図。
【図２】ゴルフスイング分析処理の流れを示すシーケンス図。
【図３】撮影画面を示す図。
【図４】像振れ補正処理の流れを示すフローチャート。
【図５】仮のアドレスフレームに対応するエッジ画像の例。
【図６】仮のアドレスフレームと仮のインパクトフレームとの差分画像の例。
【図７】マスク領域の例。
【図８】１回目の補正処理ルーチンの流れを示すフローチャート。
【図９】２回目の補正処理ルーチンの流れを示すフローチャート。
【発明を実施するための形態】
【００１９】
以下、図面を参照しつつ、本発明の一実施形態に係る像振れ補正システム、プログラム及び方法について説明する。
【００２０】
＜１．ゴルフスイング分析システムの概略＞
図１に、本実施形態に係る像振れ補正システムである、ゴルフスイング分析システム１００を示す。ゴルフスイング分析システム１００は、ゴルフスイングを動画として撮影し、これを画像処理することでゴルファーの動作を分析するためのシステムであり、撮影された動画から手振れに代表される像振れを補正する機能を有している。ゴルフスイング分析システム１００は、主として、携帯電話１と、携帯電話１からインターネット６を介して接続可能なサーバ２とから構成される。携帯電話１には、カメラ１０が搭載されている。ユーザは、このカメラ１０を用いてゴルフスイングを動画として撮影し、サーバ２は、これを携帯電話１から受け取り、分析する。なお、ここでいうユーザとは、ゴルフスイングの分析結果を必要とするゴルファーやインストラクター等の総称である。以下、携帯電話１及びサーバ２のハードウェア構成について説明した後、これらの動作について説明する。
【００２１】
＜２．携帯電話のハードウェア構成＞
本実施形態における携帯電話１は、カメラ機能付きのスマートフォンであり、ゴルフスイングの分析用のプログラム１Ａがインストールされている。このプログラム１Ａは、サーバ２と通信しながら、携帯電話１に後述する動作を実行させるためのアプリケーションソフトウェアであり、インターネット６を介してダウンロード可能である。
【００２２】
携帯電話１は、カメラ１０の他、表示部１１、入力部１２、記憶部１３、制御部１４、及び通信部１５を有しており、これらの部１０〜１５は、バス線１６を介して相互に通信可能である。表示部１１は、液晶ディスプレイ等で構成され、後述する画面等をユーザに対し表示する。入力部１２は、タッチパネルや操作ボタン等で構成され、ユーザからの操作を受け付ける。記憶部１３は、内蔵型のフラッシュメモリや取り外し可能なＳＤカード等で構成されており、上述のプログラム１Ａは、ここに格納されている。通信部１５は、携帯電話通信網を介しての他の電話との音声通信や、インターネット６を介しての各種サーバ（サーバ２を含む）とのデータ通信を可能にする他、専用のケーブルを介しての他の情報端末との通信も可能にする。制御部１４は、ＣＰＵ、ＲＯＭおよびＲＡＭ等で構成されており、記憶部１３内に格納されているプログラム１Ａを読み出して実行することにより、仮想的に撮影案内部１４Ａ及びサイズ調整部１４Ｂとして動作する。各部１４Ａ，１４Ｂの動作については、後述する。
【００２３】
＜３．サーバのハードウェア構成＞
サーバ２は、ゴルフスイングの分析用のプログラム２Ａがインストールされたアプリケーションサーバである。このプログラム２Ａは、携帯電話１と通信しながら、サーバ２に後述する動作を実行させるためのアプリケーションソフトウェアであり、ＣＤ−ＲＯＭ等のコンピュータで読み取り可能な記録媒体２０からインストール可能である。
【００２４】
サーバ２は、表示部２１、入力部２２、記憶部２３、制御部２４、及び通信部２５を有しており、これらの部２１〜２５は、バス線２６を介して相互に通信可能である。表示部２１は、液晶ディスプレイ等で構成され、必要な画面等をユーザに対し表示する。入力部２２は、マウスやキーボード、タッチパネル等で構成され、ユーザからの操作を受け付ける。記憶部２３は、ハードディスク等で構成されており、上述のプログラム２Ａは、ここに格納されている。通信部２５は、インターネット６を介しての他の情報端末（携帯電話１を含む）とのデータ通信を可能にする。制御部２４は、ＣＰＵ、ＲＯＭおよびＲＡＭ等で構成されている。制御部２４は、記憶部２３内に格納されているプログラム２Ａを読み出して実行することにより、仮想的に背景設定部２４Ａ、第１補正部２４Ｂ、判定部２４Ｃ、第２補正部２４Ｄ及び分析部２４Ｅとして動作する。各部２４Ａ〜２４Ｅの動作については、後述する。
【００２５】
＜４．ゴルフスイング分析処理＞
以下、図２を参照しつつ、携帯電話１及びサーバ２によるゴルフスイング分析処理について説明する。
まず、ユーザは、ゴルフ練習場等においてゴルフスイングを改善したいと考えたときに、携帯電話１上でこれを支援するためのプログラム１Ａを起動する（ステップＳ１）。これを受けて、携帯電話１の撮影案内部１４Ａは、表示部１１上に、図３に示すような撮影画面Ｗ１を表示させる（ステップＳ２）。撮影画面Ｗ１内には、カメラ１０が捉えるスルー画像が表示されるとともに、このスルー画像に重ねて２つの案内枠Ｗ２，Ｗ３が表示される。中央の案内枠Ｗ２は、ゴルファー７０の握るゴルフクラブ７のグリップ７１を捉えるべき領域を示す枠でありであり、右下の案内枠Ｗ３は、ゴルフクラブ７のヘッド７２を捉えるべき領域を示す枠である。従って、ユーザは、これらの案内枠Ｗ２，Ｗ３を参考にすることで、カメラ１０の撮像範囲内においてゴルファー７０を捉えるべき凡その位置やアングルを容易に理解することができる。なお、これらの案内枠Ｗ２，Ｗ３は、カメラ１０を縦長に持った上で、カメラ１０の撮像範囲内の所定の位置（本実施形態では、中央付近）でゴルファー７０を捉えるように案内するような位置に表示される。また、撮影画面Ｗ１上には、案内枠Ｗ２，Ｗ３に加え、これらの意味するところを示す情報、例えば、「中央の枠内にプレイヤーの手元を写し、右下の枠内にゴルフクラブのヘッドを写してください。」と言ったメッセージが表示されてもよい。
【００２６】
続いて、ユーザは、以上のガイダンスに従って、カメラ１０の撮像範囲内の適切な位置でゴルファー７０を捉えた後、カメラ１０でゴルフスイングを写す動画を撮影する（ステップＳ３）。このとき、ユーザは、手に持ったカメラ１０を極力動かさないように注意しながら、アドレスからフィニッシュまでの一連の動作を撮影する。なお、ゴルフスイングは、一般に、アドレス、トップ、インパクト、フィニッシュの順に進む。アドレスとは、ゴルフクラブ７のヘッド７２をボール近くに配置した初期の状態を意味し、トップとは、アドレスからゴルフクラブ７をテイクバックし、最もヘッド７２が振り上げられた状態を意味し、インパクトとは、トップからゴルフクラブ７が振り下ろされ、ヘッド７２がボールと衝突した瞬間の状態を意味し、フィニッシュとは、インパクト後、ゴルフクラブ７を前方へ振り抜いた状態を意味する。撮影された動画は、記憶部１３内に保存される。
【００２７】
撮影が終わると、携帯電話１のサイズ調整部１４Ｂは、必要に応じて、撮影された動画の画像サイズを縮小する（ステップＳ４）。具体的には、サイズ調整部１４Ｂは、撮影された動画のアスペクト比を判断し、アスペクト比が所定値と異なると判断される場合（例えば、縦１６：横９である場合）には、アスペクト比が所定値（本実施形態では、縦４：横３）となるように、動画に含まれる各フレームの上下方向（長手方向）の端辺から所定％の領域を切り取る。画像サイズが一定以上の比率で縦長である場合には、各フレームの上下の所定％の領域には、ゴルファー７０やゴルフクラブ７が写っていないと考えられるからである。さらに、サイズ調整部１４Ｂは、以上の動画のピクセル数を判断し、これが所定値よりも大きいと判断される場合（例えば、縦１４４０×横１０８０である場合）には、これを所定値（本実施形態では、縦６４０×横４８０）となるように、動画に含まれる各フレームを圧縮する。なお、このとき、圧縮後の画素値に小数点が生じないよう、内挿処理にて、各色成分（Ｒ，Ｇ，Ｂ）に関し画素値を整数化することが好ましい。
【００２８】
続いて、携帯電話１の通信部１５は、以上の動画をインターネット６を介してサーバ２に送信する（ステップＳ５）。一方、サーバ２側では、通信部２５がこれを受信し、その後、背景設定部２４Ａ、第１補正部２４Ｂ、判定部２４Ｃ及び第２補正部２４Ｄが、携帯電話１から送られてきたこの動画に対し像振れ補正処理を実行する（ステップＳ６）。像振れ補正処理の詳細については、後述する。
【００２９】
像振れ補正処理が終了すると、サーバ２の分析部２４Ｅが、像振れ補正後の動画を画像処理することで、ゴルフスイングの分析を行う（ステップＳ７）。なお、ゴルフスイングを捉えた動画に基づいてゴルフスイングを分析するアルゴリズムについては、様々なものが公知である。従って、ここでは詳細な説明を省略するが、例えば、伸ばすべきところで腕が曲がっていないか、顔が正しい方向を向いているか等の、インストラクターの知見に基づいて作成されたチェックポイントについての診断がされ得る。なお、ゴルフのスイングフォームの効果的な学習のためには、アドレス、トップ、インパクト、フィニッシュ等の特定の主要なタイミングでのフォームに注目することが好ましい。従って、例えば、分析部２４Ｅは、像振れ補正後の動画からこのような特定のタイミングでのフレームを特定した後、このようなチェックすべきフレーム内に写るゴルフクラブ７やゴルファー７０のシルエットを抽出することで、以上のような診断を行う。
【００３０】
以上の分析の結果は、サーバ２の通信部２５から携帯電話１の通信部１５に送信され（ステップＳ８）、携帯電話１の表示部１１上に表示される（ステップＳ９）。従って、ユーザは、分析の結果を確認し、正しいスイングフォームの習得に役立てることができる。なお、分析の結果は、スイングの点数、長所・短所、ゴルファー７０に見合った練習メニュー等として表現され得る。
【００３１】
＜５．像振れ補正処理＞
以下、図４を参照しつつ、像振れ補正処理について説明する。なお、詳細は後述するとおりであるが、まず大まかに説明すると、像振れ補正処理では、動画のフレーム内で、分析の対象となるゴルファー７０及びゴルフクラブ７が存在しない背景領域が設定され（ステップＳ２１〜Ｓ２６）、この背景領域に対して１回目の補正ルーチンが実行される（ステップＳ２７）。なお、背景領域を設定するのは、カメラ１０の動きによる像振れを正確に評価するために、ゴルファー７０及びゴルフクラブ７の動きの影響を受けない領域を設定するためである。そして、その後、１回目の補正ルーチンの実行後の動画においても像振れが依然として大きいと考えられる場合には（ステップＳ２８）、２回目の補正ルーチンが実行される（ステップＳ２９）。以下では、携帯電話１から送られてきた動画に含まれる複数のフレームを、Ｆ1，Ｆ2，・・・，Ｆn（ｎは、フレームの枚数）と表す。
【００３２】
まず、ステップＳ２１として、背景設定部２４Ａは、フレームＦ1，Ｆ2，・・・，Ｆnの中から、仮のアドレス及び仮のインパクトのフレームを決定する。具体的には、背景設定部２４Ａは、ｉ＝１，２，・・・，ｎ−１に対し、Ｆi+1の案内枠Ｗ３内の画像と、Ｆiの案内枠Ｗ３内の画像との差分画像Ｇiを生成する。案内枠Ｗ３とは、上記のとおり、ゴルフクラブ７のヘッド７２及びボールを捉える領域の枠である。また、差分画像Ｇiとは、案内枠Ｗ３内の各画素について、Ｆi+1における画素値からＦiにおける画素値を減算した値をその画素の画素値とする画像である。なお、ここでの画素値の計算は、色成分（Ｒ，Ｇ，Ｂ）毎に行われる。そして、各差分画像Ｇiについて、全画素の全色成分に関する画素値の絶対値の合計値を算出し、この合計値が最大となるｉ＝ａを特定し、このときのフレームＦaを仮のアドレスフレームとする。そして、その後、動画のヘッダ等に含まれるＦＰＳ(frame per second)の情報を参照して、ここから所定時間後（約２秒後）のｉ＝pを特定し、このときのフレームＦpを仮のインパクトフレームとする。
【００３３】
続くステップＳ２２では、背景設定部２４Ａは、仮のアドレスフレームＦa上でのゴルフクラブ７のヘッド７２（より正確には、シャフト７３の下端）の座標を検出する。具体的には、背景設定部２４Ａは、仮のアドレスフレームＦa上でエッジを検出する。エッジの検出方法については、様々なものが公知であるため、ここでは詳細な説明を省略するが、例えば、Sobelオペレータを用いることができる。本実施形態では、エッジとして検出される画素が所定個数を越えるまで、エッジの検出に用いられる閾値を下げていく。背景設定部２４Ａは、エッジ画素の画素値を２５５（白）とし、それ以外の画素値を０（黒）とする画像（以下、エッジ画像）を生成する（図５参照）。
【００３４】
その後、背景設定部２４Ａは、エッジ画像上でハフ変換により直線を検出し、最大の投票数を得た角度θ及び距離ρに対応する直線をゴルフクラブ７のシャフト７３に対応する直線８３とする。そして、エッジ画像上で右下のコーナー８に最も近い直線８３上のエッジ画素を、シャフト７３の下端に対応する画素として仮設定する。しかしながら、直線８３上のエッジ画素には、シャフト７３ではなく背景の画素を表すものも含まれ得る。従って、仮設定された画素から直線８３に沿ってエッジ画素が所定数（例えば、１０画素）以上連続している場合に限り、その画素をシャフト７３の下端の画素として最終決定する。一方、エッジ画素が所定数連続しなかった場合には、エッジ画像上で右下のコーナー８に次に近い直線８３上のエッジ画素が同様に探索される。なお、右下のコーナー８が基準とされるのは、ヘッド７２がこの点の近くに存在すると予想されるからである。
【００３５】
以上のとおり、仮のアドレスフレームＦa上でのヘッド７２の座標が検出されると、背景設定部２４Ａは、次にステップＳ２３として、仮のアドレスフレームＦa上でのゴルファー７０の手元７５の座標を検出する。具体的には、背景設定部２４Ａは、エッジ画像上でシャフト７３の下端の画素から直線８３に沿って上方へ画素を探索してゆき、エッジ画素でない画素が最初に現れたときに、最後に検出されたエッジ画素を手元７５に対応する画素とする。ただし、誤検出を避けるべく、以下の式１を満たす場合には、探索を続ける。式１の成立は、手元７５とヘッド７２の位置が近すぎることを意味している。
【００３６】
Ｙhand−Ｈ／２＞ｃ＊（Ｙclub−Ｈ／２）        （式１）
なお、ｃは、０＜ｃ≦１以下の定数であり、Ｙhandは、手元７５のＹ座標、Ｙclubは、ヘッド７２のＹ座標であり、Ｈは、エッジ画像の縦の画素数である。なお、Ｙ軸は、エッジ画像の縦軸として定義される（上端においてＹ＝０であり、下向きが正である）。また、Ｘ軸は、エッジ画像の横軸として定義される（左端においてＸ＝０であり、右向きが正である）。また、Ｘ及びＹ方向のどちらにおいても、隣接画素間の距離は１である。なお、Ｘ軸及びＹ軸の定義は、エッジ画像だけでなく、フレームＦi等のその他の画像にも共通する定義である。
【００３７】
そして、式１を満たすと判断された場合には、それ以後の探索は、Ｙ＝Ｈ／２の位置から直線８３に沿って下方へ進められる。このとき、背景設定部２４Ａは、最初に検出されたエッジ画素を手元７５に対応する画素とする。
【００３８】
次に、ステップＳ２４として、背景設定部２４Ａは、仮のアドレスフレームＦaと仮のインパクトフレームＦpとの差分画像Ｄを作成する。この差分画像Ｄは、様々な方法で生成し得るが、例えば、各画素について、ＨＳＶ色空間内での色相、彩度及び明度に関するＦa，Ｆp間の距離を適当に重み付して足し合わせた値（以下、色距離）をその画素の画素値とする画像を生成し、さらにこれを二値化した画像とすることができる。この二値化では、所定の閾値よりも大きな色距離を有する画素の画素値を１（黒）とし、それ以外の画素の画素値を０（白）とする。また、このとき、ノイズの影響を小さくするため、黒が連続する領域が所定の大きさに満たない場合には、その領域内の画素の画素値を０（白）に変換することもできる。図６は、このような方法で生成された差分画像Ｄを示している。
【００３９】
その後、背景設定部２４Ａは、差分画像Ｄ上でのゴルファー７０の頭部の座標を検出する。具体的には、差分画像Ｄ上で頭部が現れると予想される領域８１内で、最も上に現れる黒の画素の座標を頭部の位置とする。頭部が現れると予想される領域８１とは、例えば、差分画像Ｄの画像サイズが縦６４０×横４８０である場合には、
Ｘ方向の範囲＝Ｘhand−５０〜Ｘhand＋５０
Ｙ方向の範囲＝１００〜Ｙhand
とする矩形領域とすることができる。なお、Ｘhandは、手元７５のＸ座標である。
【００４０】
続くステップＳ２５では、背景設定部２４Ａは、差分画像Ｄ上でのゴルファー７０の腰の座標を検出する。具体的には、差分画像Ｄ上で腰が現れると予想される領域８２内で、最も左に現れる黒の画素の座標を腰の位置とする。腰が現れると予想される領域８２とは、例えば、差分画像Ｄの画像サイズが縦６４０×横４８０である場合には、
Ｘ方向の範囲＝０〜Ｘhand
Ｙ方向の範囲＝Ｙhand−１００〜Ｙhand
とする矩形領域とすることができる。
【００４１】
ヘッド７２、手元７５、頭部及び腰を示す以上の特徴点が検出されると、続くステップＳ２６では、背景設定部２４Ａは、これらの座標に基づいて、全てのフレームＦ1，Ｆ2，・・・，Ｆn内においてゴルファー７０が存在するマスク領域８４を決定する（図７参照）。具体的には、まず、マスク領域８４を取り囲む矩形領域８５を決定する。この矩形領域８５は、フレームＦiの画像サイズが縦６４０×横４８０である場合には、
Ｘ方向の範囲＝Ｘwaist−３〜Ｘhand＋７０
Ｙ方向の範囲＝Ｙhead−３〜Ｙhand＋１．７（Ｙclub−Ｙhand）
とする矩形領域とすることができる。なお、Ｘwaistは、腰のＸ座標であり、Ｙheadは、頭のＹ座標である。
【００４２】
続いて、背景設定部２４Ａは、図７に示すように、予め決められている形状のマスク領域８４の上下左右の端部が矩形領域８５の上下左右の辺に接するように、マスク領域８４をＸ及びＹ方向に適宜膨張させる。これにより、ゴルファー７０を覆うマスク領域８４の位置及び形状が確定する。
【００４３】
また、背景設定部２４Ａは、所定の幅を有し、ヘッド７２のやや下方から斜め方向に手元７５の位置まで延びる直線状の領域を設定し、これをマスク領域８６とする。そして、全てのフレームＦ1，Ｆ2，・・・，Ｆn内においてマスク領域８４，８６のいずれでもない領域を、背景領域８７として設定する。以下、フレームＦ1，Ｆ2，・・・，Ｆnおいて背景領域８７が占める領域を、それぞれ背景領域Ｅ1，Ｅ2，・・・，Ｅnとする。
【００４４】
背景領域Ｅ1，Ｅ2，・・・，Ｅnの設定が終了すると、第１補正部２４Ｂが、図８に示す１回目の補正ルーチンを実行する（ステップＳ２７）。なお、図４に示すように、１回目の補正ルーチンの開始前には、この補正ルーチンの中で使用される２つのパラメータＢ1，Ｂ2の初期値が設定される。パラメータＢ1，Ｂ2の詳細については、１回目の補正ルーチンの詳細なアルゴリズムとともに、図８を用いて後述される。そして、ステップＳ２７の補正ルーチンの結果、フレームＦ1，Ｆ2，・・・，Ｆn間の位置のズレが解消され、新たなフレームＫ1，Ｋ2，・・・，Ｋnが生成される。Ｋ1，Ｋ2，・・・，Ｋnは、それぞれ１回目の補正ルーチンによる像振れ補正後のフレームＦ1，Ｆ2，・・・，Ｆnである。なお、先頭のフレームＦ1が位置のズレを修正するための基準とされるため、Ｋ1＝Ｆ1である。
【００４５】
その後、ステップＳ２８では、判定部２４Ｃが、ステップＳ２６で決定された背景領域８７において、フレームＫ1，Ｋ2，・・・，Ｋn間の差分が所定値以上であるか否かを判定する。具体的には、判定部２４Ｃは、ｉ＝１，２，・・・，ｎ−１に対し、Ｋi+1の背景領域８７内の画像と、Ｋiの背景領域８７内の画像との差分画像Ｊiを生成する。以下では、フレームＫiの背景領域８７を、背景領域Ｍiと表すこととする。なお、差分画像Ｊiとは、背景領域８７内の各画素について、Ｋi+1における画素値からＫiにおける画素値を減算した値をその画素の画素値とする画像である。また、ここでの画素値の計算は、色成分（Ｒ，Ｇ，Ｂ）毎に行われる。
【００４６】
続いて、判定部２４Ｃは、各差分画像Ｊiについて、全色成分の画素値の絶対値の合計値が所定値以上となる画素数Ｌをカウントする。ここで、差分画像Ｊiは、背景領域８７内におけるフレームＫi+1，Ｋi間の差分、すなわち、背景領域Ｍi+1，Ｍiの像間の差分を示すものであるから、完全に像振れが解消されていれば、差分画像Ｊi内の各画素において、全色成分の画素値の絶対値の合計値は０になるはずである。従って、画素数Ｌとは、隣接フレームＫi+1，Ｋi間の像振れによる差分、すなわち、隣接フレームＫi+1，Ｋi間の位置のズレの程度を表す指標となる。よって、全ての差分画像Ｊiについての画素数Ｌを合計すると、フレームＫ1，Ｋ2，・・・，Ｋn間の全体での位置のズレの程度を表す指標が得られる。そこで、判定部２４Ｃは、全ての差分画像Ｊiについての画素数Ｌの合計値が所定値以上であるか否かを判断する。これは、フレームＫ1，Ｋ2，・・・，Ｋnが全体として十分に像振れ補正されているかを判断していることに等しい。
【００４７】
そして、ステップＳ２８でフレームＫ1，Ｋ2，・・・，Ｋn間の差分が所定値以上であると判断された場合には、１回目の補正ルーチンで像振れが十分に解消されなかったことになるため、２回目の補正ルーチンが実行される（ステップＳ２９）。一方、フレームＫ1，Ｋ2，・・・，Ｋn間の差分が所定値よりも小さいと判断された場合には、１回目の補正ルーチンで十分に像振れが解消されたことになるため、２回目の補正ルーチンが実行されることなく、像振れ補正処理は終了する。２回目の補正ルーチンの詳細については、後述する。
【００４８】
＜５−１．１回目の補正ルーチン＞
以下、上述のステップＳ２７に係る１回目の補正ルーチンの詳細について説明する。
まず、第１補正部２４Ｂは、最初のフレームＦ1の背景領域Ｅ1上で特徴点を検出する（ステップＳ３１）。本実施形態では、Harrisのコーナー検出法が利用されるが、他のアルゴリズムを採用することもできる。具体的には、本実施形態では、背景領域Ｅ1内の各画素について、ＲＧＢの成分毎のHarrisオペレータの値が検出され、これらの値の加算値が閾値Ｂ1と比較される。そして、この閾値Ｂ1よりも大きい加算値を有する画素が、特徴点として検出される。ただし、ここでは、背景領域Ｅ1内に互いに一定以上近接した特徴点が存在する場合には、それらの特徴点のうち、以上の加算値が最大のもの以外を特徴点として認識しないようにすることが好ましい。
【００４９】
次に、第１補正部２４Ｂは、ステップＳ３１において背景領域Ｅ1上で十分な数（本実施形態では、３）の特徴点が検出されたか否かを判断する（ステップＳ３２）。そして、十分な数の特徴点が検出されたと判断される場合には、処理を次に進め、そうでない場合には、１回目の補正ルーチンを強制終了させる。背景領域Ｅ1上に十分な数の特徴点が存在しない場合には、後の処理が失敗する、又は十分な像振れ補正の効果を得られないことが予想されるからである。
【００５０】
続くステップＳ３３は、現在選択されているｉの値に対する背景領域Ｅi（ｉ≧２）上で特徴点を検出するステップである。ステップＳ３３は、図８に示すように、背景領域Ｅi上で十分な数（本実施形態では、３）の特徴点が検出され続ける限り、ｉ＝２，３，・・・，ｎに対し順に繰り返し実行される。すなわち、第１補正部２４Ｂは、背景領域Ｅi（ｉ≧２）上に十分な数の特徴点が存在しているか否かを判断し（ステップＳ３４）、十分な数存在していると判断される場合には、最後の背景領域Ｅnに達するまで、次の背景領域Ｅi+1に対し同様にステップＳ３３を実行する。一方、ステップＳ３４において背景領域Ｅi上に十分な数の特徴点が存在していないと判断される場合には、１回目の補正ルーチンを強制終了させる。背景領域Ｅ2，Ｅ3，・・・，Ｅn上に十分な数の特徴点が存在しない場合にも、後の処理が失敗する、又は十分な像振れ補正の効果を得られないことが予想されるからである。
【００５１】
なお、本実施形態のステップＳ３３では、Lucas-Kanade法により特徴点が抽出される。具体的には、ここでは、背景領域Ｅi内において、背景領域Ｅi-1内の各特徴点が追跡され、これに対応する対応点が検出される。続いて、第１補正部２４Ｂは、検出された各対応点と、これに対応する背景領域Ｅi-1上の元の特徴点との距離を算出し、この距離を閾値Ｂ2と比較する。そして、元の特徴点との距離が閾値Ｂ2よりも小さいと判断された対応点のみを、真の対応点とする。隣接フレームＦi-1，Ｆi上の特徴点と対応点との距離が大き過ぎる場合には、そのような位置のズレは像振れによるものとは考えにくいからである。なお、閾値Ｂ2の初期値は、例えば、４ピクセルとすることができる。以後、第１補正部２４Ｂは、閾値Ｂ2の基準をクリアした真の対応点のみを、背景領域Ｅi上の特徴点として認識する。また、ここでは、対応点の誤検出をさらに避けるべく、各対応点の周囲の局所領域と、元の特徴点の周囲の局所領域との間でテンプレートマッチングを行い、これらの像が類似している場合にのみ、その対応点を真の対応点とすることもできる。
【００５２】
以上の処理の結果、全ての背景領域Ｅ1，Ｅ2，・・・，Ｅn上に十分な数の特徴点が抽出された場合には、処理はステップＳ３５に進められる。ステップＳ３５は、背景領域Ｅ1，Ｅ2，・・・，Ｅn上の特徴点の座標に基づいて、フレームＦ1，Ｆ2，・・・，Ｆn間の位置のズレを補正するステップである。具体的には、第１補正部２４Ｂは、ｉ＝２，３，・・・，ｎに対し、背景領域Ｅi上の特徴点の座標を背景領域Ｅ1上の対応する特徴点（ステップＳ３３での追跡関係を辿った特徴点）の座標に変換するためのアフィン変換行列を算出する。その後、第１補正部２４Ｂは、フレームＦiに含まれる各画素の座標を算出されたアフィン変換行列を用いて変換することにより、最初のフレームＦ1に対する位置のズレが補正されたフレームＦiであるフレームＫiを生成する。なお、上述したとおり、このフレームＫiは、図４に示す像振れ補正処理の最終生成物になるとは限らない。ステップＳ２８の判定の結果によっては、さらに２回目の補正ルーチンが実行されるからである。
【００５３】
＜５−２．２回目の補正ルーチン＞
以下、上述のステップＳ２９に係る２回目の補正ルーチンの詳細について説明する。この２回目の補正ルーチンは、上述したとおり、１回目の補正ルーチンだけではフレームＦ1，Ｆ2，・・・，Ｆn間の像振れが十分に解消されなかった場合に、１回目の補正ルーチンによる中間生成物であるフレームＫ1，Ｋ2，・・・，Ｋn間に残っている像振れをさらに除去するための処理である。また、図４に示すように、この２回目の補正ルーチンは、１回目の補正ルーチンが強制終了してしまったため、フレームＦ1，Ｆ2，・・・，Ｆnに対し像振れ補正が施されていない場合にも実行される。しかしながら、以下では、簡単のため、このような場合をも含めて、２回目の補正ルーチンの対象となるフレームを、フレームＫ1，Ｋ2，・・・，Ｋnと呼ぶことにする。また、１回目の補正ルーチンと２回目の補正ルーチンとは、像振れ補正のための主要なアルゴリズムは同じであるため、以下では、１回目の補正ルーチンとの差異を中心として、２回目の補正ルーチンについて説明する。
【００５４】
まず、第２補正部２４Ｄは、最初のフレームＫ1の背景領域８７（すなわち、背景領域Ｍ1）上に十分な数（本実施形態では、５）の特徴点が存在しているか否かを判断し（ステップＳ４１）、十分な数存在していると判断される場合には、処理をステップＳ４５に進める。なお、ここでいう「十分な数」とは、１回目の補正ルーチンのステップＳ３２，Ｓ３４における「十分な数」よりも大きくなるように設定されている。２回目の補正ルーチンにおいては、１回目の補正ルーチンよりも多くの特徴点が検出されるようにすることで、最終的に補正の精度を向上させるためである。これは、後述するステップＳ４６においても同様である。そして、背景領域Ｍ1（背景領域Ｅ1と同じ)上に十分な数の特徴点が存在していないと判断される場合には、第２補正部２４Ｄは、背景領域Ｍ1上で十分な数の特徴点が得られるよう閾値Ｂ1を下げた上で（ステップＳ４２）、ステップＳ３１と同様のアルゴリズムにより、背景領域Ｍ1上で特徴点を検出する（ステップＳ４３）。このとき、第２補正部２４Ｄは、図９に示すとおり、背景領域Ｍ1上に十分な数の特徴点が現れるまで、閾値Ｂ1を段階的に下げながら、ステップＳ４３を繰り返す。ただし、閾値Ｂ1を下限まで下げても、背景領域Ｍ1上に十分な数の特徴点が現れない場合には、処理はステップＳ４４に進められ、ユーザに向けて「手振れが大き過ぎます。再度撮影して下さい。」等のエラーメッセージが出力される。なお、図２にはステップＳ４４が実行される場合の処理の流れは示されていないが、このエラーメッセージは、サーバ２から携帯電話１に送信され、表示部１１上に表示される。一方、閾値Ｂ1を下げたことで背景領域Ｍ1上に十分な数の特徴点が得られた場合には、処理はステップＳ４５に進められる。
【００５５】
ステップＳ４５では、第２補正部２４Ｄは、上述のステップＳ３３と同様のアルゴリズムにより、現在選択されているｉの値に対する背景領域Ｍi（ｉ≧２）上で特徴点を検出する。また、ステップＳ４５も、ステップＳ３３と同様に、ステップＳ３４と同様のステップＳ４６により、背景領域Ｍi上で十分な数（本実施形態では、５）の特徴点が検出され続ける限り、ｉ＝２，３，・・・，ｎに対し順に繰り返し実行される。ただし、２回目の補正ルーチンは、１回目の補正ルーチンとは異なり、同じｉの値に対する背景領域Ｍi上に十分な数の特徴点が存在しないと一度判定されただけでは、強制終了はされない。すなわち、２回目の補正ルーチンでは、ステップＳ４６で十分な数の特徴点がないと判断される場合に、同じ背景領域Ｍi上で特徴点が再検出される。
【００５６】
具体的には、第２補正部２４Ｄは、ステップＳ４６で背景領域Ｍi上に十分な数の特徴点がないと判断されると、背景領域Ｍi上で十分な数の特徴点が得られるよう閾値Ｂ2を下げた上で（ステップＳ４７）、同じ背景領域Ｍiに対しステップＳ４５を実行する。また、このとき、第２補正部２４Ｄは、図９に示すとおり、背景領域Ｍi上に十分な数の特徴点が現れるまで、閾値Ｂ2を段階的に下げながら、ステップＳ４５を繰り返す。ただし、閾値Ｂ2を下限まで下げても、背景領域Ｍi上に十分な数の特徴点が現れない場合には、処理はステップＳ４８に進められる。なお、本実施形態において、閾値を下げるとは、特徴点が検出され易くなる方向に閾値を変更することである。従って、本実施形態では、ピクセル数で表される特徴点と対応点の距離である閾値Ｂ2の値は大きくなるように変更されるが、これも閾値を下げていることになる。
【００５７】
ステップＳ４８とこれに続くステップＳ４９は、閾値Ｂ2を下限まで下げたにも関わらず、背景領域Ｍi上に未だ十分な数の特徴点が得られない場合に実行されるステップである。従って、第２補正部２４Ｄは、背景領域Ｍi上で十分な数の特徴点が得られるよう閾値Ｂ1を下げた上で（ステップＳ４８）、ステップＳ４５とは異なるアルゴリズムにより、背景領域Ｍi上で特徴点を検出する（ステップＳ４９）。具体的には、ステップＳ３１，Ｓ４１と同様のアルゴリズムが用いられる。また、このときも、第２補正部２４Ｄは、図９に示すとおり、背景領域Ｍi上に十分な数の特徴点が現れるまで、閾値Ｂ1を段階的に下げながら、ステップＳ４９を繰り返す。ただし、閾値Ｂ1についても下限まで下げたにも関わらず、背景領域Ｍi上に十分な数の特徴点が現れない場合には、処理はステップＳ４４に進められ、エラーメッセージが出力される。一方、閾値Ｂ1及び／又は閾値Ｂ2を下げたことで背景領域Ｍi上に十分な数の特徴点が得られた場合には、処理は次の背景領域Ｍi+1に対するステップＳ４５に進められる。
【００５８】
以上の処理の結果、全ての背景領域Ｍ1，Ｍ2，・・・，Ｍn上に十分な数の特徴点が抽出された場合には、処理はステップＳ５０に進められる。ステップＳ５０は、ステップＳ３５と同様のアルゴリズムにより、背景領域Ｍ1，Ｍ2，・・・，Ｍn上の特徴点の座標に基づいて、フレームＫ1，Ｋ2，・・・，Ｋn間の位置のズレを補正するステップである。具体的には、第２補正部２４Ｄは、ｉ＝２，３，・・・，ｎに対し、背景領域Ｍi上の特徴点の座標を背景領域Ｍ1上の対応する特徴点（ステップＳ４５での追跡関係を辿った特徴点）の座標に変換するためのアフィン変換行列を算出する。ただし、背景領域Ｍ1上に対応する特徴点が存在しない場合には、背景領域Ｍi上の特徴点の座標を追跡元フレーム上の対応する特徴点の座標に変換するためのアフィン変換行列を算出する。なお、追跡元フレームとは、ステップＳ４５での追跡関係を辿れる限り辿ったフレームである。その後、第２補正部２４Ｄは、フレームＫiに含まれる各画素の座標を算出されたアフィン変換行列を用いて変換することにより、最初のフレームＫ1又は追跡元フレームに対する位置のズレが補正されたフレームＫiを生成する。
【００５９】
＜６．特徴＞
本発明によれば、スポーツのプレイヤーの動作を撮影した動画に含まれる複数のフレームＦ1，Ｆ2，・・・，Ｆn内において、プレイヤーの存在しない背景領域８７が設定される。背景領域８７を設定するのは、カメラ１０の動きによる像振れを正確に評価するために、プレイヤーの動きの影響を受けない領域を設定するためである。そして、この背景領域８７に注目して、複数のフレームＦ1，Ｆ2，・・・，Ｆn間の位置のズレを補正する補正処理が実行される。その後、依然として補正処理後の複数のフレーム間の位置のズレが大きい場合には、すなわち、像振れが大き過ぎたために、１回目の補正処理で十分に像振れを解消できなかった場合には、２回目の補正処理が実行される。従って、必要とされる場合にのみ、処理負荷が増加することとなる。その結果、スポーツのプレイヤーの動作を撮影した動画の像振れを精度良く補正しつつも、処理負荷を合理的に抑えることができる。
【００６０】
＜７．変形例＞
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。例えば、以下の変更が可能である。また、以下の変形例の要旨は、適宜組み合わせることができる。
【００６１】
＜７−１＞
上記実施形態では、ゴルフスイングの撮影、及び画像サイズの縮小が携帯電話１側で実行され、像振れ補正、及びゴルフスイングの分析がサーバ２側で実行されるようになっていた。しかしながら、携帯電話１側で撮影から像振れ補正までが実行されるようにしてもよいし、さらにサーバ２を省略し、携帯電話１側で撮影から分析処理までが実行されるようにしてもよい。あるいは、撮影のみを携帯電話１で行った後、縮小前の動画を携帯電話１からサーバ２に送信し、サーバ２側で画像サイズの縮小を行ってもよい。ただし、通信負荷を下げる観点からは、画像サイズの縮小後の動画を送信することが好ましい。このように上述した様々な処理を実行する主体は、携帯電話１とサーバ２とに適宜振り分けることができる。
【００６２】
＜７−２＞
システム１００のハードウェア構成は、上記したものに限られない。例えば、携帯電話のようなインターネット通信機能を有するカメラ以外のカメラで撮影し、これをパーソナルコンピュータ（以下、ＰＣ）に取り込んで、ＰＣからサーバ２に送信するようにしてもよい。また、ＰＣにサーバ２と同様のプログラムをインストールしておき、ＰＣで分析するようにしてもよい。
【００６３】
＜７−３＞
携帯電話１やサーバ２の処理能力が十分に高い場合等には、ステップＳ４における上下領域の切り取り処理及び／又は圧縮の処理は、適宜、省略可能である。
【００６４】
＜７−４＞
ステップＳ２８において、フレームＫ1，Ｋ2，・・・，Ｋn間の位置のズレを評価する方法は、上述したものに限られない。例えば、全ての差分画像Ｊ1，Ｊ2，・・・，Ｊn-1の全ての画素の画素値の絶対値を加算した値が、所定値以上であるか否かを判定することにより、フレームＫ1，Ｋ2，・・・，Ｋnが全体として十分に像振れ補正されているか否かを判断してもよい。
【００６５】
＜７−５＞
上記実施形態では、背景領域８７を自動検出するために仮のアドレスフレームと仮のインパクトフレームを用いたが、トップやフィニッシュのフレーム等、アドレス及びインパクト以外のフレームを用いて背景領域８７を検出するようにしてもよい。また、背景領域８７を自動検出するために、仮のアドレスフレーム等から検出される特徴点は、ゴルファーの頭部や腰に限らず、例えば、足や肩であってもよい。
【００６６】
＜７−６＞
上記実施形態では、ステップＳ４８の後、ステップＳ４９を経てステップＳ４６に戻ることとしたが、ステップＳ４８の後、ステップ４９を省略し、ステップＳ４３に進むようにしてもよい。これにより、特徴点の追跡関係が全てのフレームＫ1，Ｋ2，・・・，Ｋnを通して途絶えることがなくなり、フレームＫ1，Ｋ2，・・・，Ｋn全体での像ブレ補正の精度が向上する。
【符号の説明】
【００６７】
１  ゴルフスイング分析システム（像振れ補正システム）
１Ａ，２Ａ  プログラム（像振れ補正プログラム）
１４Ｂ  サイズ調整部
２４Ａ  背景設定部
２４Ｂ  第１補正部
２４Ｃ  判定部
２４Ｄ  第２補正部
８７  背景領域
【図１】
2015126373.tif 000003
【図２】
2015126373.tif 000004
【図３】
2015126373.tif 000005
【図４】
2015126373.tif 000006
【図５】
2015126373.tif 000007
【図６】
2015126373.tif 000008
【図７】
2015126373.tif 000009
【図８】
2015126373.tif 000010
【図９】
2015126373.tif 000011