(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
[第1実施形態]
以下、本発明の第1実施形態について、図面を用いて説明する。
[ハードウェア構成]
図1は、本発明の一実施形態に係る再生制御装置1のハードウェアの構成を示すブロック図である。
再生制御装置1は、例えばパーソナルコンピュータ(Personal Computer)として構成される。
【0011】
本実施形態に係る再生制御装置1は、別々に撮像された2つの動画において、基準となる基準動画(マスター動画)の各ポイントにタイミングを合わせるようにスレーブ動画の再生速度を複数ポイントで自動的に変化させる。
【0012】
再生制御装置1は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、バス14と、入出力インターフェース15と、入力部16と、出力部17と、記憶部18と、通信部19と、ドライブ20と、を備えている。
CPU11は、例えば、後述する同期再生制御処理のためのプログラム等、ROM12に記録されているプログラム、又は、記憶部18からRAM13にロードされたプログラムに従って各種の処理を実行する。
【0013】
RAM13には、CPU11が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【0014】
CPU11、ROM12及びRAM13は、バス14を介して相互に接続されている。このバス14にはまた、入出力インターフェース15も接続されている。入出力インターフェース15には、入力部16、出力部17、記憶部18、通信部19及びドライブ20が接続されている。
【0015】
入力部16は、各種釦やポインティングデバイス等で構成され、同期再生制御処理における再生タイミングを一致させるべき単位画像の時間位置の設定や、基準となる基準動画の選択を行うための指示操作等、ユーザの指示操作に応じて各種情報を入力する。
単位画像とは、動画像の処理単位となる画像であり、例えばフィールドやフレームが該当する。本実施形態では、単位画像としてフレームが採用されている。
出力部17は、ディスプレイやスピーカ等で構成され、画像や音声を出力する。
記憶部18は、ハードディスクあるいはDRAM(Dynamic Random Access Memory)等で構成され、各種画像のデータを記憶する。
通信部19は、インターネットを含むネットワークを介して他の装置(図示せず)との間で行う通信を制御する。
【0016】
ドライブ20には、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリ等よりなる、リムーバブルメディア31が適宜装着される。ドライブ20によってリムーバブルメディア31から読み出されたプログラムは、必要に応じて記憶部18にインストールされる。また、リムーバブルメディア31は、記憶部18に記憶されている画像のデータ等の各種データも、記憶部18と同様に記憶することができる。
【0017】
[機能的構成]
図2は、このような再生制御装置1の機能的構成のうち、同期再生制御処理を実行するための機能的構成を示す機能ブロック図である。
同期再生制御処理とは、基準となる動画を選択し、基準動画以外の動画(スレーブ動画)に対する再生速度を算出する。そして、基準動画とスレーブ動画とを算出した再生速度に基づき再生する一連の処理をいう。
【0018】
CPU11は、同期再生制御処理を実行する機能ブロックとして、動画特定部41と、類似画像検出部42と、画像位置設定部43と、画像検出部44と、単位画像位置設定部45と、再生制御部46と、を備えている。
【0019】
動画特定部41は、同時再生する複数の動画の中からユーザの入力部16の操作に基づき任意に選択された動画を基準動画として特定する。
この動画特定部41は、複数の動画の同時再生中において、ユーザの入力部16の操作に基づいて、特定する基準動画を切り替える。
【0020】
類似画像検出部42は、同時再生する複数の動画に含まれる各単位画像の画像を比較して、被写体の状態が類似している単位画像を検出する。この場合、類似画像検出部42は、比較する動画の動画データの撮影方向を特定し、特定した撮影方向に基づいて被写体の状態が類似しているか否かを判定する。
【0021】
画像位置設定部43は、類似画像検出部42により検出された各々の単位画像の位置を、再生タイミングを一致させるべき単位画像の位置として設定する。
【0022】
画像検出部44は、ゴルフスイングを撮影した2つの動画を同時再生する場合に、各動画内の単位画像から、少なくともアドレス、トップ、インパクト、フィニッシュのいずれか複数に対応する単位画像を検出する。
【0023】
単位画像位置設定部45は、ユーザの操作に基づき任意に選択された単位画像の時間位置を、各動画の再生タイミングを一致させるべき単位画像の時間位置として設定する。
また、単位画像位置設定部45は、画像検出部により検出された複数の単位画像の時間位置を、再生タイミングを一致させるべき複数の単位画像の時間位置として設定することができる。
【0024】
再生制御部46は、同時再生する複数の動画において再生タイミングを一致させるべき複数の単位画像の時間位置が異なる場合に、再生タイミングを一致させるべき2つの単位画像間に挟まれる所定の再生ブロックについては、再生ブロックにおける各動画間の単位画像数の差に応じて、各動画の再生速度を異なる再生速度に設定する。
「同時再生する複数の動画において再生タイミングを一致させるべき複数の単位画像の時間位置」とは、再生開始時刻からの相対的な時間位置をいう。
その結果、再生制御部46は、再生タイミングを一致させるべき2つの単位画像間に挟まれる所定の再生ブロックが複数個所ある場合には、各々の再生ブロックにおいて、各動画の再生速度の比を次々と変化させることができる。
【0025】
また、再生制御部46は、動画特定部41により特定された基準動画は全単位画像を通常速度で再生し、複数の動画のうち基準動画以外の動画については、所定の再生ブロックの再生速度を通常速度とは異なる再生速度に設定する。
【0026】
また、再生制御部46は、各動画の再生フレームレートを異なる再生フレームレートに設定することで、各動画の再生速度を異なる再生速度に設定する。
【0027】
また、再生制御部46は、各動画の再生フレームレートは固定にしておき、単位画像の間引き又は挿入を行うことで、各動画の再生速度を異なる再生速度に設定する。再生制御部46により行われる、単位画像の間引きとは、当該単位画像の複製、創造を含まれる。
【0028】
また、再生制御部46は、1つの動画において一定の時間間隔で再生すべき複数単位画像の位置が一定の単位画像間隔ではない場合に、一定の時間間隔で再生すべき各単位画像間に挟まれる単位画像数の差に応じて、各単位画像間の再生速度を変化させる。
【0029】
[動作]
次に、再生制御装置1の動作を説明する。
[同期再生制御処理]
初めに、再生制御装置1の動作におけるメインフローとなる同期再生制御処理について説明する。
図3は、再生制御装置1が実行する同期再生制御処理の流れを示すフローチャートである。
同期再生制御処理は、ユーザが同期再生制御処理の開始を指示入力することに対応して実行される。
【0030】
ステップS11において、動画特定部41は、同期再生の対象となる複数の動画データを選択する。この処理では、動画特定部41は、同時再生する複数の動画の中から、ユーザの入力部16の操作に基づき対比する動画の動画データを選択する。
【0031】
ステップS12において、単位画像位置設定部45は、ユーザの入力部16の操作に基づき、複数の同期ポイント候補から実際に同期させる同期ポイントを複数選択する。
この場合、ユーザによる入力部16の操作がない場合には、類似画像検出部42により、同時再生する複数の動画に含まれる各単位画像の画像を比較して、被写体の状態が類似している単位画像を検出する。そして、画像位置設定部43は、類似画像検出部42により検出された各々の単位画像の時間位置を、再生タイミングを一致させるべき単位画像の位置として設定することで、実際に同期させる同期ポイントを自動的に複数選択することができる。単位画像位置設定部45は、選択した同期ポイント候補毎の選択状態を
図4の同期ポイント選択リストに記憶する。
【0032】
図4は、
図1の記憶部18に記憶されている同期ポイント選択リストを示す図である。同期ポイント選択リストには、同期ポイント候補毎に、当該同期ポイントとしての選択の有無を示す情報が記憶されている。
例えば、単位画像位置設定部45が同期ポイントとして「アドレスからの始動」を選択した場合には、対応する同期ポイントとしての選択の情報として「有り」が記憶される。
同様に、単位画像位置設定部45が同期ポイントとして「中間ポイント1」を選択しなかった場合には、対応する同期ポイントとしての選択の情報として「無し」が記憶される。
【0033】
図3に戻り、ステップS13において、類似画像検出部42は、比較する各動画の動画データの撮影方向を特定する。類似画像検出部42は、撮影方向が特定された後は、特定した撮影方向に基づいて被写体の状態が類似しているか否かを判定するようになる。
【0034】
ステップS14において、類似画像検出部42は、同期するフレームの位置をフレーム位置を特定するフレーム特定処理(後述)を実行する。フレーム特定処理は、同期再生処理(後述)に用いるフレームの時間位置を予め特定する処理である。
【0035】
ステップS15において、動画特定部41は、同時再生する複数の動画の中からユーザの入力部16の操作に基づいて任意に選択された動画を基準動画として特定する。動画特定部41は、複数の動画の同時再生中においても、ユーザの入力部16の操作に基づいて、特定する基準動画を切り替えることができる。
【0036】
ステップS16において、再生制御部46は、再生速度算出処理(後述)を実行する。この処理では、再生制御部46は、基準動画以外の動画(スレーブ動画)に対する再生速度を算出する。
【0037】
ステップS17において、再生制御部46は、ステップS16において算出した再生速度に基づいて同期再生処理を行う。この処理では、再生制御部46は、動画特定部41により特定された基準動画は全単位画像を通常速度で再生し、複数の動画のうち基準動画以外のスレーブ動画については、所定の再生ブロックの再生速度を通常速度とは異なる再生速度に設定して再生する制御を実行する。
【0038】
ステップS18において、再生制御部46は、同期再生中(または同期再生の終了後)において、基準動画を変更するか否かを判定する。基準動画を変更する場合には、ステップS18においてYESであると判定されて処理はステップS15に戻る。即ち、新たな基準動画が選択され、この新たな基準動画に対応して再び各動画データの再生速度が算出し直され、同期再生の終了後であれば新たな再生速度で最初から同期再生を行い、同期再生中であれば、再生の途中で各動画データの再生速度を変化させる。基準動画を変更する必要がなくなるまでの間、ステップS15乃至ステップS18の処理が繰り返し実行される。そして、基準動画を変更する必要がなくなった場合又はユーザの入力部16の操作に基づき、同期再生制御処理の終了が指示入力された場合には、ステップS18においてYESであると判定されて、同期再生制御処理が終了となる。
【0039】
[同期フレーム特定処理]
次に、同期再生制御処理のステップS14において実行される同期フレーム特定処理について説明する。
図5は、再生制御装置1が実行する同期フレーム特定処理の流れを示すフローチャートである。
【0040】
ステップS31において、単位画像位置設定部45は、
図4の同期ポイント選択リストを参照して、同期ポイントとしての選択の情報に「有り」が記憶されている同期ポイントの中から最初の同期ポイントを選択する。この処理では、単位画像位置設定部45は、ユーザの入力部16の操作に基づき任意に選択された単位画像の時間位置を、各動画の再生タイミングを一致させるべき単位画像の時間位置として設定することで、同期ポイントを選択する。
【0041】
ステップS32において、動画特定部41は、同時再生する複数の動画のうち、未処理の動画を1つ選択する。
ステップS33において、類似画像検出部42は、ステップS31において選択された同期ポイント及びステップS32において選択された動画の動画データの撮影方向に基づいて、
図6のタイミング判定条件テーブルを参照して、対応するタイミング判定条件を取得する。類似画像検出部42は、同期再生制御処理のステップS13において特定された撮影方向に基づいて、対応するタイミング判定条件を取得する。
【0042】
図6は、
図1の記憶部18に記憶されているタイミング判定条件テーブルを示す図である。タイミング判定条件テーブルには、同期ポイント候補毎に、撮影方向毎のタイミング判定条件が記憶されている。
例えば、同期ポイント候補として「アドレスからの始動」が選択されている場合の撮影方向毎のタイミング判定条件について説明する。
この場合、「正面(身体の正面)」のタイミング判定条件として、「ヘッドの移動ベクトルが停止状態からベクトルAに変化」することが設定されている。また、「後方(身体の側面)」のタイミング判定条件として、「ヘッドの大きさが大きく変化し始める」ことが設定されている。また、「斜めX度方向」のタイミング判定条件として、「左記ベクトルAをX度で補正した条件」が設定されている。同様に、「斜めY度方向」のタイミング判定条件も各々設定されている。
【0043】
図5に戻り、ステップS34において、再生制御部46は、ステップS32において選択された動画の動画データにおけるフレーム位置を1つ進める。
ステップS35において、再生制御部46は、ステップS32において選択された動画の動画データにおける現在のフレーム位置における被写体の動きを特定する。被写体の動きの特定は、公知の解析アルゴリズムを利用して特定することができる。
【0044】
ステップS36において、再生制御部46は、ステップS35において特定した被写体の動きはステップS33において取得した判定条件を満たすか否かを判定する。取得した判定条件を満たさない場合には、ステップS36においてNOであると判定されて、処理はステップS34に戻る。即ち、取得した判定条件が満たされるまでの間ステップS34乃至ステップS36の処理が繰り返し実行される。これに対し、取得した判定条件を満たす場合には、ステップS36においてYESであると判定されて、処理はステップS37に進む。
【0045】
ステップS37において、再生制御部46は、選択された動画の動画データにおける現在のフレーム位置を、選択された同期ポイントに対応する同期フレーム位置として
図7の同期フレームリストに追加する。
【0046】
図7は、
図1の記憶部18に記憶されている同期フレームリストを示す図である。同期フレームリストには、同期ポイント毎に、複数の動画毎に同期フレーム位置を示す情報が記憶されている。
例えば、ステップS32において選択されている動画が「動画1」であり、ステップS31又はステップS39において選択された同期ポイントが、「アドレスからの始動」である場合について説明する。
この場合、ステップ34において1つ進めたフレーム位置(即ち、現在のフレーム位置)が「100」フレーム目である場合、再生制御部46は、同期フレームリストの「動画1」に対応する複数の同期ポイントのうち、「アドレスからの始動」に対応する情報として、同期フレーム位置に「100」を記憶する。
同様に、ステップS32において選択されている動画が「動画2」であり、ステップS31又はステップS39において選択された同期ポイントが、「トップ」である場合について説明する。
この場合、ステップ34において1つ進めたフレーム位置が「2」フレーム目である場合、再生制御部46は、同期フレームリストの「動画2」に対応する複数の同期ポイントのうち、「トップ」に対応する情報として、同期フレーム位置に「300」を記憶する。
【0047】
図5に戻り、ステップS38において、再生制御部46は、選択された同期ポイントに関するリスト追加を、全ての撮影方向に対して行ったか否かを判定する。選択された同期ポイントに関するリスト追加を、全ての撮影方向に対して行っていない場合には、ステップS38においてNOであると判定されて処理はステップS32に戻る。即ち、全ての撮影方向に対して、選択された同期ポイントに関するリストの追加が行われるまでの間ステップS32乃至ステップS38の処理が繰り返し実行される。これに対し、選択された同期ポイントに関するリスト追加を、全ての撮影方向に対して行った場合には、ステップS38においてYESであると判定されて、処理はステップS39に進む。
【0048】
ステップS39において、単位画像位置設定部45は、次の同期ポイントを選択する。
ステップS40において、再生制御部46は、全ての同期ポイントが選択されることにより同期フレーム特定処理の終了指示があったか否かを判定する。同期フレーム特定処理の終了指示がない場合には、ステップS40においてNOであると判定されて、処理はステップS32に戻る。これに対し、同期フレーム特定処理の終了指示がない場合には、ステップS40においてYESであると判定されて、同期フレーム特定処理は終了となる。
【0049】
[再生速度算出処理]
次に、同期再生制御処理のステップS16において実行される自動画(スレーブ動画)の再生速度算出処理について説明する。
図8は、再生制御装置1が実行する再生速度算出処理の流れを示すフローチャートである。
この処理は、同期再生の対象となる全ての自動画(スレーブ動画)に対して実行される。
ステップS51において、再生制御部46は、再生するフレーム番号(nFrame)の初期値を0に設定する。
【0050】
ステップS52において、再生制御部46は、マスター動画の再生レート(MasterRate)を30FPS(Frames Per Second)に設定する。
【0051】
ステップS53において、再生制御部46は、
図9の動画制御テーブルのうち
図9(1)の自動画(スレーブ動画)制御テーブルを参照し、フレーム番号(nFrame)の再生ブロックを求める。そして、再生制御部46は、求めた再生ブロックをPlayBlockに設定する。
【0052】
ステップS54において、再生制御部46は、
図9の動画制御テーブルのうち
図9(1)の自動画(スレーブ動画)制御テーブルを参照し、ステップS53において設定したPlayBlock(再生ブロック)のフレーム数を求める。そして、再生制御部46は、求めたフレーム数をFlameNum1に設定する。
【0053】
ステップS55において、再生制御部46は、
図9の動画制御テーブルのうち
図9(2)の基準動画(マスター動画)制御テーブルを参照し、ステップS53において設定したPlayBlock(再生ブロック)のフレーム数を求める。そして、再生制御部46は、求めたフレーム数をFlameNum2に設定する。
【0054】
ステップS56において、再生制御部46は、自動画(スレーブ動画)の再生レート(FlameRate)を求める。この処理では、再生制御部46は、次式(1)に従い、ステップS54において設定したFlameNum1を、ステップS54において設定したFlameNum2で除した値を、ステップS52において設定したMasterRateで乗じた値を、自動画(スレーブ動画)の再生レート(FlameRate)として求める。
FlameRate=FlameNum1/FlameNum2×MasterRate
・・・式(1)
【0055】
ステップS57において、再生制御部56は、nFrame目のフレーム番号の動画をデコードし、画像キューにキューイングする。
ステップS58において、再生制御部56は、次式(2)に従い、表示のタイマー間隔(Interval)を設定する。この処理では、再生制御部56は、1000msecを、ステップS56において求めた再生レート(FlameRate)で除した値を、表示のタイマー間隔(Interval)として設定する。
Interval=1000msec/FlameRate・・・式(2)
【0056】
ステップS59において、再生制御部56は、フレーム番号(nFrame)を「1」インクリメントする。
ステップS60において、再生制御部56は、ステップS59において「1」インクリメントされた結果、フレーム番号(nFrame)が最終フレームとなったか否かを判定する。フレーム番号(nFrame)が最終フレームでない場合には、ステップS60においてNOであると判定されて、処理はステップS53に戻る。即ち、最終フレームが処理されるまでの間、ステップS53乃至ステップS60の処理が繰り返し実行される。これに対し、フレーム番号(nFrame)が最終フレームである場合には、ステップS60においてYESであると判定されて、1つの自動画(スレーブ動画)に対する再生速度算出処理は終了となる。以上の処理を同期再生の対象となる全ての自動画(スレーブ動画)の分だけ繰り返し実行する。
【0057】
図9は、
図1の記憶部18に記憶されている動画制御テーブルを示す図である。動画制御テーブルには、各動画の再生ブロック毎に、各同期ポイントのフレーム番号を示す情報が記憶されている。
図9の動画制御テーブルは、同期フレーム特定処理のステップS37において追加して作成された
図7の同期フレームリストに基づいて作成されている。即ち、
図7の同期フレームリストに含まれている各同期ポイント(「アドレスからの始動」、「トップ」、「インパクト」、「フィニッシュ」)は、
図9の動画制御テーブルに含まれている各再生ブロック(「再生ブロック1」、「再生ブロック2」、「再生ブロック3」、「再生ブロック4」)に対応している。
【0058】
「動画1」と「動画2」の2つの動画データについて、各4つの同期ポイントに対応したフレーム番号(F)が夫々設定されている場合について説明する。
「動画1」=100F、200F、400F、600F(エンド)
「動画2」=200F、300F、500F、800F(エンド)
最初から最後まで一定速度(例えば30FPS)で再生する方の動画を、マスター動画と呼び、スイングポイントをマスター動画に合わせて自動で変速再生する方の動画をスレーブ動画と呼ぶ。
再生制御部46は、ユーザの入力部16の操作に基づき、いつでも(再生中でも)複数の動画(「動画1」、「動画2」等)のうち何れの動画をマスター動画にするか設定する。
これにより、ユーザは、「動画1」、「動画2」のうち、何れの動画をマスター動画にするか、ユーザのUIの操作に基づき簡単な操作でいつでも(再生中でも)指定でき、マスター動画とスレーブ動画を反対にすることもできる。
【0059】
「動画1」がマスター動画として選択された場合について説明する。
「動画1」の各再生ブロックの再生速度は、再生速度算出処理のステップS52に示すように、全フレーム同一速度(例えば30FPS)に設定される。
したがって、各再生ブロックは、
再生ブロック1: 0〜 99F=30FPS
再生ブロック2:100〜199F=30FPS
再生ブロック3:200〜399F=30FPS
再生ブロック4:400〜599F=30FPS
の再生速度に夫々設定される。
【0060】
「動画2」の各再生ブロックの再生速度は、再生速度算出処理のステップS56の式(1)に示すように、(スレーブ動画のフレーム数)/(マスター動画のフレーム数)×(マスター動画の再生速度)に設定される。
したがって、各再生ブロックは、
再生ブロック1: 0〜199F=200/100×30=60FPS
再生ブロック2:200〜299F=100/100×30=30FPS
再生ブロック3:300〜499F=200/200×30=30FPS
再生ブロック4:500〜799F=300/200×30=45FPS
の再生速度に夫々設定される。
【0061】
次に「動画2」がマスター動画として選択された場合について説明する。
「動画1」の各再生ブロックの再生速度は、再生速度算出処理のステップS56の式(1)に示すように、(スレーブ動画のフレーム数)/(マスター動画のフレーム数)×(マスター動画の再生速度)に設定される。
したがって、各再生ブロックは、
再生ブロック1: 0〜 99F=100/200×30=15FPS
再生ブロック2:100〜199F=100/100×30=30FPS
再生ブロック3:200〜399F=200/200×30=30FPS
再生ブロック4:400〜599F=200/300×30=20FPS
の再生速度に夫々設定される。
【0062】
「動画2」の各再生ブロックの再生速度は、再生速度算出処理のステップS52に示すように、全フレーム同一速度(例えば30FPS)に設定される。
したがって、各再生ブロックは、
再生ブロック1: 0〜199F=30FPS
再生ブロック2:200〜299F=30FPS
再生ブロック3:300〜499F=30FPS
再生ブロック4:500〜799F=30FPS
の再生速度に夫々設定される。
【0063】
次に、ユーザの入力部16の操作に基づき再生途中にマスター動画とスレーブ動画を入れ換えた場合について説明する。
例えば、「動画1」の450フレーム目までは、「動画1」をマスター動画とし、451フレーム目からは「動画2」をマスター動画にした場合について説明する。
この場合、451フレーム目でマスター動画が「動画1」から「動画2」に切り替わるので、再生制御部46は、この時点でのスレーブ動画のフレーム番号を以下から算出する。
即ち、上述の例では、マスター動画(動画1)の400Fと、スレーブ動画(動画2)の500Fが同じ時刻に再生されるフレームである。
ここで、スレーブ動画(動画2)の500〜799Fは45FPSで再生されるので、「マスター動画(動画1)の450Fの時のスレーブ動画(動画2)のフレーム番号」は、500+((451−400)×45/30)=576.5=576フレームとなる。
したがって、この場合は、再生制御部46は、以下のように各動画を変速して再生する。
【0064】
再生制御部46は、マスター動画(動画1)の450フレームまでの再生速度として、再生速度算出処理のステップS52に示すように、全フレーム同一速度(例えば30FPS)に設定する。
したがって、各再生ブロックは、
再生ブロック1: 0〜 99F=30FPS
再生ブロック2:100〜199F=30FPS
再生ブロック3:200〜399F=30FPS
再生ブロック4:400〜450F=30FPS
の再生速度に夫々設定される。
【0065】
再生制御部46は、マスター動画(動画1)の450フレームに相当する、スレーブ動画(動画2)の576フレームまでの再生速度として、(スレーブ動画のフレーム数)/(マスター動画のフレーム数)×(マスター動画の再生速度)に設定する。
したがって、各再生ブロックは、
再生ブロック1: 0〜199F=200/100×30=60FPS再生ブロック2:200〜299F=100/100×30=30FPS
再生ブロック3:300〜499F=200/200×30=30FPS
再生ブロック4:500〜576F=300/200×30=45FPS
の再生速度に夫々設定される。
【0066】
再生制御部46は、マスター動画(動画2)の576フレームに相当する、スレーブ動画(動画1)の451フレームからの再生速度として、再生速度算出処理のステップS56の式(1)に示すように、(スレーブ動画のフレーム数)/(マスター動画のフレーム数)×(マスター動画の再生速度)に設定する。
したがって、再生ブロックは、
再生ブロック4:450〜599F=200/300×30=20FPS
の再生速度に設定される。
【0067】
同様に、再生制御部46は、マスター動画の「動画2」の577フレームからの再生速度として、再生速度算出処理のステップS52に示すように、全フレーム同一速度(例えば30FPS)に設定する。
したがって、
再生ブロック4:577〜799F=30FPS
の再生速度に設定される。
このように、再生制御部46は、マスター動画に各スイングポイントのタイミングを合わせるようにスレーブ動画の再生速度を自動的に変化させ、かつ、各動画の再生中にもマスター動画とスレーブ動画とを容易に切り替えることができる。
これにより、チェックポイント単位で速度の比較が可能になる。具体的には、ユーザにより指定されたチェックポイントにおいて再生対象動画と手本動画とが同期再生されることによって、当該ユーザは、当該チェックポイントにおけるスイングの動作速度について、自分自身とお手本となる者の差異点を視認しながら比較することができる。
【0068】
[タイマーによる表示処理]
次に、
図10を参照して、このような
図2の機能的構成の再生制御装置1が実行する、タイマーによる表示処理について説明する。
タイマーによる表示処理は、
図3の同期再生制御処理とは独立して実行される処理(並行して実行される場合あり)であり、ユーザが電源を投入する操作を入力部16に対して行った場合、その操作を契機として開始され、次のような処理が繰り返し実行される。
図10は、再生制御装置1が実行するタイマーによる表示処理の流れを示すフローチャートである。
【0069】
ステップS71において、再生制御部46は、再生速度算出処理のステップS97においてキューイングされた画像キューから先頭画像を取り出し、出力部17のディスプレイに転送する。この処理が終了すると、処理はステップS71に戻る。即ち、タイマーによる表示処理では、ユーザが電源をオフにする等、処理を終了する操作が入力部16に対して行われるまでの間、ステップS71の処理が繰り返し行われ、動画の再生が継続して行われる。
【0070】
以上説明したように、本実施形態の再生制御装置1では、再生制御部46を備える。
再生制御部46は、同時再生する複数の動画において再生タイミングを一致させるべき複数の単位画像の時間位置が異なる場合に、再生タイミングを一致させるべき2つの単位画像間に挟まれる所定の再生ブロックについては、前記再生ブロックにおける各動画間の単位画像数の差に応じて、各動画の再生速度を異なる再生速度に設定する。
したがって、所定の再生ブロック単位で、動画の再生速度を設定することができる。これにより、再生制御部46は、再生タイミングを一致させるべき2つの単位画像間に挟まれる所定の再生ブロックが複数個所ある場合には、各々の再生ブロックにおいて、各動画の再生速度の比を次々と変化させていくことができる。
これにより、複数の動画の再生タイミングを一致させるべき単位画像の時間位置を一致させて再生することができる。具体的には、指定された所定の再生ブロックにおいて、例えば、異なるフレーム数により構成されるユーザのゴルフスイングの動画(マスター動画)と、プロのゴルフスイングの動画(スレーブ動画)と、の動画を同期して再生することができる。これにより、ユーザは、当該再生ブロックにおけるスイングの動作速度について、自分自身とお手本となる者の差異点を視認しながら比較することができる。即ち、複数のチェックポイントを有する複数の動画を同時に再生する場合に、各動画の再生タイミングを一致させるべき単位画像の時間位置を一致させて再生することができる。その結果、複数のチェックポイントを有する複数の動画を比較しやすく再生することができる。
【0071】
また、本実施形態の再生制御装置1は、動画特定部41を更に備える。
動画特定部41は、同時再生する複数の動画の中から基準動画を特定する。
そして、再生制御部46は、動画特定部41により特定された基準動画は全単位画像を通常速度で再生し、複数の動画のうち前記基準動画以外の動画(スレーブ動画)については、所定の再生ブロックの再生速度を通常速度とは異なる再生速度に設定する。
これにより、特定した基準動画については、再生速度を通常速度で再生しつつ、基準動画以外の動画と、単位画像の時間位置を一致させて再生することができる。
【0072】
また、本実施形態の再生制御装置1の動画特定部41は、ユーザの操作に基づき任意に選択された動画を基準動画として特定する。
これにより、ユーザが所望した基準動画については、再生速度を通常速度で再生しつつ、基準動画以外の動画と、単位画像の時間位置を一致させて再生することができる。
【0073】
また、本実施形態の再生制御装置1の動画特定部41は、複数の動画の同時再生中において、特定する基準動画を切り替える。
これにより、動画再生中であっても、ユーザが所望した基準動画については、再生速度を通常速度で再生しつつ、基準動画以外の動画と、単位画像の時間位置を一致させて再生することができる。
【0074】
また、本実施形態の再生制御装置1は、類似画像検出部42と、画像位置設定部43と、を更に備える。
類似画像検出部42は、同時再生する複数の動画に含まれる各単位画像の画像を比較して、被写体の状態が類似している単位画像を検出する。
画像位置設定部43は、類似画像検出部42により検出された各々の単位画像の位置を、再生タイミングを一致させるべき単位画像の位置として設定する。
これにより、再生タイミングを一致させるべき単位画像の位置が自動的に設定されるため、ユーザの負担の軽減を図りつつ、所定の再生ブロック単位で、動画の再生速度を設定することができる。
【0075】
また、本実施形態の再生制御装置1は、単位画像位置設定部45を更に備える。
単位画像位置設定部45は、ユーザの操作に基づき任意に選択された単位画像の時間位置を、各動画の再生タイミングを一致させるべき単位画像の時間位置として設定する。
これにより、再生タイミングを一致させるべき単位画像の位置が、ユーザが選択した位置に設定されるため、ユーザが所望する単位画像の時間位置に基づく所定の再生ブロック単位で、動画の再生速度を設定することができる。
【0076】
また、本実施形態の再生制御装置1は、画像検出部44と、単位画像位置設定部45と、を更に備える。
画像検出部44は、ゴルフスイングを撮影した2つの動画を同時再生する場合に、各動画内の単位画像から、少なくともアドレス、トップ、インパクト、フィニッシュのいずれか複数に対応する単位画像を検出する。
単位画像位置設定部45は、画像検出部44により検出された複数の単位画像の時間位置を、再生タイミングを一致させるべき複数の単位画像の時間位置として設定する。
これにより、再生タイミングを一致させるべき単位画像の位置が、ゴルフスイングの各フォーム毎に自動的に設定されるため、ユーザの負担の軽減を図りつつ、所定の再生ブロック単位で、動画の再生速度が設定され、複数のゴルフスイングのフォームを確認することができる。
【0077】
また、本実施形態の再生制御装置1の再生制御部46は、各動画の再生フレームレートを異なる再生フレームレートに設定することで、各動画の再生速度を異なる再生速度に設定する。これにより、動画毎に、複数の動画の再生タイミングを一致させるべき単位画像の時間位置を一致させて再生することができる。
【0078】
また、本実施形態の再生制御装置1の再生制御部46は、各動画の再生フレームレートは固定にしておき、単位画像の間引き又は挿入を行うことで、各動画の再生速度を異なる再生速度に設定する。これにより、ユーザが所望した基準動画については、再生フレームレートを変更することなく、各動画の単位画像の時間位置を一致させて再生することができる。
【0079】
以上、本発明の第1実施形態に係る再生制御装置1について説明した。
次に、本発明の第2実施形態に係る再生制御装置1について説明する。
【0080】
[第2実施形態]
第2実施形態に係る再生制御装置1は、第1実施形態に係る再生制御装置1と基本的に同様のハードウェア構成を取ることができる。したがって、
図1は、第2実施形態に係る再生制御装置1のハードウェアの構成を示すブロック図でもある。
また、第2実施形態に係る再生制御装置1は、第1実施形態に係る再生制御装置1と基本的に同様の機能的構成を取ることができる。したがって、第2実施形態の再生制御装置1では、第1実施形態の再生制御装置1が実行する
図3の同期再生制御処理、
図5の同期フレーム特定処理、
図8の再生速度算出処理、
図10のタイマーによる表示処理と同様の処理が行われる。但し、第1実施形態の再生制御装置1は、2つの動画の再生速度(再生タイミング)を調整するのに対し、第2実施形態の再生制御装置1は、1つの動画の各再生ブロック毎の再生速度(再生タイミング)を調整する点で相違する。即ち、第2実施形態では、1つの動画において、トップからインパクトまでの再生時間と、インパクトからフィニッシュまでの再生時間と、が異なる場合であっても、夫々同じ再生時間となるように、動画の再生速度を調整することを目的とする。
したがって、第2実施形態の再生制御装置1では、
図8の再生速度算出処理に換えて、
図11の再生速度算出処理が採用される。次に、
図11を参照して、同期再生制御処理のステップS16において実行される第2実施形態の再生速度算出処理について説明する。
【0081】
[再生速度算出処理]
図11は、再生制御装置1が実行する第2実施形態の再生速度算出処理の流れを示すフローチャートである。
ステップS91において、再生制御部46は、再生するフレーム番号(nFrame)の初期値を0に設定する。
【0082】
ステップS92において、再生制御部46は、1つの動画を構成する複数の再生ブロックのうち、基準となる基準再生ブロックの再生レート(MasterRate)を30FPSに設定する。基準再生ブロックは、ユーザの入力部16の操作に基づき、複数の再生ブロックの中から任意に設定することができる。
【0083】
ステップS93において、再生制御部46は、
図12の動画制御テーブルを参照し、基準再生ブロックのフレーム数を求める。そして、再生制御部46は、求めたフレーム数をFlameNum2に設定する。
【0084】
ステップS94において、再生制御部46は、
図12の動画制御テーブルを参照し、フレーム番号(nFrame)の再生ブロックを求める。そして、再生制御部46は、求めた再生ブロックをPlayBlockに設定する。
【0085】
ステップS95において、再生制御部46は、
図12の動画制御テーブルを参照し、ステップS94において設定したPlayBlock(再生ブロック)のフレーム数を求める。そして、再生制御部46は、求めたフレーム数をFlameNum1に設定する。
【0086】
ステップS96において、再生制御部46は、現在のフレーム番号(nFrame)の再生レート(FlameRate)を求める。この処理では、再生制御部46は、次式(3)に従い、ステップS95において求めたFlameNum1を、ステップS93において求めたFlameNum2で除した値に、ステップS92において設定したMasterRateで乗じた値を、現在のフレーム番号の再生レート(FlameRate)として求める。
FlameRate=FlameNum1/FlameNum2×MasterRate
・・・式(3)
【0087】
ステップS97において、再生制御部56は、nFrame目のフレーム番号の動画をデコードし、画像キューにキューイングする。
ステップS98において、再生制御部56は、次式(4)に従い、表示のタイマー間隔(Interval)を設定する。この処理では、再生制御部56は、1000msecを、ステップS96において求めた再生レート(FlameRate)で除した値を、表示のタイマー間隔(Interval)として設定する。
Interval=1000msec/FlameRate・・・式(4)
【0088】
ステップS99において、再生制御部56は、フレーム番号(nFrame)を「1」インクリメントする。
ステップS100において、再生制御部56は、ステップS99において「1」インクリメントされた結果、フレーム番号(nFrame)が最終フレームとなったか否かを判定する。フレーム番号(nFrame)が最終フレームでない場合には、ステップS1000においてNOであると判定されて、処理はステップS94に戻る。即ち、最終フレームが処理されるまでの間、ステップS94乃至ステップS100の処理が繰り返し実行される。これに対し、フレーム番号(nFrame)が最終フレームである場合には、ステップS100においてYESであると判定されて、再生速度算出処理は終了となる。
【0089】
図12は、
図1の記憶部18に記憶されている第2実施形態の動画制御テーブルを示す図である。動画制御テーブルには、各動画の再生ブロック毎に、各同期ポイントのフレーム番号を示す情報が記憶されている。
図12の動画制御テーブルの各再生ブロックは、
図13のユーザのゴルフスイングのフォームに基づいて作成されている。
【0090】
図13は、各ゴルフスイングのフォームに対応した各再生ブロックの例を説明する為の模式図である。
本実施形態では、アドレスからフィニッシュまでの一連の動作が、アドレスからの始動、トップ、インパクト、フィニッシュを含む複数の再生ブロック(期間)に区分される。より具体的には、
図13の例では丸数字で示す5つのチェックポイントに区分される。これにより、再生ブロック単位でゴルフスイングフォームの比較が可能になる。具体的には、ユーザにより指定された基本再生ブロックと、その他の再生ブロックとが同期再生されることによって、当該ユーザは、当該再生ブロック同士におけるスイングの動作について、差異点を視認しながら比較することができる。
【0091】
図12に戻り、例えば、「再生ブロック1」は、
図13のゴルフスイングの6時〜7時のスイングフォームに、「再生ブロック2」は、
図13のゴルフスイングの7時〜8時のスイングフォームに、「再生ブロック3」は、
図13のゴルフスイングの8時〜9時のスイングフォームに、夫々対応している。
【0092】
次に、1つの動画に対し、複数の再生ブロックが設定されている場合について説明する。本実施形態では、
図13に示すように、ゴルフスイングを体の正面から、ゴルフクラブのヘッドが円を描く様子が判るようにハイスピード撮影した場合を例に説明する。
図13に示すように、ヘッドの位置の動画のフレーム番号を予め動画ファイルのベンダー固有情報内に設定しておく。
例えば、
図13に示す位置のうち、バックスイング時のヘッドの位置として、時計の6時、7時・・・、0時、1時、2時、3時までが設定されている。
また、
図13に示す位置のうち、ダウンスイング時のヘッドの位置として、時計の3時、2時・・・6時、5時、・・・、フィニッシュまでが設定されている。
このヘッド位置に対するフレーム番号の設定は、動画の各フレームを解析する解析アルゴリズムを通して自動で設定するようにしてもよいし、ユーザの入力部16の操作に基づき手動でフレーム番号を設定することもできる。
本実施形態では、インパクトの瞬間(例えば、ダウンスイング時の7時、6時、5時、4時辺り)はフレーム数が少ないので、自動的にスロー再生となる。反対に、バックスイングの振り下ろし(折り返しタイミング)時は、フレーム数が多いので、自動的に高速再生となる。
【0093】
ここで、1つの動画の動画データに対し、複数の角度毎に対応するゴルフスイング毎に分割された再生ブロックが設定されている場合について説明する。
例えば、本実施形態の1の動画データは、下記のように分割されて設定されている。
6時〜7時のフレーム数・・・100F(アドレスからバックスイング開始時)
7時〜8時のフレーム数・・・ 90F
8時〜9時のフレーム数・・・ 60F
2時〜3時のフレーム数・・・ 90F
3時〜2時のフレーム数・・・ 90F(トップからダウンスイング開始時)
9時〜8時のフレーム数・・・ 40F
7時〜6時のフレーム数・・・ 20F
6時〜5時のフレーム数・・・ 10F(インパクト時)
5時〜4時のフレーム数・・・ 20F
【0094】
ここで、一番遅い時点(6時〜7時)の再生ブロックが基準再生ブロックとして選択された場合について説明する。
一番遅い時点(6時〜7時)の再生ブロックの再生速度は、再生速度算出処理のステップS92に示すように、30FPSに設定される。
基準再生ブロック(再生ブロック1(6時〜7時のフレーム))0〜99F=30FPS
【0095】
6時〜7時のフレーム(基準再生ブロック)以外の再生ブロックの再生速度は、再生速度算出処理のステップS96の式(3)に示すように、(各再生ブロックのフレーム数)/(基準再生ブロックのフレーム数)×(基準再生ブロックの再生速度)に設定される。
したがって、各再生ブロックは、
再生ブロック2(7時〜8時のフレーム):100〜189F=90/100×30=27FPS
再生ブロック3(8時〜9時のフレーム):190〜249F=60/100×30=18FPS
の再生速度に夫々設定される。
このように、各再生ブロックの再生速度を変更して再生する制御を行うことにより、ヘッドが各スイング中の各位置を等間隔で通るようにフレームレートを変えて再生することができる。
【0096】
このように、第2実施形態の再生制御装置1の再生制御部46は、1つの動画において一定の時間間隔で再生すべき複数単位画像の位置が一定の単位画像間隔ではない場合に、一定の時間間隔で再生すべき各単位画像間に挟まれる単位画像数の差に応じて、各単位画像間の再生速度を変化させる。
これにより、各単位画像間に挟まれる単位画像数の差に応じて、各単位画像間(各再生ブロック)の再生速度を変化する制御を行うことにより、例えば、ヘッドが各スイング中の各位置を等間隔で通るようにフレームレートを変えて再生することができる。
【0097】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【0098】
上述の実施形態では、再生制御部46は、マスター動画の再生レート(MasterRate)を30FPSに設定したがこれに限られるものではない。例えば、ユーザが入力部16の操作に基づき、任意の再生レートに設定することができる。
【0099】
また、上述の実施形態では、各同期ポイント(「アドレスからの始動」、「トップ」、「インパクト」、「フィニッシュ」)は4つのポイントにしているがこれに限られるものではなく、多数のポイントを任意に設定することができる。
【0100】
また、上述の実施形態では、各同期ポイントの設定は、解析アルゴリズムを利用して自動的に設定しているがこれに限られるものではなく、例えば、ユーザの入力部16の操作に基づき手動で同期フレーム番号を設定することができる。
【0101】
また、上述の実施形態では、本発明が適用される再生制御装置1は、パーソナルコンピュータを例として説明したが、特にこれに限定されない。
例えば、本発明は、画像処理機能を有する電子機器一般に適用することができる。具体的には、例えば、本発明は、テレビジョン受像機、ビデオカメラ、携帯型ナビゲーション装置、携帯電話機、ポータブルゲーム機等に適用可能である。
【0102】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、
図2の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が再生制御装置1に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に
図2の例に限定されない。
また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【0103】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【0104】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される
図1のリムーバブルメディア31により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア31は、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、CD−ROM(Compact Disk−Read Only Memory),DVD(Digital Versatile Disk)等により構成される。光磁気ディスクは、MD(Mini−Disk)等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている
図1のROM12や、
図1の記憶部18に含まれるハードディスク等で構成される。
【0105】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
【0106】
以上、本発明の実施形態について説明したが、この実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、更に、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。上記実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0107】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[付記1]
同時再生する複数の動画において再生タイミングを一致させるべき複数の単位画像の時間位置が異なる場合に、再生タイミングを一致させるべき2つの単位画像間に挟まれる所定の再生ブロックについては、前記再生ブロックにおける各動画間の単位画像数の差に応じて、各動画の再生速度を異なる再生速度に設定する再生制御手段、
を備えることを特徴とする再生制御装置。
[付記2]
前記再生制御手段は、
前記再生タイミングを一致させるべき2つの単位画像間に挟まれる前記所定の再生ブロックが複数個所ある場合には、各々の再生ブロックにおいて、各動画の再生速度の比を次々と変化させていく
ことを特徴とする付記1に記載の再生制御装置。
[付記3]
同時再生する複数の動画の中から基準動画を特定する動画特定手段を更に備え、
前記再生制御手段は、前記動画特定手段により特定された基準動画は全単位画像を通常速度で再生し、前記複数の動画のうち前記基準動画以外の動画については、前記所定の再生ブロックの再生速度を通常速度とは異なる再生速度に設定する
ことを特徴とする付記1又は2に記載の再生制御装置。
[付記4]
前記動画特定手段は、
ユーザの操作に基づき任意に選択された動画を基準動画として特定する
ことを特徴とする付記3に記載の再生制御装置。
[付記5]
前記動画特定手段は、
前記複数の動画の同時再生中において、特定する基準動画を切り替える
ことを特徴とする付記3又は4に記載の再生制御装置。
[付記6]
同時再生する複数の動画に含まれる各単位画像の画像を比較して、被写体の状態が類似している単位画像を検出する類似画像検出手段と、
前記類似画像検出手段により検出された各々の単位画像の位置を、再生タイミングを一致させるべき単位画像の位置として設定する画像位置設定手段と、
を更に備えることを特徴とする付記1乃至5のうち何れかに記載の再生制御装置。
[付記7]
ユーザの操作に基づき任意に選択された単位画像の時間位置を、各動画の再生タイミングを一致させるべき単位画像の時間位置として設定する単位画像位置設定手段
を更に備えることを特徴とする付記1乃至6のうち何れかに記載の再生制御装置。
[付記8]
ゴルフスイングを撮影した2つの動画を同時再生する場合に、各動画内の単位画像から、少なくともアドレス、トップ、インパクト、フィニッシュのいずれか複数に対応する単位画像を検出する画像検出手段と、
前記画像検出手段により検出された複数の単位画像の時間位置を、再生タイミングを一致させるべき複数の単位画像の時間位置として設定する単位画像位置設定手段と、
を更に備えることを特徴とする付記2乃至7のうち何れかに記載の再生制御装置。
[付記9]
前記再生制御手段は、
各動画の再生フレームレートを異なる再生フレームレートに設定することで、各動画の再生速度を異なる再生速度に設定する
ことを特徴とする付記1乃至8のうち何れかに記載の再生制御装置。
[付記10]
前記再生制御手段は、
各動画の再生フレームレートは固定にしておき、単位画像の間引き又は挿入を行うことで、各動画の再生速度を異なる再生速度に設定する
ことを特徴とする付記1乃至9のうち何れかに記載の再生制御装置。
[付記11]
前記再生制御手段は、
1つの動画において一定の時間間隔で再生すべき複数単位画像の位置が一定の単位画像間隔ではない場合に、一定の時間間隔で再生すべき各単位画像間に挟まれる単位画像数の差に応じて、各単位画像間の再生速度を変化させる
ことを特徴とする付記1乃至10のうち何れかに記載の再生制御装置。
[付記12]
動画の再生速度を設定する再生制御装置が実行する再生制御方法であって、
同時再生する複数の動画において再生タイミングを一致させるべき複数の単位画像の時間位置が異なる場合に、再生タイミングを一致させるべき2つの単位画像間に挟まれる所定の再生ブロックについては、前記再生ブロックにおける各動画間の単位画像数の差に応じて、各動画の再生速度を異なる再生速度に設定する再生制御ステップ、
を含むことを特徴とする再生制御方法。
[付記13]
動画の再生速度を設定する制御を実行するコンピュータを、
同時再生する複数の動画において再生タイミングを一致させるべき複数の単位画像の時間位置が異なる場合に、再生タイミングを一致させるべき2つの単位画像間に挟まれる所定の再生ブロックについては、前記再生ブロックにおける各動画間の単位画像数の差に応じて、各動画の再生速度を異なる再生速度に設定する再生制御手段、
として機能させることを特徴とするプログラム。