以下、本発明の実施形態について、図面を参照して説明する。なお、図中同一又は相当する部分には同一符号を付す。
以下に説明する実施形態は説明のためのものであり、本発明の範囲を制限するものではない。したがって、当業者であれば下記の各構成要素を均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。また、以下の説明では、本発明の理解を容易にするため、重要でない公知の技術的事項の説明を適宜省略する。
(実施形態1)
実施形態1に係る動画生成装置は、物理的には図1に示すように構成される。動画生成装置1は、制御部10と、記憶部11と、操作部12と、表示部13と、I/F部14と、通信部15と、を備える。これら各部は、命令やデータを転送するための伝送経路であるシステムバスを介して相互に接続される。
制御部10は、例えばCPU(Central Processing Unit)10a、ROM(Read Only Memory)10b、RAM(Random Access Memory)10c、画像処理部10d等によって構成される。
制御部10では、CPU10aが、RAM10cをワークメモリとして用いてROM10bや記憶部11等に記憶されている各種プログラムを適宜実行することにより、動画生成装置1の各部の動作を制御する。また、制御部10では、画像処理部10dが、供給された画像(静止画及び動画)データを画像演算プロセッサによって加工処理し、フレームメモリに記録する。画像処理部10dは、画像データを重ね合わせ演算やアルファブレンディング等の透過演算、各種の飽和演算を実行できる。
記憶部11は、例えばハードディスクやフラッシュメモリのような不揮発性メモリ等によって構成される。記憶部11は、入力動画データや出力動画データ、また動画生成処理に必要となる各種情報を記憶する。
操作部12は、操作者によって操作され、各種の指示入力を受け付ける。操作部12は、例えばキーボードや各種の入力ボタン、マウス等によって構成される。あるいは、操作部12は、タッチセンサのような接触を検知する入力装置から構成されてもよい。操作者は、操作部12を操作して、動画生成の指示や、出力動画データの時間長の設定指示等を入力できる。
表示部13は、画像を表示する。表示部13は、例えばCRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)等のような表示装置(モニタ)と、表示コントローラとによって構成される。表示コントローラは、画像処理部10dによって加工され、フレームメモリに記録された画像データを所定の同期タイミングで表示信号に変換して表示装置に出力する。例えば、表示部13は、出力された動画を表示したり、動画生成における各処理の結果を表示したりする。
なお、操作部12と表示部13は、タッチパネル(タッチスクリーン)等によって構成されてもよい。この場合、タッチパネルに内蔵された入力装置と表示装置が、それぞれ操作部12と表示部13とを構成する。
I/F部14は、外部とのインターフェース(I/F)である。I/F部14は、例えば、メディアコントローラ等を備える読取書込装置によって構成される。制御部10は、I/F部14を介して、例えばフラッシュメモリを備えるメモリカードのような各種の記憶媒体に対してデータを読み書きする。
通信部15は、例えばモデム等の適宜の通信装置によって構成される。通信部15は、有線又は無線で、ネットワーク16に接続される。通信部15は、制御部10による制御のもと、例えばネットワーク16上にある入力動画データを受信したり、ネットワーク16を介して出力動画データを他の通信装置に送信したりすることができる。
また、動画生成装置1は、さらに音声処理部を備えてもよい。例えば、音声処理部は、制御部10の制御のもと、供給された音声データをアナログ信号に変換し、表示部13に表示される動画データの再生にあわせて変換された信号をスピーカから出力させる。
動画生成装置1は、機能的には図2に示すように構成される。動画生成装置1は、減少手段20と、指定手段21と、決定手段22と、繰返し手段23と、生成手段24と、を備える。これら各手段は、制御部10におけるCPU10a、ROM10b、RAM10c、画像処理部10d等が協働することによって実現される。
減少手段20は、1つ又は2つの入力動画データの画素数を、例えば画素を間引く又はビニングすることによって減少させる。減少手段20は、画素数が減少した動画データの情報を、指定手段21に供給する。
指定手段21は、減少手段20から供給された画素数が減少した動画データの時間区間である2つの探査区間であって、接合面を探査するための区間を指定する。指定手段21は、指定した2つの探査区間の情報を、決定手段22に供給する。
決定手段22は、指定手段21から供給された2つの探査区間の動画データを滑らかに接合するための接合面を、探査区間のそれぞれを分割する面のうちから、3次元グラフカットの手法を用いて決定する。決定手段22は、決定した接合面の情報を、繰返し手段23に供給する。
繰返し手段23は、減少手段20における画素数の減少率を下げ、且つ、決定手段22から供給された接合面を含むような時間長の区間に指定手段21が指定する2つの探査区間を狭めて、減少手段20、指定手段21、及び、決定手段22の処理を繰り返す。そのために、繰返し手段23は、減少率を下げ、そして探査区間を狭めた条件のもとでの繰返し処理の命令を減少手段20に送る。繰返し手段23は、減少手段20における画素数の減少率が0にまで下げられた条件のもとで接合面が決定されるまで、減少手段20、指定手段21、及び、決定手段22の処理を繰り返す。繰返し手段23は、決定手段22によって最終的に決定された接合面の情報を、生成手段24に供給する。
生成手段24は、繰返し手段23から供給された最終的に決定された接合面で、入力動画データの2つの区間の動画データを繋ぎ合わせて、出力動画データを生成する。
以下、実施形態1では、動画生成装置1が実行する処理のうち、1つの動画データのうちの2つの区間の動画データを繋ぎ合わせてループする動画データを生成する処理について説明する。
実施形態1に係る動画生成装置1は、図3に示すような動画生成処理を実行する。動画生成装置1は、1つの入力動画データ30aのうちの前方の区間の動画データと後方の区間の動画データを接合して、ループする新たな動画データ30bを生成する。入力動画データ30aが静止画データ31p〜31rを含む複数の静止画データによって構成される場合、新たな動画データ30bは、静止画データ31p〜31r等が繰り返される動画データとなる。
動画生成装置1は、入力動画データ30aのうちの前方の区間の動画データと後方の区間の動画データを接合する。そのために、動画生成装置1は、入力動画データ30aにおける前方と後方に位置する同じ形状の面であって、接合面周辺の動画データが滑らかに繋がるような接合面41aを決定する。そして、動画生成装置1は、この接合面41aを境界として、後方の接合面41aよりも前の動画データの後に前方の接合面41aよりも後の動画データが繋がるように、接合処理を行う。例えば、入力動画データ30a内の前方の接合面41aと後方の接合面41aとが時間長“D”だけ離れている場合、新たな動画データ30bは、入力動画データ30aを構成していた静止画データ31p〜31r等が、周期“D”の時間長で繰り返される動画データとなる。
前方に位置する接合面41aは、この面で入力動画データ30aを分割したときの前端となるため、以下では、前端面という。同様に、後方に位置する接合面41aは、この面で入力動画データ30aを分割したときの後端となるため、以下では、後端面という。
図3における動画データ30a,30bは、動画データを構成する複数の静止画データ31p,31q,31r等が、静止画における縦横の2次元座標が複数の静止画データ間で一致するように、すなわちモニタの同じ位置に表示されるべき画素が時間方向に重なるように、時系列順に並べられて示されている。このような時系列順に並べられた静止画群が占める空間を、以下では、動画空間という。動画空間内の任意の位置は、静止画の縦方向の座標(縦座標)と横方向の座標(横座標)、そして動画の時間方向の座標(時間座標)という3つの座標によって定義できる。
なお、一般的に、動画データにおける静止画データは、直前のフレームの静止画データとの差分のデータとして記憶される場合がある。しかし、そのような場合においても、動画空間を構成する静止画データは、各フレームにおいてモニタに表示されるべき静止画全体のデータを表すものとして、以下、説明する。
次に、図4を参照して、異なる区間の動画データを接合するための接合面を決定する処理の概要について説明する。
理解を容易にするために、図4は、入力動画データ30a等の動画データの動画空間を真横から見たときの様子、すなわち動画空間を縦方向及び時間方向の2次元の形式で表したときの様子を示す。動画生成装置1が実行する接合面の決定処理は、初期階層、中間階層、最終階層の3つの階層に分けることができる。
初期階層では、入力動画データ30aの画素を間引く又はビニングすることによって、動画空間における横方向・縦方向・時間方向のそれぞれの方向において画素数が所定の割合で減少した動画データ30cが生成される。そして、画素数が減少した動画データ30cの前方と後方の動画データを繋げて新たな動画データを生成するための接合面であって、前端面42aとなる接合面と後端面43aとなる接合面とが決定される。このとき、接合面周辺の動画データを滑らかに接合するために最適な前端面42aと後端面43aとは、画素数が減少した動画データ30c全体の探査区間(図4における斜線部)のうちから探査される。
中間階層では、初期階層よりも減少率が下げられ、初期階層よりも多くの画素を有する動画データ30dが、入力動画データ30aから生成される。そして、生成された動画データ30dにおいて、同様に、接合面周辺の動画データを滑らかに接合するために最適な前端面42bと後端面43bとが決定される。このとき、前端面42bの探査区間として、初期階層において決定された前端面42aを含む区間であって、初期階層における探査区間よりも短い区間が指定される。同様に、後端面43bの探査区間として、初期階層において決定された後端面43aを含む区間であって、初期階層における探査区間よりも短い区間が指定される。具体的には、中間階層における接合面の探査区間は、図4における中間階層の図において斜線で示されるような区間になる。
中間階層では、さらに直前の階層よりも低下した減少率と短縮された探査区間のもとで、接合面周辺の動画データを滑らかに接合するための最適な前端面と後端面とを決定する処理が繰り返される。例えば、動画データ30dよりも多くの画素を有する動画データ30eでは、前端面42bと後端面43bとが決定された探査区間よりも狭い区間において、前端面42cと後端面43cとが決定される。このように中間階層では、動画生成装置1は、画素数の減少率を1から0までの範囲で徐々に下げていき、減少率が下がれば下がるほど接合面の探査区間を狭めて、接合面周辺の動画データが最も滑らかに接合されるような前端面と後端面を決定する。
最終階層では、減少率が0に設定され、画素数が減少されない動画データ、すなわち元の入力動画データ30aにおけるさらに狭められた探査区間において、同様に、接合面周辺の動画データを滑らかに接合するための最適な前端面42dと後端面43dとが決定される。最終階層において決定された前端面42dと後端面43dが、最終的に入力動画データ30aから新たな動画データ30bを生成するための接合面となる。
このように、動画生成装置1は、探査区間が広い階層では、横方向・縦方向・時間方向のそれぞれの方向において画素数が削減された動画データのもとで最適な接合面を決定し、画素数を入力動画データ30aの元の画素数に徐々に近づけながら探査区間を決定された接合面周辺の区間に狭めていく。一般的な動画データにおける各画素の画素値は、隣接する複数の画素を通じて徐々に変化することが多く、画素1つ毎に大きく変化することは少ないため、接合面を粗い動画データから段階的に探査しても元の入力動画データにおける最適な接合面の位置と大きく異なってしまうことは少ないと考えられる。そのため、新たな動画データにおける接合面周辺の動画データが最も滑らかに接合される2つの接合面を、効率的に探査することができる。
以上のような実施形態1に係る動画生成装置1が実行する処理の流れについて、以下、図5に示すフローチャートを参照して説明する。
動画生成装置1において、まず制御部10が、動画生成の指示があったか否かを判別する(ステップS101)。制御部10は、例えば操作部12を介して操作者からの動画生成の指示があったか否かを判別する。
動画生成の指示がないと(ステップS101;NO)、処理はステップS101に留まる。すなわち、制御部10は、動画生成の指示があると判別されるまで、引き続き動画生成の指示があったか否かを判別する。
一方、動画生成の指示があったと判別されると(ステップS101;YES)、制御部10は、動画生成に用いる1つの入力動画データを取得する(ステップS102)。制御部10は、例えば記憶部11に記憶された動画データを読み出したり、I/F部14を介して各種の記憶媒体に記憶された動画データを読み出したり、通信部15を介してネットワーク16上にある動画データを受信したりすることによって入力動画データを取得する。
入力動画データを取得すると、制御部10は、出力動画データの最小周期を設定する(ステップS103)。すなわち、接合面となる前端面と後端面との間の時間長“D”が出力動画データの周期“D”となるため、前端面と後端面とが入力動画データ内のどの位置になるかによって出力動画データの周期が変わる。そのため、制御部10は、出力動画データの周期が極端に短くならないように、最低限の周期を設定する。
設定される最小周期は、予めROM10bや記憶部11に記憶されていてもよい。あるいは、操作者が、操作部12を介して生成したい新たな動画データの最低限の周期を入力し、最小周期として設定できるようにしてもよい。
出力動画データの最小周期を設定すると、動画生成装置1の処理は、画素数の減少率と接合面の探査区間を段階的に変化させて最適な接合面を決定する処理に移行する。
まず初期階層では、制御部10は、入力動画データの画素数を予め設定された減少率で減少させ(ステップS104)、画素数が減少した動画データを生成する。例えば、入力動画データを構成する複数の静止画データが横方向にM個及び縦方向にN個の合計M×N個の画素を有し、かつ、入力動画データのフレーム数がT個、すなわち入力動画データがT個の静止画データを有する場合、入力動画データの画素数は合わせてM×N×T個となる。制御部10は、このような入力動画データの画素数を、動画空間における横方向、縦方向、時間方向のそれぞれの方向において1/pに減少させ、(M/p)×(N/p)×(T/p)個の画素を有する動画データを生成する。
画素数を減少させる方法として、制御部10は、画素を間引いてもよいし、ビニングしてもよいし、他の方法を用いてもよい。画素を間引く場合、制御部10は、動画空間における横方向、縦方向、時間方向のそれぞれの方向において隣接するp個の画素ごとに、そのうちの1個の画素を残すように他の(p−1)個の画素を間引くことによって、画素数が減少した動画データを生成する。一方、ビニングする場合、制御部10は、動画空間における横方向、縦方向、時間方向のそれぞれの方向において隣接するp個の画素ごとに、これらの画素値の合計値又は平均値を画素値とする1個の画素にまとめることによって、画素数が減少した動画データを生成する。
なお、動画空間における横方向、縦方向、時間方向のそれぞれの方向において同じ割合で画素数を減少させることに限らず、制御部10は、それぞれの方向において異なる割合で画素数を減少してもよい。例えば、制御部10は、M×N×T個の画素を有する入力動画データの画素数を、横方向に1/m、縦方向に1/n、時間方向に1/tの割合で減少し、(M/m)×(N/n)×(T/t)個の画素を有する動画データを生成するようにしてもよい。
画素数が減少した動画データを生成すると、制御部10は、接合面の探査区間を、画素数が減少した動画データ全体を接合面の探査区間に指定する(ステップS105)。すなわち、図4に示したように、初期階層では、画素数が削減された動画データ30cの区間全体が動画データを接合するための最適な接合面となるべき前端面42aと後端面43aとを探査するための探査区間として指定される。
接合面の探査区間を指定すると、制御部10は、グラフカットの手法を用いて、探索区間内の動画データを接合するための接合面を決定する(ステップS106)。接合面の決定処理の詳細は、後述するように、図6のフローチャートに示される。
接合面を決定すると、制御部10は、画素数を減少させた際の減少率が0であるか否かを判別する(ステップS107)。初期階層では、減少率は複数の階層の中で最大の値であって0ではないため、ステップS107ではNOと判別される。そして、動画生成装置1の処理は、中間階層の処理へと移行する。
中間階層では、制御部10は、画素数を減少させる際の減少率を下げ(ステップS108)、初期階層で用いられた減少率よりも低い減少率に変更する。そして、変更した減少率で入力動画データの画素数を横方向・縦方向・時間方向それぞれの方向において減少させた動画データを生成する。このときの減少率を下げる程度の情報は、予めROM10bや記憶部11に記憶されていてもよいし、操作部12を介して操作者によって設定できるようにしてもよい。
初期階層よりも多くの画素を有する動画データを生成すると、制御部10は、探査区間を狭める(ステップS109)。図4の例を参照して説明すると、制御部10は、中間階層における動画データ30dにおける前端面42bを探査するための探査区間を、初期階層において決定された前端面42aを含むような動画データの一部の区間に狭めて指定し直す。同様に、制御部10は、後端面43bを探査するための探査区間を、初期階層において決定された後端面43aを含むような動画データの一部の区間に狭めて指定し直す。
そして、動画生成装置1の処理はステップS106に戻り、制御部10は、グラフカットの手法を用いて、幅が狭められて指定された探索区間内の動画データを接合するための接合面を決定する(ステップS106)。そして、再び制御部10は、変更された減少率が0であるか否かを判別する(ステップS107)。
このように、ステップS107においてYESと判別されるまで、すなわち減少率が0に設定されるまで、ステップS106〜S109の処理が繰り返される。すなわち、制御部10は、最終階層において画素の間引き又はビニングがされない元の入力動画データでの最適な接合面が決定されるまで、探査区間を徐々に狭め、画素数を徐々に増やしながら最適な接合面を繰り返し探査する。
最終階層の処理まで実行され、画素数の減少率が0であると判別されると(ステップS107;YES)、制御部10は、最終的に決定された接合面で入力動画データをループさせた出力動画データを生成する(ステップS110)。そして、動画生成処理は終了する。
図3の例を用いて具体的に説明すると、制御部10は、入力動画データ30aのうちの後端面である接合面41aよりも前であって前端面である接合面41aよりも後の動画データが繰り返し繋ぎ合わされた新たな動画データ30bを生成する。生成された動画データ30bは、例えば記憶部11に保存され、制御部10の制御のもと表示部13を介して再生表示されたり、I/F部14や通信部15を介して外部に提供されたりする。
以下、接合面の決定処理(図5のフローチャートにおけるステップS106の処理)の詳細について、図6のフローチャートを参照して説明する。
接合面の決定処理が開始されると、制御部10は、指定された2つの探査区間における周縁フレーム及び隣接項を設定する(ステップS201)。
周縁フレームとは、探査区間の動画データを時間方向において前後に分割するような接合面を決定するために設定されるフレームである。周縁フレームの概要を、図7を参照して説明する。図7は、ある階層において、画素の間引き又はビニングがされた動画データ30fを真横から見た様子を示す。縦方向及び時間方向の2次元状に拡がって描かれた格子のそれぞれは、動画空間の横方向、縦方向、及び、時間方向において画素の間引き又はビニングがされた後の動画データにおける1つの画素を表す。
制御部10は、その階層において指定された探査区間の最初のフレームと最後のフレームを、それぞれ周縁フレームに設定する。図7の例では、後端面を探査すべき第1の探査区間51a及び前端面を探査すべき第2の探査区間51bにおける最初のフレームと最後のフレーム(図7において斜線が付されたフレーム)が、それぞれ周縁フレーム52a〜52dに設定される。接合面が周縁フレームの画素を横切るように定められると接合面が指定された探査区間内に収まらなくなるため、制御部10は、接合面が周縁フレーム52a〜52dを横切らないという条件のもと、接合面を決定する。
なお、初期階層では、後端面を探査すべき第1の探査区間と前端面を探査すべき第2の探査区間としてともに動画データの区間全体が指定されるため、周縁フレームは、動画データの最初のフレームと最後のフレームの2つとなる。
一方、隣接項とは、探査区間における画素のそれぞれに対応付けられた項であって、探査区間の動画データを接合する際に滑らかに接合するための指標となるものである。以下、隣接項について、図8を参照して説明する。
図8の上段の図は、第1の探査区間の動画データ及び第2の探査区間の動画データの画素であって、横方向と縦方向において同じ位置にある9つの画素を拡大した様子を示す。斜線で表された中心の画素とその周囲の画素に付された値は、画素の色の輝度を表す値である。理解を容易にするために、本実施形態では、各画素は1つの値を有する、すなわち各動画データはグレースケールの動画であるとして説明する。
制御部10は、第1の探査区間の動画データの画素と第2の探査区間の動画データの画素であって、動画空間において横座標と縦座標とが同じ位置にある2つの画素の画素値の差分を計算する。そして、制御部10は、2つの動画データの各画素について計算した差分の絶対値によって表される差分データを生成する。具体的に、図8の上段に示された画素の画素値の差分の絶対値がとられた差分データは、図8の中段に示される差分データのようになる。例えば、2つの動画データにおける斜線で表された中心の画素から生成される差分データの値は、画素値“5”と画素値“7”の差分の絶対値である“2”の値となる。
差分データを生成すると、制御部10は、差分データにおいて隣接する2つの値の和を計算することによって隣接項を求める。そして、制御部10は、探査区間の動画データの画素と画素との間に対応させて、求めた隣接項を設定する。例えば、図8の中段に示された差分データのうちの中央の値に対して縦方向及び時間方向に隣接する値との間では、図8の下段に示されるような4つの隣接項53a〜53dが設定される。具体的に説明すると、隣接項53aの値は“2”と“0”との和である“2”と設定され、隣接項53bの値は“2”と“1”との和である“3”と設定され、隣接項53cの値は“2”と“3”との和である“5”と設定され、隣接項53dの値は“2”と“5”との和である“7”と設定される。
なお、動画空間における横方向も考慮すると、さらに2つの隣接項が設定できる。すなわち、1つの画素には最大で6つの隣接項が対応付けられる。制御部10は、このような隣接項の設定を、第1の探査区間における画素と、この画素と横座標と縦座標が同じであって、ステップS103において設定された最小周期の値以上時間長が離れた第2の探査区間における画素との組合せのそれぞれについて行い、設定された隣接項を探査区間の隣接する2つの画素のそれぞれの画素間に対応付けて、RAM10cに記憶する。
より一般的に説明すると、2つの探査区間のうちの一方の探査区間における隣接する2つの画素の値がそれぞれ“A”と“B”であって、他方の探査区間においてこの2つの画素と横方向と縦方向において同じ位置にある隣接する2つの画素の値が“C”と“D”であるときの隣接項の値は、これらの画素の値の差分の絶対値を加算した値、すなわち“|A−C|+|B−D|”と表される。AとCが等しく、且つ、BとDも等しい場合、すなわち、2つの探査区間で横座標と縦座標とが同じ画素の値が隣接する2つの画素のいずれについても等しい場合、隣接項の値は最小値である0となる。一方、2つの探査区間で横座標と縦座標とが同じ画素の値の差が大きくなればなるほど、隣接項の値は大きくなる。
図6のフローチャートに戻って、探査区間の周縁フレーム及び隣接項を設定すると、制御部10は、第2の探査区間において、前端面の候補を1つ選択し(ステップS202)、第1の探査区間において、後端面の候補を1つ選択する(ステップS203)。そして、制御部10は、候補として選択された前端面と後端面とで探査区間内の動画データを接合したときのコストを計算する(ステップS204)。
図9は、図7と同様に、第1の探査区間51aの動画データと第2の探査区間51bの動画データ30fの動画空間を真横から見た様子を示す。制御部10は、第1の探査区間51aの動画データと第2の探査区間51bの動画データとを接合して1つの新たな動画データを生成するための接合面であって、第1の探査区間51aと第2の探査区間51bとで、同じ形状の前端面と後端面の候補を1組選択する。
制御部10は、例えば前端面の候補44aと後端面の候補45aのように、探査区間内の動画空間を画素単位で、すなわち、画素数が削減された動画データ30fにおける1つのフレームの静止画データ内において横方向・縦方向に隣接する2つの画素の間、及び、時間方向に連続する2つのフレームの間、のいずれも通ることが可能な折れ曲がった面を選択する。また、制御部10は、探査区間における動画空間を時間方向に前後に分割するため、前端面が周縁フレーム52a,52bを横切らないという条件、及び、後端面が周縁フレーム52c,52dを横切らないという条件にも基づいて、前端面と後端面の候補を選択する。
このとき、制御部10は、ステップS103において設定した出力動画データの最小周期の値も制約として加えて、前端面の候補44aと後端面の候補45aとを選ぶ。出力動画データの繰り返し周期の時間長は、動画データ30fにおける前端面の候補44aと後端面の候補45aとの間の時間長“D”となる。そのため、制御部10は、この時間長“D”があらかじめ設定された出力動画データの繰り返し周期の最小値以上になるように、前端面の候補44aと後端面の候補45aとを選ぶ。
制御部10は、候補として選択した前端面と後端面とで探査区間内の動画データを接合したときのコストを計算する。接合面のコストは、その接合面を用いたときの接合面周辺の動画データの滑らかさの指標であって、予め定義される。具体的には、接合面のコストは、第1の探査区間51aと第2の探査区間51bとの動画データを接合した場合に、接合面を挟んで隣接する2つの画素の間に設定された隣接項の値を、接合面を挟んで横方向・縦方向・時間方向に隣接する2つの画素の組合せのそれぞれについて加算した値として定義される。
図10は、前端面の候補44aと後端面の候補45aとを接合面41bとして第1の探査区間51aと第2の探査区間51bとの動画データとを接合した様子を示す。斜線を破線で付した画素は、接合面41bを挟んで隣接する2つの画素のうちの、第1の探査区間51aの動画データを構成していた画素である。これらの画素は、矢印を付した方向において、接合面41bと接する。
制御部10は、これらの画素と、接合面41bを挟んで隣接する第2の探査区間51bの動画データの画素と、の間に設定された隣接項を選択する。隣接項は、接合面41bを挟んで隣接する2つの画素の組合せの数(図10の例では矢印の数)だけ選択される。そして、制御部10は、選択した隣接項の値の和を計算し、計算した値をこの接合面41bのコストとしてRAM10cに記憶する。
再び図6のフローチャートに戻って、候補として選択された前端面と後端面を接合面とした場合のコストを計算すると、制御部10は、後端面の候補の探査を完了したか否かを判別する(ステップS205)。すなわち、制御部10は、第1の探査区間51aにおいて選択可能な後端面の候補のそれぞれを選択して、それを前端面と組み合わせた場合の接合面のコストを計算し終えたか否かを判別する。
後端面の探査を完了していないと(ステップS205;NO)、制御部10は、第1の探査区間51a内の後端面の別の候補を1つ選択する(ステップS206)。すなわち、制御部10は、第1の探査区間51aにおける動画空間内を画素単位で分割する面であって、選択された前端面と同じ形状の面のうちすでにコストを計算した後端面の候補とは異なる面を選択する。このとき、制御部10は、前端面の候補との間の時間長が設定された最小周期の時間長以上となるように、後端面の別の候補を選択する。
後端面の別の候補を選択すると、接合面の決定処理はステップS204に戻り、制御部10は、新たに候補として選択した後端面と既に選択した前端面とで接合したときのコストを計算する。このように、制御部10は、選択された前端面と組み合せ可能な後端面の候補のそれぞれを選択して、それらを用いた場合の接合面のコストを計算し終えるまで、ステップS204〜S206の処理を繰り返す。
後端面の探査を完了すると(ステップS205;YES)、次に制御部10は、前端面の探査を完了したか否かを判別する(ステップS207)。すなわち、制御部10は、第2の探査区間51bにおいて選択可能な前端面の候補のそれぞれを選択して、それを後端面と組み合わせた場合の接合面のコストを計算し終えたか否かを判別する。
前端面の探査を完了していないと(ステップS207;NO)、制御部10は、第2の探査区間51b内の前端面の別の候補を1つ選択する(ステップS208)。すなわち、制御部10は、第2の探査区間51bにおける動画空間内を画素単位で分割する面のうち、すでにコストを計算した前端面とは異なる面を選択する。
前端面の別の候補を選択すると、接合面の決定処理はステップS203に戻り、制御部10は、新たに候補として選択した前端面と組み合せ可能な後端面を選択し、それらを用いた場合の接合面のコストを計算する。このように、制御部10は、第1の探査区間51aの後端面の候補と第2の探査区間51bの前端面の候補との組合せのうち、選択可能な組合せのそれぞれを選択して、それらを用いた場合の接合面のコストを計算し終えるまで、ステップS203〜S208の処理を繰り返す。
その後、前端面の探査を完了すると(ステップS207;YES)、制御部10は、RAM10cに記憶された接合面の候補のコストを比較して、計算されたコストのうち最小のものを接合面として決定する(ステップS209)。その後、図6のフローチャートにおける接合面の決定処理は終了する。
このように、制御部10は、3次元グラフカットの手法に基づいて、2つの探査区間の動画データを接合するための接合面のコストを計算し、コストが最小の接合面を選択する。コストが最小の接合面を選択することによって、接合面を挟んで横方向・縦方向・時間方向に隣接する画素の画素値の、接合される前の動画データとの画素値との差がなるべく少なくなるように、2つの区間の動画データを接合することができる。
制御部10は、このような接合面の決定処理を、探査区間を徐々に狭め、画素数を徐々に増やしながら複数の階層にわたって実行する。探査区間の幅を狭めて指定する様子を、図11を参照して説明する。
図11は、第N階層において最終的に決定された後端面43eと、第N+1階層における探査区間の幅の関係を示す。第N+1階層の動画データ30gは、横方向・縦方向・時間方向の各方向において第N階層の動画データ30fよりも2倍の画素を有する。第N階層において決定された後端面43eは、第1の探査区間51a内において時間方向に画素3個分の幅“W”をもつ。
この後端面43eは、第N階層の動画データ30fにおける画素単位の精度で決定された最もコストが低い接合面であるため、次の第N+1階層で最適な接合面を探査するには、直前の第N階層で決定した接合面の前後1画素分の範囲に限定すればよい。そのため、制御部10は、第N階層において決定された後端面43eの幅の前後に画素1つ分の時間方向の幅“U”を加算した値“W+2U”を、第N+1階層における後端面を探査すべき第1の探査区間51cの時間長として設定する。なお、制御部10は、前端面を探査すべき第2の探査区間についても、同様に新たな探査区間の時間長を設定する。
このように、各階層における接合面の探査区間の時間長を、直前の階層において決定された接合面が占める時間方向の幅の前後にこの階層における画素1つ分の幅を加算した値の時間長に狭めて設定することで、過不足のない範囲に絞って最適な接合面を探査することができる。
以上説明したように、実施形態1の動画生成装置1は、1つの入力動画データのうちの2つの区間の動画データを繋げてループさせた新たな動画データを生成する。その際、動画生成装置1は、3次元グラフカットの手法を用いてコストが最小となる接合面を、入力動画データの画素数を減らした動画データから元の入力動画データまで、探査区間を徐々に狭め、画素数を徐々に増やしながら階層的に探査する。そのため、2つの区間の動画データを空間方向及び時間方向に滑らかに接合するために最適な接合面を、計算量を抑制しつつ、入力動画データのなるべく広い範囲から見つけることができる。
(実施形態2)
次に、本発明の実施形態2について説明する。実施形態1では、1つの入力動画データ30aのうちの後方の区間の動画データの後に前方の区間の動画データを繋ぎ合わせてループする動画データ30bを生成する処理について説明した。これに対し、実施形態2では、動画生成装置1が実行する処理のうち、2つの入力動画データを繋げて新たな1つの動画データを生成する処理について説明する。
実施形態2に係る動画生成装置1は、実施形態1における図1及び図2と同様な物理構成及び機能構成を備えるため、ここでは説明を省略する。
実施形態1に係る動画生成装置1は、図12に示すような動画生成処理を実行する。動画生成装置1は、2つの入力動画データである第1の動画データ30pと第2の動画データ30qとを接合して、新たな動画データ30rを生成する。第1の動画データ30pが静止画データ31a〜31cから始まる複数の静止画データによって構成され、第2の動画データ30qが静止画データ31x〜31zで終わる複数の静止画データによって構成される場合、新たな動画データ30rは、静止画データ31a〜31cから始まり静止画データ31x〜31zで終わる動画データとなる。
動画生成装置1は、新たな動画データ30rを生成するための接合面として、第1の動画データ30pと第2の動画データ30qとで同じ形状の面であって、接合面周辺の動画データが滑らかに繋がるような接合面41pを決定する。そして、動画生成装置1は、この接合面41pを境界として、第1の動画データ30pの後に第2の動画データ30qが繋がるように、接合処理を行う。例えば、第1の動画データ30pの先頭と接合面41pとの間の時間長が“D1”であり、第2の動画データ30qの末尾と接合面41pとの間の時間長が“D2”である場合、新たな動画データ30rは、先頭から末尾まで“D1+D2”の時間長を有する動画データとなる。
実施形態2に係る動画生成装置1が実行する処理の流れについて、以下、図13に示すフローチャートを参照して説明する。
動画生成装置1において、まず制御部10が、動画生成の指示があったか否かを判別する(ステップS301)。制御部10は、例えば操作部12を介して操作者からの動画生成の指示があったか否かを判別する。
動画生成の指示がないと(ステップS301;NO)、処理はステップS301に留まる。すなわち、制御部10は、動画生成の指示があると判別されるまで、引き続き動画生成の指示があったか否かを判別する。
一方、動画生成の指示があったと判別されると(ステップS301;YES)、制御部10は、動画生成に用いる2つの入力動画データを取得する(ステップS302)。制御部10は、例えば記憶部11に記憶された動画データを読み出したり、I/F部14を介して各種の記憶媒体に記憶された動画データを読み出したり、通信部15を介してネットワーク16上にある動画データを受信したりすることによって2つの入力動画データを取得する。
2つの入力動画データを取得すると、制御部10は、出力動画データの最小時間長を設定する(ステップS303)。すなわち、接合面となる前端面と後端面とが2つの入力データ内のどの位置になるかによって、出力動画データの先頭から末尾までの時間長が変わる。そのため、制御部10は、出力動画データの時間長が極端に短くならないように、最低限の時間長を設定する。
設定される最小時間長は、予めROM10bや記憶部11に記憶されていてもよい。あるいは、操作者が、操作部12を介して生成したい新たな動画データの最低限の長さを入力し、最小時間長として設定できるようにしてもよい。
出力動画データの最小時間長を設定すると、動画生成装置1の処理は、画素数の減少率と接合面の探査区間を段階的に変化させて最適な接合面を決定する処理に移行する。
まず初期階層では、制御部10は、2つの入力動画データの画素数を予め設定された減少率で減少させ(ステップS304)、画素数が減少した2つの動画データを生成する。すなわち、制御部10は、2つの入力動画データを構成する複数の静止画データ内において横方向と縦方向に並べられた画素、及び、2つの入力動画データのフレーム数を減らす。画素数を減少させる方法として、制御部10は、実施形態1と同様、画素を間引いてもよいし、ビニングしてもよい。
画素数が減少した動画データを生成すると、制御部10は、画素数が減少した2つの動画データ全体を接合面の探査区間に指定する(ステップS305)。すなわち、初期階層では、第1の動画データの区間全体が後端面を探査するための第1の探査区間に指定され、第2の動画データの区間全体が前端面を探査するための第2の探査区間に指定される。
接合面の探査区間を指定すると、制御部10は、グラフカットの手法を用いて、探索区間内の動画データを接合するための接合面を決定する(ステップS306)。接合面の決定処理の詳細は、2つの入力動画データのうちの第1の動画データにおける接合面が後端面となり、第2の動画データにおける接合面が前端面として対応させることで、図6のフローチャートを用いて実施形態1と同様に説明できる。そのため、ここでは説明を省略する。
接合面を決定すると、制御部10は、画素数を減少させた際の減少率が0であるか否かを判別する(ステップS307)。初期階層では、減少率は複数の階層の中で最大の値であって0ではないため、ステップS307ではNOと判別される。そして、動画生成装置1の処理は、中間階層の処理へと移行する。
中間階層では、制御部10は、画素数を減少させる際の減少率を下げ(ステップS308)、初期階層で用いられた減少率よりも低い減少率に変更する。そして、変更した減少率で2つの入力動画データの画素数を減少させた2つの動画データを生成する。
初期階層よりも多くの画素を有する動画データを生成すると、制御部10は、探査区間を狭める(ステップS309)。すなわち、制御部10は、中間階層における動画データにおいて前端面を探査するための探査区間を、初期階層において決定された前端面を含むような動画データの一部の区間に狭めて指定し直す。同様に、制御部10は、後端面を探査するための探査区間を、初期階層において決定された前端面を含むような動画データの一部の区間に狭めて指定し直す。
そして、動画生成装置1の処理はステップS306に戻り、制御部10は、グラフカットの手法を用いて、幅が狭められて指定された探索区間内の動画データを接合するための接合面を決定する(ステップS306)。そして、再び制御部10は、変更された減少率が0であるか否かを判別する(ステップS307)。このように、最終階層において減少率が0に設定され、画素の間引き又はビニングがされない元の入力動画データでの最適な接合面が決定されるまで、ステップS306〜S309の処理が繰り返される。
例えば、ある中間階層において接合面を決定する様子を図14に示す。制御部10は、画素数が削減された第1の動画データ30sと第2の動画データ30tを接合するための接合面であって、第1の探査区間51pと第2の探査区間51qとで同じ形状の前端面の候補44pと後端面の候補45pを1組選択する。
このとき、制御部10は、ステップS303において設定した出力動画データの最小時間長の値も制約として加えて、前端面の候補44pと後端面の候補45pとを選ぶ。出力動画データの先頭から末尾までの時間長は、第1の動画データ30sの先頭から後端面の候補45pまでの時間長“D1”と、第2の動画データ30tの末尾から前端面の候補44pまでの時間長“D2”と、の和として表される。そのため、制御部10は、この和“D1+D2”があらかじめ設定された出力動画データの時間長の最小値以上となるように、前端面の候補44pと後端面の候補45pとを選ぶ。
図13のフローチャートに戻って、最終階層の処理まで実行され、画素数の減少率が0であると判別されると(ステップS307;YES)、制御部10は、最終的に決定された接合面で2つの入力動画データを繋げた出力動画データを生成する(ステップS310)。そして、動画生成処理は終了する。
図12の例を用いて具体的に説明すると、制御部10は、第1の動画データ30pのうちの後端面である接合面41pよりも前の動画データと、第2の動画データ30qのうちの前端面である接合面41pよりも後の動画データが繋ぎ合わされた新たな動画データ30rを生成する。生成された動画データ30rは、例えば記憶部11に保存され、制御部10の制御のもと、表示部13を介して再生表示されたり、I/F部14や通信部15を介して外部に提供されたりする。
以上説明したように、実施形態2の動画生成装置1は、2つの入力動画データを接合して新たな1つの動画データを生成する。その際、動画生成装置1は、3次元グラフカットの手法を用いてコストが最小となる接合面を、入力動画データの画素数を減らした動画データから元の入力動画データまで、探査区間を徐々に狭め、画素数を徐々に増やしながら階層的に探査する。そのため、2つの区間の動画データを空間方向及び時間方向に滑らかに接合するために最適な接合面を、計算量を抑制しつつ、入力動画データのなるべく広い範囲から見つけることができる。
(他の実施形態)
以上に本発明の実施形態1及び2について説明したが、これらの実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、本発明の実施形態は種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
例えば、上記実施形態では、1つ又は2つの入力動画データの区間全体が、接合面の決定処理の初期階層における接合面の探査区間に指定され、区間全体において選択可能な接合面の候補のうちから最適な接合面が決定された。しかし、本発明では、初期階層における接合面の探査区間として、入力動画データの区間全体が指定されることに限らず、入力動画データの一部の区間が指定されてもよい。例えば、操作者が接合させたい部分があらかじめ入力動画データ内の一部の区間に限定されているような場合、初期階層における接合面の探査区間を入力動画データの一部の区間に限定する方が、入力動画データの区間全体に設定するより効果的である。
入力動画データのどの区間を初期階層における探査区間に指定するべきかの情報は、予めROM10bや記憶部11に記憶されていてもよいし、操作部12を介して操作者から受け付けられてもよい。探査区間は、例えば動画データの先頭又は末尾からの秒数やフレーム数のように、時間長を用いて指定されてもよい。また、例えば動画データの第Mフレームから第Nフレームまでの区間のように、区間の始期と終期を用いて指定されてもよい。
また、出力動画データの最小周期や最小時間長を設定するかわりに、初期階層における接合面の探査区間として入力動画データの一部の区間を指定することによって、操作者が、出力動画データの周期や時間長を調整できるようにしてもよい。あるいは、出力動画データの最小周期又は最小時間長と、初期階層における接合面の探査区間との両方を設定できるようにしてもよい。
また、上記実施形態に係る動画生成装置1は、初期階層から最終階層までのいずれの階層においても、探査区間の動画データの隣接する2つの画素のうち横方向・縦方向・時間方向のいずれの方向に隣接する2つの画素の間も通ることが可能な折れ曲がった面を、接合面の候補として選択した。しかし、例えば、画素数の減少率が相対的に大きい前半の階層では、横方向・縦方向・時間方向のうち時間方向に隣接する2つの画素の間のみを通る面であって、動画空間を時間方向に垂直に分割する面を接合面として選ぶようにしてもよい。そして、画素数の減少率が相対的に小さい後半の階層では、横方向・縦方向・時間方向のうちいずれの方向に隣接する2つの画素の間を通ることができる折れ曲がった面のうちから接合面の候補を選ぶようにしてもよい。
このように動画空間における横方向・縦方向・時間方向のうち、階層が進んで画素数の減少率が所定の閾値以下となるまでは時間方向に隣接する2つの画素の間のみを通る面を接合面とすることによって、浅い階層では候補となる接合面の数が抑制される。そのため、接合面の決定処理をさらに効率化することができる。
また、本発明の動画生成装置は、各階層において接合面を決定して次の階層の処理へ移行する際の入力動画データの画素数の減少率を下げる程度を、決定された接合面のコストの大きさに応じて変更するようにしてもよい。ある階層において決定された接合面のコストが相対的に小さい場合は、最適な接合面をすぐに見つけられる可能性が高い。一方、接合面のコストが相対的に大きい場合は、最適な接合面を見つけるためには多くの階層に分けて手間をかけて探査したようがよいと考えられる。
そのため、例えば接合面のコストが小さくなるほど減少率の低下度が大きくなるような接合面のコストと減少率の低下度の関係をROM10bや記憶部11に記憶しておき、制御部10が、記憶された関係に基づいて入力動画データの画素数を減少させ、接合面を探査する階層数を減らすようにしてもよい。これにより、より効率的に最適な接合面を探査することができるようになる。
また、上記実施形態では、接合面のコストは、接合面を挟んで隣接する2つの画素の間に対応付けられた隣接項の、接合面を挟んで隣接する2つの画素の組合せのそれぞれについての和として定義された。しかし、本発明の動画生成処理における接合面のコストは、このような定義に限らない。例えば、上記の和は、隣接項の値の自乗について計算されてもよい。その他にも、接合面のコストは、計算に用いられる隣接項の値が大きくなるほどコストが大きくなるような定義の仕方であれば、どのように定義されてもよい。
また、上記実施形態では、各動画データはグレースケールの動画であって、各画素は1つの画素値を有するとして説明した。しかし、本発明の動画生成装置が動画生成処理を実行するための入力動画データ及び出力動画データは、グレースケールの動画に限らない。例えば、動画データの各画素は、R(レッド)、G(グリーン)、B(ブルー)、の3つの画素値を有してもよい。
このようなカラーの動画データを扱う場合、上述した隣接項の設定処理や接合面のコストの計算処理において、RGBの3つの画素値のそれぞれについて独立に処理が行われてもよい。あるいは、1つの画素が有するRGBの3つの画素値を1つのベクトル値として、上記の処理が行われてもよい。
また、上記実施形態では、減少率が0に設定されるまで、探査区間を徐々に狭め、画素数を徐々に増やしながら最適な接合面を繰り返し探査するとして説明した。しかし、所望の解像度、或いは画素数を満たす減少率が設定されるまで、探査区間を徐々に狭め、画素数を徐々に増やしながら最適な接合面を繰り返し探査し、所望の解像度、或いは画素数の動画データを探査された接合面で接合してもよい。これにより、入力動画データから所望の解像度、或いは画素数の動画データが接合された動画データを生成することができる。
また、動画生成装置1は、操作部12と表示部13とを備えなくともよい。例えば、動画生成装置1は、操作部12と表示部13を備えたクライアント端末とネットワーク16を介して接続されたサーバ装置のように機能してもよい。この場合、動画生成装置1は、クライアント端末の操作部12によって受け付けられた指示入力を、通信部15を介して受け付ける。また、動画生成装置1は、処理の結果を示す画像データを、通信部15を介してクライアント端末に送信し、クライアント端末の表示部13に画像を表示する。
なお、本発明に係る機能を実現するための構成を予め備えた動画生成装置として提供できることはもとより、プログラムの適用により、既存のパーソナルコンピュータや情報端末機器等を、本発明に係る動画生成装置として機能させることもできる。すなわち、上記実施形態で例示した動画生成装置1による各機能構成を実現させるためのプログラムを、既存のパーソナルコンピュータや情報端末機器等を制御するCPU等が実行できるように適用することで、本発明に係る動画生成装置1として機能させることができる。また、本発明に係る動画生成方法は、動画生成装置1を用いて実施できる。
また、このようなプログラムの適用方法は任意である。プログラムを、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、メモリカード等のコンピュータ読み取り可能な記憶媒体に格納して適用できる。さらに、プログラムを搬送波に重畳し、インターネットなどの通信媒体を介して適用することもできる。例えば、通信ネットワーク上の掲示板(BBS:Bulletin Board System)にプログラムを掲示して配信してもよい。そして、このプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
(付記1)
動画データの画素数を減少させる減少手段と、
前記減少手段によって画素数が減少した動画データの時間区間である第1の区間と第2の区間とを指定する指定手段と、
前記第1の区間の動画データ及び前記第2の区間の動画データを構成する複数の静止画データの2次元座標が揃うように該複数の静止画データが時系列順に並べられた静止画群が占める空間における、前記2次元座標の横方向に隣接する2つの画素の間、前記2次元座標の縦方向に隣接する2つの画素の間、及び、前記静止画群の時間方向に隣接する2つの画素の間、を通って該空間を分割する面であって、前記第1の区間における該面よりも前の動画データと前記第2の区間における該面よりも後の動画データとを接合するための接合面を決定する決定手段と、
前記減少手段における画素数の減少率を下げ、且つ、前記指定手段が指定する前記第1の区間及び前記第2の区間のそれぞれを該それぞれの区間において決定された前記接合面を含むような区間に狭めて、前記減少手段、前記指定手段、及び、前記決定手段の処理を、繰り返し実行する繰返し手段と、
前記第1の区間における接合面よりも前の動画データと、前記第2の区間における接合面よりも後の動画データと、が順に繋ぎ合わされた動画データを生成する生成手段と、
を備える動画生成装置。
(付記2)
前記指定手段は、1つの動画データの時間区間を前記第1の区間として指定し、該1つの動画データの一部の時間区間であって前記第1の区間よりも前の区間を前記第2の区間として指定し、
前記生成手段は、前記1つの動画データのうちの前記第1の区間における接合面よりも前であって前記第2の区間における接合面よりも後の動画データが繰り返し繋ぎ合わされた動画データを生成する、
ことを特徴とする付記1に記載の動画生成装置。
(付記3)
前記決定手段は、前記第1の区間における接合面と前記第2の区間における接合面との間の時間長が前記生成される動画データの繰り返し周期のあらかじめ設定された最小値以上となるように、前記接合面を決定する、
ことを特徴とする付記2に記載の動画生成装置。
(付記4)
前記指定手段は、2つの動画データのうちの第1の動画データの時間区間を前記第1の区間として指定し、該2つの動画データのうちの第2の動画データの時間区間を前記第2の区間として指定し、
前記生成手段は、前記第1の動画データのうちの前記第1の区間における接合面よりも前の動画データと、前記第2の動画データのうちの前記第2の区間における接合面よりも後の動画データと、が順に繋ぎ合わされた動画データを生成する、
ことを特徴とする付記1に記載の動画生成装置。
(付記5)
前記決定手段は、前記第1の動画データの先頭から前記第1の区間における接合面までの時間長と、前記第2の動画データの末尾から前記第2の区間における接合面までの時間長と、の和が前記生成される動画データの先頭から末尾までの時間長のあらかじめ設定された最小値以上となるように、前記接合面を決定する、
ことを特徴とする付記4に記載の動画生成装置。
(付記6)
前記決定手段は、前記静止画群が占める空間において隣接する2つの画素の間を通る前記接合面の候補のうち、該接合面の候補を挟んで隣接する2つの画素に対応付けられた隣接項の値の、該接合面の候補を挟んで隣接する2つの画素の組合せのそれぞれについての加算値が最小となる接合面の候補を、前記接合面として決定する、
ことを特徴とする付記1乃至5のいずれか1つに記載の動画生成装置。
(付記7)
前記隣接項の値は、前記接合面の候補を挟んで隣接する2つの画素のうち、
一方の画素の画素値と、前記第1の区間と前記第2の区間のうち該一方の画素が属する区間と異なる区間において該接合面の候補の位置を基準に該一方の画素と同じ位置にある画素の画素値と、の差と、
他方の画素の画素値と、前記第1の区間と前記第2の区間のうち該他方の画素が属する区間と異なる区間において該接合面の候補の位置を基準に該他方の画素と同じ位置にある画素の画素値と、の差と、
の和として定められる、
ことを特徴とする付記6に記載の動画生成装置。
(付記8)
前記繰返し手段は、前記決定された接合面の前記加算値が小さいほど前記減少手段における画素数の減少率を下げる程度を大きくする、
ことを特徴とする付記6又は7に記載の動画生成装置。
(付記9)
前記繰返し手段は、前記指定手段が指定する前記第1の区間及び前記第2の区間のそれぞれを該それぞれの区間において決定された前記接合面が占める時間長の前後に該それぞれの区間における画素1つの時間長を加算した時間長の区間に狭めて、前記減少手段、前記指定手段、及び、前記決定手段の処理を、繰り返し実行する、
ことを特徴とする付記1乃至8のいずれか1つに記載の動画生成装置。
(付記10)
前記決定手段は、前記減少手段における画素数の減少率が所定の閾値以下となるまでは、前記静止画群が占める空間における前記時間方向に隣接する2つの画素の間を通って該空間を該時間方向に垂直に分割する面を前記接合面として決定する、
ことを特徴とする付記1乃至9のいずれか1つに記載の動画生成装置。
(付記11)
前記繰返し手段は、前記減少率を0に下げた場合における前記減少手段、前記指定手段、及び、前記決定手段の処理が実行されるまで繰り返す、
ことを特徴とする付記1乃至10のいずれか1つに記載の動画生成装置。
(付記12)
動画データの画素数を減少させる減少ステップと、
前記減少ステップによって画素数が減少した動画データの時間区間である第1の区間と第2の区間とを指定する指定ステップと、
前記第1の区間の動画データ及び前記第2の区間の動画データを構成する複数の静止画データの2次元座標が揃うように該複数の静止画データが時系列順に並べられた静止画群が占める空間における、前記2次元座標の横方向に隣接する2つの画素の間、前記2次元座標の縦方向に隣接する2つの画素の間、及び、前記静止画群の時間方向に隣接する2つの画素の間、を通って該空間を分割する面であって、前記第1の区間における該面よりも前の動画データと前記第2の区間における該面よりも後の動画データとを接合するための接合面を決定する決定ステップと、
前記減少ステップにおける画素数の減少率を下げ、且つ、前記指定ステップで指定する前記第1の区間及び前記第2の区間のそれぞれを該それぞれの区間において決定された前記接合面を含むような区間に狭めて、前記減少ステップ、前記指定ステップ、及び、前記決定ステップの処理を、繰り返し実行する繰返しステップと、
前記第1の区間における接合面よりも前の動画データと、前記第2の区間における接合面よりも後の動画データと、が順に繋ぎ合わされた動画データを生成する生成ステップと、
を含むことを特徴とする動画生成方法。
(付記13)
コンピュータに、
動画データの画素数を減少させる減少機能、
前記減少機能によって画素数が減少した動画データの時間区間である第1の区間と第2の区間とを指定する指定機能、
前記第1の区間の動画データ及び前記第2の区間の動画データを構成する複数の静止画データの2次元座標が揃うように該複数の静止画データが時系列順に並べられた静止画群が占める空間における、前記2次元座標の横方向に隣接する2つの画素の間、前記2次元座標の縦方向に隣接する2つの画素の間、及び、前記静止画群の時間方向に隣接する2つの画素の間、を通って該空間を分割する面であって、前記第1の区間における該面よりも前の動画データと前記第2の区間における該面よりも後の動画データとを接合するための接合面を決定する決定機能、
前記減少機能における画素数の減少率を下げ、且つ、前記指定機能で指定する前記第1の区間及び前記第2の区間のそれぞれを該それぞれの区間において決定された前記接合面を含むような区間に狭めて、前記減少機能、前記指定機能、及び、前記決定機能の処理を、繰り返し実行する繰返し機能、
前記第1の区間における接合面よりも前の動画データと、前記第2の区間における接合面よりも後の動画データと、が順に繋ぎ合わされた動画データを生成する生成機能、
を実現させることを特徴とするプログラム。