画像処理装置及びプログラム
【課題】複数の被写体の各々を撮像した複数の動画像データに基づく画像の同期の精度をより高める。
【解決手段】画像処理装置10は、複数のカメラ2、3、4により撮像された複数の被写体α、βの各々動画像データから複数の静止画像データを生成し、生成された複数の静止画像データをそれぞれ時系列に沿って設けられた複数のグループに分け、グループ単位で、複数の被写体の静止画像データどうしを同期させるCPUを備える。
【解決手段】画像処理装置10は、複数のカメラ2、3、4により撮像された複数の被写体α、βの各々動画像データから複数の静止画像データを生成し、生成された複数の静止画像データをそれぞれ時系列に沿って設けられた複数のグループに分け、グループ単位で、複数の被写体の静止画像データどうしを同期させるCPUを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【0002】
従来、複数の被写体の各々を撮像した複数の動画像データを同期させて表示させるため、各々の動画像データの再生内容における所定のタイミング(例えば、所定の動画フレーム等)を同期タイミングとし、同期タイミングを同時に再生させるようにすることで同期タイミング以後の複数の動画像データの再生を同期させる動画再生方法がある(例えば、特許文献1及び特許文献2参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−80735号公報
【特許文献2】特開2002−344897号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の動画再生方法では、複数の被写体の各々を撮像した複数の動画像データを十分に同期させることができない場合があった。
例えば、所定の時間連続した所定の動作を行う複数の被写体の各々を撮像した複数の動画像データを同期させるにあたり、各被写体により行われる所定の動作の進行速度が異なる場合、同期を取ったタイミングから再生が進むにつれて次第に各々の動画像データにおける各被写体の動作がずれ、各被写体の動作が同期しない状態となる。一方、このような複数の動画像データにおいて、動画像データの終了タイミング(例えば、所定の動作の完了タイミング等)で複数の動画像データを同期させた場合、所定の動作の開始タイミングがずれるので、やはり各被写体の動作は同期しない。
【0005】
本発明の課題は、複数の被写体の各々を撮像した複数の動画像データに基づく画像の同期の精度をより高めることができる画像処理装置及びプログラムを提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明の画像処理装置は、撮像装置により複数の被写体の各々を撮像した複数の画像データを同期させる画像処理装置であって、前記撮像装置により前記複数の被写体の各々を撮像した複数の動画像データの各々から複数の静止画像データを生成する生成手段と、この生成手段により生成された前記複数の静止画像データをそれぞれ時系列に沿って設けられた複数のグループに分ける分割手段と、この分割手段により分けられたグループ単位で、前記複数の被写体の静止画像データどうしを同期させる同期手段と、を備えることを特徴とする。
【0007】
また、上記課題を解決するため、本発明のプログラムは、撮像装置により複数の被写体の各々を撮像した複数の画像データを同期させる画像処理装置のコンピュータを、前記撮像装置により前記複数の被写体の各々を撮像した複数の動画像データの各々から複数の静止画像データを生成する手段、生成された前記複数の静止画像データをそれぞれ時系列に沿って設けられた複数のグループに分ける手段、前記グループ単位で、前記複数の被写体の各々の静止画像データどうしを同期させる手段、として機能させることを特徴とする。
【発明の効果】
【0008】
本発明によれば、複数の被写体の各々を撮像した複数の動画像データに基づく画像の同期の精度をより高めることができる。
【図面の簡単な説明】
【0009】
【図1】本発明の一実施形態による画像処理装置を含むゴルフスイング解析システムを示す図である。
【図2】ゴルフスイング解析システム及び画像処理装置の構成を示すブロック図である。
【図3】画像処理装置による画像処理の流れの一例を示すフローチャートである。
【図4】スイング対象抽出画面の一例を示す図である。図4(a)は、スイング対象画面の初期表示内容の一例を示す図である。図4(b)は、スイング開始の静止画像データを選択しているときのスイング対象画面の表示内容の一例を示す図である。図4(c)は、各種のタイミングに対応した静止画像データの選択が完了した後のスイング対象画面の表示内容の一例を示す図である。
【図5】基準位置情報テーブルの一例を示す図である。図5(a)は初期化された状態の基準位置情報テーブルの一例を示す図である。図5(b)は正面静止画像に対するスイング対象抽出後の基準位置情報テーブルの一例を示す図である。図5(c)は正面静止画像に対して後方静止画像及びボール静止画像を同期させた後の基準位置情報テーブルの一例を示す図である。
【図6】複数の被写体の基準位置情報テーブルの対応関係の一例を示す図である。
【図7】複数の被写体のゴルフスイングの静止画像データどうしを同期させた合成静止画像データの一例を示す図である。
【図8】図6に示す複数の被写体の基準位置情報テーブルに対応した第1〜第3パートの静止画像データの数の一例を示す図である。
【図9】パートの冒頭に追加の静止画像データを加える場合の一例を模式的に示す図である。
【図10】パートの末尾に追加の静止画像データを加える場合の一例を模式的に示す図である。
【図11】パートの冒頭から末尾にかけて追加の静止画像データを振り分けて加える場合の一例を模式的に示す図である。
【図12】パートの冒頭から末尾にかけて追加の静止画像データを振り分けて加える場合の処理の流れをスクリプトで示した場合の一例を示す図である。
【図13】パート単位のスイング画像同期の処理の流れの一例を示すフローチャートである。
【図14】冒頭追加処理の流れの一例を示すフローチャートである。
【図15】末尾追加処理の流れの一例を示すフローチャートである。
【図16】均等振分処理の流れの一例を示すフローチャートである。
【図17】図16に示す均等振分処理の流れの続きを示すフローチャートである。
【図18】正面静止画像、後方静止画像及びボール静止画像を手動で同期させるための画面の一例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
【0011】
図1は、本発明の一実施形態による画像処理装置10を含むゴルフスイング解析システム1を示す図である。ゴルフスイング解析システム1は、3台のカメラ2、3、4と、HUB5と、画像処理装置10と、プリンタ6と、ディスクライタ7と、を備える。
【0012】
カメラ2、3、4は、ゴルフスイングを行う被写体(α又はβ)又はゴルフボールを載置するピンP及びその付近をそれぞれ異なる角度から撮像する。
なお、以下の説明において、被写体から見てゴルフボールが飛翔する方向を前方、その反対側を後方とし、さらに、被写体から見てゴルフボールが載置される側を正面とする。
【0013】
カメラ2はゴルフスイングを行うヒトである被写体の正面側から被写体を撮像し、カメラ3は同被写体の後方から被写体を撮像する。カメラ4は被写体の正面側からピンP及びその付近を撮像することで、ゴルフボール及びゴルフボールを打つゴルフクラブWのヘッドを撮像する。カメラ2、3、4は撮像画像を動画像データとして出力する。
【0014】
カメラ2、3、4は、動画撮像時の秒間撮像フレーム数(frame per second:fps)を所定の値(例えば、300〜1200[fps])とすることができる。本実施形態において、カメラ2、3は300[fps]、カメラ4は1200[fps]で撮像を行う。
【0015】
HUB5は、3台のカメラ2、3、4と画像処理装置10との間に介在する集線装置であり、3台のカメラ2、3、4と画像処理装置10とを接続する。
【0016】
画像処理装置10は、撮像装置(例えば、3台のカメラ2、3、4等)により複数の被写体(例えば、α及びβ)の各々を撮像した複数の画像データを同期させる画像処理装置である。画像処理装置10は、3台のカメラ2、3、4により撮像された動画像データを記憶し、当該動画像データを基にした複数の静止画像データに対して各種の処理を行う。その詳細については後述する。
【0017】
プリンタ6は、印刷媒体(例えば紙等)に対して印刷を施す。プリンタ6は、例えばページプリンタ等の印刷装置により構成される。
ディスクライタ7は、画像処理装置10の制御によりデジタルデータをDVDメディアに書き込む機器である。
【0018】
次に、画像処理装置10の構成について説明する。図2は、ゴルフスイング解析システム1及び画像処理装置10の構成を示すブロック図である。
画像処理装置10は、CPU11と、RAM12と、ROM13と、記憶装置14と、入力装置15と、表示装置16と、インターフェース17、18、19と、これらの各構成を相互接続するバス20と、を有する。
本実施形態において、画像処理装置10は、例えば、パーソナルコンピュータ、デスクトップコンピュータ等の情報処理装置により構成される。
【0019】
CPU11は、ROM13や記憶装置14からプログラム、データ等を読み込んで実行処理すると共に、画像処理装置10の各部や画像処理装置10に接続されている各構成の動作制御を行う。CPU11が読み込んだプログラム、データ等及びCPU11の処理において一時的に生じたパラメータ等はRAM12に格納される。
【0020】
ROM13は、例えばROMチップ等であり、プログラム、データ等を記憶する。
記憶装置14は、例えばハードディスクドライブやフラッシュメモリ等であり、プログラム、データ等を記憶することができる。記憶装置14は、カメラ2、3、4により撮像された複数の動画像データや、当該動画像データに基づいて生成される複数の静止画像データ、基準位置情報テーブル、複数の動画像データの各々のfps等を記憶するための記憶領域を有している。
また、ROM13や記憶装置14は、CPU11が行う各種の処理に応じたプログラムを記憶している。
【0021】
入力装置15は、例えばキーボードやマウス等であり、ユーザの手動による画像処理装置10に対する入力操作を受け付ける。
【0022】
表示装置16は、例えば液晶ディスプレイや有機エレクトロルミネッセンス(Electro-Luminescence:EL)ディスプレイ等により構成され、画像処理装置10の画面出力処理に応じた内容を表示する。
【0023】
インターフェース17、18、19は、例えばUSB(Universal Serial Bus)等のバスインターフェースであり、画像処理装置10と外部機器との接続を可能にする。カメラ2、3、4はHUB5を介してインターフェース17に接続され、プリンタ6はインターフェース18に接続され、ディスクライタ7はインターフェース19に接続される。
【0024】
次に、画像処理装置10により行われる処理について説明する。図3は、画像処理装置10による画像処理の流れの一例を示すフローチャートである。
【0025】
まず、3つのカメラ2、3、4が、3方向からの撮影を行う(ステップS1)。撮影は、ユーザによる所定の入力操作により、画像処理装置10が3台のカメラ2、3、4を動作させて被写体を撮像する処理である。3台のカメラ2、3、4により撮像された動画像データは、画像処理装置10に転送される。画像処理装置10は転送された動画像データを記憶装置14に記憶する。
【0026】
以下の説明において、カメラ2の撮像による動画像データに関するものに「FR」を付加し、カメラ3の撮像による動画像データに関するものに「BK」を付加し、カメラ4の撮像による動画像データに関するものに「BL」を付加して説明する。
また、本実施形態では、カメラ2、3、4により、二人(α、β)のゴルフスイングがそれぞれ一回ずつ撮影される。画像処理装置10の記憶装置14は、二人のゴルフスイングを撮像した各々の動画像データを記憶する。以下、αのゴルフスイングを撮像した動画像データに関するものに「α_」を付加し、βのゴルフスイングを撮像した動画像データに関するものに「β_」を付加して説明する。
【0027】
次に、画像処理装置10は静止画像生成を行う(ステップS2)。静止画像生成は、カメラ2、3、4により撮像された複数の被写体(α、β)の各々を撮像した複数の動画像データの各々から複数の静止画像データを生成する処理である。生成された複数の静止画像データは記憶装置14に記憶される。
【0028】
静止画像データの各々には、ゴルフスイングが撮像された人物を示す符号(例えば、α_又はβ_)と、基となった動画像データを示す符号(例えば、「FR」、「BK」又は「BL」等)と、番号と、を付したファイル名が付与される。番号は、例えば、初期値1の連番であり、動画像データの最初のフレームに対応する静止画像データのファイル名に1が付与され、以降継続して付与されるフレームの番号は順次増加する。
例えば、αを撮像した動画像データFRから生成された静止画像データを例に挙げると、「α_FR0000001」、「α_FR0000002」…のように、所定の桁数(例えば、7桁)の連番による番号が末尾に付されたファイル名が付与される。
動画像データBK、動画像データBLや、βの動画像データの各々に基づいて生成された静止画像データについても同様である。以下の説明において、静止画像データの各々に付与される番号を「静止画像の番号」と記載し、動画像データFRから生成された静止画像データを「正面静止画像」と記載し、動画像データBKから生成された静止画像データを「後方静止画像」と記載し、動画像データBLから生成された静止画像データを「ボール静止画像」と記載する。
【0029】
生成される静止画像データの枚数は、動画像データの各々のfpsに応じる。例えば、300[fps]の動画像データを静止画像データにした場合、1秒間の動画像データに対応した静止画像データは300[枚]生成される。つまり、一の静止画像データは、動画像データにおける一の画像フレームに対応する。
画像処理装置10は、各カメラのfpsを管理、記憶する。具体的には、カメラ2のfpsをFRfpsの値とし、カメラ3のfpsをBKfpsの値とし、カメラ4のfpsをBLfpsの値として記憶装置14に記憶する。
【0030】
次に、ユーザの入力内容に基づいて、画像処理装置10はスイング対象抽出を行う(ステップS3)。スイング対象抽出は、α、βの複数の静止画像データのうち、ゴルフスイングの開始から終了までを撮像した複数の静止画像データを特定する処理である。これは、カメラ2、3、4による動画像データの撮像時にゴルフスイングと関係がない撮像画像が含まれることがあるために行われる処理である。ゴルフスイング中と関係がない撮像画像として、例えば被写体が姿勢を整える動作を行っている最中や、被写体がその他の動作(例えば、煙草を吸う等)を行っている最中の撮像画像等が挙げられる。
【0031】
図4を用いて、スイング対象抽出の具体的内容の一例を示す。
図4(a)は、スイング対象抽出画面の一例を示す図である。図4(a)は、スイング対象画面の初期表示内容の一例を示す。図4(b)は、スイング開始の静止画像データを選択しているときのスイング対象画面の表示内容の一例を示す。図4(c)は、各種のタイミングに対応した静止画像データの選択が完了した後のスイング対象画面の表示内容の一例を示す。
【0032】
図4(a)〜(c)に示すように、スイング対象抽出画面は、複数の静止画像データをグループ単位で分ける境目に対応する各種のタイミングの名称(例えば、スイング開始、スイングのトップ、インパクト、スイング終了等)と、これらの各種のタイミングに対応する静止画像データを選択、決定、確認するための静止画像表示部と、静止画像表示部に表示された静止画像データを選択するためのスクロールバー30と、を表示項目に含む。
【0033】
なお、「スイング開始」は、被写体がゴルフボールを打つ前の動作としてゴルフクラブWを後方経由で振り上げる動作(テークバック)を開始する動作シーンである。「スイングのトップ(以下の記載及び図面では、単に「トップ」と記載)」は、被写体がゴルフボールを打つため、テークバック後にゴルフクラブWを振り下ろす動作を開始する動作シーンである。「インパクト」は、ゴルフクラブWのヘッドがゴルフボールを打つ瞬間(インパクト瞬間)のシーンである。「スイング終了」は、ゴルフボールを打った後、被写体がゴルフクラブWを前方へ振りぬく動作の終了(フォロースルー終了)シーンである。
【0034】
スクロールバー30は、矢印ボタン31、32やスクロールゲージ34、スクロールゲージ34の移動範囲に対応するバー33等を含む。スクロールゲージ34は、矢印ボタン31、32に対する操作や、スクロールゲージ34の左右に位置するバー33に対する操作、スクロールゲージ34を左右に移動させる操作等に応じて左右に移動する。そして、スクロールゲージ34の移動に応じて、フォーカスの当たった静止画像表示部に表示される静止画像データの表示内容が遷移する。図4(b)に示す例では、スクロールゲージ34の移動に応じて、ゴルフスイング中の被写体の姿勢が変化し、被写体により振られるゴルフクラブWの位置が変化する例を示している。
ここで、バー33の範囲は、カメラ2により撮像された動画像データから生成された一人(例えば、α又はβ)の全ての正面静止画像に対応する。
【0035】
なお、図4(b)では、スイング開始の静止画像表示部に対する選択操作を例示しているが、ユーザは、トップ、インパクト及びスイング終了についても同様に各々のタイミングに対応する静止画像データの選択を行うことができ、図4(c)に示すように、各種のタイミングに応じた静止画像データを特定することができる。つまり、ユーザは、フォーカスを当てる静止画像表示部の変更と、スクロールバー30に対する入力操作とにより、各種のタイミング(例えば、スイング開始、トップ、インパクト、スイング終了等)に応じた正面静止画像を特定することができる。
【0036】
また、スイング対象抽出において、CPU11は、基準位置情報テーブル情報を生成、更新する。
図5は、基準位置情報テーブルの一例を示す図である。図5(a)は初期化された状態の基準位置情報テーブルの一例を示す。図5(b)は正面静止画像に対するスイング対象抽出後の基準位置情報テーブルの一例を示す。図5(c)は正面静止画像に対して後方静止画像及びボール静止画像を同期させた後の基準位置情報テーブルの一例を示す。
【0037】
基準位置情報テーブルは、複数のカメラ2、3、4により撮像された動画像データに対応する各種の静止画像データ(例えば、正面静止画像、後方静止画像及びボール静止画像)のそれぞれについて、ゴルフスイング中の各種のタイミング(例えば、スイング開始、トップ、インパクト、スイング終了等)に対応する静止画像の番号を有するファイル名を記憶するテーブルである。基準位置情報テーブルは、記憶装置14に記憶される。
【0038】
スイング対象抽出の開始時に、CPU11は、例えば、初期化された状態の基準位置情報テーブルを生成する。初期化された状態の基準位置テーブルは、図5(a)に示すように、ゴルフスイング中の各種のタイミングと、各種の静止画像の先頭の番号を有する静止画像データのファイル名とを対応付けている。
【0039】
スイング対象抽出画面に対するユーザの入力操作等により、正面静止画像についてスイング対象抽出が行われると、CPU11は、図5(b)に示すように、基準位置情報テーブルの正面静止画像の各種のタイミングに対応付けられた静止画像データのファイル名を、スイング対象抽出画面において特定された各種のタイミングの静止画像データに応じた番号を有するファイル名とする。
【0040】
そして、正面静止画像に対するスイング対象抽出が完了すると、CPU11は、以下の式(1)、(2)に基づいて、ゴルフスイング中の各種のタイミングに対応する後方静止画像及びボール静止画像の静止画像の番号を算出する。
BKno=FRno×BKfps/FRfps−(BKfps/FRfps)+1…(1)
BLno=FRno×BLfps/FRfps−(BLfps/FRfps)+1…(2)
上記の式(1)、(2)において、FRnoは、正面静止画像の静止画像の番号を示し、BKnoは、後方静止画像の静止画像の番号を示し、BLnoは、ボール静止画像の静止画像の番号を示す。本実施形態では、FRfpsとBKfpsとは同一(300[fps])であるので、各種のタイミングのFRnoとBKnoとは同一となる。また、BLfps(1200[fps])は、FRfps(300[fps])の4倍であるので、各種のタイミングのBLnoは、FRnoの4倍から3を減じた値(FRno×4−(4)+1)となる。
CPU11は、図5(c)に示すように、基準位置情報テーブルの後方静止画像及びボール静止画像の各種のタイミングに対応付けられた静止画像データのファイル名を、式(1)、(2)により算出されたBKno、BLnoに応じた静止画像の番号を有するファイル名とする。
【0041】
スイング対象抽出は、複数の被写体(例えば、α及びβ)の各々に対して個別に行われ、二人の各々により行われたゴルフスイングの各種のタイミングに対応する静止画像の番号を有するファイル名が特定される。
図6は、複数の被写体の基準位置情報テーブルの対応関係の一例を示す図である。
なお、CPU11は、複数の被写体(例えば、α及びβ)の基準位置情報テーブルを個別に生成、更新してもよいし、複数の被写体の情報を含む一つの基準位置情報テーブルを生成してもよい。
スイング対象抽出により決定された、複数の静止画像データに含まれる各種のタイミング(例えば、スイング開始、トップ、インパクト、スイング終了等)に対応する静止画像の番号は、複数の静止画像データをグループ単位で区切る基準となる。
【0042】
次に、画像処理装置10は、スイング画像同期を行う(ステップS4)。スイング画像同期は、複数の動画像データの各々から生成された複数の静止画像データをグループ単位で同期させ、同期された同一タイミングの複数の被写体(α、β)の各々の静止画像どうしを合成した複数の合成静止画像データを生成する処理である。スイング画像同期により、例えば、図7に示すように、複数の被写体(例えば、α及びβ)のゴルフスイングの静止画像データどうしを同期させた複数の合成静止画像データを、ゴルフスイングの開始(例えば、「スイング開始」のタイミング)から終了(例えば、「スイング終了」のタイミング)までについて得ることができる。スイング画像同期の詳細は、後述する。
【0043】
スイング画像同期の後、画像処理装置10は同期動画生成を行う(ステップS5)。同期動画生成は、スイング画像同期が完了した静止画像データを合成して一つの動画像データを生成する処理である。CPU11は、複数の被写体(例えば、α及びβ)のゴルフスイングを撮像した静止画像データを表示内容に含む複数の合成静止画像データを連続するフレームとした一つの動画像データを生成する。ここで、同期動画生成によって得られた一つの動画像データは、ディスクライタ7によりDVDビデオディスクのデータとしてDVDメディアに記録することができる。
また、画像処理装置10は、同期動画生成により生成された動画像データを再生する処理である同期動画再生を行う(ステップS6)。
【0044】
次に、スイング画像同期の詳細について説明する。
スイング画像同期において、CPU11は、まず、α、βの各々の複数の静止画像データをそれぞれ時系列に沿って設けられた複数のグループ(例えば、第1パート、第2パート、第3パート等)に分ける。
具体的には、CPU11は、ゴルフスイングの各種のタイミングに基づいて、スイング開始からスイング終了までの複数の静止画像データを複数のグループに分割し、分割された各々のパートに含まれる静止画像データの数を特定する。
ここで、CPU11は、「スイング開始」のタイミングから「トップ」のタイミングまでの静止画像データのグループを、ゴルフクラブWのスイングの開始からスイングのトップまでの第1パートとする。また、CPU11は、「トップ」のタイミングから「インパクト」のタイミングまでの静止画像データのグループを、スイングのトップからボールへのインパクトまでの第2パートとする。また、CPU11は、「インパクト」のタイミングから「スイング終了」のタイミングまでの静止画像データのグループを、ボールへのインパクトからスイングの終了までの第3パートとする。CPU11は、二人のゴルフスイングの静止画像データの各々について、基準位置情報テーブルに設定されたファイル名の番号に基づいて、第1〜第3パートに含まれる静止画像データの数を特定する。
【0045】
以下、αのゴルフスイングの静止画像データのうち、第1パートに含まれる静止画像データの数をA1Nとし、第2パートに含まれる静止画像データの数をB1Nとし、第3パートに含まれる静止画像データの数をC1Nとする。また、βのゴルフスイングの静止画像データのうち、第1パートに含まれる静止画像データの数をA2Nとし、第2パートに含まれる静止画像データの数をB2Nとし、第3パートに含まれる静止画像データの数をC2Nとする。
【0046】
図8は、図6に示す複数の被写体の基準位置情報テーブルに対応した第1〜第3パートの静止画像データの数の一例を示す図である。
図8に示す例の場合、A2NはA1Nより大きく、B2NはB1Nより大きく、C2NはC1Nより大きい。以下の説明では、これらの大小関係に基づいて説明するが、一例であって、これに限られるものではない。例えば、パートの一部又は全部について、αの静止画像データの数の方がβの静止画像データの数よりも多くてもよい。
【0047】
各々のパートに含まれる静止画像データの数の特定後、CPU11は、グループ単位(パート単位)で、複数の被写体(α、β)の静止画像データどうしを同期させる。具体的には、CPU11は、例えば、カメラ2、3、4により撮像された二人のゴルフスイングの動画像データから生成された複数の静止画像データを、第1パート、第2パート、第3パートのパート単位で同期させる。
【0048】
パート単位で複数の静止画像データを同期させるにあたり、CPU11は、二人の各々を撮像した動画像データから生成された複数の静止画像データの数を、パート単位で比較する。
ここで、静止画像データの数が同一である場合、CPU11は、パートの冒頭の番号から末尾の番号まで、一対一の対応関係で二人の静止画像データを同期させるための対応付けを行う。例えば、仮に、第1パートに含まれる静止画像データの数が、α、β共に10[枚]であった場合、第1パートに含まれるαの1枚目の静止画像データとβの1枚目の静止画像データとを同期させ、αの2枚目の静止画像データとβの2枚目の静止画像データとを同期させ…、のように、冒頭(1枚目)から末尾(10枚目)までを一対一の対応関係で同期させる。
【0049】
一方、CPU11は、グループ単位(パート単位)で複数の被写体(α、β)の各々の静止画像データの数に差がある場合、グループ単位で複数の被写体の各々の静止画像データの数を同一とするよう、複数の被写体の各々の複数の静止画像データのうち数が少ない複数の静止画像データに追加の静止画像データを加える補完処理を行う。
例えば、CPU11は、第1のパートにおける二人の静止画像データの数であるA1N、A2Nについて、A2NがA1Nより大きく、静止画像データの数に差があることから、静止画像データの数を同一とするよう、数が少ないA1Nに対応するαの第1パートに追加の静止画像データを加える。
【0050】
CPU11は、パートの冒頭又は末尾あるいはパートの冒頭から末尾にかけて振り分けるように追加の静止画像データを加える。以下、順次説明する。
【0051】
図9は、パートの冒頭に追加の静止画像データを加える場合の一例を模式的に示す図である。図9〜図11では、数が少ない方のαの静止画像データの数が「3」、数が多い方のβの静止画像データの数が「10」、静止画像データの数の差が「7」である場合について模式的に示している。また、追加された静止画像データにマスキングを施して示している。
パートの冒頭に追加の静止画像データを加える場合、CPU11は、複数の静止画像データの数の差に応じた数の追加の静止画像データを、パート単位で分割された複数の静止画像データのうち数が少ない複数の静止画像データのパートの冒頭に加える。
具体的には、CPU11は、数が少ないA1Nに対応するαの第1パートの冒頭の静止画を、静止画像データの数の差に応じて複製する。そして、CPU11は、複製された静止画像データを、数が多いA2Nに対応するβの第1パートの冒頭部分の複数の静止画像データと同期させる。これにより、例えば、図9に示すように、静止画像データの数の差(「7」)に応じたβの冒頭部分の複数の静止画像データ(β1〜β7)は、複製されたαの冒頭の静止画像データ(α1)と同期するよう対応付けられる。
また、CPU11は、静止画像データの数の差に応じたパートの冒頭部分に引き続く番号を有するファイル名の静止画像データを、一対一の対応関係で同期させる。これにより、例えば、図9に示すように、βの複数の静止画像データ(β8〜β10)と、αの複数の静止画像データ(α1〜α3)とが同期するよう対応付けられる。
【0052】
より具体的には、CPU11は、数の多い方の静止画像データの数(例えば、A2Nの値)を基準として、冒頭から数えた数(静止画像のコマ数)が、数が多い方の静止画像データの数から数が少ない方の静止画像データの数を減じた値(例えば、A2N−A1Nの値)以下の静止画像データについて、その次に同期させる静止画像の番号のうち、数が少ない方の静止画像の番号を据え置き、数が多い方の静止画像の番号を順次進める。そして、CPU11は、数の多い方の静止画像データを基準として、冒頭から数えた数が、数が多い方の静止画像データの数から数が少ない方の静止画像データの数を減じた値に1を加えた値(例えば、A2N−A1N+1の値)以上であって、数が多い方の静止画像データの数から1を減じた値(例えば、A2N−1の値)以下の静止画像データについて、その次に同期させる静止画像の番号を、数が少ない方及び数が多い方の静止画像データの双方とも順次進める。
【0053】
図10は、パートの末尾に追加の静止画像データを加える場合の一例を模式的に示す図である。
パートの末尾に追加の静止画像データを加える場合、CPU11は、複数の静止画像データの数の差に応じた数の追加の静止画像データを、パート単位で分割された複数の静止画像データのうち数が少ない複数の静止画像データのパートの末尾に加える。
具体的には、CPU11は、静止画像データの数の差に応じたパートの冒頭部分から、数が少ない方の静止画像データの末尾の静止画像データまでの複数の静止画像データを、一対一の対応関係で同期させる。これにより、例えば、図10に示すように、βの複数の静止画像データ(β1〜β3)と、αの複数の静止画像データ(α1〜α3)とが同期するよう対応付けられる。
また、CPU11は、数が少ないA1Nに対応するαの第1パートの末尾の静止画を、静止画像データの数の差に応じて複製する。そして、CPU11は、複製された静止画像データを、数が多いA2Nに対応するβの第1パートの末尾部分の複数の静止画像データと同期させる。これにより、例えば、図10に示すように、静止画像データの数の差(「7」)に応じたβの末尾部分の複数の静止画像データ(β4〜β10)は、複製されたαの末尾の静止画像データ(α3)と同期するよう対応付けられる。
【0054】
より具体的には、CPU11は、数の多い方の静止画像データの数(例えば、A2Nの値)を基準として、冒頭から数えた数(静止画像のコマ数)が、数が少ない方の画像の数(例えば、A1Nの値)未満の静止画像データについて、その次に同期させる静止画像の番号を、数が少ない方及び数が多い方の静止画像データの双方とも順次進める。そして、CPU11は、数の多い方の静止画像データを基準として、冒頭から数えた数が、数が少ない方の画像の数(例えば、A1Nの値)以上であって、数が多い方の静止画像データの数から1を減じた値(例えば、A2N−1の値)以下の静止画像データについて、その次に同期させる静止画像の番号のうち、数が少ない方の静止画像の番号を据え置き、数が多い方の静止画像の番号を順次進める。
【0055】
図11は、パートの冒頭から末尾にかけて追加の静止画像データを振り分けて加える場合の一例を模式的に示す図である。図12は、パートの冒頭から末尾にかけて追加の静止画像データを振り分けて加える場合の処理の流れをスクリプトで示した場合の一例を示す図である。
まず、CPU11は、数が少ない方の冒頭の静止画像データと、数が多い方の棒等の静止画像データとを一対一の対応関係で同期させる。これにより、例えば、図11に示すように、βの冒頭の静止画像データ(β1)と、αの冒頭の静止画像データ(α1)とが同期するよう対応付けられる。
【0056】
また、CPU11は、数が多い方を基準として、同期処理が完了された静止画像データの枚数のカウントを行う。カウントされた数値は、CPU11により設定された所定の変数(例えば、「k」)に格納され、管理される。
【0057】
次に、数が多い方の冒頭から2枚目の静止画像データと同期させる画像を決定するにあたり、CPU11は、所定の変数(例えば、「j」)を初期値1で設定し、以下の式(3)に基づいて別の変数(例えば、「Sj」)の値を算出する。
Sj=j×(A2N/A1N)…(3)
【0058】
そして、CPU11は、kの値が、Sjの値の小数点を切り上げた値と等しいか比較する。
ここで、kの値が、Sjの値の小数点を切り上げた値と等しい場合、CPU11は、同期させる数の少ない方の静止画像データ及び数の多い方の静止画像データを、共に、直前に同期された静止画像データの次の番号を有するファイル名の静止画像データとする。そして、CPU11は、jの値に1を加え、再度、上記の式(3)に基づいてSjの値を算出する。
一方、kの値がSjの値の小数点を切り上げた値と等しくない場合、CPU11は、同期させる静止画像データのうち、数の少ない方の静止画像データを、直前に同期された静止画像データと同一の番号を有するファイル名の静止画像データとし、数の多い方の静止画像データを、直前に同期された静止画像データの次の番号を有するファイル名の静止画像データとする。つまり、この場合、CPU11は、数の多い方の静止画像の番号だけを進ませて、数の少ない方の静止画像の番号を据え置いて、静止画像データを同期させる。
【0059】
CPU11は、同期させる静止画像データを冒頭から順次決定すると共に、kの値をカウントアップし、上記の処理を繰り返す。
また、kの値がA2Nから1を減じた値(例えば、A2N−1の値)と等しい場合、CPU11は、上記の処理より優先して、同期させる数の少ない方の静止画像データ及び数の多い方の静止画像データを、共に、パートにおける各々の末尾の静止画像データとする。そして、CPU11は、パートの末尾の静止画像データの同期を完了させることにより、当該パートのスイング画像同期を終了する。
【0060】
例えば、冒頭から2枚目の静止画像データの同期の場合、k=1である。また、図11に示す例になぞらえて、A2N=10、A1N=3とした場合、j=1の場合のSjの値は10/3であり、小数点を切り上げたSjの値は4となる。この場合、kの値が、Sjの値の小数点を切り上げた値と同一でないので、CPU11は、数の多い方の静止画像データの番号だけを進ませて、数の少ない方の静止画像の番号を据え置いて、静止画像データを同期させる。よって、図11に示すように、β2とα1とが同期するよう対応付けられる。同様の処理が、kが4未満の間繰り返され、β3、β4も、α1と同期するよう対応付けられる。この場合、β2〜β4との同期のために、α1の静止画像データが追加される。
【0061】
一方、冒頭から5枚目の静止画像データの同期の場合、k=4である。この場合、kの値が、Sjの値の小数点を切り上げた値と同一となる。この場合、CPU11は、同期させる数の少ない方の静止画像データ及び数の多い方の静止画像データを、共に、直前に同期された静止画像データの次の番号を有するファイル名の静止画像データとする。よって、図11に示すように、β4の次のβ5と、α1の次のα2とが同期するよう対応付けられる。
【0062】
以降、同様に、β6、β7との同期のために、α2の静止画像データが追加される。また、β9、β10との同期のために、α3の静止画像データが追加される。
【0063】
図9〜図11では、ボール静止画像を同期させる場合の例について示しているが、スイング画像同期において、CPU11は、二人のゴルフスイングの正面静止画像、後方静止画像及びボール静止画像を一括して、パート単位で同期させる。
なお、静止画像データの同期において、進める静止画像の番号の大きさは、静止画像データの基となった動画像データのfpsに基づく。例えば、本実施形態の正面静止画像と後方静止画像の基となったカメラ2、3のfps(300[fps])は同一であるので、一方の静止画像の番号が1進むことに応じて、他方の静止画像の番号も1進む。一方、ボール静止画像の基となったカメラ4のfps(1200[fps])は、正面静止画像及び後方静止画像の4倍であるので、正面静止画像及び後方静止画像の番号が1進むことに応じて、ボール静止画像の番号は4進む。言い換えれば、正面静止画像の番号が1進むことに応じて、後方静止画像の番号は、(1×BKfps/FRfps)進み、ボール静止画像の番号は、(1×BLfps/FRfps)進むこととなる。
【0064】
また、上記の説明は、第1パートに含まれる複数の被写体としての二人(α及びβ)の静止画像データの数(A1N、A2N)に基づいて行っているが、第2パートの静止画像データの数であるB1N、B2N及び第3パートの静止画像データの数であるC1N、C2Nについても、A1N、A2Nの場合と同様である。
【0065】
また、画像処理装置10は、追加された静止画像データに応じた表示内容と共に表示させる文字列を設定することができる。
具体的には、画像処理装置10は、スイング画像同期により追加された静止画像データと共に表示させるコメントを設定する機能を有する。コメントの追加は、入力装置15を介して行われる。本実施形態では、パートの冒頭又は末尾に追加の静止画像データを加える場合、ユーザは、例えば、図7に示すように、追加された静止画像データと共に表示されるコメントを設定することができる。本実施形態では、設定されたコメントは、冒頭又は末尾に連続して追加された静止画像データを含む全ての合成後の静止画像データに設定されるが、合成後の静止画像データの一部のみに設定するようにしてもよいし、合成後の静止画像データに個別のコメントを設定可能としてもよい。
コメントを設定することにより、同期された複数の静止画像データ(例えば、二人のゴルフスイング等)についての比較に関する情報を付加することができる等、画像の同期に関する情報を付加することができる。
【0066】
本実施形態の画像処理装置10は、補完処理において追加の静止画像データを加える位置を任意に選択、設定することができる機能を有する。具体的には、画像処理装置10は、追加の静止画像データを加える場合、パートの冒頭に追加の静止画像データを加えるか、パートの末尾に追加の静止画像データを加えるか、追加の静止画像データをパートの冒頭から末尾にかけて振り分けるか、のいずれかとする設定を予め記憶装置14に記憶させている。ユーザにより、入力装置15等を介して追加の静止画像データを加える処理に関する設定が行われると、画像処理装置10は、設定の内容に応じて追加の画像を加える設定を更新、記憶する。また、本実施形態の画像処理装置10は、追加の静止画像データを加える位置の選択を、パート単位で個別に行うことができる。
【0067】
次に、パート単位のスイング画像同期の処理の流れを、図13及至図17のフローチャートを参照して説明する。図13及至図17では、スイング画像同期の処理の一例として、第1のパートの静止画像データの数(A1N、A2N)を用いて説明するが、第2パート(B1N、B2N)、第3パート(C1N、C2N)も同様である。
【0068】
画像処理装置10のCPU11は、まず、基準位置情報テーブルを読み出し(ステップS11)、二人のゴルフスイングを撮像した動画像データの各々から生成された複数の正面静止画像、後方静止画像及びボール静止画像の第1パートの冒頭の番号及び末尾の番号並びに第1パートに含まれる静止画像データの数(A1N、A2N)を取得する。
【0069】
次に、CPU11は、二人のゴルフスイングの静止画像データのうち、第1パートの冒頭の番号を有する正面静止画像、後方静止画像及びボール静止画像を読み出し(ステップS12〜S14)、読み出された各々の静止画像データを合成して1枚の合成静止画像データ(図7参照)を生成し(ステップS15)、記憶装置14に保存する(ステップS16)。
【0070】
次に、CPU11は、第1パートのうち、数の多い方の静止画像データの末尾の番号を有する各々の静止画像データを合成した合成静止画像データの生成を完了したか否か判定する(ステップS17)。
ここで、第1パートの末尾の番号を有する各々の静止画像データを合成した合成静止画像データの生成を完了していないと判定された場合(ステップS17:NO)、CPU11は、追加の静止画像データを加える位置の設定に応じた補完処理を行う。
【0071】
具体的には、CPU11は、まず、第1パートについて、パートの冒頭に追加の静止画像データを加える設定がなされているか否かを判定する(ステップS18)。ここで、第1パートの冒頭に追加の静止画像データを加える設定がなされていると判定された場合(ステップS18:YES)、CPU11は、複数の静止画像データの数の差(A2N−A1N)に応じた数の追加の静止画像データを、パート単位で分割された複数の静止画像データのうち数が少ない複数の静止画像データ(αの静止画像データ)のパートの冒頭に加えるための処理(冒頭追加処理)を行う(ステップS19)。
【0072】
ここで、冒頭追加処理について、図14のフローチャートを参照して説明する。
CPU11は、処理対象の静止画像データについて、A2Nを基準として第1パートの冒頭から数えた数(静止画像のコマ数)が、A2N−A1Nの値以下であるか否か判定する(ステップS31)。ここで、A2N−A1Nの値以下であると判定された場合(ステップS31:YES)、CPU11は、αの静止画像の番号を据え置き、βの静止画像の番号を順次進める番号の変更処理を行う。具体的には、βの正面静止画像及び後方静止画像の番号に1を加算し(ステップS32、ステップS33)、βのボール静止画像の番号に4を加算する(ステップS34)。また、CPU11は、入力装置15を介して入力されたコメントを読み出す(ステップS35)。
【0073】
一方、ステップS31にて、A2N−A1Nの値以下でないと判定された場合(ステップS31:NO)、CPU11は、α及びβの静止画像の番号を順次進める番号の変更処理を行う。具体的には、α及びβの正面静止画像及び後方静止画像の番号に1を加算し(ステップS36、ステップS37)、α及びβのボール静止画像の番号に4を加算する(ステップS38)。
【0074】
そして、CPU11は、ステップS34又はステップS37の処理後の番号を有する正面静止画像、後方静止画像及びボール静止画像を読み出し(ステップS39)、冒頭追加処理を終了する。
冒頭追加処理の終了後、CPU11は、処理をステップS15へ移行させる。コメントの読み出しが行われている場合、CPU11は、合成静止画像データにコメントをあわせて合成する。
【0075】
また、ステップS18にて、第1パートの冒頭に追加の静止画像データを加える設定がなされていないと判定された場合(ステップS18:NO)、CPU11は、第1パートについて、パートの末尾に追加の静止画像データを加える設定がなされているか否かを判定する(ステップS20)。ここで、第1パートの末尾に追加の静止画像データを加える設定がなされていると判定された場合(ステップS20:YES)、CPU11は、複数の静止画像データの数の差(A2N−A1N)に応じた数の追加の静止画像データを、パート単位で分割された複数の静止画像データのうち数が少ない複数の静止画像データ(αの静止画像データ)のパートの末尾に加えるための処理(末尾追加処理)を行う(ステップS21)。
【0076】
ここで、末尾追加処理について、図15のフローチャートを参照して説明する。
CPU11は、処理対象の静止画像データについて、A2Nを基準として第1パートの冒頭から数えた数(静止画像のコマ数)が、A1Nの値未満であるか否か判定する(ステップS41)。ここで、A1Nの値未満であると判定された場合(ステップS41:YES)、CPU11は、α及びβの静止画像の番号を順次進める番号の変更処理を行う。具体的には、α及びβの正面静止画像及び後方静止画像の番号に1を加算し(ステップS42、ステップS43)、α及びβのボール静止画像の番号に4を加算する(ステップS44)。
【0077】
一方、ステップS41にて、A1Nの値以下でないと判定された場合(ステップS41:NO)、CPU11は、αの静止画像の番号を据え置き、βの静止画像の番号を順次進める番号の変更処理を行う。具体的には、βの正面静止画像及び後方静止画像の番号に1を加算し(ステップS45、ステップS46)、βのボール静止画像の番号に4を加算する(ステップS47)。また、CPU11は、入力装置15を介して入力されたコメントを読み出す(ステップS48)。
【0078】
そして、CPU11は、ステップS44又はステップS48の処理後の番号を有する正面静止画像、後方静止画像及びボール静止画像を読み出し(ステップS49)、末尾追加処理を終了する。
末尾追加処理の終了後、CPU11は、処理をステップS15へ移行させる。コメントの読み出しが行われている場合、CPU11は、合成された合成静止画像データにコメントをあわせて合成する。
【0079】
また、ステップS20にて、第1パートの冒頭に末尾の静止画像データを加える設定がなされていないと判定された場合(ステップS20:NO)、CPU11は、複数の静止画像データの数の差(A2N−A1N)に応じた数の追加の静止画像データを、パート単位で分割された複数の静止画像データのうち数が少ない複数の静止画像データ(αの静止画像データ)のパートの冒頭から末尾にかけて追加の静止画像データを振り分けて加えるための処理(均等振分処理)を行う(ステップS22)。
【0080】
ここで、均等振分処理について、図16及び図17のフローチャートを参照して説明する。
まず、CPU11は、A2Nを基準として、処理対象の静止画像の番号が冒頭から2枚目の静止画像の番号であるか否か判定する(ステップS51)。ここで、処理対象の静止画像の番号が冒頭から2枚目の静止画像の番号であると判定された場合(ステップS51:YES)、CPU11は、変数kを設定し、kの値を1とする(ステップS52)。
また、CPU11は、変数jを設定し、jの値を1とする(ステップS53)。そして、CPU11は、上記の式(3)に基づいてSjの値を算出する(ステップS54)。
【0081】
そして、CPU11は、A2Nを基準として、処理対象の静止画像の番号が末尾の静止画像の番号であるか否か判定する。即ち、CPU11は、kの値がA2Nから1を減じた値(A2N−1)と等しいか否か判定する(ステップS55)。ここで、kの値がA2N−1と等しいと判定された場合(ステップS55:YES)、CPU11は、α及びβの正面静止画像、後方静止画像及びボール静止画像の番号を、第1パートにおける各々の末尾の番号とする(ステップS56〜S58)。
【0082】
一方、ステップS55にて、kの値がA2N−1と等しくないと判定された場合(ステップS55:NO)、CPU11は、kの値が、Sjの値の小数点を切り上げた値と等しいか否か判定する(ステップS59)。ここで、kの値が、Sjの値の小数点を切り上げた値と等しいと判定された場合(ステップS59:YES)、CPU11は、α及びβの静止画像の番号を順次進める番号の変更処理を行う。具体的には、α及びβの正面静止画像及び後方静止画像の番号に1を加算し(ステップS60、ステップS61)、α及びβのボール静止画像の番号に4を加算する(ステップS62)。さらに、CPU11は、jの値に1を加え(ステップS63)、上記の式(3)に基づいてSjの値を再度算出する(ステップS64)。
【0083】
一方、ステップS57にてkの値がSjの値の小数点を切り上げた値と等しくないと判定された場合(ステップS59:NO)、CPU11は、αの静止画像の番号を据え置き、βの静止画像の番号を順次進める番号の変更処理を行う。具体的には、βの正面静止画像及び後方静止画像の番号に1を加算し(ステップS65、ステップS66)、βのボール静止画像の番号に4を加算する(ステップS67)。
【0084】
また、CPU11は、ステップS64又はステップS67の処理後、kの値に1を加える(ステップS68)。そして、CPU11は、ステップS58又はステップS68の処理後の番号を有する正面静止画像、後方静止画像及びボール静止画像を読み出し(ステップS69)、均等振分処理を終了する。
均等振分処理の終了後、CPU11は、処理をステップS15へ移行させる。
【0085】
また、ステップS17にて、第1パートの末尾の番号を有する各々の静止画像データを合成した合成静止画像データの生成を完了したと判定された場合(ステップS17:YES)、CPU11は、1回分のパート単位のスイング画像同期を終了する。
スイング画像同期において、CPU11は、全てのパートに対してパート単位のスイング画像同期を行う。全てのパートに対してのパート単位のスイング画像同期が終了すると、CPU11は、画像処理装置10は同期動画生成以降の処理を行う。
【0086】
以上のように、本実施形態のゴルフスイング解析システム1によれば、画像処理装置10が、複数の被写体(例えば、α、β等)の各々を撮像した複数の動画像データの各々から生成された複数の静止画像データをそれぞれ時系列に沿って設けられた複数のグループに分け、グループ単位で、複数の被写体の静止画像データどうしを同期させるので、グループ単位で区切られた複数のタイミングを基準として、複数の被写体の各々を撮像した複数の動画像データから生成された複数の静止画像データどうしを同期させることができ、複数の被写体の各々を撮像した複数の動画像データに基づく画像の同期の精度をより高めることができる。
【0087】
また、画像処理装置10が、グループ単位で複数の被写体の各々の静止画像データの数に差がある場合、グループ単位で複数の被写体の各々の静止画像データの数を同一とするよう、複数の被写体の各々の複数の静止画像データのうち数が少ない複数の静止画像データに追加の静止画像データを加えるので、同期させる複数の静止画像データの基となる、複数の被写体の各々の複数の動画像データの各々のフレーム数や撮像時刻等が異なる場合であっても、数が少ない複数の静止画像データに追加の静止画像データを加えることで、複数の動画像データの各々のフレーム数や撮像時刻等の違いを埋め合わせることができる。即ち、複数の被写体の各々の複数の動画像データの各々のフレーム数や撮像時刻等が異なる場合であっても、これらの複数の動画像データに基づく画像の同期をより高い精度で行うことができる。
【0088】
また、画像処理装置10が、グループ単位の複数の被写体の各々の静止画像データの数の差に応じた数の追加の静止画像データを、複数の被写体の各々の複数の静止画像データのうち数が少ない複数の静止画像データのグループの冒頭に加えるので、複数の動画像データに基づく画像を同期させた後の表示内容は、相対的に再生時間が長い動画像データ(例えば、相対的にフレーム数が多い動画像データや、相対的に撮像時刻が長い動画像データ等)の画像が先に表示内容を変じ、追加の静止画像データの数に対応するフレーム数や撮像時刻の経過後に、相対的に再生時間が短い動画像データ(例えば、相対的にフレーム数が少ない動画像データや、相対的に撮像時刻が短い動画像データ等)の画像の表示内容の変化も伴う表示内容となり、再生の開始タイミングの違いにより同期された複数の静止画像データの基となった複数の動画像データの再生時間の違いを明確に確認することができる。
【0089】
また、画像処理装置10が、グループ単位の複数の被写体の各々の静止画像データの数の差に応じた数の追加の静止画像データを、複数の被写体の各々の複数の静止画像データのグループの末尾に加えるので、複数の動画像データに基づく画像を同期させた後の表示内容は、相対的に再生時間が短い動画像データ(例えば、相対的にフレーム数が少ない動画像データや、相対的に撮像時刻が短い動画像データ等)の画像が先に終了し、相対的に再生時間が長い動画像データ(例えば、相対的にフレーム数が多い動画像データや、相対的に撮像時刻が長い動画像データ等)の画像の再生の終了を待つ表示内容となり、再生の終了タイミングの違いにより同期された複数の静止画像データの基となった複数の動画像データの再生時間の違いを明確に確認することができる。
【0090】
また、画像処理装置10が、グループ単位の複数の被写体の各々の静止画像データの数の差に応じた数の追加の静止画像データを、複数の被写体の各々の複数の静止画像データのグループの冒頭から末尾にかけて振り分けて加えるので、同期させる複数の静止画像データの基となる複数の動画像データの各々のフレーム数や撮像時刻等が異なる場合であっても、フレーム数や撮像時刻等の差をパートの開始から終了までにかけて分散させることができ、フレーム数や撮像時刻等の差による同期のずれをパートの冒頭又は末尾に集積させることがなくなり、同期のずれを視覚的に軽減することができる。即ち、同期させる複数の静止画像データの基となる複数の動画像データの各々のフレーム数や撮像時刻等が異なる場合であっても、複数の動画像データに基づく画像の同期をより高い精度で行うことができる。
【0091】
また、画像処理装置10が、追加の静止画像データに応じた表示内容と共に表示させる文字列(例えば、コメント等)を設定するので、文字列の内容に応じた情報を同期された画像と共に示すことができる。
【0092】
また、同期の単位となるグループが、ゴルフクラブWのスイングの開始からスイングのトップまでの第1パートと、スイングのトップからボールへのインパクトまでの第2パートと、ボールへのインパクトからスイングの終了までの第3パートであるので、第1パートから第3パートの3つのパートに分けられた各々のパート単位で、ゴルフにおいてボールを打つ動作の開始から終了を撮像した複数の動画像データに基づく画像どうしを同期させることができ、ゴルフスイングを撮像した動画像データに基づく画像の同期の精度をより高めることができる。
【0093】
また、画像処理装置10が、同期された同一タイミングの複数の被写体の各々の静止画像データどうしを合成して複数の合成静止画像データを生成し、さらに、複数の合成静止画像データに基づいて動画像データを生成するので、生成された動画像データは、複数の動画像データから生成された複数の静止画像データどうしがグループ単位で同期された動画像データとなり、当該動画像データにより、同期された複数の動画像データに基づく画像を容易に確認することができる。即ち、複数の動画像データに基づく複数の静止画像データどうしの同期処理の結果の確認をより容易に行うことができる。
【0094】
また、同期動画再生を行うことにより、グループ単位で同期された二人のゴルフスイングの開始から終了までの一連の二人の動作(例えば、姿勢変化等)を比較しながら確認することができる。
【0095】
なお、本発明は、上記の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、上記の実施形態では、HUB5を介して複数のカメラ2、3、4と画像処理装置10とが接続されているが、接続形態の一例であり、これに限られるものではない。他の接続形態として、例えば、複数のカメラの各々に動画像データの記録のための端末を設け、画像処理装置と各々の端末をと接続するようにしてもよい。また、被写体を撮像するカメラは3台に限らず、1台でも2台以上でもよい。
また、カメラと画像処理装置とは必ずしも接続されていなくともよい。例えば、画像処理装置は、カメラにより撮像された動画像データが記憶された所定の記憶装置や記憶媒体から動画像データを取得するようにしてもよい。
【0096】
また、上記の実施形態において同期される複数の被写体を撮像した静止画像データの基となる複数の動画像データ(二人のゴルフスイングの正面静止画像、後方静止画像及びボール静止画像)は一例であり、これに限られるものではない。例えば、3以上の複数の被写体による動作をそれぞれ撮像した複数の動画像データの各々から複数の静止画像データを生成して、これらの静止画像データの一部又は全部をグループ単位で区切り、同期させるようにしてもよい。また、本発明は、ゴルフスイングを撮像した動画像データに基づく静止画像データの同期においても、正面静止画像、後方静止画像、ボール静止画像に限らず、任意の角度からゴルフスイングを行っている被写体やボール、ゴルフクラブW等を撮像した動画像データに基づく静止画像データを同期させることができる。
【0097】
また、同期の単位となるグループは、上記の実施形態における第1パート、第2パート及び第3パートに限らない。本発明は、グループの区切り目を任意に設定することができる。
【0098】
また、一の被写体の動作を同時に撮像した複数の動画像データに基づく静止画像データどうしの同期と、異なる被写体の動作間での同期と、の順番は問わない。例えば、上記の実施形態では、αの正面静止画像、後方静止画像及びボール静止画像を同期させ、βの正面静止画像、後方静止画像及びボール静止画像を同期させた後に、αとβの静止画像データどうしを同期させているが、αとβのいずれかの静止画像データを同期させた後、αとβのそれぞれで正面静止画像、後方静止画像及びボール静止画像を同期させるようにしてもよい。
【0099】
また、上記の実施形態では、スイング対象抽出において、正面静止画像に対して手動でスイングの開始から終了までの各種のタイミングを設定し、後方静止画像及びボール静止画像を式(1)、(2)に基づいて同期させているが、一例であって、これに限られるものではない。例えば、図18に示すような、正面静止画像と後方静止画像とボール静止画像とを手動で同期させるための画面に対するユーザの操作内容に応じて、同期させる正面静止画像、後方静止画像及びボール静止画像の番号の対応関係を決定するようにしてもよい。
【0100】
また、本実施形態では、同期動画生成において第1パートから第3パートまでの全てのパートを含む一の動画像データを生成するが、パート単位での動画像データを生成するようにしてもよい。
【0101】
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
<請求項1>
撮像装置により複数の被写体の各々を撮像した複数の画像データを同期させる画像処理装置であって、前記撮像装置により前記複数の被写体の各々を撮像した複数の動画像データの各々から複数の静止画像データを生成する生成手段と、この生成手段により生成された前記複数の静止画像データをそれぞれ時系列に沿って設けられた複数のグループに分ける分割手段と、この分割手段により分けられたグループ単位で、前記複数の被写体の静止画像データどうしを同期させる同期手段と、を備えることを特徴とする画像処理装置。
<請求項2>
前記グループ単位で前記複数の被写体の各々の静止画像データの数に差がある場合、前記グループ単位で前記複数の被写体の各々の静止画像データの数を同一とするよう、前記複数の被写体の各々の複数の静止画像データのうち数が少ない複数の静止画像データに追加の静止画像データを加える追加手段を備えることを特徴とする請求項1に記載の画像処理装置。
<請求項3>
前記追加手段は、前記グループ単位の前記複数の被写体の各々の静止画像データの数の差に応じた数の追加の静止画像データを、前記複数の被写体の各々の複数の静止画像データのうち数が少ない複数の静止画像データのグループの冒頭に加えることを特徴とする請求項2に記載の画像処理装置。
<請求項4>
前記追加手段は、前記グループ単位の前記複数の被写体の各々の静止画像データの数の差に応じた数の追加の静止画像データを、前記複数の被写体の各々の複数の静止画像データのグループの末尾に加えることを特徴とする請求項2に記載の画像処理装置。
<請求項5>
前記追加手段は、前記グループ単位の前記複数の被写体の各々の静止画像データの数の差に応じた数の追加の静止画像データを、前記複数の被写体の各々の複数の静止画像データのグループの冒頭から末尾にかけて振り分けて加えることを特徴とする請求項2に記載の画像処理装置。
<請求項6>
前記追加手段により加えられた追加の静止画像データに応じた表示内容と共に表示させる文字列を設定する設定手段を備えることを特徴とする請求項3又は4に記載の画像処理装置。
<請求項7>
前記グループは、ゴルフクラブのスイングの開始からスイングのトップまでの第1パートと、前記スイングのトップからボールへのインパクトまでの第2パートと、前記ボールへのインパクトからスイングの終了までの第3パートであることを特徴とする請求項1から6のいずれか一項に記載の画像処理装置。
<請求項8>
前記同期手段により同期された同一タイミングの前記複数の被写体の各々の静止画像データどうしを合成して複数の合成静止画像データを生成する合成手段と、前記複数の合成静止画像データに基づいて動画像データを生成する動画像生成手段と、を備えることを特徴とする請求項1から7のいずれか一項に記載の画像処理装置。
<請求項9>
撮像装置により複数の被写体の各々を撮像した複数の画像データを同期させる画像処理装置のコンピュータを、前記撮像装置により前記複数の被写体の各々を撮像した複数の動画像データの各々から複数の静止画像データを生成する手段、生成された前記複数の静止画像データをそれぞれ時系列に沿って設けられた複数のグループに分ける手段、前記グループ単位で、前記複数の被写体の各々の静止画像データどうしを同期させる手段、として機能させることを特徴とするプログラム。
【符号の説明】
【0102】
1 ゴルフスイング解析システム
2,3,4 カメラ
10 画像処理装置
11 CPU
12 RAM
13 ROM
14 記憶装置
15 入力装置
16 表示装置
【技術分野】
【0001】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【0002】
従来、複数の被写体の各々を撮像した複数の動画像データを同期させて表示させるため、各々の動画像データの再生内容における所定のタイミング(例えば、所定の動画フレーム等)を同期タイミングとし、同期タイミングを同時に再生させるようにすることで同期タイミング以後の複数の動画像データの再生を同期させる動画再生方法がある(例えば、特許文献1及び特許文献2参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−80735号公報
【特許文献2】特開2002−344897号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の動画再生方法では、複数の被写体の各々を撮像した複数の動画像データを十分に同期させることができない場合があった。
例えば、所定の時間連続した所定の動作を行う複数の被写体の各々を撮像した複数の動画像データを同期させるにあたり、各被写体により行われる所定の動作の進行速度が異なる場合、同期を取ったタイミングから再生が進むにつれて次第に各々の動画像データにおける各被写体の動作がずれ、各被写体の動作が同期しない状態となる。一方、このような複数の動画像データにおいて、動画像データの終了タイミング(例えば、所定の動作の完了タイミング等)で複数の動画像データを同期させた場合、所定の動作の開始タイミングがずれるので、やはり各被写体の動作は同期しない。
【0005】
本発明の課題は、複数の被写体の各々を撮像した複数の動画像データに基づく画像の同期の精度をより高めることができる画像処理装置及びプログラムを提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明の画像処理装置は、撮像装置により複数の被写体の各々を撮像した複数の画像データを同期させる画像処理装置であって、前記撮像装置により前記複数の被写体の各々を撮像した複数の動画像データの各々から複数の静止画像データを生成する生成手段と、この生成手段により生成された前記複数の静止画像データをそれぞれ時系列に沿って設けられた複数のグループに分ける分割手段と、この分割手段により分けられたグループ単位で、前記複数の被写体の静止画像データどうしを同期させる同期手段と、を備えることを特徴とする。
【0007】
また、上記課題を解決するため、本発明のプログラムは、撮像装置により複数の被写体の各々を撮像した複数の画像データを同期させる画像処理装置のコンピュータを、前記撮像装置により前記複数の被写体の各々を撮像した複数の動画像データの各々から複数の静止画像データを生成する手段、生成された前記複数の静止画像データをそれぞれ時系列に沿って設けられた複数のグループに分ける手段、前記グループ単位で、前記複数の被写体の各々の静止画像データどうしを同期させる手段、として機能させることを特徴とする。
【発明の効果】
【0008】
本発明によれば、複数の被写体の各々を撮像した複数の動画像データに基づく画像の同期の精度をより高めることができる。
【図面の簡単な説明】
【0009】
【図1】本発明の一実施形態による画像処理装置を含むゴルフスイング解析システムを示す図である。
【図2】ゴルフスイング解析システム及び画像処理装置の構成を示すブロック図である。
【図3】画像処理装置による画像処理の流れの一例を示すフローチャートである。
【図4】スイング対象抽出画面の一例を示す図である。図4(a)は、スイング対象画面の初期表示内容の一例を示す図である。図4(b)は、スイング開始の静止画像データを選択しているときのスイング対象画面の表示内容の一例を示す図である。図4(c)は、各種のタイミングに対応した静止画像データの選択が完了した後のスイング対象画面の表示内容の一例を示す図である。
【図5】基準位置情報テーブルの一例を示す図である。図5(a)は初期化された状態の基準位置情報テーブルの一例を示す図である。図5(b)は正面静止画像に対するスイング対象抽出後の基準位置情報テーブルの一例を示す図である。図5(c)は正面静止画像に対して後方静止画像及びボール静止画像を同期させた後の基準位置情報テーブルの一例を示す図である。
【図6】複数の被写体の基準位置情報テーブルの対応関係の一例を示す図である。
【図7】複数の被写体のゴルフスイングの静止画像データどうしを同期させた合成静止画像データの一例を示す図である。
【図8】図6に示す複数の被写体の基準位置情報テーブルに対応した第1〜第3パートの静止画像データの数の一例を示す図である。
【図9】パートの冒頭に追加の静止画像データを加える場合の一例を模式的に示す図である。
【図10】パートの末尾に追加の静止画像データを加える場合の一例を模式的に示す図である。
【図11】パートの冒頭から末尾にかけて追加の静止画像データを振り分けて加える場合の一例を模式的に示す図である。
【図12】パートの冒頭から末尾にかけて追加の静止画像データを振り分けて加える場合の処理の流れをスクリプトで示した場合の一例を示す図である。
【図13】パート単位のスイング画像同期の処理の流れの一例を示すフローチャートである。
【図14】冒頭追加処理の流れの一例を示すフローチャートである。
【図15】末尾追加処理の流れの一例を示すフローチャートである。
【図16】均等振分処理の流れの一例を示すフローチャートである。
【図17】図16に示す均等振分処理の流れの続きを示すフローチャートである。
【図18】正面静止画像、後方静止画像及びボール静止画像を手動で同期させるための画面の一例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
【0011】
図1は、本発明の一実施形態による画像処理装置10を含むゴルフスイング解析システム1を示す図である。ゴルフスイング解析システム1は、3台のカメラ2、3、4と、HUB5と、画像処理装置10と、プリンタ6と、ディスクライタ7と、を備える。
【0012】
カメラ2、3、4は、ゴルフスイングを行う被写体(α又はβ)又はゴルフボールを載置するピンP及びその付近をそれぞれ異なる角度から撮像する。
なお、以下の説明において、被写体から見てゴルフボールが飛翔する方向を前方、その反対側を後方とし、さらに、被写体から見てゴルフボールが載置される側を正面とする。
【0013】
カメラ2はゴルフスイングを行うヒトである被写体の正面側から被写体を撮像し、カメラ3は同被写体の後方から被写体を撮像する。カメラ4は被写体の正面側からピンP及びその付近を撮像することで、ゴルフボール及びゴルフボールを打つゴルフクラブWのヘッドを撮像する。カメラ2、3、4は撮像画像を動画像データとして出力する。
【0014】
カメラ2、3、4は、動画撮像時の秒間撮像フレーム数(frame per second:fps)を所定の値(例えば、300〜1200[fps])とすることができる。本実施形態において、カメラ2、3は300[fps]、カメラ4は1200[fps]で撮像を行う。
【0015】
HUB5は、3台のカメラ2、3、4と画像処理装置10との間に介在する集線装置であり、3台のカメラ2、3、4と画像処理装置10とを接続する。
【0016】
画像処理装置10は、撮像装置(例えば、3台のカメラ2、3、4等)により複数の被写体(例えば、α及びβ)の各々を撮像した複数の画像データを同期させる画像処理装置である。画像処理装置10は、3台のカメラ2、3、4により撮像された動画像データを記憶し、当該動画像データを基にした複数の静止画像データに対して各種の処理を行う。その詳細については後述する。
【0017】
プリンタ6は、印刷媒体(例えば紙等)に対して印刷を施す。プリンタ6は、例えばページプリンタ等の印刷装置により構成される。
ディスクライタ7は、画像処理装置10の制御によりデジタルデータをDVDメディアに書き込む機器である。
【0018】
次に、画像処理装置10の構成について説明する。図2は、ゴルフスイング解析システム1及び画像処理装置10の構成を示すブロック図である。
画像処理装置10は、CPU11と、RAM12と、ROM13と、記憶装置14と、入力装置15と、表示装置16と、インターフェース17、18、19と、これらの各構成を相互接続するバス20と、を有する。
本実施形態において、画像処理装置10は、例えば、パーソナルコンピュータ、デスクトップコンピュータ等の情報処理装置により構成される。
【0019】
CPU11は、ROM13や記憶装置14からプログラム、データ等を読み込んで実行処理すると共に、画像処理装置10の各部や画像処理装置10に接続されている各構成の動作制御を行う。CPU11が読み込んだプログラム、データ等及びCPU11の処理において一時的に生じたパラメータ等はRAM12に格納される。
【0020】
ROM13は、例えばROMチップ等であり、プログラム、データ等を記憶する。
記憶装置14は、例えばハードディスクドライブやフラッシュメモリ等であり、プログラム、データ等を記憶することができる。記憶装置14は、カメラ2、3、4により撮像された複数の動画像データや、当該動画像データに基づいて生成される複数の静止画像データ、基準位置情報テーブル、複数の動画像データの各々のfps等を記憶するための記憶領域を有している。
また、ROM13や記憶装置14は、CPU11が行う各種の処理に応じたプログラムを記憶している。
【0021】
入力装置15は、例えばキーボードやマウス等であり、ユーザの手動による画像処理装置10に対する入力操作を受け付ける。
【0022】
表示装置16は、例えば液晶ディスプレイや有機エレクトロルミネッセンス(Electro-Luminescence:EL)ディスプレイ等により構成され、画像処理装置10の画面出力処理に応じた内容を表示する。
【0023】
インターフェース17、18、19は、例えばUSB(Universal Serial Bus)等のバスインターフェースであり、画像処理装置10と外部機器との接続を可能にする。カメラ2、3、4はHUB5を介してインターフェース17に接続され、プリンタ6はインターフェース18に接続され、ディスクライタ7はインターフェース19に接続される。
【0024】
次に、画像処理装置10により行われる処理について説明する。図3は、画像処理装置10による画像処理の流れの一例を示すフローチャートである。
【0025】
まず、3つのカメラ2、3、4が、3方向からの撮影を行う(ステップS1)。撮影は、ユーザによる所定の入力操作により、画像処理装置10が3台のカメラ2、3、4を動作させて被写体を撮像する処理である。3台のカメラ2、3、4により撮像された動画像データは、画像処理装置10に転送される。画像処理装置10は転送された動画像データを記憶装置14に記憶する。
【0026】
以下の説明において、カメラ2の撮像による動画像データに関するものに「FR」を付加し、カメラ3の撮像による動画像データに関するものに「BK」を付加し、カメラ4の撮像による動画像データに関するものに「BL」を付加して説明する。
また、本実施形態では、カメラ2、3、4により、二人(α、β)のゴルフスイングがそれぞれ一回ずつ撮影される。画像処理装置10の記憶装置14は、二人のゴルフスイングを撮像した各々の動画像データを記憶する。以下、αのゴルフスイングを撮像した動画像データに関するものに「α_」を付加し、βのゴルフスイングを撮像した動画像データに関するものに「β_」を付加して説明する。
【0027】
次に、画像処理装置10は静止画像生成を行う(ステップS2)。静止画像生成は、カメラ2、3、4により撮像された複数の被写体(α、β)の各々を撮像した複数の動画像データの各々から複数の静止画像データを生成する処理である。生成された複数の静止画像データは記憶装置14に記憶される。
【0028】
静止画像データの各々には、ゴルフスイングが撮像された人物を示す符号(例えば、α_又はβ_)と、基となった動画像データを示す符号(例えば、「FR」、「BK」又は「BL」等)と、番号と、を付したファイル名が付与される。番号は、例えば、初期値1の連番であり、動画像データの最初のフレームに対応する静止画像データのファイル名に1が付与され、以降継続して付与されるフレームの番号は順次増加する。
例えば、αを撮像した動画像データFRから生成された静止画像データを例に挙げると、「α_FR0000001」、「α_FR0000002」…のように、所定の桁数(例えば、7桁)の連番による番号が末尾に付されたファイル名が付与される。
動画像データBK、動画像データBLや、βの動画像データの各々に基づいて生成された静止画像データについても同様である。以下の説明において、静止画像データの各々に付与される番号を「静止画像の番号」と記載し、動画像データFRから生成された静止画像データを「正面静止画像」と記載し、動画像データBKから生成された静止画像データを「後方静止画像」と記載し、動画像データBLから生成された静止画像データを「ボール静止画像」と記載する。
【0029】
生成される静止画像データの枚数は、動画像データの各々のfpsに応じる。例えば、300[fps]の動画像データを静止画像データにした場合、1秒間の動画像データに対応した静止画像データは300[枚]生成される。つまり、一の静止画像データは、動画像データにおける一の画像フレームに対応する。
画像処理装置10は、各カメラのfpsを管理、記憶する。具体的には、カメラ2のfpsをFRfpsの値とし、カメラ3のfpsをBKfpsの値とし、カメラ4のfpsをBLfpsの値として記憶装置14に記憶する。
【0030】
次に、ユーザの入力内容に基づいて、画像処理装置10はスイング対象抽出を行う(ステップS3)。スイング対象抽出は、α、βの複数の静止画像データのうち、ゴルフスイングの開始から終了までを撮像した複数の静止画像データを特定する処理である。これは、カメラ2、3、4による動画像データの撮像時にゴルフスイングと関係がない撮像画像が含まれることがあるために行われる処理である。ゴルフスイング中と関係がない撮像画像として、例えば被写体が姿勢を整える動作を行っている最中や、被写体がその他の動作(例えば、煙草を吸う等)を行っている最中の撮像画像等が挙げられる。
【0031】
図4を用いて、スイング対象抽出の具体的内容の一例を示す。
図4(a)は、スイング対象抽出画面の一例を示す図である。図4(a)は、スイング対象画面の初期表示内容の一例を示す。図4(b)は、スイング開始の静止画像データを選択しているときのスイング対象画面の表示内容の一例を示す。図4(c)は、各種のタイミングに対応した静止画像データの選択が完了した後のスイング対象画面の表示内容の一例を示す。
【0032】
図4(a)〜(c)に示すように、スイング対象抽出画面は、複数の静止画像データをグループ単位で分ける境目に対応する各種のタイミングの名称(例えば、スイング開始、スイングのトップ、インパクト、スイング終了等)と、これらの各種のタイミングに対応する静止画像データを選択、決定、確認するための静止画像表示部と、静止画像表示部に表示された静止画像データを選択するためのスクロールバー30と、を表示項目に含む。
【0033】
なお、「スイング開始」は、被写体がゴルフボールを打つ前の動作としてゴルフクラブWを後方経由で振り上げる動作(テークバック)を開始する動作シーンである。「スイングのトップ(以下の記載及び図面では、単に「トップ」と記載)」は、被写体がゴルフボールを打つため、テークバック後にゴルフクラブWを振り下ろす動作を開始する動作シーンである。「インパクト」は、ゴルフクラブWのヘッドがゴルフボールを打つ瞬間(インパクト瞬間)のシーンである。「スイング終了」は、ゴルフボールを打った後、被写体がゴルフクラブWを前方へ振りぬく動作の終了(フォロースルー終了)シーンである。
【0034】
スクロールバー30は、矢印ボタン31、32やスクロールゲージ34、スクロールゲージ34の移動範囲に対応するバー33等を含む。スクロールゲージ34は、矢印ボタン31、32に対する操作や、スクロールゲージ34の左右に位置するバー33に対する操作、スクロールゲージ34を左右に移動させる操作等に応じて左右に移動する。そして、スクロールゲージ34の移動に応じて、フォーカスの当たった静止画像表示部に表示される静止画像データの表示内容が遷移する。図4(b)に示す例では、スクロールゲージ34の移動に応じて、ゴルフスイング中の被写体の姿勢が変化し、被写体により振られるゴルフクラブWの位置が変化する例を示している。
ここで、バー33の範囲は、カメラ2により撮像された動画像データから生成された一人(例えば、α又はβ)の全ての正面静止画像に対応する。
【0035】
なお、図4(b)では、スイング開始の静止画像表示部に対する選択操作を例示しているが、ユーザは、トップ、インパクト及びスイング終了についても同様に各々のタイミングに対応する静止画像データの選択を行うことができ、図4(c)に示すように、各種のタイミングに応じた静止画像データを特定することができる。つまり、ユーザは、フォーカスを当てる静止画像表示部の変更と、スクロールバー30に対する入力操作とにより、各種のタイミング(例えば、スイング開始、トップ、インパクト、スイング終了等)に応じた正面静止画像を特定することができる。
【0036】
また、スイング対象抽出において、CPU11は、基準位置情報テーブル情報を生成、更新する。
図5は、基準位置情報テーブルの一例を示す図である。図5(a)は初期化された状態の基準位置情報テーブルの一例を示す。図5(b)は正面静止画像に対するスイング対象抽出後の基準位置情報テーブルの一例を示す。図5(c)は正面静止画像に対して後方静止画像及びボール静止画像を同期させた後の基準位置情報テーブルの一例を示す。
【0037】
基準位置情報テーブルは、複数のカメラ2、3、4により撮像された動画像データに対応する各種の静止画像データ(例えば、正面静止画像、後方静止画像及びボール静止画像)のそれぞれについて、ゴルフスイング中の各種のタイミング(例えば、スイング開始、トップ、インパクト、スイング終了等)に対応する静止画像の番号を有するファイル名を記憶するテーブルである。基準位置情報テーブルは、記憶装置14に記憶される。
【0038】
スイング対象抽出の開始時に、CPU11は、例えば、初期化された状態の基準位置情報テーブルを生成する。初期化された状態の基準位置テーブルは、図5(a)に示すように、ゴルフスイング中の各種のタイミングと、各種の静止画像の先頭の番号を有する静止画像データのファイル名とを対応付けている。
【0039】
スイング対象抽出画面に対するユーザの入力操作等により、正面静止画像についてスイング対象抽出が行われると、CPU11は、図5(b)に示すように、基準位置情報テーブルの正面静止画像の各種のタイミングに対応付けられた静止画像データのファイル名を、スイング対象抽出画面において特定された各種のタイミングの静止画像データに応じた番号を有するファイル名とする。
【0040】
そして、正面静止画像に対するスイング対象抽出が完了すると、CPU11は、以下の式(1)、(2)に基づいて、ゴルフスイング中の各種のタイミングに対応する後方静止画像及びボール静止画像の静止画像の番号を算出する。
BKno=FRno×BKfps/FRfps−(BKfps/FRfps)+1…(1)
BLno=FRno×BLfps/FRfps−(BLfps/FRfps)+1…(2)
上記の式(1)、(2)において、FRnoは、正面静止画像の静止画像の番号を示し、BKnoは、後方静止画像の静止画像の番号を示し、BLnoは、ボール静止画像の静止画像の番号を示す。本実施形態では、FRfpsとBKfpsとは同一(300[fps])であるので、各種のタイミングのFRnoとBKnoとは同一となる。また、BLfps(1200[fps])は、FRfps(300[fps])の4倍であるので、各種のタイミングのBLnoは、FRnoの4倍から3を減じた値(FRno×4−(4)+1)となる。
CPU11は、図5(c)に示すように、基準位置情報テーブルの後方静止画像及びボール静止画像の各種のタイミングに対応付けられた静止画像データのファイル名を、式(1)、(2)により算出されたBKno、BLnoに応じた静止画像の番号を有するファイル名とする。
【0041】
スイング対象抽出は、複数の被写体(例えば、α及びβ)の各々に対して個別に行われ、二人の各々により行われたゴルフスイングの各種のタイミングに対応する静止画像の番号を有するファイル名が特定される。
図6は、複数の被写体の基準位置情報テーブルの対応関係の一例を示す図である。
なお、CPU11は、複数の被写体(例えば、α及びβ)の基準位置情報テーブルを個別に生成、更新してもよいし、複数の被写体の情報を含む一つの基準位置情報テーブルを生成してもよい。
スイング対象抽出により決定された、複数の静止画像データに含まれる各種のタイミング(例えば、スイング開始、トップ、インパクト、スイング終了等)に対応する静止画像の番号は、複数の静止画像データをグループ単位で区切る基準となる。
【0042】
次に、画像処理装置10は、スイング画像同期を行う(ステップS4)。スイング画像同期は、複数の動画像データの各々から生成された複数の静止画像データをグループ単位で同期させ、同期された同一タイミングの複数の被写体(α、β)の各々の静止画像どうしを合成した複数の合成静止画像データを生成する処理である。スイング画像同期により、例えば、図7に示すように、複数の被写体(例えば、α及びβ)のゴルフスイングの静止画像データどうしを同期させた複数の合成静止画像データを、ゴルフスイングの開始(例えば、「スイング開始」のタイミング)から終了(例えば、「スイング終了」のタイミング)までについて得ることができる。スイング画像同期の詳細は、後述する。
【0043】
スイング画像同期の後、画像処理装置10は同期動画生成を行う(ステップS5)。同期動画生成は、スイング画像同期が完了した静止画像データを合成して一つの動画像データを生成する処理である。CPU11は、複数の被写体(例えば、α及びβ)のゴルフスイングを撮像した静止画像データを表示内容に含む複数の合成静止画像データを連続するフレームとした一つの動画像データを生成する。ここで、同期動画生成によって得られた一つの動画像データは、ディスクライタ7によりDVDビデオディスクのデータとしてDVDメディアに記録することができる。
また、画像処理装置10は、同期動画生成により生成された動画像データを再生する処理である同期動画再生を行う(ステップS6)。
【0044】
次に、スイング画像同期の詳細について説明する。
スイング画像同期において、CPU11は、まず、α、βの各々の複数の静止画像データをそれぞれ時系列に沿って設けられた複数のグループ(例えば、第1パート、第2パート、第3パート等)に分ける。
具体的には、CPU11は、ゴルフスイングの各種のタイミングに基づいて、スイング開始からスイング終了までの複数の静止画像データを複数のグループに分割し、分割された各々のパートに含まれる静止画像データの数を特定する。
ここで、CPU11は、「スイング開始」のタイミングから「トップ」のタイミングまでの静止画像データのグループを、ゴルフクラブWのスイングの開始からスイングのトップまでの第1パートとする。また、CPU11は、「トップ」のタイミングから「インパクト」のタイミングまでの静止画像データのグループを、スイングのトップからボールへのインパクトまでの第2パートとする。また、CPU11は、「インパクト」のタイミングから「スイング終了」のタイミングまでの静止画像データのグループを、ボールへのインパクトからスイングの終了までの第3パートとする。CPU11は、二人のゴルフスイングの静止画像データの各々について、基準位置情報テーブルに設定されたファイル名の番号に基づいて、第1〜第3パートに含まれる静止画像データの数を特定する。
【0045】
以下、αのゴルフスイングの静止画像データのうち、第1パートに含まれる静止画像データの数をA1Nとし、第2パートに含まれる静止画像データの数をB1Nとし、第3パートに含まれる静止画像データの数をC1Nとする。また、βのゴルフスイングの静止画像データのうち、第1パートに含まれる静止画像データの数をA2Nとし、第2パートに含まれる静止画像データの数をB2Nとし、第3パートに含まれる静止画像データの数をC2Nとする。
【0046】
図8は、図6に示す複数の被写体の基準位置情報テーブルに対応した第1〜第3パートの静止画像データの数の一例を示す図である。
図8に示す例の場合、A2NはA1Nより大きく、B2NはB1Nより大きく、C2NはC1Nより大きい。以下の説明では、これらの大小関係に基づいて説明するが、一例であって、これに限られるものではない。例えば、パートの一部又は全部について、αの静止画像データの数の方がβの静止画像データの数よりも多くてもよい。
【0047】
各々のパートに含まれる静止画像データの数の特定後、CPU11は、グループ単位(パート単位)で、複数の被写体(α、β)の静止画像データどうしを同期させる。具体的には、CPU11は、例えば、カメラ2、3、4により撮像された二人のゴルフスイングの動画像データから生成された複数の静止画像データを、第1パート、第2パート、第3パートのパート単位で同期させる。
【0048】
パート単位で複数の静止画像データを同期させるにあたり、CPU11は、二人の各々を撮像した動画像データから生成された複数の静止画像データの数を、パート単位で比較する。
ここで、静止画像データの数が同一である場合、CPU11は、パートの冒頭の番号から末尾の番号まで、一対一の対応関係で二人の静止画像データを同期させるための対応付けを行う。例えば、仮に、第1パートに含まれる静止画像データの数が、α、β共に10[枚]であった場合、第1パートに含まれるαの1枚目の静止画像データとβの1枚目の静止画像データとを同期させ、αの2枚目の静止画像データとβの2枚目の静止画像データとを同期させ…、のように、冒頭(1枚目)から末尾(10枚目)までを一対一の対応関係で同期させる。
【0049】
一方、CPU11は、グループ単位(パート単位)で複数の被写体(α、β)の各々の静止画像データの数に差がある場合、グループ単位で複数の被写体の各々の静止画像データの数を同一とするよう、複数の被写体の各々の複数の静止画像データのうち数が少ない複数の静止画像データに追加の静止画像データを加える補完処理を行う。
例えば、CPU11は、第1のパートにおける二人の静止画像データの数であるA1N、A2Nについて、A2NがA1Nより大きく、静止画像データの数に差があることから、静止画像データの数を同一とするよう、数が少ないA1Nに対応するαの第1パートに追加の静止画像データを加える。
【0050】
CPU11は、パートの冒頭又は末尾あるいはパートの冒頭から末尾にかけて振り分けるように追加の静止画像データを加える。以下、順次説明する。
【0051】
図9は、パートの冒頭に追加の静止画像データを加える場合の一例を模式的に示す図である。図9〜図11では、数が少ない方のαの静止画像データの数が「3」、数が多い方のβの静止画像データの数が「10」、静止画像データの数の差が「7」である場合について模式的に示している。また、追加された静止画像データにマスキングを施して示している。
パートの冒頭に追加の静止画像データを加える場合、CPU11は、複数の静止画像データの数の差に応じた数の追加の静止画像データを、パート単位で分割された複数の静止画像データのうち数が少ない複数の静止画像データのパートの冒頭に加える。
具体的には、CPU11は、数が少ないA1Nに対応するαの第1パートの冒頭の静止画を、静止画像データの数の差に応じて複製する。そして、CPU11は、複製された静止画像データを、数が多いA2Nに対応するβの第1パートの冒頭部分の複数の静止画像データと同期させる。これにより、例えば、図9に示すように、静止画像データの数の差(「7」)に応じたβの冒頭部分の複数の静止画像データ(β1〜β7)は、複製されたαの冒頭の静止画像データ(α1)と同期するよう対応付けられる。
また、CPU11は、静止画像データの数の差に応じたパートの冒頭部分に引き続く番号を有するファイル名の静止画像データを、一対一の対応関係で同期させる。これにより、例えば、図9に示すように、βの複数の静止画像データ(β8〜β10)と、αの複数の静止画像データ(α1〜α3)とが同期するよう対応付けられる。
【0052】
より具体的には、CPU11は、数の多い方の静止画像データの数(例えば、A2Nの値)を基準として、冒頭から数えた数(静止画像のコマ数)が、数が多い方の静止画像データの数から数が少ない方の静止画像データの数を減じた値(例えば、A2N−A1Nの値)以下の静止画像データについて、その次に同期させる静止画像の番号のうち、数が少ない方の静止画像の番号を据え置き、数が多い方の静止画像の番号を順次進める。そして、CPU11は、数の多い方の静止画像データを基準として、冒頭から数えた数が、数が多い方の静止画像データの数から数が少ない方の静止画像データの数を減じた値に1を加えた値(例えば、A2N−A1N+1の値)以上であって、数が多い方の静止画像データの数から1を減じた値(例えば、A2N−1の値)以下の静止画像データについて、その次に同期させる静止画像の番号を、数が少ない方及び数が多い方の静止画像データの双方とも順次進める。
【0053】
図10は、パートの末尾に追加の静止画像データを加える場合の一例を模式的に示す図である。
パートの末尾に追加の静止画像データを加える場合、CPU11は、複数の静止画像データの数の差に応じた数の追加の静止画像データを、パート単位で分割された複数の静止画像データのうち数が少ない複数の静止画像データのパートの末尾に加える。
具体的には、CPU11は、静止画像データの数の差に応じたパートの冒頭部分から、数が少ない方の静止画像データの末尾の静止画像データまでの複数の静止画像データを、一対一の対応関係で同期させる。これにより、例えば、図10に示すように、βの複数の静止画像データ(β1〜β3)と、αの複数の静止画像データ(α1〜α3)とが同期するよう対応付けられる。
また、CPU11は、数が少ないA1Nに対応するαの第1パートの末尾の静止画を、静止画像データの数の差に応じて複製する。そして、CPU11は、複製された静止画像データを、数が多いA2Nに対応するβの第1パートの末尾部分の複数の静止画像データと同期させる。これにより、例えば、図10に示すように、静止画像データの数の差(「7」)に応じたβの末尾部分の複数の静止画像データ(β4〜β10)は、複製されたαの末尾の静止画像データ(α3)と同期するよう対応付けられる。
【0054】
より具体的には、CPU11は、数の多い方の静止画像データの数(例えば、A2Nの値)を基準として、冒頭から数えた数(静止画像のコマ数)が、数が少ない方の画像の数(例えば、A1Nの値)未満の静止画像データについて、その次に同期させる静止画像の番号を、数が少ない方及び数が多い方の静止画像データの双方とも順次進める。そして、CPU11は、数の多い方の静止画像データを基準として、冒頭から数えた数が、数が少ない方の画像の数(例えば、A1Nの値)以上であって、数が多い方の静止画像データの数から1を減じた値(例えば、A2N−1の値)以下の静止画像データについて、その次に同期させる静止画像の番号のうち、数が少ない方の静止画像の番号を据え置き、数が多い方の静止画像の番号を順次進める。
【0055】
図11は、パートの冒頭から末尾にかけて追加の静止画像データを振り分けて加える場合の一例を模式的に示す図である。図12は、パートの冒頭から末尾にかけて追加の静止画像データを振り分けて加える場合の処理の流れをスクリプトで示した場合の一例を示す図である。
まず、CPU11は、数が少ない方の冒頭の静止画像データと、数が多い方の棒等の静止画像データとを一対一の対応関係で同期させる。これにより、例えば、図11に示すように、βの冒頭の静止画像データ(β1)と、αの冒頭の静止画像データ(α1)とが同期するよう対応付けられる。
【0056】
また、CPU11は、数が多い方を基準として、同期処理が完了された静止画像データの枚数のカウントを行う。カウントされた数値は、CPU11により設定された所定の変数(例えば、「k」)に格納され、管理される。
【0057】
次に、数が多い方の冒頭から2枚目の静止画像データと同期させる画像を決定するにあたり、CPU11は、所定の変数(例えば、「j」)を初期値1で設定し、以下の式(3)に基づいて別の変数(例えば、「Sj」)の値を算出する。
Sj=j×(A2N/A1N)…(3)
【0058】
そして、CPU11は、kの値が、Sjの値の小数点を切り上げた値と等しいか比較する。
ここで、kの値が、Sjの値の小数点を切り上げた値と等しい場合、CPU11は、同期させる数の少ない方の静止画像データ及び数の多い方の静止画像データを、共に、直前に同期された静止画像データの次の番号を有するファイル名の静止画像データとする。そして、CPU11は、jの値に1を加え、再度、上記の式(3)に基づいてSjの値を算出する。
一方、kの値がSjの値の小数点を切り上げた値と等しくない場合、CPU11は、同期させる静止画像データのうち、数の少ない方の静止画像データを、直前に同期された静止画像データと同一の番号を有するファイル名の静止画像データとし、数の多い方の静止画像データを、直前に同期された静止画像データの次の番号を有するファイル名の静止画像データとする。つまり、この場合、CPU11は、数の多い方の静止画像の番号だけを進ませて、数の少ない方の静止画像の番号を据え置いて、静止画像データを同期させる。
【0059】
CPU11は、同期させる静止画像データを冒頭から順次決定すると共に、kの値をカウントアップし、上記の処理を繰り返す。
また、kの値がA2Nから1を減じた値(例えば、A2N−1の値)と等しい場合、CPU11は、上記の処理より優先して、同期させる数の少ない方の静止画像データ及び数の多い方の静止画像データを、共に、パートにおける各々の末尾の静止画像データとする。そして、CPU11は、パートの末尾の静止画像データの同期を完了させることにより、当該パートのスイング画像同期を終了する。
【0060】
例えば、冒頭から2枚目の静止画像データの同期の場合、k=1である。また、図11に示す例になぞらえて、A2N=10、A1N=3とした場合、j=1の場合のSjの値は10/3であり、小数点を切り上げたSjの値は4となる。この場合、kの値が、Sjの値の小数点を切り上げた値と同一でないので、CPU11は、数の多い方の静止画像データの番号だけを進ませて、数の少ない方の静止画像の番号を据え置いて、静止画像データを同期させる。よって、図11に示すように、β2とα1とが同期するよう対応付けられる。同様の処理が、kが4未満の間繰り返され、β3、β4も、α1と同期するよう対応付けられる。この場合、β2〜β4との同期のために、α1の静止画像データが追加される。
【0061】
一方、冒頭から5枚目の静止画像データの同期の場合、k=4である。この場合、kの値が、Sjの値の小数点を切り上げた値と同一となる。この場合、CPU11は、同期させる数の少ない方の静止画像データ及び数の多い方の静止画像データを、共に、直前に同期された静止画像データの次の番号を有するファイル名の静止画像データとする。よって、図11に示すように、β4の次のβ5と、α1の次のα2とが同期するよう対応付けられる。
【0062】
以降、同様に、β6、β7との同期のために、α2の静止画像データが追加される。また、β9、β10との同期のために、α3の静止画像データが追加される。
【0063】
図9〜図11では、ボール静止画像を同期させる場合の例について示しているが、スイング画像同期において、CPU11は、二人のゴルフスイングの正面静止画像、後方静止画像及びボール静止画像を一括して、パート単位で同期させる。
なお、静止画像データの同期において、進める静止画像の番号の大きさは、静止画像データの基となった動画像データのfpsに基づく。例えば、本実施形態の正面静止画像と後方静止画像の基となったカメラ2、3のfps(300[fps])は同一であるので、一方の静止画像の番号が1進むことに応じて、他方の静止画像の番号も1進む。一方、ボール静止画像の基となったカメラ4のfps(1200[fps])は、正面静止画像及び後方静止画像の4倍であるので、正面静止画像及び後方静止画像の番号が1進むことに応じて、ボール静止画像の番号は4進む。言い換えれば、正面静止画像の番号が1進むことに応じて、後方静止画像の番号は、(1×BKfps/FRfps)進み、ボール静止画像の番号は、(1×BLfps/FRfps)進むこととなる。
【0064】
また、上記の説明は、第1パートに含まれる複数の被写体としての二人(α及びβ)の静止画像データの数(A1N、A2N)に基づいて行っているが、第2パートの静止画像データの数であるB1N、B2N及び第3パートの静止画像データの数であるC1N、C2Nについても、A1N、A2Nの場合と同様である。
【0065】
また、画像処理装置10は、追加された静止画像データに応じた表示内容と共に表示させる文字列を設定することができる。
具体的には、画像処理装置10は、スイング画像同期により追加された静止画像データと共に表示させるコメントを設定する機能を有する。コメントの追加は、入力装置15を介して行われる。本実施形態では、パートの冒頭又は末尾に追加の静止画像データを加える場合、ユーザは、例えば、図7に示すように、追加された静止画像データと共に表示されるコメントを設定することができる。本実施形態では、設定されたコメントは、冒頭又は末尾に連続して追加された静止画像データを含む全ての合成後の静止画像データに設定されるが、合成後の静止画像データの一部のみに設定するようにしてもよいし、合成後の静止画像データに個別のコメントを設定可能としてもよい。
コメントを設定することにより、同期された複数の静止画像データ(例えば、二人のゴルフスイング等)についての比較に関する情報を付加することができる等、画像の同期に関する情報を付加することができる。
【0066】
本実施形態の画像処理装置10は、補完処理において追加の静止画像データを加える位置を任意に選択、設定することができる機能を有する。具体的には、画像処理装置10は、追加の静止画像データを加える場合、パートの冒頭に追加の静止画像データを加えるか、パートの末尾に追加の静止画像データを加えるか、追加の静止画像データをパートの冒頭から末尾にかけて振り分けるか、のいずれかとする設定を予め記憶装置14に記憶させている。ユーザにより、入力装置15等を介して追加の静止画像データを加える処理に関する設定が行われると、画像処理装置10は、設定の内容に応じて追加の画像を加える設定を更新、記憶する。また、本実施形態の画像処理装置10は、追加の静止画像データを加える位置の選択を、パート単位で個別に行うことができる。
【0067】
次に、パート単位のスイング画像同期の処理の流れを、図13及至図17のフローチャートを参照して説明する。図13及至図17では、スイング画像同期の処理の一例として、第1のパートの静止画像データの数(A1N、A2N)を用いて説明するが、第2パート(B1N、B2N)、第3パート(C1N、C2N)も同様である。
【0068】
画像処理装置10のCPU11は、まず、基準位置情報テーブルを読み出し(ステップS11)、二人のゴルフスイングを撮像した動画像データの各々から生成された複数の正面静止画像、後方静止画像及びボール静止画像の第1パートの冒頭の番号及び末尾の番号並びに第1パートに含まれる静止画像データの数(A1N、A2N)を取得する。
【0069】
次に、CPU11は、二人のゴルフスイングの静止画像データのうち、第1パートの冒頭の番号を有する正面静止画像、後方静止画像及びボール静止画像を読み出し(ステップS12〜S14)、読み出された各々の静止画像データを合成して1枚の合成静止画像データ(図7参照)を生成し(ステップS15)、記憶装置14に保存する(ステップS16)。
【0070】
次に、CPU11は、第1パートのうち、数の多い方の静止画像データの末尾の番号を有する各々の静止画像データを合成した合成静止画像データの生成を完了したか否か判定する(ステップS17)。
ここで、第1パートの末尾の番号を有する各々の静止画像データを合成した合成静止画像データの生成を完了していないと判定された場合(ステップS17:NO)、CPU11は、追加の静止画像データを加える位置の設定に応じた補完処理を行う。
【0071】
具体的には、CPU11は、まず、第1パートについて、パートの冒頭に追加の静止画像データを加える設定がなされているか否かを判定する(ステップS18)。ここで、第1パートの冒頭に追加の静止画像データを加える設定がなされていると判定された場合(ステップS18:YES)、CPU11は、複数の静止画像データの数の差(A2N−A1N)に応じた数の追加の静止画像データを、パート単位で分割された複数の静止画像データのうち数が少ない複数の静止画像データ(αの静止画像データ)のパートの冒頭に加えるための処理(冒頭追加処理)を行う(ステップS19)。
【0072】
ここで、冒頭追加処理について、図14のフローチャートを参照して説明する。
CPU11は、処理対象の静止画像データについて、A2Nを基準として第1パートの冒頭から数えた数(静止画像のコマ数)が、A2N−A1Nの値以下であるか否か判定する(ステップS31)。ここで、A2N−A1Nの値以下であると判定された場合(ステップS31:YES)、CPU11は、αの静止画像の番号を据え置き、βの静止画像の番号を順次進める番号の変更処理を行う。具体的には、βの正面静止画像及び後方静止画像の番号に1を加算し(ステップS32、ステップS33)、βのボール静止画像の番号に4を加算する(ステップS34)。また、CPU11は、入力装置15を介して入力されたコメントを読み出す(ステップS35)。
【0073】
一方、ステップS31にて、A2N−A1Nの値以下でないと判定された場合(ステップS31:NO)、CPU11は、α及びβの静止画像の番号を順次進める番号の変更処理を行う。具体的には、α及びβの正面静止画像及び後方静止画像の番号に1を加算し(ステップS36、ステップS37)、α及びβのボール静止画像の番号に4を加算する(ステップS38)。
【0074】
そして、CPU11は、ステップS34又はステップS37の処理後の番号を有する正面静止画像、後方静止画像及びボール静止画像を読み出し(ステップS39)、冒頭追加処理を終了する。
冒頭追加処理の終了後、CPU11は、処理をステップS15へ移行させる。コメントの読み出しが行われている場合、CPU11は、合成静止画像データにコメントをあわせて合成する。
【0075】
また、ステップS18にて、第1パートの冒頭に追加の静止画像データを加える設定がなされていないと判定された場合(ステップS18:NO)、CPU11は、第1パートについて、パートの末尾に追加の静止画像データを加える設定がなされているか否かを判定する(ステップS20)。ここで、第1パートの末尾に追加の静止画像データを加える設定がなされていると判定された場合(ステップS20:YES)、CPU11は、複数の静止画像データの数の差(A2N−A1N)に応じた数の追加の静止画像データを、パート単位で分割された複数の静止画像データのうち数が少ない複数の静止画像データ(αの静止画像データ)のパートの末尾に加えるための処理(末尾追加処理)を行う(ステップS21)。
【0076】
ここで、末尾追加処理について、図15のフローチャートを参照して説明する。
CPU11は、処理対象の静止画像データについて、A2Nを基準として第1パートの冒頭から数えた数(静止画像のコマ数)が、A1Nの値未満であるか否か判定する(ステップS41)。ここで、A1Nの値未満であると判定された場合(ステップS41:YES)、CPU11は、α及びβの静止画像の番号を順次進める番号の変更処理を行う。具体的には、α及びβの正面静止画像及び後方静止画像の番号に1を加算し(ステップS42、ステップS43)、α及びβのボール静止画像の番号に4を加算する(ステップS44)。
【0077】
一方、ステップS41にて、A1Nの値以下でないと判定された場合(ステップS41:NO)、CPU11は、αの静止画像の番号を据え置き、βの静止画像の番号を順次進める番号の変更処理を行う。具体的には、βの正面静止画像及び後方静止画像の番号に1を加算し(ステップS45、ステップS46)、βのボール静止画像の番号に4を加算する(ステップS47)。また、CPU11は、入力装置15を介して入力されたコメントを読み出す(ステップS48)。
【0078】
そして、CPU11は、ステップS44又はステップS48の処理後の番号を有する正面静止画像、後方静止画像及びボール静止画像を読み出し(ステップS49)、末尾追加処理を終了する。
末尾追加処理の終了後、CPU11は、処理をステップS15へ移行させる。コメントの読み出しが行われている場合、CPU11は、合成された合成静止画像データにコメントをあわせて合成する。
【0079】
また、ステップS20にて、第1パートの冒頭に末尾の静止画像データを加える設定がなされていないと判定された場合(ステップS20:NO)、CPU11は、複数の静止画像データの数の差(A2N−A1N)に応じた数の追加の静止画像データを、パート単位で分割された複数の静止画像データのうち数が少ない複数の静止画像データ(αの静止画像データ)のパートの冒頭から末尾にかけて追加の静止画像データを振り分けて加えるための処理(均等振分処理)を行う(ステップS22)。
【0080】
ここで、均等振分処理について、図16及び図17のフローチャートを参照して説明する。
まず、CPU11は、A2Nを基準として、処理対象の静止画像の番号が冒頭から2枚目の静止画像の番号であるか否か判定する(ステップS51)。ここで、処理対象の静止画像の番号が冒頭から2枚目の静止画像の番号であると判定された場合(ステップS51:YES)、CPU11は、変数kを設定し、kの値を1とする(ステップS52)。
また、CPU11は、変数jを設定し、jの値を1とする(ステップS53)。そして、CPU11は、上記の式(3)に基づいてSjの値を算出する(ステップS54)。
【0081】
そして、CPU11は、A2Nを基準として、処理対象の静止画像の番号が末尾の静止画像の番号であるか否か判定する。即ち、CPU11は、kの値がA2Nから1を減じた値(A2N−1)と等しいか否か判定する(ステップS55)。ここで、kの値がA2N−1と等しいと判定された場合(ステップS55:YES)、CPU11は、α及びβの正面静止画像、後方静止画像及びボール静止画像の番号を、第1パートにおける各々の末尾の番号とする(ステップS56〜S58)。
【0082】
一方、ステップS55にて、kの値がA2N−1と等しくないと判定された場合(ステップS55:NO)、CPU11は、kの値が、Sjの値の小数点を切り上げた値と等しいか否か判定する(ステップS59)。ここで、kの値が、Sjの値の小数点を切り上げた値と等しいと判定された場合(ステップS59:YES)、CPU11は、α及びβの静止画像の番号を順次進める番号の変更処理を行う。具体的には、α及びβの正面静止画像及び後方静止画像の番号に1を加算し(ステップS60、ステップS61)、α及びβのボール静止画像の番号に4を加算する(ステップS62)。さらに、CPU11は、jの値に1を加え(ステップS63)、上記の式(3)に基づいてSjの値を再度算出する(ステップS64)。
【0083】
一方、ステップS57にてkの値がSjの値の小数点を切り上げた値と等しくないと判定された場合(ステップS59:NO)、CPU11は、αの静止画像の番号を据え置き、βの静止画像の番号を順次進める番号の変更処理を行う。具体的には、βの正面静止画像及び後方静止画像の番号に1を加算し(ステップS65、ステップS66)、βのボール静止画像の番号に4を加算する(ステップS67)。
【0084】
また、CPU11は、ステップS64又はステップS67の処理後、kの値に1を加える(ステップS68)。そして、CPU11は、ステップS58又はステップS68の処理後の番号を有する正面静止画像、後方静止画像及びボール静止画像を読み出し(ステップS69)、均等振分処理を終了する。
均等振分処理の終了後、CPU11は、処理をステップS15へ移行させる。
【0085】
また、ステップS17にて、第1パートの末尾の番号を有する各々の静止画像データを合成した合成静止画像データの生成を完了したと判定された場合(ステップS17:YES)、CPU11は、1回分のパート単位のスイング画像同期を終了する。
スイング画像同期において、CPU11は、全てのパートに対してパート単位のスイング画像同期を行う。全てのパートに対してのパート単位のスイング画像同期が終了すると、CPU11は、画像処理装置10は同期動画生成以降の処理を行う。
【0086】
以上のように、本実施形態のゴルフスイング解析システム1によれば、画像処理装置10が、複数の被写体(例えば、α、β等)の各々を撮像した複数の動画像データの各々から生成された複数の静止画像データをそれぞれ時系列に沿って設けられた複数のグループに分け、グループ単位で、複数の被写体の静止画像データどうしを同期させるので、グループ単位で区切られた複数のタイミングを基準として、複数の被写体の各々を撮像した複数の動画像データから生成された複数の静止画像データどうしを同期させることができ、複数の被写体の各々を撮像した複数の動画像データに基づく画像の同期の精度をより高めることができる。
【0087】
また、画像処理装置10が、グループ単位で複数の被写体の各々の静止画像データの数に差がある場合、グループ単位で複数の被写体の各々の静止画像データの数を同一とするよう、複数の被写体の各々の複数の静止画像データのうち数が少ない複数の静止画像データに追加の静止画像データを加えるので、同期させる複数の静止画像データの基となる、複数の被写体の各々の複数の動画像データの各々のフレーム数や撮像時刻等が異なる場合であっても、数が少ない複数の静止画像データに追加の静止画像データを加えることで、複数の動画像データの各々のフレーム数や撮像時刻等の違いを埋め合わせることができる。即ち、複数の被写体の各々の複数の動画像データの各々のフレーム数や撮像時刻等が異なる場合であっても、これらの複数の動画像データに基づく画像の同期をより高い精度で行うことができる。
【0088】
また、画像処理装置10が、グループ単位の複数の被写体の各々の静止画像データの数の差に応じた数の追加の静止画像データを、複数の被写体の各々の複数の静止画像データのうち数が少ない複数の静止画像データのグループの冒頭に加えるので、複数の動画像データに基づく画像を同期させた後の表示内容は、相対的に再生時間が長い動画像データ(例えば、相対的にフレーム数が多い動画像データや、相対的に撮像時刻が長い動画像データ等)の画像が先に表示内容を変じ、追加の静止画像データの数に対応するフレーム数や撮像時刻の経過後に、相対的に再生時間が短い動画像データ(例えば、相対的にフレーム数が少ない動画像データや、相対的に撮像時刻が短い動画像データ等)の画像の表示内容の変化も伴う表示内容となり、再生の開始タイミングの違いにより同期された複数の静止画像データの基となった複数の動画像データの再生時間の違いを明確に確認することができる。
【0089】
また、画像処理装置10が、グループ単位の複数の被写体の各々の静止画像データの数の差に応じた数の追加の静止画像データを、複数の被写体の各々の複数の静止画像データのグループの末尾に加えるので、複数の動画像データに基づく画像を同期させた後の表示内容は、相対的に再生時間が短い動画像データ(例えば、相対的にフレーム数が少ない動画像データや、相対的に撮像時刻が短い動画像データ等)の画像が先に終了し、相対的に再生時間が長い動画像データ(例えば、相対的にフレーム数が多い動画像データや、相対的に撮像時刻が長い動画像データ等)の画像の再生の終了を待つ表示内容となり、再生の終了タイミングの違いにより同期された複数の静止画像データの基となった複数の動画像データの再生時間の違いを明確に確認することができる。
【0090】
また、画像処理装置10が、グループ単位の複数の被写体の各々の静止画像データの数の差に応じた数の追加の静止画像データを、複数の被写体の各々の複数の静止画像データのグループの冒頭から末尾にかけて振り分けて加えるので、同期させる複数の静止画像データの基となる複数の動画像データの各々のフレーム数や撮像時刻等が異なる場合であっても、フレーム数や撮像時刻等の差をパートの開始から終了までにかけて分散させることができ、フレーム数や撮像時刻等の差による同期のずれをパートの冒頭又は末尾に集積させることがなくなり、同期のずれを視覚的に軽減することができる。即ち、同期させる複数の静止画像データの基となる複数の動画像データの各々のフレーム数や撮像時刻等が異なる場合であっても、複数の動画像データに基づく画像の同期をより高い精度で行うことができる。
【0091】
また、画像処理装置10が、追加の静止画像データに応じた表示内容と共に表示させる文字列(例えば、コメント等)を設定するので、文字列の内容に応じた情報を同期された画像と共に示すことができる。
【0092】
また、同期の単位となるグループが、ゴルフクラブWのスイングの開始からスイングのトップまでの第1パートと、スイングのトップからボールへのインパクトまでの第2パートと、ボールへのインパクトからスイングの終了までの第3パートであるので、第1パートから第3パートの3つのパートに分けられた各々のパート単位で、ゴルフにおいてボールを打つ動作の開始から終了を撮像した複数の動画像データに基づく画像どうしを同期させることができ、ゴルフスイングを撮像した動画像データに基づく画像の同期の精度をより高めることができる。
【0093】
また、画像処理装置10が、同期された同一タイミングの複数の被写体の各々の静止画像データどうしを合成して複数の合成静止画像データを生成し、さらに、複数の合成静止画像データに基づいて動画像データを生成するので、生成された動画像データは、複数の動画像データから生成された複数の静止画像データどうしがグループ単位で同期された動画像データとなり、当該動画像データにより、同期された複数の動画像データに基づく画像を容易に確認することができる。即ち、複数の動画像データに基づく複数の静止画像データどうしの同期処理の結果の確認をより容易に行うことができる。
【0094】
また、同期動画再生を行うことにより、グループ単位で同期された二人のゴルフスイングの開始から終了までの一連の二人の動作(例えば、姿勢変化等)を比較しながら確認することができる。
【0095】
なお、本発明は、上記の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、上記の実施形態では、HUB5を介して複数のカメラ2、3、4と画像処理装置10とが接続されているが、接続形態の一例であり、これに限られるものではない。他の接続形態として、例えば、複数のカメラの各々に動画像データの記録のための端末を設け、画像処理装置と各々の端末をと接続するようにしてもよい。また、被写体を撮像するカメラは3台に限らず、1台でも2台以上でもよい。
また、カメラと画像処理装置とは必ずしも接続されていなくともよい。例えば、画像処理装置は、カメラにより撮像された動画像データが記憶された所定の記憶装置や記憶媒体から動画像データを取得するようにしてもよい。
【0096】
また、上記の実施形態において同期される複数の被写体を撮像した静止画像データの基となる複数の動画像データ(二人のゴルフスイングの正面静止画像、後方静止画像及びボール静止画像)は一例であり、これに限られるものではない。例えば、3以上の複数の被写体による動作をそれぞれ撮像した複数の動画像データの各々から複数の静止画像データを生成して、これらの静止画像データの一部又は全部をグループ単位で区切り、同期させるようにしてもよい。また、本発明は、ゴルフスイングを撮像した動画像データに基づく静止画像データの同期においても、正面静止画像、後方静止画像、ボール静止画像に限らず、任意の角度からゴルフスイングを行っている被写体やボール、ゴルフクラブW等を撮像した動画像データに基づく静止画像データを同期させることができる。
【0097】
また、同期の単位となるグループは、上記の実施形態における第1パート、第2パート及び第3パートに限らない。本発明は、グループの区切り目を任意に設定することができる。
【0098】
また、一の被写体の動作を同時に撮像した複数の動画像データに基づく静止画像データどうしの同期と、異なる被写体の動作間での同期と、の順番は問わない。例えば、上記の実施形態では、αの正面静止画像、後方静止画像及びボール静止画像を同期させ、βの正面静止画像、後方静止画像及びボール静止画像を同期させた後に、αとβの静止画像データどうしを同期させているが、αとβのいずれかの静止画像データを同期させた後、αとβのそれぞれで正面静止画像、後方静止画像及びボール静止画像を同期させるようにしてもよい。
【0099】
また、上記の実施形態では、スイング対象抽出において、正面静止画像に対して手動でスイングの開始から終了までの各種のタイミングを設定し、後方静止画像及びボール静止画像を式(1)、(2)に基づいて同期させているが、一例であって、これに限られるものではない。例えば、図18に示すような、正面静止画像と後方静止画像とボール静止画像とを手動で同期させるための画面に対するユーザの操作内容に応じて、同期させる正面静止画像、後方静止画像及びボール静止画像の番号の対応関係を決定するようにしてもよい。
【0100】
また、本実施形態では、同期動画生成において第1パートから第3パートまでの全てのパートを含む一の動画像データを生成するが、パート単位での動画像データを生成するようにしてもよい。
【0101】
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
<請求項1>
撮像装置により複数の被写体の各々を撮像した複数の画像データを同期させる画像処理装置であって、前記撮像装置により前記複数の被写体の各々を撮像した複数の動画像データの各々から複数の静止画像データを生成する生成手段と、この生成手段により生成された前記複数の静止画像データをそれぞれ時系列に沿って設けられた複数のグループに分ける分割手段と、この分割手段により分けられたグループ単位で、前記複数の被写体の静止画像データどうしを同期させる同期手段と、を備えることを特徴とする画像処理装置。
<請求項2>
前記グループ単位で前記複数の被写体の各々の静止画像データの数に差がある場合、前記グループ単位で前記複数の被写体の各々の静止画像データの数を同一とするよう、前記複数の被写体の各々の複数の静止画像データのうち数が少ない複数の静止画像データに追加の静止画像データを加える追加手段を備えることを特徴とする請求項1に記載の画像処理装置。
<請求項3>
前記追加手段は、前記グループ単位の前記複数の被写体の各々の静止画像データの数の差に応じた数の追加の静止画像データを、前記複数の被写体の各々の複数の静止画像データのうち数が少ない複数の静止画像データのグループの冒頭に加えることを特徴とする請求項2に記載の画像処理装置。
<請求項4>
前記追加手段は、前記グループ単位の前記複数の被写体の各々の静止画像データの数の差に応じた数の追加の静止画像データを、前記複数の被写体の各々の複数の静止画像データのグループの末尾に加えることを特徴とする請求項2に記載の画像処理装置。
<請求項5>
前記追加手段は、前記グループ単位の前記複数の被写体の各々の静止画像データの数の差に応じた数の追加の静止画像データを、前記複数の被写体の各々の複数の静止画像データのグループの冒頭から末尾にかけて振り分けて加えることを特徴とする請求項2に記載の画像処理装置。
<請求項6>
前記追加手段により加えられた追加の静止画像データに応じた表示内容と共に表示させる文字列を設定する設定手段を備えることを特徴とする請求項3又は4に記載の画像処理装置。
<請求項7>
前記グループは、ゴルフクラブのスイングの開始からスイングのトップまでの第1パートと、前記スイングのトップからボールへのインパクトまでの第2パートと、前記ボールへのインパクトからスイングの終了までの第3パートであることを特徴とする請求項1から6のいずれか一項に記載の画像処理装置。
<請求項8>
前記同期手段により同期された同一タイミングの前記複数の被写体の各々の静止画像データどうしを合成して複数の合成静止画像データを生成する合成手段と、前記複数の合成静止画像データに基づいて動画像データを生成する動画像生成手段と、を備えることを特徴とする請求項1から7のいずれか一項に記載の画像処理装置。
<請求項9>
撮像装置により複数の被写体の各々を撮像した複数の画像データを同期させる画像処理装置のコンピュータを、前記撮像装置により前記複数の被写体の各々を撮像した複数の動画像データの各々から複数の静止画像データを生成する手段、生成された前記複数の静止画像データをそれぞれ時系列に沿って設けられた複数のグループに分ける手段、前記グループ単位で、前記複数の被写体の各々の静止画像データどうしを同期させる手段、として機能させることを特徴とするプログラム。
【符号の説明】
【0102】
1 ゴルフスイング解析システム
2,3,4 カメラ
10 画像処理装置
11 CPU
12 RAM
13 ROM
14 記憶装置
15 入力装置
16 表示装置
【特許請求の範囲】
【請求項1】
撮像装置により複数の被写体の各々を撮像した複数の画像データを同期させる画像処理装置であって、
前記撮像装置により前記複数の被写体の各々を撮像した複数の動画像データの各々から複数の静止画像データを生成する生成手段と、
この生成手段により生成された前記複数の静止画像データをそれぞれ時系列に沿って設けられた複数のグループに分ける分割手段と、
この分割手段により分けられたグループ単位で、前記複数の被写体の静止画像データどうしを同期させる同期手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記グループ単位で前記複数の被写体の各々の静止画像データの数に差がある場合、前記グループ単位で前記複数の被写体の各々の静止画像データの数を同一とするよう、前記複数の被写体の各々の複数の静止画像データのうち数が少ない複数の静止画像データに追加の静止画像データを加える追加手段を備えることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記追加手段は、前記グループ単位の前記複数の被写体の各々の静止画像データの数の差に応じた数の追加の静止画像データを、前記複数の被写体の各々の複数の静止画像データのうち数が少ない複数の静止画像データのグループの冒頭に加えることを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記追加手段は、前記グループ単位の前記複数の被写体の各々の静止画像データの数の差に応じた数の追加の静止画像データを、前記複数の被写体の各々の複数の静止画像データのグループの末尾に加えることを特徴とする請求項2に記載の画像処理装置。
【請求項5】
前記追加手段は、前記グループ単位の前記複数の被写体の各々の静止画像データの数の差に応じた数の追加の静止画像データを、前記複数の被写体の各々の複数の静止画像データのグループの冒頭から末尾にかけて振り分けて加えることを特徴とする請求項2に記載の画像処理装置。
【請求項6】
前記追加手段により加えられた追加の静止画像データに応じた表示内容と共に表示させる文字列を設定する設定手段を備えることを特徴とする請求項3又は4に記載の画像処理装置。
【請求項7】
前記グループは、ゴルフクラブのスイングの開始からスイングのトップまでの第1パートと、前記スイングのトップからボールへのインパクトまでの第2パートと、前記ボールへのインパクトからスイングの終了までの第3パートであることを特徴とする請求項1から6のいずれか一項に記載の画像処理装置。
【請求項8】
前記同期手段により同期された同一タイミングの前記複数の被写体の各々の静止画像データどうしを合成して複数の合成静止画像データを生成する合成手段と、
前記複数の合成静止画像データに基づいて動画像データを生成する動画像生成手段と、を備えることを特徴とする請求項1から7のいずれか一項に記載の画像処理装置。
【請求項9】
撮像装置により複数の被写体の各々を撮像した複数の画像データを同期させる画像処理装置のコンピュータを、
前記撮像装置により前記複数の被写体の各々を撮像した複数の動画像データの各々から複数の静止画像データを生成する手段、
生成された前記複数の静止画像データをそれぞれ時系列に沿って設けられた複数のグループに分ける手段、
前記グループ単位で、前記複数の被写体の各々の静止画像データどうしを同期させる手段、
として機能させることを特徴とするプログラム。
【請求項1】
撮像装置により複数の被写体の各々を撮像した複数の画像データを同期させる画像処理装置であって、
前記撮像装置により前記複数の被写体の各々を撮像した複数の動画像データの各々から複数の静止画像データを生成する生成手段と、
この生成手段により生成された前記複数の静止画像データをそれぞれ時系列に沿って設けられた複数のグループに分ける分割手段と、
この分割手段により分けられたグループ単位で、前記複数の被写体の静止画像データどうしを同期させる同期手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記グループ単位で前記複数の被写体の各々の静止画像データの数に差がある場合、前記グループ単位で前記複数の被写体の各々の静止画像データの数を同一とするよう、前記複数の被写体の各々の複数の静止画像データのうち数が少ない複数の静止画像データに追加の静止画像データを加える追加手段を備えることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記追加手段は、前記グループ単位の前記複数の被写体の各々の静止画像データの数の差に応じた数の追加の静止画像データを、前記複数の被写体の各々の複数の静止画像データのうち数が少ない複数の静止画像データのグループの冒頭に加えることを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記追加手段は、前記グループ単位の前記複数の被写体の各々の静止画像データの数の差に応じた数の追加の静止画像データを、前記複数の被写体の各々の複数の静止画像データのグループの末尾に加えることを特徴とする請求項2に記載の画像処理装置。
【請求項5】
前記追加手段は、前記グループ単位の前記複数の被写体の各々の静止画像データの数の差に応じた数の追加の静止画像データを、前記複数の被写体の各々の複数の静止画像データのグループの冒頭から末尾にかけて振り分けて加えることを特徴とする請求項2に記載の画像処理装置。
【請求項6】
前記追加手段により加えられた追加の静止画像データに応じた表示内容と共に表示させる文字列を設定する設定手段を備えることを特徴とする請求項3又は4に記載の画像処理装置。
【請求項7】
前記グループは、ゴルフクラブのスイングの開始からスイングのトップまでの第1パートと、前記スイングのトップからボールへのインパクトまでの第2パートと、前記ボールへのインパクトからスイングの終了までの第3パートであることを特徴とする請求項1から6のいずれか一項に記載の画像処理装置。
【請求項8】
前記同期手段により同期された同一タイミングの前記複数の被写体の各々の静止画像データどうしを合成して複数の合成静止画像データを生成する合成手段と、
前記複数の合成静止画像データに基づいて動画像データを生成する動画像生成手段と、を備えることを特徴とする請求項1から7のいずれか一項に記載の画像処理装置。
【請求項9】
撮像装置により複数の被写体の各々を撮像した複数の画像データを同期させる画像処理装置のコンピュータを、
前記撮像装置により前記複数の被写体の各々を撮像した複数の動画像データの各々から複数の静止画像データを生成する手段、
生成された前記複数の静止画像データをそれぞれ時系列に沿って設けられた複数のグループに分ける手段、
前記グループ単位で、前記複数の被写体の各々の静止画像データどうしを同期させる手段、
として機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2012−213020(P2012−213020A)
【公開日】平成24年11月1日(2012.11.1)
【国際特許分類】
【出願番号】特願2011−77393(P2011−77393)
【出願日】平成23年3月31日(2011.3.31)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成24年11月1日(2012.11.1)
【国際特許分類】
【出願日】平成23年3月31日(2011.3.31)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]