《第1実施形態》
〈第1実施形態による映像再生装置の構成〉
本実施形態による映像再生装置の構成を、図1を参照して説明する。本実施形態による映像再生装置1は、映像情報記憶部11と、フレーム画像情報復号部12と、フレーム画像選択部13と、表示部14と、対象フレーム情報記憶部15と、動き検出部16と、動き検出情報記憶部17と、入力部18と、表示フレーム番号特定部19とを有する。
映像情報記憶部11は、処理対象の映像情報を記憶する。
フレーム画像情報復号部12は、映像情報記憶部11に記憶された映像情報を構成するそれぞれのフレーム画像情報を表示部14に表示させるために復号する。
フレーム画像選択部13は、復号されたフレーム画像情報のうち、後述する表示フレーム番号特定部19により特定されたフレーム番号のフレーム画像情報を選択する。
表示部14はモニタ画面であり、フレーム画像選択部13で選択されたフレーム画像情報を順次表示する。
対象フレーム情報記憶部15は、フレーム画像選択部13で選択されたフレーム画像に関するフレーム番号等の情報を記憶する。
動き検出部16は、処理対象の映像情報の各フレーム画像情報について、予め設定された一定の距離間隔ごとの画素に関する動きベクトルの検出を行う。
動き検出情報記憶部17は、動き検出部16で検出された動き検出結果を、映像情報ごと、フレーム番号ごと、および検出対象の画素の位置座標ごとに記憶する。
入力部18は、ユーザにより、処理対象の映像が表示された表示部14の画面上をなぞる操作が実行されたときに、当該操作により連続的に指定される画面内の位置座標情報を入力する。
表示フレーム番号特定部19は、ユーザによるなぞり操作の角度情報と画面の被写体の動きから検出された動きベクトルの動き方向情報との近似度、および対応する動きベクトルの動き量情報から、ユーザによる注目度を示す動きスコアが最も高いフレームのフレーム番号を、位置座標情報ごとに特定する。
〈第1実施形態による映像再生装置の動作〉
次に、本実施形態による映像再生装置1の動作について、図2のフローチャートを参照して説明する。
まず、ユーザが処理対象とする映像情報を、映像再生装置1の映像情報記憶部11に記憶させる(S1)。本実施形態においては、第1映像情報〜第3映像情報を処理対象の映像情報として記憶させる。
第1映像情報は、図3に示すように、フレーム番号「10 frame」から途中の「20 frame」を経て「30 frame」までの21枚のフレーム画像情報を含み、画面の左端から右端に向かって右方向に小型車が移動する状況を撮影したものである。また第2映像情報は、図4に示すように、フレーム番号「10 frame」から途中の「20 frame」を経て「30 frame」までの21枚のフレーム画像情報を含み、フレーム番号「10 frame」から「20 frame」にかけては画面の左端から右端に向かって右方向に大型クレーン車が移動し、フレーム番号「20 frame」から「30 frame」にかけては画面の右下から左上に向かって左上方向に小型車が移動する状況を撮影したものである。また第3映像情報は、図5に示すように、フレーム番号「10 frame」から途中の「20 frame」を経て「30 frame」までの21枚のフレーム画像情報を含み、フレーム番号「10 frame」から「20 frame」にかけては画面の左端から中央に向かって右方向に大型クレーン車が移動し、フレーム番号「20 frame」から「30 frame」にかけてはこの大型クレーン車のクレーンが上方向に上昇する状況を撮影したものである。
処理対象の第1映像情報〜第3映像情報が記憶されると、各映像情報のすべてのフレーム画像情報について、動き検出処理が実行される(ループA)。
各フレーム画像情報について動き検出処理が実行される際は、まずフレーム画像情報復号部12において、記憶された映像情報を構成する各フレーム画像情報が復号される(S2)。
次に動き検出部16において、処理対象の映像情報のすべてのフレーム画像情報について、フレーム全域の動き検出が行われる(S3)。
動き検出部16による動き検出は、例えばブロックマッチング法を用いて、隣り合うフレーム画像情報との間でオプティカルフローと呼ばれるベクトルを求めることにより検出される。
この動き検出には、勾配法や画像ピラミッドを利用したLucas-Kanade法(Jean Yves Bouguet. Pyramidal implementation of the lucas kanade feature tracker. Intel Corporation, Microprocessor Research Labs, 2000.)などを用いてもよい。
オプティカルフローの検出処理は、フレーム画像情報の全画素について検出するのではなく、一定の距離間隔ごとの画素について実行される。例えば、解像度が210pixel × 150pixelのフレーム画像情報について、横方向および縦方向にそれぞれ10pixelの間隔を空けて検出対象画素の座標をP(10,10)、P(20,10)、P(30,10)・・・P(10,20)、P(20,20)、P(30,20)、・・・P(190,140)、P(200,140)のように特定し、これらの座標Pについてオプティカルフローが検出される。これらの特定された各座標Pを基準座標情報、フレーム画像情報内の全基準座標情報を、基準座標情報群と呼ぶ。フレーム画像情報の端ではオプティカルフローの検出が不安定になるため、検出処理を行わないように余白部分を設定してもよい。
基準座標情報群の各座標のオプティカルフローが検出されることにより、各座標における被写体の動き方情報向および動き量(大きさ)情報を含む動きベクトルが検出される。
図6は、第1映像情報のフレーム番号「20 frame」のフレーム画像情報についての動きベクトルの検出結果を各基準座標位置に対応させて表示した画面情報であり、オプティカルフローにより検出された座標Pの動きベクトルの方向を黒矢印で示している。ここで、動きベクトルの大きさが所定の閾値以下であり、誤差として十分に無視できるオプティカルフローの座標位置には矢印を表示していない。以降に示すフレーム画像情報の動き検出結果の画面情報においても、同様の方法により表示するものとする。
図6では、第1映像情報のフレーム番号「20 frame」のフレーム画像情報について、画面の中央付近のいくつかの座標で、おおよそ右方向への動きベクトルが検出され矢印が表示されている。
第2画像情報においては、図7に示すように、フレーム番号「10 frame」〜フレーム番号「20 frame」の間のフレーム画像情報については、画面情報71に示すように画面の中央付近のいくつかの座標で、おおよそ右方向への動きベクトルが検出され矢印が表示されている。また、フレーム番号「20 frame」〜フレーム番号「30 frame」の間のフレーム画像情報については、画面情報72に示すように画面の中央付近のいくつかの座標で、おおよそ左上方向への動きベクトルが検出され矢印が表示されている。
また第3画像情報においては、図8に示すように、フレーム番号「10 frame」〜フレーム番号「20 frame」の間のフレーム画像情報については、画面情報81に示すように画面の中央付近のいくつかの座標で、おおよそ右方向への動きベクトルが検出され矢印が表示されている。また、フレーム番号「20 frame」〜フレーム番号「30 frame」の間のフレーム画像情報については、画面情報82に示すように画面の中央付近のいくつかの座標で、おおよそ上方向への動きベクトルが検出され矢印が表示されている。
動き検出部16で検出された、映像情報ごと、フレーム画像情報ごと、および検出対象の画素の位置情報ごとの動きベクトルの検出結果は、動き検出情報記憶部17に記憶される(S4)。以上で、ループAで実行される動き検出処理の説明を終了する。
次に、ユーザが操作対象とする映像情報(例えば第2映像情報)の、最初のフレーム画像情報(フレーム番号「10 frame」のフレーム画像情報)が、表示部14に表示される(S5)。
そしてユーザにより、表示部14の画面上を用いてドラッグ操作やスワイプ操作などにより連続的に位置座標情報が入力されると(S6の「YES」)、当該操作中、表示フレーム番号特定部19において位置座標情報ごとに、表示対象とする画像情報のフレーム番号が特定される(S7)。
表示フレーム番号特定部19で、表示する画像情報のフレーム番号が位置座標情報ごとに特定されるときの処理について、図9のフローチャートを参照して詳細に説明する。
まず、最初のフレーム画像情報が表示された表示部14の画面上で、ユーザが、検出したい被写体の位置近辺で当該被写体の動きをおおまかになぞるようにマウスによるドラッグ操作、またはタッチパネルのスワイプ操作などを開始すると、これらの操作に基づいて連続して指定された位置座標情報が入力部18から入力される。
このとき、位置座標情報に加え、各位置座標情報に関する角度情報が表示フレーム番号特定部19で取得される。この角度情報は、各位置座標情報における、1つ前(あるいは所定数前)の位置座標情報からの移動方向を示すものである。なお、ドラッグ操作やスワイプ操作によって複数の位置座標情報が連続的に入力される場合、1つ前(あるいは所定数前)の座標からのX軸、Y軸の値の増減分について正接関数(アークタンジェント)を用いて計算することで、角度情報を取得することができる(S11)。例えば、ドラッグ操作やスワイプ操作により位置座標情報a0〜a20が連続して入力されたときに、このうちの位置座標情報a1について、位置座標情報a0から位置座標情報a1への移動方向を示す角度情報が取得される。
次に、上述したステップS3において動きベクトルが検出された基準座標情報群の中から、ステップS11で入力された位置座標情報について、近傍の基準座標情報が対応する座標情報として抽出される(S12)。このとき、1つの位置座標情報に関し、4点あるいは16点などの複数の基準座標情報を抽出してもよい。
次に、当該操作対象とする第2映像情報のすべてのフレームについてそれぞれ、ユーザによる注目度を示す動きスコアが算出される(ループC)。
各フレームにおける、動きスコアの算出処理について説明する。まず、動き検出情報記憶部17に記憶された動き検出結果から、ステップS12で抽出された各基準座標情報に関する動きベクトルの動き方向情報が取得される。そして取得された動きベクトルの動き方向情報と、対応する位置座標情報(例えば位置座標情報a1)の角度情報とが比較される。
比較の結果から、ユーザの操作により入力された位置座標情報の角度情報と、対応する基準座標情報の動きベクトルの動き方向情報との近似度(ratio)が算出される(S13)。この近似度(ratio)は、ユーザがドラッグ操作またはスワイプ操作により画面上をなぞった軌跡の方向と、対応する動きベクトルの方向とが同じ方向を向いているか、もしくは逆方向を向いているときに高く算出されるものであり、後述する動きスコアを算出するために必要な情報である。
この近似度(ratio)は、例えば下記式(1)で示されるように、余弦関数(cos)を利用して算出することができる。
ここで「angle」は、図10で示されるように、ユーザの操作による位置座標情報の角度情報Vdと、対応する基準座標情報の動きベクトルの方向Vnとの内角(inner(Vd,Vn))である。例えば、ユーザが右方向になぞる操作を行ったとき、この操作の角度情報を0度とすると、取得された動きベクトルが右上方向(ユーザの操作による角度情報に対して相対的に30度の方向)への情報を持っていたとする。このとき、ユーザの操作による位置座標情報の角度情報Vdと、対応する基準座標情報の動きベクトルの方向Vnとが比較されることにより、これらの内角(angle)が「30度」として得られる。
内角(angle)は0度以上、180度以下で得られるため、この式(1)によって得られる近似度(ratio)は、図11に示すようになる。図11のグラフでは、内角(angle)が0度(同方向)のときと180度(逆方向)のとき、最も高い近似度「1」が算出される。一方で、内角(angle)が90度のように角度情報と動きベクトルの方向とが直角に交わっているときに、最も低い近似度「−1」が算出される。
この近似度の算出において、内角(angle)が逆方向であっても高い値となることについて説明する。
例えば、図5に示す第3映像情報が表示されている画面上で、ユーザが右方向に移動する大型クレーン車を検出対象の被写体として注目した場合について説明する。
ユーザは当該第3映像情報において、時間的に順方向に大型クレーン車が移動する場面をシークして再生させたい場合、画面中央付近で、当該大型クレーン車の移動方向と同じ右方向になぞるようにドラッグ操作やスワイプ操作を行う。また、時間的に逆方向に大型クレーン車が移動する場面をシークして再生させたい場合、画面上で、当該大型クレーン車の移動方向と真逆の左方向になぞるようにドラッグ操作やスワイプ操作を行う。
この右方向と左方向の操作を交互に繰り返すことにより、この操作に追従して大型クレーン車が移動する場面が順方向と逆方向とで繰り返し表示され、ユーザは直感的に大型クレーン車を掴んで動かしているかのような感覚を体験することができる。
このようにユーザが直感的にある被写体に注目して映像を動かそうとする場合、順再生、逆再生を繰り返すことでより「掴んで動かしている感覚」が強まり、なぞり操作が往復することが多々あることに着目し、図12に示すように、内角(angle)が逆方向であっても高い値となるように定めている。
一方で、ユーザは注目した被写体の動きの方向と直交するような方向になぞる可能性は低いため、図12に示すように、内角が90度に近い場合はノイズを小さくするために近似度が低い値となるように定めている。
図9のフローチャートに戻り、ステップS13で近似度(ratio)が算出されると、次に、動き検出情報記憶部17に記憶された動き検出結果から、ステップS12で抽出された各基準座標情報に関する動きベクトルの動き量(被写体の動きの大きさ)情報が取得される。そして取得された動きベクトルの動き量情報に、ステップS13で算出された近似度(ratio)がかけ合わされることで、ユーザの注目度を示す動きスコアSが算出される。動きスコアSは、映像情報中の被写体のうち、ユーザが示す方向に近似する方向に大きく動く程、高い値で算出される。なお、抽出された1つの位置座標情報に対して複数の基準座標情報が抽出されている場合には、下記式(2)に示すように、それぞれの基準座標情報に関する動きベクトルについて得られた動きスコアの総和が、当該フレームの動きスコアSとして算出される(S14)。
なお複数の基準座標情報が抽出されている場合に、あらかじめ対象となる動きベクトルの平均値を求め、この平均値について動きスコアSを算出するようにしてもよい。
すべてのフレームについて動きスコアSが算出されると(ループC終了)、その結果に基づいて図13の下段に示すようにヒストグラムが生成される(S15)。
図13のヒストグラムでは、横軸がフレーム番号に対応し、縦軸が該当する動きスコアSに対応している。
ここでは、図13の上段に示す第2映像情報が表示されているときに、図13の中段に白抜き矢印で示すようにユーザが画面の中央付近で右方向へなぞる操作が行うと、映像中ではフレーム番号「10 frame」〜「20 frame」の間に当該操作の位置付近で大型クレーン車が右方向に移動していることにより、画面情報131に示すように、対応するフレームの複数の基準座標情報に関し右方向の動きベクトルが得られる。また、フレーム番号「20 frame」〜「30 frame」の間に当該操作の位置付近で小型車が左上方向に移動していることにより、画面情報132に示すように、対応する複数の基準座標情報に関し左上方向の動きベクトルが得られる。
得られたそれぞれの動きベクトルと、ユーザの操作の方向(角度情報)とが比較された結果、ユーザのなぞる操作が右方向であるため大型クレーン車の移動場面は近似度(ratio)が高く算出され、ヒストグラム上でも高い動きスコアが得られている。一方、小型車の移動により得られる動きベクトルの方向は、ユーザのなぞる操作の方向に直角に近い角度で交わっているため、小型車の移動場面の動きスコアは低くなっている。
次に、生成されたヒストグラムに基づいて、当該位置座標情報に関し、動きスコアが最大となるフレームのフレーム番号が特定される(S16)。ここでは、フレーム番号「15 frame」が特定されたものとする。
以上で、表示フレーム番号特定部19において実行されるフレーム番号の特定処理の説明を終了する。
図2のフローチャートに戻り、特定されたフレーム番号のフレーム画像情報がフレーム画像選択部13で選択され、表示部14に表示される(S8)。このステップS7のフレーム番号特定処理およびステップS8のフレーム画像情報表示処理は、ユーザのドラッグ操作やスワイプ操作が実行されている間、連続的に順次入力される位置座標情報ごとに実行される(ループB)。
上述した例では、ユーザの画面をなぞる操作の方向と映像情報から検出された動きベクトルの方向とが近いフレームが高い動きスコアを有するため、ユーザが水平方向に往復してなぞり操作を加えると、フレーム番号「10 frame」から「20 frame」の間に対応するフレームが選択され、表示される。このとき、なぞり操作の途中でフレーム番号「20 frame」から「30 frame」の間の小型車が移動する場面のフレームも動きベクトルが大きいと判断されるが、なぞり操作との方向が近くない(直交に近い)ため動きスコアが低くなり表示されにくい。このように表示処理が位置座標情報ごとに順次実行されることにより、ユーザは画面上の操作から所望の被写体を直感的に動かすような感覚を効果的に得ることが可能となる。
つまり本実施形態においては、画像上の同じ位置を別方向に移動する被写体を含む映像情報を対象とする場合においても、ユーザは画面上でなぞる方向によって映像のシークに利用したい被写体を選ぶことができ、それぞれの被写体の画像上での動きに基づいて映像のシークを行うことが可能になる。
また本実施形態において位置座標情報が移動することにより表示されるフレーム画像情報が変更されるとき、連続するフレーム番号で遷移するようにしてもよい。例えば、現在表示している画像情報のフレーム番号が「10 frame」であり、ユーザの画面上をなぞる操作により表示フレーム番号特定部19で次に特定されたフレームのフレーム番号が「20 frame」であったとする。このとき、「10 frame」の表示からすぐに「20 frame」の表示に切り替えるのではなく、「10 frame」→「11 frame」→「12 frame」→・・・「20 frame」といったようにフレーム番号の順に連続して表示させながら「20 frame」まで表示されるように遷移させることができる。このように処理することにより、フレーム画像が飛び飛びに表示されることによる違和感が少なくなり、シークされた映像の被写体が滑らかに動くように表示される。この遷移処理はユーザによる入力される位置座標情報が取得されるごとに行ってもよいし、0.1秒ごとなど予め設定した時間ごとに行うようにしてもよい。
ユーザが映像情報の中から被写体の動きに基づいて所望のシーンを検索する操作を行うときに、マウスでのクリックやタッチパネルへのタップ操作で位置を指定することもあるが、本実施形態においては、それよりも「マウスでのドラッグ操作やタッチパネルへのスワイプ操作」が多いことに注目している。つまり、ユーザの操作に追従して被写体が動くように再生させたいと思ったとき、画面上の座標だけでなく、さらに動きの方向までも指定される。
ドラッグ操作やスワイプ操作での画面をなぞる操作によって位置と方向が指定されれば、あとはその位置周辺の動きベクトルを全フレームについて比較し、似た方向に向いている動きベクトルが特に多いフレームを表示対象とすれば、ユーザの意図に沿った動きが含まれているフレームが表示される。
特に本実施形態では、ユーザによるなぞり操作の方向と同じ方向の動きベクトルだけを似ていると判断するのではなく、逆方向の動きベクトルも似ていると判断する。また、なぞり操作の方向に対し直角方向の動きベクトルは最も似ていないと判断する。これは、映像中の被写体を動かすためにユーザが直感的に操作する場合、なぞり操作が被写体の動きに対し往復することが多々あることに着目したためである。なぞり操作を往復することによって映像は順再生、逆再生を繰り返すことになり、ユーザはより強く「ユーザが被写体を掴んで動かしている」感覚を得ることができる。
《第2実施形態》
本発明の第2実施形態として、処理対象とする映像情報が、カメラワークを利用して撮影されたものである場合や、撮影の際に手振れが発生しているものである場合の処理について説明する。
処理対象の映像情報がカメラワークを利用して撮影されていたり撮影の際に手振れが発生していたりした場合、動きの検出結果の中に背景の動きに起因する動きベクトルが多く含まれてしまっていた。これにより、第1実施形態で説明したようにユーザがなぞった座標について検出された動きベクトルを参照しても、それはユーザが動かしたいと思った被写体の動きによるものなのか、背景の動きによるものなのかを区別できず、結果としてユーザが意図するように映像を再生させることができない場合があった。
処理対象とする映像情報に、撮影時のカメラワークや手振れに起因する動き情報が含まれるケースについて図14および15を参照して説明する。
図14は、本実施形態において処理対象とする第4映像情報を示している。当該第4映像情報は、フレーム番号「10 frame」から途中の「20 frame」を経て「30 frame」までの21枚のフレーム画像情報を含み、画面の左端から右端に向かって小型車が移動する状況を撮影したものである。
この第4映像情報は第1映像情報と同じ被写体の動き(小型車の左端から右端への移動)を撮影したものであるが、第4映像情報ではカメラが小型車の移動に追随し、パン機能により右方向へ水平に回転しながら撮影しているため、フレームが進むにつれて画面上では背景が左方向に移動しているように見える。
この第4映像情報が表示されている画面上で、ユーザが画面中央付近で小型車の移動方向と同じ右方向になぞるようにドラッグ操作やスワイプ操作を行ったときに、第1実施形態で説明したように動きスコアSを算出してヒストグラムを生成すると、図15の下段のようになる。図15のヒストグラムは、ユーザがなぞる操作し始めのときの位置座標情報に基づいて生成されたものである。
このとき、映像中ではフレーム番号「10 frame」〜「20 frame」の間に当該操作の位置付近で小型車が右方向に移動していることにより、対応するフレームの基準座標情報に関して得られた右方向の動きベクトルから動きスコアが算出される。
しかしこの第4映像情報では、小型車の移動に追従するようにカメラワークが発生しており、画面上では小型車の移動により検出される動きベクトルよりもカメラワークにより検出される背景の右向きの動きベクトルのほうが大きくなる。そのため小型車の移動に関して算出される動きスコアは、画面情報151に示すように、カメラワークがない第1映像情報と比べると小さく検出されてしまう。
例えば、カメラが小型車を常に画面中央に映るようなカメラワークで撮影すると、小型車は実際にはどれほどの速度で移動しようとも画面上では動かない。一方で背景はカメラワークに伴って画面上で左方向へ移動するため、画面全体にわたって左方向の動きベクトルが検出される。
図15の例では、撮影の開始から終了まで(フレーム番号「10 frame」から「30 frame」まで)一定の速度でカメラワークが発生した場合の、ユーザの指で示す位置におけるヒストグラムを想定している。
ここで、ユーザが画面上で示している位置に小型車が重なっていないとき、つまり画面情報152に示すように当該位置が背景と重なっているとき(例えば、フレーム番号「20 frame」から「30 frame」の間)には、カメラワークに起因して発生する動きベクトルに基づいて動きスコアが算出される。そのため、ヒストグラム上では最初から最後までほぼ一定の動きスコアが検出される。ただし、カメラと被写体との距離に応じて動きベクトルの大きさは変化するため、完全に一定ではなく、フレームによってばらつきは生じる。
その結果、第1実施形態に記載の技術を利用して、ユーザが小型車の移動に注目して該当する場面をシークして再生させようとした場合、いずれの位置座標情報に関しても、ヒストグラム上で動きスコアが最大となるフレームはカメラワークに起因するものとなってしまう。そのため、ユーザのなぞる操作と表示される小型車の動きとが重ならず、所望の被写体を掴んで動かしているかのような感覚を得ることができない。
この問題を解決するため本実施形態においては、動きベクトルの検出結果から、または端末の傾きや回転の情報から、カメラワークや手振れによって発生した動き、つまり背景の動きベクトルを検出して無効化(キャンセリング)する処理を行う。
この無効化(キャンセリング)処理により、表示するフレームを決定する際に映像中の被写体の動きに起因する動きベクトルのみを参照でき、ユーザが被写体の動きに注目してなぞり操作を行う場合に、カメラワークや手振れによる動きが発生している映像においてもロバストに所望のフレームを表示させることができる。
〈第2実施形態による映像再生装置の構成〉
本実施形態による映像再生装置の構成を、図16を参照して説明する。本実施形態による映像再生装置2は、カメラワーク検出部20を有することを除いては第1実施形態で説明した映像再生装置1の構成と同様であるため、同一機能を有する構成部についての詳細な説明は省略する。
カメラワーク検出部20は、撮影時のカメラワークまたは手振れに起因して発生した被写体の背景の動きに関する動きベクトルを検出し、動き検出部16で取得された動きベクトルから当該被写体の背景の動きに関する動きベクトルを差し引くことで、被写体の背景の動きに関する情報を無効化(キャンセリング)する。
〈第2実施形態による映像再生装置の動作〉
次に、本実施形態による映像再生装置2の動作について説明する。
まず、ユーザが処理対象とする映像情報を、映像再生装置2の映像情報記憶部11に記憶させる(S1)。本実施形態においては、第4映像情報を処理対象の映像情報として記憶させる。
処理対象の第4映像情報が記憶されると、当該映像情報のすべてのフレーム画像情報について、第1実施形態と同様に各基準座標情報に関し動き検出処理が実行される(図2のステップS1〜S4)。
本実施形態においては、フレーム画像情報の横方向の画素数を9分割し、縦方向の画素数を6分割することにより得られる各領域の中心点を基準座標情報とし、これらの基準座標に関しそれぞれ動き検出処理が実行されるものとする。ここでは、説明を簡易化するために1フレーム画像情報について9×6個(54個)の基準座標情報の動きベクトルが検出される場合について説明するが、実際には1フレーム画像情報をより小さな領域に分割することにより、より多くの数の動きベクトルを検出して精度を上げるようにしてもよい。
本実施形態ではステップS4の処理としてさらに、カメラワーク検出部20において、動き検出部16における動き検出処理で検出された動きベクトルの情報から、撮影時のカメラワークや手振れに起因して発生した被写体の背景の動きに関する情報が検出され、無効化(キャンセリング)される。
カメラワークや手振れに起因する情報が検出され無効化されるときの処理について、図17および図18を参照して説明する。
まずカメラワーク検出部20において、動き検出部16で検出された動きベクトルの情報が取得される。
ここで、あるフレーム(例えばフレーム番号「15 frame」のフレーム)についての動き検出結果である動きベクトルを、各座標位置に対応させて画面情報として表示させた一例を、図17(a)に示す。
このとき各動きベクトルを、画面の左上の基本座標情報から順にF0, F1, F2,・・・とし、右下をF53と呼ぶことにする。
そしてまず図17(a)に丸印で示すように、動きベクトルF0が基本ベクトルとして抽出される(S21)。次に、当該基本ベクトルである動きベクトルF0と、画面上の他の動きベクトルF1〜F53との方向・大きさ(=長さ、ノルム)の差分値がそれぞれ算出される(S22)。ここで算出された差分値を、各座標位置に対応させて画面情報として表示させると、図17(b)のようになる。
画面上のすべての動きベクトルF1〜F53について基本ベクトルF0との大きさの差分値が算出されると(ループE)、得られた基本ベクトルごとの差分値の総和が、カメラワークスコアとして算出される(S23)。
例えば、基本ベクトルをFbとし、n番目の動きベクトルをFnとしたとき、当該フレームのカメラワークスコアCSは下記式(3)のように算出される。
同様にして、図17(c)に示すように動きベクトルF1を基本ベクトルとしたときの、他の動きベクトルF0およびF2〜F53との差分値が図17(d)のように算出され、これらに基づいてカメラワークスコアが算出される。以降、順次それぞれの基準座標情報の動きベクトルを基本ベクトルとしたときの他の動きベクトルとの差分値が算出され、図17(e)に示すように動きベクトルF53を基本ベクトルとしたときには、図17(f)のように差分値が算出され、カメラワークスコアが算出される(ループD)。
次に、算出された中からカメラワークスコアが最小の動きベクトルが、当該フレームに関する「撮影時のカメラワークまたは手振れに起因して発生した被写体の背景の動きに関する動きベクトル」(カメラワークのベクトル)として採用される(S24)。
当該カメラワークのベクトルについて説明を補足する。このカメラワークのベクトルは画面上に表示された動きベクトルから代表として選択されたものであるが、その基準は「カメラワークに起因する動きベクトルはおおよそ同じ方向・大きさである」、「動きベクトルの大半が同じ方向・大きさであれば、それはカメラワークに起因するものである」といった前提に基づいたものである。2つのベクトルの方向と大きさが近いとき、その差分のノルムは小さいものとなる。つまり、カメラワークスコアが小さいということは、基本ベクトルに似た動きベクトルが画面上に多く分布しているということであり、似た(差分値の小さい)動きベクトルの数が最大となるとき(=カメラワークスコアが最小となるとき)の基本ベクトルの情報が、カメラワークのベクトルであると判断している。
そのため、フレーム画像情報上の大半を覆うような物体が映りこんでしまうと、その物体に基づく動きベクトルをカメラワークのベクトルとして検出してしまう。
この場合は、撮影するカメラ装置の傾きや回転に関する情報を、内蔵する3軸ジャイロセンサ等で取得し、取得した情報から、撮影した画像上でどの程度動きベクトルが発生したかを算出する方法により、精度の高いカメラワークのベクトルを検出することができる。
次に、検出したカメラワークのベクトルと、当該フレーム内の各動きベクトルとの差分値がそれぞれ算出され、その差分値で動き検出情報記憶部17内の動きベクトルが上書きされることで、各動きベクトルからカメラワークに起因するベクトル分が無効化(キャンセリング)される(S25)。
以上の、カメラワークや手振れに起因する情報の無効化(キャンセリング)処理が、すべてのフレームについて実行される(ループA)。
第4映像情報の当該フレームにおいては、左方向の動きベクトルがカメラワークのベクトルとして検出され、キャンセルされている。
キャンセル後の画面の背景に対応する基準座標上では、左方向の動きベクトルで差分値が計算されているため、上書きされた動きベクトルの値(差分値)はほぼ「0」か、「0」でなくても無視できるほどに充分に小さい値である。
一方、キャンセル後の画面の小型車が映っている領域では、既に存在していた右方向の動きベクトルからカメラワークの左方向のベクトルを差し引くため、より強い(大きい)右方向のベクトルとして上書きされる。
つまり、カメラワークのベクトルでキャンセル処理を行うことにより、当該フレーム画像情報からカメラワークとは関係のない被写体の動きだけが残る。
このようにカメラワークのベクトルでキャンセル処理を行う場合、図14の第4映像情報のようにカメラワークによって移動する被写体を追従はするがカメラワークが追い越さない場合は、キャンセル処理後も被写体の移動に関する動きベクトルは右方向で計算される。そのため第1実施形態の場合と同様に、ユーザは画面上の操作から所望の被写体を直感的に動かすような感覚を効果的に得ることが可能となる。
例えば図19のように、第4映像情報が表示されている画面の左よりの位置でユーザが水平方向になぞり操作を加えると、画面情報191のように、フレーム番号「10 frame」から「20 frame」の間に対応するフレームの動きスコアが高く算出されて選択され、表示対象となる。また、フレーム番号「20 frame」から「30 frame」の間に対応するフレームでは、表示画面192のように当該位置での被写体の動きがないため動きスコアが低く算出され、表示対象にならない。
一方、カメラワークによって移動する被写体を追従しカメラワークが追い越してしまう場合、つまり図20(a)のようにフレーム番号「Frame 10」〜「Frame 30」の動きベクトルが検出されているときに、カメラワークのベクトルでキャンセル処理が実行されると、図20(b)のように上書きされる。このように上書きされることにより、被写体の動きベクトルは右方向を示すが、被写体の位置は逆方向に、つまり画面の右端から左端に移動している。
この場合でも、ユーザが画面の中央付近で右方向へのなぞる操作が行われると、ユーザが操作した箇所においてなぞった方向、またはなぞった方向と逆の方向の動きベクトルで動きスコアが高く算出されるため、動きベクトルの方向と逆方向に被写体の位置が移動していても、ユーザは画面上の操作から所望の被写体を直感的に動かすような感覚を効果的に得ることが可能となる。
また、カメラワークによって移動する被写体を追従し、被写体を常に画面の中央に捉えている場合、つまり図21(a)のようにフレーム番号「Frame 10」〜「Frame 30」の動きベクトルが検出されているときに、カメラワークのベクトルでキャンセル処理が実行されると、図21(b)のように上書きされる。このように上書きされることにより、被写体の動きベクトルが右方向を示して画面の中心付近に静止した状態となる。
この場合、画面上で被写体は動いていないが動きベクトルは検出され続けているため、これらの動きベクトルから算出される動きスコアに基づいて特定されたフレーム画像が表示される。
以上の第2実施形態によれば、処理対象とする映像情報が、カメラワークを利用して撮影されたものである場合や、撮影の際に手振れが発生しているものである場合にも、カメラワークや手振れに起因する動きベクトルを検出してキャンセル処理を加えることができるため、高い精度で被写体の動きを抽出することができ、ユーザは画面上の操作から所望の被写体を直感的に動かすような感覚を効果的に得ることが可能となる。
上述した実施形態においては、カメラワークのベクトルを取得する際、既に表示フレームの決定処理で利用するために算出された動きベクトルを利用して取得している。
カメラワークを検出するには、他の方法として、端末に内蔵されたセンサを利用して取得した端末の傾きや回転の情報や動画像から検出する方法もあるが、これらの手法を利用するには、端末にセンサ機能や、動画像に対する特徴量抽出処理機能などの高負荷な機能を新たに搭載する必要があった。また、端末から取得した回転の情報のみを用いる場合には、所定量の回転により画面上でどれだけ動きベクトルが発生したのかを改めて算出する機能が必要であった。
本実施形態においてはカメラワークのベクトルを検出した後、既に検出した動きベクトルとの差を算出して無効化(キャンセリング)の処理を行う必要があるが、動きベクトルから求めたカメラワークのベクトルであればその計算も容易である。
よって本実施形態では、カメラワークのベクトルの検出処理および無効化(キャンセリング)処理において、他の手法よりも「映像中の動きベクトルとユーザの入力操作とに基づいて表示対象とするフレームを決定する」という機能との親和性が高く、計算にかかる負荷や時間的コストを低くすることができる。
《第3実施形態》
本発明の第3実施形態として、処理対象とする映像情報に、往復運動をする被写体や同じ領域を移動する複数の被写体が含まれている場合の処理について説明する。
図22は、本実施形態において処理対象とする第5映像情報を示している。当該第5映像情報は、フレーム番号「10 frame」から途中の「20 frame」、「25 frame」を経て「35 frame」までの26枚のフレーム画像情報を含み、フレーム番号「15 frame」付近で画面の左端から右端に向かって右方向に消防車が通り過ぎ、その後フレーム番号「30 frame」付近で画面の右端から左端に向かって左方向にパトカーが通り過ぎる状況を撮影したものである。この映像情報内では、画面の中段付近のほぼ同じ水平領域を消防車とパトカーとがすれ違うように移動している。
このような第5映像情報が表示されている画面上で、ユーザが画面中央付近で右方向になぞるように操作を行ったときに、第1実施形態または第2実施形態で説明したように余弦(cos)関数により近似度の算出処理を行うと、当該なぞり操作の方向と略同方向である右方向(内角「0度」近く)へ動く被写体である消防車に対しても、略逆方向である左方向(内角「180度」近く)へ動く被写体であるパトカーに対しても、同等レベルの値が算出されることになる。つまり、1回のなぞり操作に対して2つの被写体の近似度が同等レベルで算出される。
このような場合、1回のなぞり操作が継続されている間、どちらかの被写体に特定して表示するように考慮されていなかったため、場合によってはなぞり操作により指定される位置座標情報がずれるたびに他方の被写体に表示が変更されてしまい、表示フレーム番号が飛び飛びになって適切に表示が行われないことがあった。適切に表示が行われないと、ユーザに対して被写体を掴んで動かしているかのような感覚を提供することができなかった。
また、往復運動をする被写体を含む映像情報、例えば人物が左右や上下に手を振るような動作を含む映像情報が表示されているときに、第1実施形態または第2実施形態で説明したように近似度の算出処理を行うと、当該手を振る動作の往動作に対しても復動作に対しても同等レベルの値が算出されることになり、場合によってはやはり、なぞり操作により指定される位置座標情報がずれるたびに表示フレーム番号が飛び飛びになって適切に表示が行われないことがあった。
この問題を解決するため本実施形態においては、1回のなぞり操作に対して操作開始時のなぞり操作の方向に基づいて1つの被写体を動き特定し、フレーム特定処理を行うようにする。
このように処理を行うことにより、ユーザの意向に沿って被写体の動き特定し、当該被写体を掴んで動かしているかのような感覚を提供することができる。
〈第3実施形態による映像再生装置の構成〉
本発明の第3実施形態による映像再生装置3の構成は、図1の映像再生装置1と同様であるため、同一機能を有する部分の詳細な説明は省略する。
本実施形態においてフレーム番号特定部19は、ユーザによる1回のなぞり操作の継続中に行われた折り返し操作の回数を計数する。折り返し操作とは、位置座標情報の移動方向が略逆方向に変更するようになぞる操作である。
そして、移動方向に基づいて算出される角度情報と、基準座標情報の動きベクトルに含まれる動き方向情報との近似度を、当該なぞる操作の継続中に計数された折り返し操作の回数が偶数回である場合には、角度情報で示される移動方向と基準座標情報の動き方向とが略同方向のときのほうが、略逆方向のときよりも高い値となるように第1近似度算出処理により算出する。
また、当該なぞる操作の継続中に計数された折り返し操作の回数が奇数回である場合には、角度情報で示される移動方向と基準座標情報の動き方向とが略逆方向のときのほうが、略同方向のときよりも高い値となるように第2近似度算出処理により算出する。
このように処理することで、折り返し操作が行われる都度、第1近似度算出処理と第2近似度算出処理とを交互に実行するように切り替えて、算出した近似度に基づいてフレーム番号を特定する。
〈第3実施形態による映像再生装置の動作〉
本実施形態による映像再生装置3の動作について、図2のフローチャートを参照して説明する。
まず、ユーザが処理対象とする映像情報を、映像再生装置1の映像情報記憶部11に記憶させる(S1)。本実施形態においては、第5映像情報を処理対象の映像情報として記憶させる。
処理対象の第5映像情報が記憶されると、当該映像情報のすべてのフレーム画像情報について、第1実施形態と同様に各基準座標情報に関し動き検出処理が実行される(図2のステップS2〜S4:ループA)。
次に、操作対象とする第5映像情報の最初のフレーム画像情報(フレーム番号「10 frame」のフレーム画像情報)が、表示部14に表示される(S5)。
そしてユーザにより、表示部14の画面上を用いてドラッグ操作やスワイプ操作などにより連続的に位置座標情報が入力されると(S6の「YES」)、当該操作中、表示フレーム番号特定部19において位置座標情報ごとに、表示対象とする画像情報のフレーム番号が特定される(S7)。
表示フレーム番号特定部19で、表示する画像情報のフレーム番号が位置座標情報ごとに特定されるときの処理について、図9のフローチャートを参照して詳細に説明する。
まず、最初のフレーム画像情報が表示された表示部14の画面上で、ユーザが、検出したい被写体の位置近辺で当該被写体の動きをおおまかになぞるようにマウスによるドラッグ操作、またはタッチパネルのスワイプ操作などを開始すると、これらの操作に基づいて連続して指定された位置座標情報が入力部18から入力される。
また、位置座標情報に加え、第1実施形態で説明した場合と同様に、各位置座標情報に関する角度情報が表示フレーム番号特定部19で取得される(S11)。さらに入力された位置座標情報について、近傍の基準座標情報が対応する座標情報として抽出される(S12)。
このとき、ユーザが特定の被写体、例えば消防車を直感的に掴んで動かすように表示させる目的で、1回のなぞり操作(1回のドラッグ操作やスワイプ操作)中に、図23に示すように右方向へのなぞり操作から、折り返して左方向へのなぞり操作を行う場合がある。
そこで表示フレーム番号特定部19では、1回のなぞり操作の継続中に略逆方向への折り返し操作が行われたか、つまり前回の角度情報から今回の角度情報が所定角度以上(例えば135度以上)変更されたことにより、なぞり操作の軌跡が折り返されたか否かが監視されている。
次に、当該操作対象とする第5映像情報のすべてのフレームについてそれぞれ、ユーザによる注目度を示す動きスコアが算出される(ループC)。ここで、各フレームにおける動きスコアの算出処理において、第1実施形態で説明した場合と同様にステップS12で抽出された各基準座標情報に関する動きベクトルの動き方向情報が取得され、さらにユーザの操作により入力された位置座標情報の角度情報と、対応する基準座標情報の動きベクトルの動き方向情報との近似度(ratio)が算出される(S13)。
本実施形態において近似度(ratio)が算出される際の処理について、図24のフローチャートを参照して説明する。
まず、なぞり操作が開始されると、上述したように表示フレーム番号特定部19における監視処理により折り返し操作が検知される都度、折り返し操作回数がインクリメントされて計数される(S31)。
次に、計数された折り返し回数が偶数か奇数かが判定される(S32)。ここで偶数であると判定されたとき(S32の「YES」)には、近似度算出式で利用する方向フラグ(flag)が「0」に設定される(S33)。また、奇数であると判定されたとき(S32の「NO」)には、当該方向フラグ(flag)が「1」に設定される(S34)。
次に、ユーザの操作による位置座標情報の移動方向と、対応する基準座標情報の動きベクトルの方向とのなす内角(angle)が取得され、当該内角(angle)が「0度以上45度未満」のとき(S35の「YES」)には、下記式(4)により近似度(ratio)が算出される(S36)。
また、内角(angle)が「135度超、180度以下」のとき(S35の「NO」、S37の「YES」)には、下記式(5)により近似度(ratio)が算出される(S38)。
また、「0度以上45度未満」および「135度超、180度以下」のどちらにも該当しないとき(S37の「NO」)、近似度が「0」として算出される(S39)。
方向フラグが「0」(flag=0)のとき、ステップS35〜S39により算出される近似度(ratio)と内角(angle)との関係をグラフに示すと、図25(a)のようになる。
図25(a)のグラフでは、内角「45度」〜「135度」のときは近似度が「0」であり、内角「45度」から「0度」に近づくにつれて近似度が大きくなり、「0度」のときが最大近似度「1」となる。また、内角「135度」から「180度」に近づくにつれて近似度が大きくなるが、「180度」のときの近似度は「0度」のときの半分の値の「0.5」となる。
つまり、往復するようになぞり操作が行われたときに、操作開始時および偶数回目の折り返し操作が行われ開始時と同方向への操作中は、なぞり操作の移動方向と基準座標情報の動き方向(被写体の動き方向)とが略同方向のときのほうが、略逆方向のときよりも高い近似度となることを示している。このように方向フラグが「0」(flag=0)のときに図25(a)のグラフで示すように近似度を算出する処理を、第1近似度算出処理と称する。
また方向フラグが「1」(flag=1)のとき、ステップS35〜S39により算出される近似度(ratio)と内角(angle)との関係をグラフに示すと、図25(b)のようになる。
図25(b)のグラフでは、内角「45度」〜「135度」のときは近似度が「0」であり、内角「135度」から「180度」に近づくにつれて近似度が大きくなり、「180度」のときが最大近似度「1」となる。また、内角「45度」から「0度」に近づくにつれて近似度が大きくなるが、「0度」のときの近似度は「180度」のときの半分の値の「0.5」となる。
つまり、往復するようになぞり操作が行われたときに、奇数回目の折り返し操作が行われ開始時と逆方向への操作中は、なぞり操作の移動方向と基準座標情報の動き方向(被写体の動き方向)とが略逆方向のときのほうが、略同方向のときよりも高い近似度となることを示している。このように方向フラグが「1」(flag=1)のときに図25(b)のグラフで示すように近似度を算出する処理を、第2近似度算出処理と称する。
図9のフローチャートに戻り、算出された近似度に基づいて各フレームの動きスコアが算出される(S14)。そしてさらに、映像情報中で最も動きスコアが大きいフレームのフレーム番号が特定され(S15、S16)、当該特定されたフレーム番号の画像情報が表示される(図2:S8)。
上述した処理について、第5映像情報が表示された画面の中段付近で図23のようになぞり操作が行われた場合を用いて、図26を用いて具体的に説明する。ここで、フレーム番号「15 frame」前後では消防車の動きに沿った右方向の動きベクトルが多く検出されており、フレーム番号「30 frame」前後ではパトカーの動きに沿った左方向の動きベクトルが多く検出されているものとする。
まず、図23の右側上段に示すように、ユーザが消防車の動きに着目して消防車の動きと同じ右方向へのなぞり操作を開始したとき(flag=0)の算出結果について、図26の中段に示す。
この右方向へのなぞり操作において、フレーム番号「15 frame」に対してはなぞり操作の方向と消防車の動きベクトルの方向とが一致し内角は0度になるため、近似度は「1」となる(図26中段中欄)。
一方で、フレーム番号「30 frame」に対してはなぞり操作の方向とパトカーの動きベクトルの方向とが逆になり内角は180度になるため、近似度は「0.5」となる(図26中段右欄)。
このように近似度が算出されたことにより、右方向へなぞり操作を開始したときには、右方向へ動く被写体を含むフレーム番号「15 frame」前後のフレーム画像情報が特定され、順方向に再生されることになる。
その後なぞり操作が左方向に折り返されたとき(flag=1)の算出結果について、図26の下段に示す。
この左方向へのなぞり操作において、フレーム番号「15 frame」に対してはなぞり操作の方向と消防車の動きベクトルの方向は逆になり内角が180度になっているが、折り返されたことにより図25(b)のグラフに対応して近似度が算出されるため、「1」となる(図26下段中欄)。
一方で、フレーム番号「30 frame」に対してはなぞり操作の方向とパトカーの動きベクトルの方向とが一致し内角は0度になるが、図25(b)のグラフに対応して近似度は「0.5」となる(図26下段右欄)。
このように近似度が算出されたことにより、左方向へ折り返されてなぞり操作が継続されているときには、フレーム番号「15 frame」前後のフレーム画像情報が逆方向に再生されることになる。
その後さらに折り返し操作が行われると折り返しの都度、フラグが「flag=0」と「flag=1」とで変更され、これにより第1近似度算出処理と第2近似度算出処理とが交互に実行されるように切り替えられる。そして1回のなぞり操作中に何度も折り返し操作が行われることで、図28に示すように、消防車が映っている「10 frame」〜「20 frame」の範囲の近似度が高くなり、この範囲の画像情報が順方向、逆方向に繰り返し再生され、ユーザは画像上で消防車を掴んで動かしているかのような感覚を得ることができる。
次に、図23の右側下段に示すように、ユーザがパトカーの動きに着目してパトカーの動きと同じ左方向へのなぞり操作を開始したとき(flag=0)の算出結果について、図27の中段に示す。
この左方向へのなぞり操作において、フレーム番号「15 frame」に対してはなぞり操作の方向と消防車の動きベクトルの方向とが逆になり内角は180度になるため、近似度は「0.5」となる(図27中段中欄)。
一方で、フレーム番号「30 frame」に対してはなぞり操作の方向とパトカーの動きベクトルの方向とが一致し内角は0度になるため、近似度は「1」となる(図27中段右欄)。
このように近似度が算出されたことにより、左方向へなぞり操作を開始したときには、左方向に移動する被写体を含むフレーム番号「30 frame」前後のフレーム画像情報が順方向に再生されることになる。
その後なぞり操作が右方向に折り返されたとき(flag=1)の算出結果について、図27の下段に示す。
この右方向へのなぞり操作において、フレーム番号「30 frame」に対してはなぞり操作の方向とパトカーの動きベクトルの方向は逆になり内角が180度になっているが、折り返されたことにより図25(b)のグラフに対応して近似度が算出されるため、「1」となる。
一方で、フレーム番号「15 frame」に対してはなぞり操作の方向と消防車の動きベクトルの方向とが一致し内角は0度になるが、図25(b)のグラフに対応して近似度は「0.5」となる。
このように近似度が算出されたことにより、右方向へ折り返されてなぞり操作が継続されているときには、フレーム番号「30 frame」前後のフレーム画像情報が逆方向に再生されることになる。
その後さらに折り返し操作が行われると折り返しの都度、フラグが「flag=0」と「flag=1」とで変更され、これにより第1近似度算出処理と第2近似度算出処理とが交互に実行されるように切り替えられる。そして、1回のなぞり操作中に何度も折り返し操作が行われることで、図28に示すように、パトカーが映っているフレーム番号「25 frame」〜「35 frame」の範囲の近似度が高くなり、この範囲の画像情報が順方向、逆方向に繰り返し再生されるため、ユーザは画像上でパトカーを掴んで動かしているかのような感覚を得ることができる。
上述したように処理が行われることにより、図22の第5映像情報のように、1本の映像情報中に同じ領域を異なる方向に動く複数の被写体があり、これらが異なるフレーム範囲に映っている場合、ユーザのなぞり操作の開始方向と似た動きベクトルを持つ被写体について、往復して掴んで動かす感覚を提供することが可能になる。時間軸上でみると、なぞり操作の開始時は順方向に再生を行い、その後折り返し操作が行われると逆方向に再生を行うように切り替え、さらに折り返し操作が繰り返し行われると順方向、逆方向の再生を順次切り替えるように処理が行われている。
本実施形態において、例えば図22の第5映像情報のフレーム番号「10 frame」〜「20 frame」のみで構成されたものを第6映像情報として想定すると、この第6映像情報には一方向に動く一つの被写体(消防車)が1回しか映っていない。
この場合、flag=0(図25の(a))且つ内角(angle)が180度の場合、または、flag=1(図25の(b))且つ内角(angle)が0度の場合にも、近似度は「0.5」が与えられ、動きスコアが算出される。
これにより、例えばユーザが消防車の動きと逆の方向からなぞり操作を始めたとしても、他のフレームで消防車の動きに対する動きスコアを超える動きがなければ、ユーザに消防車を掴んで動かしているかのような感覚を提供することができる。
上述した本実施形態による処理は、被写体が往復運動をしている場合や、水平以外の方向になぞり操作が行われた場合にも同様に、ユーザが注目する被写体の動きを検出することができる。
例えば図29に示すように、上下方向に往復動作をする被写体が映っている第7映像情報を処理対象とする場合について説明する。
第7映像情報は、フレーム番号「10 frame」から途中の「20 frame」を経て「30 frame」までの21枚のフレーム画像情報を含み、フレーム番号「10 frame」から「20 frame」にかけて人が手を上げ、フレーム番号「20 frame」を区切りに、フレーム番号「20 frame」から「30 frame」にかけて手を下げる動作を行うことで、手を上下方向に往復運動している状況を撮影したものである。
当該第7映像情報において、図29に示すように、フレーム番号「10 frame」と「20 frame」との間の「15 frame」前後では、画面の中段付近で上方向の動きベクトルが多く検出されており、フレーム番号「20 frame」と「30 frame」との間の「25 frame」前後では、画面の中段付近で下方向の動きベクトルが多く検出されている。
この場合も第5映像情報の処理のときと同様に、なぞり操作の開始時は、当該なぞり操作の方向と一致する(または近い)方向の動きベクトルを有するフレームで高い動きスコアが算出され、なぞり操作が折り返された後には、なぞり操作の方向と真逆(または真逆に近い)方向の動きベクトルを有するフレームで高い動きスコアが算出される。
その結果、図30に示すように、下から上方向に向かってなぞり操作を始め、折り返しにより往復するようになぞり操作が継続された場合、フレーム番号「10 frame」から「20 frame」の範囲が順方向、逆方向に順次切り替えられて繰り返し再生される。
逆に、上から下方向に向かってなぞり操作を始め、折り返しにより往復するようになぞり操作が継続された場合、フレーム番号「20 frame」から「30 frame」の範囲が順方向、逆方向に順次切り替えられて繰り返し再生される。
このような往復運動をしている被写体の動きを再生させる場合、往復するなぞり操作により実質的には往復双方の運動のすべてを再生できるわけではない。しかし、第7映像情報のように往と復とが見かけ上似ている動作の場合、上述したように順方向、逆方向の再生を繰り返すことで、ユーザ自身は被写体の往復運動を自ら操って操作しているような感覚を得ることができる。
以上の本実施形態によれば、往復運動や同じ領域をすれ違うような動作をする被写体が含まれた映像情報でも、操作感を損なうことなく、ユーザに所望の被写体を掴んで動かすような感覚を提供することができる。また、なぞり操作の開始方向によって、表示するフレームの選択、言い換えると掴んで動かす対象とする被写体の動きを選択することができる、という自由度も提供することができる。ユーザは、右方向に動いている被写体を掴んで動かすように操作したいと思ったときに、通常は右方向になぞり操作を開始させるため、このような有用な効果を得ることができる。
また、上記の各実施形態における映像再生装置の機能構成をプログラム化してコンピュータに組み込むことにより、当該コンピュータを映像再生装置として機能させる映像再生用プログラムを構築することも可能である。