JP2013247468A - 動画生成装置、動画生成方法、及び、プログラム - Google Patents

動画生成装置、動画生成方法、及び、プログラム Download PDF

Info

Publication number
JP2013247468A
JP2013247468A JP2012118898A JP2012118898A JP2013247468A JP 2013247468 A JP2013247468 A JP 2013247468A JP 2012118898 A JP2012118898 A JP 2012118898A JP 2012118898 A JP2012118898 A JP 2012118898A JP 2013247468 A JP2013247468 A JP 2013247468A
Authority
JP
Japan
Prior art keywords
moving image
image data
section
pixel
pixels
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012118898A
Other languages
English (en)
Other versions
JP5924127B2 (ja
Inventor
Hiroshi Maeno
泰士 前野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2012118898A priority Critical patent/JP5924127B2/ja
Publication of JP2013247468A publication Critical patent/JP2013247468A/ja
Application granted granted Critical
Publication of JP5924127B2 publication Critical patent/JP5924127B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】異なる2つの区間の動画データを滑らかに接合して新たな動画データを生成するのに好適な動画生成装置、動画生成方法、及び、プログラムを提供する。
【解決手段】動画生成装置1において、指定手段20は、1つ又は2つの動画データにおける2つの区間を指定する。決定手段21は、2つの区間の動画データを滑らかに接合するための接合面を決定する。選択手段22は、接合面を挟んで隣接する2つの画素を含む画素列であって、横方向、縦方向、及び、時間方向に並んだ画素列を、合成対象の画素列として選択する。合成手段23は、選択された合成対象の画素列の画素と対応画素とを合成することによって、第1の区間の動画データと第2の区間の動画データとを合成した動画データを生成する。生成手段24は、合成された動画データと、指定された2つの区間外の動画データとが繋ぎ合わされた動画データを生成する。
【選択図】図2

Description

本発明は、動画生成装置、動画生成方法、及び、プログラムに関する。
2つの動画を繋ぎ合わせて1つの動画を生成する、又は、1つの動画の先頭と末尾を繋げてループする動画を生成する技術がある。このような接合された動画を生成する技術において、異なる区間の動画データを滑らかに繋げ、その接合部分をなるべく目立たせないようにするための手法が開発されている。
例えば、接合部分周辺の一定の区間において2つの動画データを合成し、その合成割合を時間的に滑らかに変化させる手法がある。また、非特許文献1は、3次元のグラフカットの手法を利用して、2つの動画データを接合可能な接合面のうち接合部分が最も滑らかになるような接合面を決定し、決定された接合面を境界として2つの動画データを接合する技術を開示している。
Graphcut Textures: Image and Video Synthesis Using Graph Cuts, V.Kwatra, A.Schodl, I.Essa, G.Turk, A.Bobick, SIGGRAPH2003
上記の2つの動画データを合成し、その合成割合を変化させる手法では、接合部分の動画データがぼやけて不明瞭になるなど、かえって不自然になる場合がある。また、グラフカットの手法を利用して決定された最適な接合面を用いて2つの動画データを接合したとしても、不連続となる接合部分が存在し、その部分が不自然に目立ってしまうことが避けられない場合がある。
本発明は、以上のような課題を解決するためのものであり、異なる2つの区間の動画データを滑らかに接合して新たな動画データを生成するのに好適な動画生成装置、動画生成方法、及び、プログラムを提供することを目的とする。
上記目的を達成するため、本発明に係る動画生成装置は、
動画データの時間区間である第1の区間と第2の区間とを指定する指定手段と、
前記第1の区間の動画データ及び前記第2の区間の動画データを構成する複数の静止画データの2次元座標が揃うように該複数の静止画データが時系列順に並べられた静止画群が占める空間における、前記2次元座標の横方向に隣接する2つの画素の間、前記2次元座標の縦方向に隣接する2つの画素の間、及び、前記静止画群の時間方向に隣接する2つの画素の間、を通って該空間を分割する面であって、前記第1の区間における該面よりも前の動画データと前記第2の区間における該面よりも後の動画データとを接合するための接合面を決定する決定手段と、
前記第1の区間における前記決定された接合面よりも前の動画データと前記第2の区間における前記決定された接合面よりも後の動画データとを該接合面を境界として接合された動画データの画素のうちから、それぞれが前記接合面を挟んで隣接する2つの画素を含む画素列であって、前記横方向に並んだ画素列、前記縦方向に並んだ画素列、及び、前記時間方向に並んだ画素列を、合成対象の画素列として選択する選択手段と、
前記選択された合成対象の画素列の画素と、前記第1の区間と前記第2の区間のうち該合成対象の画素列の画素が属する区間と異なる区間において前記接合面の位置を基準に該合成対象の画素列の画素と同じ位置にある対応画素と、を合成することによって、前記第1の区間の動画データと前記第2の区間の動画データとを合成した動画データを生成する合成手段と、
前記第1の区間が指定された動画データのうちの該第1の区間よりも前の区間の動画データと、前記合成された動画データと、前記第2の区間が指定された動画データのうちの該第2の区間よりも後の区間の動画データと、が順に繋ぎ合わされた動画データを生成する生成手段と、
を備える。
本発明によれば、異なる2つの区間の動画データを滑らかに接合して新たな動画データを生成することができる。
本発明の実施形態に係る動画生成装置の物理構成の一例を示す図である。 本発明の実施形態に係る動画生成装置の機能構成の一例を示す図である。 実施形態1に係る動画生成処理の概要を示す図である。 実施形態1に係る動画生成装置の処理の流れを示すフローチャートである。 実施形態1に係る接合面の決定処理の流れを示すフローチャートである。 実施形態1に係る周縁フレームを説明するための図である。 実施形態1に係る隣接項を説明するための図である。 実施形態1に係る接合面を説明するための図である。 実施形態1に係る接合面のコストを説明するための図である。 実施形態1に係る動画データの合成処理の流れを示すフローチャートである。 実施形態1に係るアルファブレンドすべき画素を説明するための図である。 実施形態1において、隣接項の値に基づいてアルファチャンネルを設定する様子を示す図である。 実施形態1において、接合面周辺の画素のそれぞれをアルファブレンドする様子を示す図である。 実施形態1において、1つの画素に2つのアルファチャンネルが設定される様子を示す図である。 実施形態2に係る動画生成処理の概要を示す図である。 実施形態2に係る動画生成装置の処理の流れを示すフローチャートである。
以下、本発明の実施形態について、図面を参照して説明する。なお、図中同一又は相当する部分には同一符号を付す。
以下に説明する実施形態は説明のためのものであり、本発明の範囲を制限するものではない。したがって、当業者であれば下記の各構成要素を均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。また、以下の説明では、本発明の理解を容易にするため、重要でない公知の技術的事項の説明を適宜省略する。
(実施形態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つの入力動画データのうちの異なる2つの接合区間を指定する。動画生成装置1は、指定された2つの接合区間の動画データを接合することによって、新たな動画データを生成する。指定手段20は、指定した2つの接合区間の情報を、決定手段21に供給する。
決定手段21は、指定手段20から供給された2つの接合区間の動画データを滑らかに接合するための接合面を、接合区間のそれぞれを分割する面のうちから、3次元グラフカットの手法を用いて決定する。決定手段21は、決定した接合面の情報を、選択手段22に供給する。
選択手段22は、決定手段21から供給された接合面の周辺の動画データの画素のうちから、一方の接合区間の動画データの画素と他方の接合区間の動画データの画素とによって合成すべき画素列、すなわち合成対象の画素列を選択する。選択手段22は、選択した画素列の情報を、合成手段23に供給する。
合成手段23は、選択手段22から供給された合成対象の画素列の画素を、2つの接合区間の動画データにおいて接合面を基準として同じ位置にある対応画素と合成することによって、2つの接合区間の動画データを合成した動画データを生成する。合成手段23は、合成した動画データを、生成手段24に供給する。
生成手段24は、合成手段23から供給された合成された動画データと、入力動画データのうち接合区間外の動画データを繋ぎ合わせて、出力動画データを生成する。
以下、実施形態1では、動画生成装置1が実行する処理のうち、2つの動画データを接合して新たな1つの動画データを生成する処理について説明する。
実施形態1に係る動画生成装置1は、図3に示すような動画生成処理を実行する。動画生成装置1は、第1の動画データ30aと第2の動画データ30bとを接合する。第1の動画データ30aは、静止画データ31a〜31cから始まる複数の静止画データによって構成される。第2の動画データ30bは、静止画データ31x〜31zで終わる複数の静止画データによって構成される。
動画生成装置1は、第1の動画データ30aと第2の動画データ30bとを接合して、静止画データ31a〜31cから始まり、静止画データ31x〜31zで終わる新たな1つの動画データ30cを生成する。そのために、動画生成装置1は、2つの動画データ30a,30bのうちの一部の区間である第1の接合区間40aと第2の接合区間40bとを指定する。そして、動画生成装置1は、第1の接合区間40aと第2の接合区間40bを接合した新たな接合区間40cを生成し、接合区間40c内の接合面41aを境界として第1の動画データ30aと第2の動画データ30bを繋ぎ合わせた新たな動画データ30cを生成する。
図3における動画データ30a,30b,30cは、動画データを構成する複数の静止画データ31a〜31c,31x〜31z等が、静止画における縦横の2次元座標が複数の静止画データ間で一致するように、すなわちモニタの同じ位置に表示されるべき画素が時間方向に重なるように、時系列順に並べられて示されている。このような時系列順に並べられた静止画群が占める空間を、以下では、動画空間という。動画空間内の任意の位置は、静止画の縦方向の座標(縦座標)と横方向の座標(横座標)、そして動画の時間方向の座標(時間座標)という3つの座標によって定義できる。
なお、一般的に、動画データにおける静止画データは、直前のフレームの静止画データとの差分のデータとして記憶される場合がある。しかし、そのような場合においても、動画空間を構成する静止画データは、各フレームにおいてモニタに表示されるべき静止画全体のデータを表すものとして、以下、説明する。
実施形態1に係る動画生成装置1が実行する処理の流れについて、以下、図4に示すフローチャートを参照して説明する。
動画生成装置1において、まず制御部10が、動画生成の指示があったか否かを判別する(ステップS101)。制御部10は、例えば操作部12を介して操作者からの動画生成の指示があったか否かを判別する。
動画生成の指示がないと(ステップS101;NO)、処理はステップS101に留まる。すなわち、制御部10は、動画生成の指示があると判別されるまで、引き続き動画生成の指示があったか否かを判別する。
一方、動画生成の指示があったと判別されると(ステップS101;YES)、制御部10は、動画生成に用いる2つの入力動画データを取得する(ステップS102)。制御部10は、例えば記憶部11に記憶された動画データを読み出したり、I/F部14を介して各種の記憶媒体に記憶された動画データを読み出したり、通信部15を介してネットワーク16上にある動画データを受信したりすることによって、2つの入力動画データを取得する。
2つの入力動画データを取得すると、制御部10は、取得した2つの動画データのそれぞれについて1つの接合区間、すなわち、あわせて2つの接合区間を指定する(ステップS103)。図3の例を用いて具体的に説明すると、制御部10は、取得した2つの入力動画データのうち、第1の動画データ30aの末尾を含む第1の接合区間40aを指定し、第2の動画データ30bの先頭を含む第2の接合区間40bを指定する。
動画データのどの区間を接合区間に指定するべきかの情報は、予めROM10bや記憶部11に記憶されていてもよいし、操作部12を介して操作者から受け付けられてもよい。接合区間は、例えば動画データの先頭又は末尾からの秒数やフレーム数のように、時間長を用いて指定されてもよい。また、例えば動画データの第Mフレームから第Nフレームまでの区間のように、区間の始期と終期を用いて指定されてもよい。なお、接合区間は、動画データの先頭と末尾のどちらも含まなくてもよい。
2つの接合区間を指定すると、制御部10は、グラフカットの手法を用いて、2つの接合区間の動画データを滑らかに接合するための接合面を決定する(ステップS104)。接合面の決定処理の詳細は、後述するように、図5のフローチャートに示される。
接合面を決定すると、制御部10は、接合面の周辺の動画データを合成する(ステップS105)。動画データの合成処理の詳細は、後述するように、図10のフローチャートに示される。
動画データを合成すると、制御部10は、2つの入力動画データを繋げた新たな動画データを生成する(ステップS106)。図3の例を用いて具体的に説明すると、制御部10は、第1の動画データ30aのうちの第1の接合区間40aよりも前の区間の動画データと、接合区間40cにおける合成された動画データと、第2の動画データ30bのうちの第2の接合区間40bよりも後の区間の動画データと、が順に繋ぎ合わされた新たな動画データ30cを生成する。生成された動画データは、例えば記憶部11に保存され、制御部10の制御のもと、表示部13を介して再生表示されたり、I/F部14や通信部15を介して外部に提供されたりする。その後、図4のフローチャートにおける動画生成処理は終了する。
以下、接合面の決定処理(図4のフローチャートにおけるステップS104の処理)の詳細について、図5のフローチャートを参照して説明する。
接合面の決定処理が開始されると、制御部10は、指定された2つの接合区間における周縁フレーム及び隣接項を設定する(ステップS201)。
周縁フレームとは、接合区間の動画データを時間方向において前後に分割するような接合面を決定するために設定されるフレームである。周縁フレームの概要を、図6を参照して説明する。図6は、第1の動画データ30aと第2の動画データ30bの動画空間を真横から見た様子を示す。縦方向及び時間方向の2次元状に拡がって描かれた格子のそれぞれは、フレーム1つ分の静止画データにおける1つの画素を表す。
なお、理解を容易にするため、図6では、縦方向に8つの画素が配置され、第1の接合区間40a及び第2の接合区間40bはフレーム8つ分の時間長を有するように描かれているが、本発明の画素数及び接合区間のとり方は、これらに限られない。例えば、画素数は動画の解像度に応じてどのような値が用いられてもよいし、接合区間の時間長はどのように定められてもよい。
制御部10は、第1の接合区間40a及び第2の接合区間40bにおける最初のフレームと最後のフレーム(図6において斜線が付されたフレーム)を、それぞれ周縁フレーム42a〜42dに設定する。接合面が周縁フレームの画素を横切るように定められると接合面が指定された接合区間内に収まらなくなるため、制御部10は、接合面が周縁フレーム42a〜42dを横切らないという条件のもと、接合面を決定する。
一方、隣接項とは、接合区間における画素のそれぞれに対応付けられた項であって、2つの接合区間の動画データを接合する際に滑らかに接合するための指標となるものである。以下、隣接項について、図7を参照して説明する。
図7の上段の図は、図6に示した動画空間を真横から見た第1の動画データ30aと第2の動画データ30bの、第1の接合区間40aと第2の接合区間40bとにおいて同じ位置にある9つの画素を拡大した様子を示す。同じ位置にある画素とは、2つの接合区間において横方向、縦方向、及び、接合区間の第1フレームを基準とした時間方向の座標が一致する位置にある画素をいう。斜線で表された中心の画素とその周囲の画素に付された値は、画素の色の輝度を表す値である。理解を容易にするために、本実施形態では、各画素は1つの値を有する、すなわち各動画データはグレースケールの動画であるとして説明する。
制御部10は、第1の動画データ30aと第2の動画データ30bとで同じ位置にある画素の画素値の差分を計算する。そして、制御部10は、2つの動画データ30a,30bの各画素について計算した差分の絶対値によって表される差分データを生成する。具体的に、図7の上段に示された画素の画素値の差分の絶対値がとられた差分データは、図7の中段に示される差分データのようになる。例えば、2つの動画データにおける斜線で表された中心の画素から生成される差分データの値は、画素値“5”と画素値“7”の差分の絶対値である“2”の値となる。
差分データを生成すると、制御部10は、差分データにおいて隣接する2つの値の和を計算することによって隣接項を求める。そして、制御部10は、接合区間の動画データの画素と画素との間に対応させて、求めた隣接項を設定する。例えば、図7の中段に示された差分データのうちの中央の値に対して縦方向及び時間方向に隣接する値との間では、図7の下段に示されるような4つの隣接項43a〜43dが設定される。具体的に説明すると、隣接項43aの値は“2”と“0”との和である“2”と設定され、隣接項43bの値は“2”と“1”との和である“3”と設定され、隣接項43cの値は“2”と“3”との和である“5”と設定され、隣接項43dの値は“2”と“5”との和である“7”と設定される。
なお、動画空間における横方向も考慮すると、さらに2つの隣接項が設定できる。すなわち、1つの画素には最大で6つの隣接項が対応付けられる。制御部10は、このような隣接項の設定を、接合区間の画素のそれぞれについて行い、設定された隣接項を接合区間の隣接する2つの画素のそれぞれの画素間に対応付けて、RAM10cに記憶する。
より一般的に説明すると、2つの接合区間のうちの一方の接合区間における隣接する2つの画素の値がそれぞれ“A”と“B”であって、他方の接合区間においてこの2つの画素と同じ位置にある隣接する2つの画素の値が“C”と“D”であるときの隣接項の値は、同じ位置にある画素の値の差分の絶対値を加算した値、すなわち“|A−C|+|B−D|”と表される。AとCが等しく、且つ、BとDも等しい場合、すなわち、2つの接合区間で互いに同じ位置にある画素の値が隣接する2つの画素のいずれについても等しい場合、隣接項の値は最小値である0となる。一方、2つの接合区間で互いに同じ位置にある画素の値の差が大きくなればなるほど、隣接項の値は大きくなる。
図5のフローチャートに戻って、接合区間の周縁フレーム及び隣接項を設定すると、制御部10は、接合区間内の接合面の候補を1つ選択する(ステップS202)。そして、制御部10は、候補として選択した接合面のコストを計算する(ステップS203)。
図8は、図6と同様に、第1の動画データ30aと第2の動画データ30bの動画空間を真横から見た様子を示す。制御部10は、第1の動画データ30aと第2の動画データ30bとを接合して1つの新たな動画データを生成するための接合面であって、第1の接合区間40aと第2の接合区間40bとで、同じ位置にあり、同じ形状の接合面の候補を1つ選択する。
制御部10は、例えば接合面の候補44のように、接合区間における動画空間を画素単位で、すなわち、1つの静止画データ内において横方向・縦方向に隣接する2つの画素の間、及び、時間方向に連続する2つの静止画データの間、のいずれも通ることが可能な折れ曲がった面を選択する。また、制御部10は、接合区間における動画空間を時間方向に前後に分割するため、接合面が周縁フレーム42a〜42dを横切らないという条件にも基づいて、接合面の候補を選択する。
制御部10は、候補として選択した接合面のコストを計算する。接合面のコストは、第1の接合区間40aと第2の接合区間40bとを滑らかに接合するための指標として予め定義される。具体的には、接合面のコストは、第1の接合区間40aと第2の接合区間40bとを接合した場合に、接合面を挟んで隣接する2つの画素の間に設定された隣接項の値を、接合面を挟んで横方向・縦方向・時間方向に隣接する2つの画素の組合せのそれぞれについて加算した値として定義される。
図9は、接合面の候補44を境界として第1の動画データ30aと第2の動画データ30bとを接合した様子を示す。斜線を破線で付した画素は、接合面の候補44を挟んで隣接する2つの画素のうちの、第1の動画データ30aを構成していた画素である。これらの画素は、矢印を付した方向において、接合面の候補44と接する。
制御部10は、これらの画素と、接合面の候補44を挟んで隣接する第2の動画データ30bの画素と、の間に設定された隣接項を選択する。隣接項は、接合面を挟んで隣接する2つの画素の組合せの数(図9の例では矢印の数)だけ選択される。そして、制御部10は、選択した隣接項の値の和を計算し、計算した値をこの接合面の候補44のコストとしてRAM10cに記憶する。
再び図5のフローチャートに戻って、候補として選択された接合面のコストを計算すると、制御部10は、接合区間内の接続面の候補の探査を完了したか否かを判別する(ステップS204)。すなわち、制御部10は、接合区間において選択可能な接合面の候補のそれぞれを選択してそのコストを計算し終えたか否かを判別する。
探査を完了していないと(ステップS204;NO)、制御部10は、接合区間内の接合面の別の候補を1つ選択する(ステップS205)。すなわち、制御部10は、接合区間における動画空間内を画素単位で分割する面のうち、すでにコストを計算した接合面とは異なる面を選択する。
そして、接合面の決定処理は、ステップS203に戻り、制御部10は、候補として選択した接合面の候補のコストを計算する。このように、制御部10は、接合区間において選択可能な接合面の候補のそれぞれを選択してそのコストを計算し終えるまで、ステップS203〜S205の処理を繰り返す。
その後、探査を完了すると(ステップS204;YES)、制御部10は、RAM10cに記憶された接合面の候補のコストを比較して、コストが計算された接合面の候補のうち、最小コストのものを接合面として決定する(ステップS206)。その後、図5のフローチャートにおける接合面の決定処理は終了する。
このように、制御部10は、3次元グラフカットの手法に基づいて、2つの接合区間の動画データを接合するための接合面のコストを計算し、コストが最小の接合面を選択する。コストが最小の接合面を選択することによって、接合面を挟んで横方向・縦方向・時間方向に隣接する画素の画素値の、接合される前の動画データとの画素値との差がなるべく少なくなるように、2つの動画データを接合することができる。
以下、動画データの合成処理(図4のフローチャートにおけるステップS105の処理)の詳細について、図10のフローチャートを参照して説明する。以下では、動画データを合成するために、アルファブレンド合成の技術を用いる。
動画データの合成処理が開始されると、制御部10は、第1の動画データ30aと第2の動画データ30bにおける接合面の周辺の画素のうちから、アルファブレンドすべき画素列を選択する(ステップS301)。そして、制御部10は、選択された画素列の画素にアルファチャンネルを設定する(ステップS302)。アルファチャンネルの設定について、図11及び図12を参照して説明する。
制御部10は、決定された接合面41bを境界として、第1の接合区間40aにおける接合面41bよりも前の動画データと第2の接合区間40bにおける接合面41bよりも後の動画データとを接合した場合に、この動画空間において接合面41bに垂直な方向において一列に並んだ複数の画素のうちからアルファブレンドすべき画素列を選択する。具体的に図11を参照して、接合面41bを挟んで横方向に隣接する2つの画素32a,32bを含み、横方向に一列に並んだ複数の画素に着目して説明する。
制御部10は、接合面41bを挟んで隣接する2つの画素32a,32bの間に設定された隣接項の値に基づいて、このような一列に並んだ複数の画素のうちアルファブレンドすべき画素列の画素数を計算する。そのために、制御部10は、接合面を決定する際に計算された画素32aと画素32bの間に対応付けられて記憶された隣接項の値を、RAM10cから取得する。そして、制御部10は、隣接項の値が大きいほど、アルファブレンドすべき画素列として、多くの画素数の画素列を、一列に並んだ複数の画素のうちから選択する。
図12を参照して説明すると、図12(a)のように隣接項の値が相対的に小さい場合、制御部10は、接合面41bに垂直な方向において一列に並んだ複数の画素におけるブレンド幅を小さく設定し、少ない画素数の画素列33aを選択することによって、アルファブレンドすべき画素数を抑える。一方、図12(b)のように隣接項の値が相対的に大きい場合、制御部10は、ブレンド幅を大きく設定し、多くの画素数の画素列33bを選択することによって、アルファブレンドすべき画素数を増やす。
すなわち、隣接項の値が小さいということは、接合面41bを境界として接合した2つの動画データの連続性が高いということであるため、多くの画素を用いてアルファブレンドする必要がない。これに対して、隣接項の値が大きいということは、接合面41bを境界として接合した2つの動画データの不連続性が高いということであるため、ブレンド幅を大きく設定し、多くの画素を用いて徐々に不連続性を解消する。
アルファブレンドすべき画素数を設定すると、制御部10は、設定した画素数の画素列を、2つの画素32a,32bを含んで横方向に一列に並んだ複数の画素のうちから選択する。そして、制御部10は、選択した画素列の画素のそれぞれに、0と1の間のいずれかの値であるアルファチャンネル(アルファ値)を設定する。このようにアルファチャンネルを設定することによって、選択した画素列の画素のそれぞれは、後述するアルファブレンドの処理において、接合面41bの位置を基準として他方の動画データにおいてこの画素と同じ位置にある対応画素とアルファブレンド合成される。
アルファチャンネルは、一方の動画データの画素から他方の動画データの画素へ向けて、その値が0から1へ又は1から0へ滑らかに変化するように設定される。図12の例では、左から右へ向けて、第1の動画データ30aの画素に設定されるアルファチャンネルは1から0へ滑らかに変化し、第2の動画データ30bの画素に設定されるアルファチャンネルは0から1へ滑らかに変化する。また、ブレンド幅の外側の画素はアルファブレンドされないため、アルファチャンネルは1又は0である。
図12の例では、接合面41bから画素列33a,33bの画素のそれぞれまでの画素数を入力変数とするシグモイド関数の出力値が、アルファチャンネルとして設定されている。シグモイド関数のような、入力変数が0のときにその出力値が0.5となり、入力変数の絶対値が大きくなればなるほど、出力値が1又は−1に近づく点対称な関数を用いることによって、2つの動画データを滑らかに接合できるアルファチャンネルを好適に設定することができる。
なお、アルファブレンドすべき画素列として選択された1つの画素列に着目すると、この画素列の画素は、接合面41bを挟んで左側が第1の動画データ30aの画素であり、右側が第2の動画データ30bの画素である。そのため、アルファブレンドすべき画素列として選択された画素列の画素に設定されたアルファチャンネルは、いずれも0.5以上の値であって、接合面41bから離れるほど大きくなって1に近づき、接合面41bに近くなるほど小さくなって0.5に近づく。このような選択された画素列の画素のそれぞれは、自身に設定されたアルファチャンネルを1から減算した値のアルファチャンネルが設定された画素であって、自身と異なる接合区間において接合面41bを基準として自身と同じ位置にある対応画素と、アルファブレンドされる。
制御部10は、このようなアルファチャンネルの設定を、接合面41bを挟んで隣接する2つの画素の組合せのそれぞれについて行う。すなわち、図13に示すように、制御部10は、接合面41bを挟んで横方向に並んだ画素列のそれぞれについて、アルファブレンドすべき画素を選択し、選択した画素にアルファチャンネルを設定する。同様に、制御部10は、接合面41bを挟んで縦方向に並んだ画素列のそれぞれについて、アルファブレンドすべき画素を選択し、選択した画素にアルファチャンネルを設定する。さらに、制御部10は、接合面41bを挟んで時間方向に並んだ画素列のそれぞれについて、アルファブレンドすべき画素を選択し、選択した画素にアルファチャンネルを設定する。最終的に、制御部10は、3方向において設定したアルファチャンネルに基づいて、アルファブレンドを実行する。
図10のフローチャートに戻って説明すると、制御部10は、選択した画素にアルファチャンネルを設定すると、横方向・縦方向・時間方向においてアルファチャンネルの設定を完了したか否かを判別する(ステップS303)。すなわち、制御部10は、接合面41bを挟んで隣接する2つの画素を含む画素列であって、動画空間内の横方向・縦方向・時間方向のそれぞれの方向に並んだ画素列の画素にアルファチャンネルを設定し終えたか否かを判別する。
アルファチャンネルの設定を完了していないと(ステップS303;NO)、制御部10は、アルファブレンドすべき別の画素列を選択する(ステップS304)。そして、アルファブレンドの処理はステップS302に戻り、制御部10は、選択した画素列の画素にアルファチャンネルを設定する。このように、制御部10は、接合面41bの周辺のアルファチャンネルを設定すべき画素列の画素のそれぞれにアルファチャンネルを設定し終えるまで、ステップS302〜S304の処理を繰り返す。
その後、アルファチャンネルの設定を完了すると(ステップS303;YES)、制御部10は、設定されたアルファチャンネルに基づいてアルファブレンドを実行する(ステップS304)。すなわち、制御部10は、アルファチャンネルが設定された画素のそれぞれについて、第1の動画データ30aの画素と、第2の動画データ30bにおいて接合面41bの位置を基準としてこの画素と同じ位置にある対応画素とをアルファブレンドする。
一般的に、第1の動画データ30aにおいて“α”の値のアルファチャンネルが設定された画素と、第2の動画データ30bにおいて“1−α”の値のアルファチャンネルが設定された画素とをアルファブレンドすると、2つの画素値をα対1−αの割合で加重平均した値を画素値として有する画素が生成される。
このようなアルファブレンドの処理が行われると、図10のフローチャートにおけるアルファブレンドの処理は終了する。このように、グラフカットによって得られた最適な接合面周辺の動画データをアルファブレンドすることによって、さらに異なる2つの区間の動画データを滑らかに接合することができる。
なお、上記のように動画空間の縦方向・横方向・時間方向の3方向においてアルファチャンネルを設定することによって、複数のアルファチャンネルが設定される画素もある。例えば、図14に示すように、画素32cは、接合面41bに対して横方向の画素列33c内にもあり、縦方向の画素列33d内にもある。そのため、画素32cには、横方向と縦方向において、合わせて2つのアルファチャンネルが設定される。時間方向も含めると、1つの画素には最大で3つのアルファチャンネルが設定されうる。
このように複数のアルファチャンネルが設定された画素におけるアルファブレンドの処理において、制御部10は、複数のアルファチャンネルのうち、ブレンド幅が最も大きい、すなわち画素数が最も多い画素列において設定されたアルファチャンネルを選択する。そして、制御部10は、選択した1つのアルファチャンネルを用いて、アルファブレンドを実行する。
図14の例では、画素32cが属する横方向と縦方向に設定された画素列33cと画素列33dのうち、横方向の画素列33cの画素数の方が多く、ブレンド幅が大きい。そのため、制御部10は、画素32cのアルファブレンドを行うためのアルファチャンネルとして、この画素列33cにおいて設定されたアルファチャンネルを選択する。
ブレンド幅が大きいということは、その設定に用いられた隣接項の値が大きい、すなわち接合面41bを挟んで隣接する2つの画素が滑らかに繋がっていないということである。従って、接合面41bの周辺の画素を滑らかに接合するために、本実施形態の動画生成装置1は、隣接項の値が大きい2つの画素が隣接する方向を優先して、アルファブレンドを行う。
以上説明したように、実施形態1の動画生成装置1は、2つの入力動画データを接合して新たな1つの動画データを生成する。その際、動画生成装置1は、3次元グラフカットの手法を用いてコストが最小となる接合面を決定し、さらに接合面周辺の動画データを2つの入力動画データの画素によって合成する。合成される画素として、接合面を挟んで隣接する2つの画素を含むその隣接方向に一列に並んだ複数の画素のうちから、隣接する2つの画素の間に設定された隣接項の値が大きくなるほど多くの個数の画素が選択される。動画生成装置1は、このような合成処理を、接合面を挟んで横方向に隣接する2つの画素、縦方向に隣接する2つの画素、時間方向に隣接する2つの画素のそれぞれに対して行うため、空間的にも時間的にも滑らかに接合された動画データを生成することができる。
(実施形態2)
次に、本発明の実施形態2について説明する。実施形態1では、2つの動画データ30a,30bから新たな1つの動画データ30cを生成する処理について説明した。これに対し、実施形態2では、動画生成装置1が実行する処理のうち、1つの動画データのうちの2つの接合区間を繋ぎ合わせてループする動画データを生成する処理について説明する。
実施形態2に係る動画生成装置1は、実施形態1における図1及び図2と同様な物理構成及び機能構成を備えるため、ここでは説明を省略する。
実施形態2に係る動画生成装置1は、図15に示すような動画生成処理を実行する。動画生成装置1は、1つの動画データ30dからループする動画データ30eを生成する。動画データ30dは、静止画データ31p〜31rを含む複数の静止画データによって構成される。
動画生成装置1は、動画データ30dのうちの一部の区間である第1の接合区間40dと第2の接合区間40eを指定する。そして、動画生成装置1は、第1の接合区間40dと第2の接合区間40eを接合した新たな接合区間40fを生成し、接合区間40f内の接合面41cを境界として動画データ30dをループさせた新たな動画データ30eを生成する。
実施形態2に係る動画生成装置1が実行する処理の流れについて、以下、図16に示すフローチャートを参照して説明する。
動画生成装置1において、まず制御部10が、動画生成の指示があったか否かを判別する(ステップS401)。制御部10は、例えば操作部12を介して操作者からの動画生成の指示があったか否かを判別する。
動画生成の指示がないと(ステップS401;NO)、処理はステップS401に留まる。すなわち、制御部10は、動画生成の指示があると判別されるまで、引き続き動画生成の指示があったか否かを判別する。
一方、動画生成の指示があったと判別されると(ステップS401;YES)、制御部10は、動画生成に用いる1つの入力動画データを取得する(ステップS402)。制御部10は、例えば記憶部11に記憶された動画データを読み出したり、I/F部14を介して各種の記憶媒体に記憶された動画データを読み出したり、通信部15を介してネットワーク16上にある動画データを受信したりすることによって、入力動画データを取得する。
1つの入力動画データを取得すると、制御部10は、取得した動画データについて、2つの接合区間を指定する(ステップS403)。図16の例を用いて具体的に説明すると、制御部10は、取得した動画データ30dの末尾を含む第1の接合区間40dと、先頭を含む第2の接合区間40eを指定する。
動画データのどの区間を接合区間に指定するべきかの情報は、予めROM10bや記憶部11に記憶されていてもよいし、操作部12を介して操作者から受け付けられてもよい。接合区間は、例えば動画データの先頭又は末尾からの秒数やフレーム数のように、時間長を用いて指定されてもよい。また、例えば動画データの第Mフレームから第Nフレームまでの区間のように、区間の始期と終期を用いて指定されてもよい。なお、接合区間は、動画データの先頭と末尾のどちらも含まなくてもよい。
2つの接合区間を指定すると、制御部10は、グラフカットの手法を用いて、2つの接合区間の動画データを滑らかに接合するための接合面を決定する(ステップS404)。接合面の決定処理は、図5のフローチャートを参照して説明した実施形態1における接合面の決定処理と同様なため、ここでは説明を省略する。
接合面を決定すると、制御部10は、接合面の周辺の動画データを合成する(ステップS405)。動画データの合成処理は、図10のフローチャートを参照して説明した実施形態1における動画データの合成処理と同様なため、ここでは説明を省略する。
動画データを合成すると、制御部10は、入力動画データをループさせた新たな動画データを生成する(ステップS406)。図15の例を用いて具体的に説明すると、制御部10は、動画データ30dのうちの第1の接合区間40dよりも前であって第2の接合区間40eよりも後である区間の動画データと、接合区間40fにおける合成された動画データと、が繰り返し繋ぎ合わされた新たな動画データを生成する。その後、図16のフローチャートにおける動画生成処理は終了する。
以上説明したように、実施形態2の動画生成装置1は、1つの入力動画データのうちの2つの接合区間を繋げてループさせた新たな動画データを生成する。その際、動画生成装置1は、3次元グラフカットの手法を用いてコストが最小となる接合面を決定し、さらに接合面周辺の動画データを2つの接合区間の画素によって合成する。合成される画素として、接合面を挟んで隣接する2つの画素を含むその隣接方向に一列に並んだ複数の画素のうちから、隣接する2つの画素の間に設定された隣接項の値が大きくなるほど多くの個数の画素が選択される。動画生成装置1は、このような合成処理を、接合面を挟んで横方向に隣接する2つの画素、縦方向に隣接する2つの画素、時間方向に隣接する2つの画素のそれぞれに対して行うため、空間的にも時間的にも滑らかに接合された動画データを生成することができる。
(他の実施形態)
以上に本発明の実施形態1及び2について説明したが、これらの実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、本発明の実施形態は種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
例えば、上記実施形態では、接合面のコストは、接合面を挟んで隣接する2つの画素の間に対応付けられた隣接項の、接合面を挟んで隣接する2つの画素の組合せのそれぞれについての和として定義された。しかし、本発明の動画生成処理における接合面のコストは、このような定義に限らない。例えば、上記の和は、隣接項の値の自乗について計算されてもよい。その他にも、接合面のコストは、計算に用いられる隣接項の値が大きくなるほどコストが大きくなるような定義の仕方であれば、どのように定義されてもよい。
また、上記実施形態では、各動画データはグレースケールの動画であって、各画素は1つの画素値を有するとして説明した。しかし、本発明の動画生成装置が動画生成処理を実行するための入力動画データ及び出力動画データは、グレースケールの動画に限らない。例えば、動画データの各画素は、R(レッド)、G(グリーン)、B(ブルー)、の3つの画素値を有してもよい。
このようなカラーの動画データを扱う場合、上述した隣接項の設定処理や接合面のコストの計算処理において、RGBの3つの画素値のそれぞれについて独立に処理が行われてもよい。あるいは、1つの画素が有するRGBの3つの画素値を1つのベクトル値として、上記の処理が行われてもよい。
また、上記実施形態では、1つの画素に複数のアルファチャンネルが設定された場合、複数のアルファチャンネルのうち、ブレンド幅が最も大きい画素列において設定されたアルファチャンネルが選択され、その画素のアルファブレンドに用いられた。しかし、本発明の動画生成装置が実行するアルファブレンドの処理において、他の優先順位に基づいて複数のアルファチャンネルのうちから1つのアルファチャンネルが選択されてもよい。
例えば、動画空間の横方向・縦方向・時間方向に優先順位を予め設け、単純に方向のみに基づいて、優先順位の高い方向に並んだ画素列において設定されたアルファチャンネルが選択されてもよい。あるいは、1つの画素に設定された複数のアルファチャンネルの値の大小を比較し、その結果がアルファチャンネルの選択に用いられてもよい。
また、動画生成装置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の区間における前記決定された接合面よりも後の動画データとを該接合面を境界として接合された動画データの画素のうちから、それぞれが前記接合面を挟んで隣接する2つの画素を含む画素列であって、前記横方向に並んだ画素列、前記縦方向に並んだ画素列、及び、前記時間方向に並んだ画素列を、合成対象の画素列として選択する選択手段と、
前記選択された合成対象の画素列の画素と、前記第1の区間と前記第2の区間のうち該合成対象の画素列の画素が属する区間と異なる区間において前記接合面の位置を基準に該合成対象の画素列の画素と同じ位置にある対応画素と、を合成することによって、前記第1の区間の動画データと前記第2の区間の動画データとを合成した動画データを生成する合成手段と、
前記第1の区間が指定された動画データのうちの該第1の区間よりも前の区間の動画データと、前記合成された動画データと、前記第2の区間が指定された動画データのうちの該第2の区間よりも後の区間の動画データと、が順に繋ぎ合わされた動画データを生成する生成手段と、
を備える動画生成装置。
(付記2)
前記指定手段は、2つの動画データのうちの第1の動画データの一部の時間区間を前記第1の区間として指定し、該2つの動画データのうちの第2の動画データの一部の時間区間を前記第2の区間として指定し、
前記生成手段は、前記第1の動画データのうちの前記第1の区間よりも前の区間の動画データと、前記合成された動画データと、前記第2の動画データのうちの前記第2の区間よりも後の区間の動画データと、が順に繋ぎ合わされた動画データを生成する、
ことを特徴とする付記1に記載の動画生成装置。
(付記3)
前記指定手段は、1つの動画データの一部の時間区間を前記第1の区間として指定し、該1つの動画データの一部の時間区間であって前記第1の区間よりも前の区間を前記第2の区間として指定し、
前記生成手段は、前記1つの動画データのうちの前記第1の区間よりも前であって前記第2の区間よりも後である区間の動画データと、前記合成された動画データと、が繰り返し繋ぎ合わされた動画データを生成する、
ことを特徴とする付記1に記載の動画生成装置。
(付記4)
前記決定手段は、前記静止画群が占める空間において隣接する2つの画素の間を通る前記接合面の候補のうち、該接合面の候補を挟んで隣接する2つの画素間に設定された隣接項の値を、該接合面の候補を挟んで隣接する2つの画素の組合せのそれぞれについて加算した値が最小となる接合面の候補を、前記接合面として決定する、
ことを特徴とする付記1乃至3のいずれか1つに記載の動画生成装置。
(付記5)
前記隣接項の値は、前記接合面の候補を挟んで隣接する2つの画素のうち、
一方の画素の画素値と、前記第1の区間と前記第2の区間のうち該一方の画素が属する区間と異なる区間において該接合面の候補の位置を基準に該一方の画素と同じ位置にある画素の画素値と、の差と、
他方の画素の画素値と、前記第1の区間と前記第2の区間のうち該他方の画素が属する区間と異なる区間において該接合面の候補の位置を基準に該他方の画素と同じ位置にある画素の画素値と、の差と、
の和として定められる、
ことを特徴とする付記4に記載の動画生成装置。
(付記6)
前記選択手段は、前記合成対象の画素列として、該画素列の画素のうちの前記接合面を挟んで隣接する2つの画素間に設定された前記隣接項の値が大きいほど多くの画素数の画素列を選択する、
ことを特徴とする付記4又は5に記載の動画生成装置。
(付記7)
前記合成手段は、前記選択された合成対象の画素列の画素に、該画素列の画素間を通る前記接合面から離れた位置の画素ほど大きな値のアルファチャンネルを設定し、前記合成対象の画素列の画素の対応画素に、該合成対象の画素列の画素のアルファチャンネルの値を1から減算した値のアルファチャンネルを設定し、前記合成対象の画素列の画素と前記対応画素とのアルファブレンド合成を行うことによって、前記合成した動画データを生成する、
ことを特徴とする付記1乃至6のいずれか1つに記載の動画生成装置。
(付記8)
前記合成手段は、前記選択された合成対象の画素列の画素のそれぞれに、該画素列の画素間を通る前記接合面からの該それぞれの画素までの画素数を入力変数とするシグモイド関数の出力値を、前記アルファチャンネルとして設定する、
ことを特徴とする付記7に記載の動画生成装置。
(付記9)
前記合成手段は、前記選択された合成対象の画素列の画素のうち、異なる複数の前記合成対象の画素列に属する画素に対する前記アルファブレンド合成を、該複数の合成対象の画素列のうち画素数が多い画素列において設定されたアルファチャンネルに基づいて行う、
ことを特徴とする付記7又は8に記載の動画生成装置。
(付記10)
動画データの時間区間である第1の区間と第2の区間とを指定する指定ステップと、
前記第1の区間の動画データ及び前記第2の区間の動画データを構成する複数の静止画データの2次元座標が揃うように該複数の静止画データが時系列順に並べられた静止画群が占める空間における、前記2次元座標の横方向に隣接する2つの画素の間、前記2次元座標の縦方向に隣接する2つの画素の間、及び、前記静止画群の時間方向に隣接する2つの画素の間、を通って該空間を分割する面であって、前記第1の区間における該面よりも前の動画データと前記第2の区間における該面よりも後の動画データとを接合するための接合面を決定する決定ステップと、
前記第1の区間における前記決定された接合面よりも前の動画データと前記第2の区間における前記決定された接合面よりも後の動画データとを該接合面を境界として接合された動画データの画素のうちから、それぞれが前記接合面を挟んで隣接する2つの画素を含む画素列であって、前記横方向に並んだ画素列、前記縦方向に並んだ画素列、及び、前記時間方向に並んだ画素列を、合成対象の画素列として選択する選択ステップと、
前記選択された合成対象の画素列の画素と、前記第1の区間と前記第2の区間のうち該合成対象の画素列の画素が属する区間と異なる区間において前記接合面の位置を基準に該合成対象の画素列の画素と同じ位置にある対応画素と、を合成することによって、前記第1の区間の動画データと前記第2の区間の動画データとを合成した動画データを生成する合成ステップと、
前記第1の区間が指定された動画データのうちの該第1の区間よりも前の区間の動画データと、前記合成された動画データと、前記第2の区間が指定された動画データのうちの該第2の区間よりも後の区間の動画データと、が順に繋ぎ合わされた動画データを生成する生成ステップと、
を含むことを特徴とする動画生成方法。
(付記11)
コンピュータに、
動画データの時間区間である第1の区間と第2の区間とを指定する指定機能、
前記第1の区間の動画データ及び前記第2の区間の動画データを構成する複数の静止画データの2次元座標が揃うように該複数の静止画データが時系列順に並べられた静止画群が占める空間における、前記2次元座標の横方向に隣接する2つの画素の間、前記2次元座標の縦方向に隣接する2つの画素の間、及び、前記静止画群の時間方向に隣接する2つの画素の間、を通って該空間を分割する面であって、前記第1の区間における該面よりも前の動画データと前記第2の区間における該面よりも後の動画データとを接合するための接合面を決定する決定機能、
前記第1の区間における前記決定された接合面よりも前の動画データと前記第2の区間における前記決定された接合面よりも後の動画データとを該接合面を境界として接合された動画データの画素のうちから、それぞれが前記接合面を挟んで隣接する2つの画素を含む画素列であって、前記横方向に並んだ画素列、前記縦方向に並んだ画素列、及び、前記時間方向に並んだ画素列を、合成対象の画素列として選択する選択機能、
前記選択された合成対象の画素列の画素と、前記第1の区間と前記第2の区間のうち該合成対象の画素列の画素が属する区間と異なる区間において前記接合面の位置を基準に該合成対象の画素列の画素と同じ位置にある対応画素と、を合成することによって、前記第1の区間の動画データと前記第2の区間の動画データとを合成した動画データを生成する合成機能、
前記第1の区間が指定された動画データのうちの該第1の区間よりも前の区間の動画データと、前記合成された動画データと、前記第2の区間が指定された動画データのうちの該第2の区間よりも後の区間の動画データと、が順に繋ぎ合わされた動画データを生成する生成機能、
を実現させることを特徴とするプログラム。
1…動画生成装置、10…制御部、10a…CPU、10b…ROM、10c…RAM、10d…画像処理部、11…記憶部、12…操作部、13…表示部、14…I/F部、15…通信部、16…ネットワーク、20…指定手段、21…決定手段、22…選択手段、23…合成手段、24…生成手段、30a〜30e…動画データ、31a〜31c,31p〜31r,31x〜31z…静止画データ、32a〜32c…画素、33a〜33d…画素列、40a〜40f…接合区間、41a〜41c…接合面、42a〜42d…周縁フレーム、43a〜43d…隣接項、44…接合面の候補

Claims (11)

  1. 動画データの時間区間である第1の区間と第2の区間とを指定する指定手段と、
    前記第1の区間の動画データ及び前記第2の区間の動画データを構成する複数の静止画データの2次元座標が揃うように該複数の静止画データが時系列順に並べられた静止画群が占める空間における、前記2次元座標の横方向に隣接する2つの画素の間、前記2次元座標の縦方向に隣接する2つの画素の間、及び、前記静止画群の時間方向に隣接する2つの画素の間、を通って該空間を分割する面であって、前記第1の区間における該面よりも前の動画データと前記第2の区間における該面よりも後の動画データとを接合するための接合面を決定する決定手段と、
    前記第1の区間における前記決定された接合面よりも前の動画データと前記第2の区間における前記決定された接合面よりも後の動画データとを該接合面を境界として接合された動画データの画素のうちから、それぞれが前記接合面を挟んで隣接する2つの画素を含む画素列であって、前記横方向に並んだ画素列、前記縦方向に並んだ画素列、及び、前記時間方向に並んだ画素列を、合成対象の画素列として選択する選択手段と、
    前記選択された合成対象の画素列の画素と、前記第1の区間と前記第2の区間のうち該合成対象の画素列の画素が属する区間と異なる区間において前記接合面の位置を基準に該合成対象の画素列の画素と同じ位置にある対応画素と、を合成することによって、前記第1の区間の動画データと前記第2の区間の動画データとを合成した動画データを生成する合成手段と、
    前記第1の区間が指定された動画データのうちの該第1の区間よりも前の区間の動画データと、前記合成された動画データと、前記第2の区間が指定された動画データのうちの該第2の区間よりも後の区間の動画データと、が順に繋ぎ合わされた動画データを生成する生成手段と、
    を備える動画生成装置。
  2. 前記指定手段は、2つの動画データのうちの第1の動画データの一部の時間区間を前記第1の区間として指定し、該2つの動画データのうちの第2の動画データの一部の時間区間を前記第2の区間として指定し、
    前記生成手段は、前記第1の動画データのうちの前記第1の区間よりも前の区間の動画データと、前記合成された動画データと、前記第2の動画データのうちの前記第2の区間よりも後の区間の動画データと、が順に繋ぎ合わされた動画データを生成する、
    ことを特徴とする請求項1に記載の動画生成装置。
  3. 前記指定手段は、1つの動画データの一部の時間区間を前記第1の区間として指定し、該1つの動画データの一部の時間区間であって前記第1の区間よりも前の区間を前記第2の区間として指定し、
    前記生成手段は、前記1つの動画データのうちの前記第1の区間よりも前であって前記第2の区間よりも後である区間の動画データと、前記合成された動画データと、が繰り返し繋ぎ合わされた動画データを生成する、
    ことを特徴とする請求項1に記載の動画生成装置。
  4. 前記決定手段は、前記静止画群が占める空間において隣接する2つの画素の間を通る前記接合面の候補のうち、該接合面の候補を挟んで隣接する2つの画素間に設定された隣接項の値を、該接合面の候補を挟んで隣接する2つの画素の組合せのそれぞれについて加算した値が最小となる接合面の候補を、前記接合面として決定する、
    ことを特徴とする請求項1乃至3のいずれか1項に記載の動画生成装置。
  5. 前記隣接項の値は、前記接合面の候補を挟んで隣接する2つの画素のうち、
    一方の画素の画素値と、前記第1の区間と前記第2の区間のうち該一方の画素が属する区間と異なる区間において該接合面の候補の位置を基準に該一方の画素と同じ位置にある画素の画素値と、の差と、
    他方の画素の画素値と、前記第1の区間と前記第2の区間のうち該他方の画素が属する区間と異なる区間において該接合面の候補の位置を基準に該他方の画素と同じ位置にある画素の画素値と、の差と、
    の和として定められる、
    ことを特徴とする請求項4に記載の動画生成装置。
  6. 前記選択手段は、前記合成対象の画素列として、該画素列の画素のうちの前記接合面を挟んで隣接する2つの画素間に設定された前記隣接項の値が大きいほど多くの画素数の画素列を選択する、
    ことを特徴とする請求項4又は5に記載の動画生成装置。
  7. 前記合成手段は、前記選択された合成対象の画素列の画素に、該画素列の画素間を通る前記接合面から離れた位置の画素ほど大きな値のアルファチャンネルを設定し、前記合成対象の画素列の画素の対応画素に、該合成対象の画素列の画素のアルファチャンネルの値を1から減算した値のアルファチャンネルを設定し、前記合成対象の画素列の画素と前記対応画素とのアルファブレンド合成を行うことによって、前記合成した動画データを生成する、
    ことを特徴とする請求項1乃至6のいずれか1項に記載の動画生成装置。
  8. 前記合成手段は、前記選択された合成対象の画素列の画素のそれぞれに、該画素列の画素間を通る前記接合面からの該それぞれの画素までの画素数を入力変数とするシグモイド関数の出力値を、前記アルファチャンネルとして設定する、
    ことを特徴とする請求項7に記載の動画生成装置。
  9. 前記合成手段は、前記選択された合成対象の画素列の画素のうち、異なる複数の前記合成対象の画素列に属する画素に対する前記アルファブレンド合成を、該複数の合成対象の画素列のうち画素数が多い画素列において設定されたアルファチャンネルに基づいて行う、
    ことを特徴とする請求項7又は8に記載の動画生成装置。
  10. 動画データの時間区間である第1の区間と第2の区間とを指定する指定ステップと、
    前記第1の区間の動画データ及び前記第2の区間の動画データを構成する複数の静止画データの2次元座標が揃うように該複数の静止画データが時系列順に並べられた静止画群が占める空間における、前記2次元座標の横方向に隣接する2つの画素の間、前記2次元座標の縦方向に隣接する2つの画素の間、及び、前記静止画群の時間方向に隣接する2つの画素の間、を通って該空間を分割する面であって、前記第1の区間における該面よりも前の動画データと前記第2の区間における該面よりも後の動画データとを接合するための接合面を決定する決定ステップと、
    前記第1の区間における前記決定された接合面よりも前の動画データと前記第2の区間における前記決定された接合面よりも後の動画データとを該接合面を境界として接合された動画データの画素のうちから、それぞれが前記接合面を挟んで隣接する2つの画素を含む画素列であって、前記横方向に並んだ画素列、前記縦方向に並んだ画素列、及び、前記時間方向に並んだ画素列を、合成対象の画素列として選択する選択ステップと、
    前記選択された合成対象の画素列の画素と、前記第1の区間と前記第2の区間のうち該合成対象の画素列の画素が属する区間と異なる区間において前記接合面の位置を基準に該合成対象の画素列の画素と同じ位置にある対応画素と、を合成することによって、前記第1の区間の動画データと前記第2の区間の動画データとを合成した動画データを生成する合成ステップと、
    前記第1の区間が指定された動画データのうちの該第1の区間よりも前の区間の動画データと、前記合成された動画データと、前記第2の区間が指定された動画データのうちの該第2の区間よりも後の区間の動画データと、が順に繋ぎ合わされた動画データを生成する生成ステップと、
    を含むことを特徴とする動画生成方法。
  11. コンピュータに、
    動画データの時間区間である第1の区間と第2の区間とを指定する指定機能、
    前記第1の区間の動画データ及び前記第2の区間の動画データを構成する複数の静止画データの2次元座標が揃うように該複数の静止画データが時系列順に並べられた静止画群が占める空間における、前記2次元座標の横方向に隣接する2つの画素の間、前記2次元座標の縦方向に隣接する2つの画素の間、及び、前記静止画群の時間方向に隣接する2つの画素の間、を通って該空間を分割する面であって、前記第1の区間における該面よりも前の動画データと前記第2の区間における該面よりも後の動画データとを接合するための接合面を決定する決定機能、
    前記第1の区間における前記決定された接合面よりも前の動画データと前記第2の区間における前記決定された接合面よりも後の動画データとを該接合面を境界として接合された動画データの画素のうちから、それぞれが前記接合面を挟んで隣接する2つの画素を含む画素列であって、前記横方向に並んだ画素列、前記縦方向に並んだ画素列、及び、前記時間方向に並んだ画素列を、合成対象の画素列として選択する選択機能、
    前記選択された合成対象の画素列の画素と、前記第1の区間と前記第2の区間のうち該合成対象の画素列の画素が属する区間と異なる区間において前記接合面の位置を基準に該合成対象の画素列の画素と同じ位置にある対応画素と、を合成することによって、前記第1の区間の動画データと前記第2の区間の動画データとを合成した動画データを生成する合成機能、
    前記第1の区間が指定された動画データのうちの該第1の区間よりも前の区間の動画データと、前記合成された動画データと、前記第2の区間が指定された動画データのうちの該第2の区間よりも後の区間の動画データと、が順に繋ぎ合わされた動画データを生成する生成機能、
    を実現させることを特徴とするプログラム。
JP2012118898A 2012-05-24 2012-05-24 動画生成装置、動画生成方法、及び、プログラム Active JP5924127B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012118898A JP5924127B2 (ja) 2012-05-24 2012-05-24 動画生成装置、動画生成方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012118898A JP5924127B2 (ja) 2012-05-24 2012-05-24 動画生成装置、動画生成方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2013247468A true JP2013247468A (ja) 2013-12-09
JP5924127B2 JP5924127B2 (ja) 2016-05-25

Family

ID=49846943

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012118898A Active JP5924127B2 (ja) 2012-05-24 2012-05-24 動画生成装置、動画生成方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP5924127B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013146508A1 (ja) * 2012-03-30 2015-12-14 ソニー株式会社 画像処理装置および方法、並びにプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008160816A (ja) * 2006-11-27 2008-07-10 Sony Corp 画像処理装置および方法、並びにプログラム
JP2010518672A (ja) * 2007-02-01 2010-05-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 第1のビデオセグメントと第2のビデオセグメントとの間の遷移を平滑化するための方法及び装置
JP2011172028A (ja) * 2010-02-18 2011-09-01 Canon Inc 映像処理装置及び方法
JP2012010239A (ja) * 2010-06-28 2012-01-12 Nikon Corp 撮像装置、動画像ファイルのデータ構造、画像処理装置およびプログラム
JP2012199613A (ja) * 2011-03-18 2012-10-18 Sony Corp 画像処理装置および方法、並びにプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008160816A (ja) * 2006-11-27 2008-07-10 Sony Corp 画像処理装置および方法、並びにプログラム
JP2010518672A (ja) * 2007-02-01 2010-05-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 第1のビデオセグメントと第2のビデオセグメントとの間の遷移を平滑化するための方法及び装置
JP2011172028A (ja) * 2010-02-18 2011-09-01 Canon Inc 映像処理装置及び方法
JP2012010239A (ja) * 2010-06-28 2012-01-12 Nikon Corp 撮像装置、動画像ファイルのデータ構造、画像処理装置およびプログラム
JP2012199613A (ja) * 2011-03-18 2012-10-18 Sony Corp 画像処理装置および方法、並びにプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013146508A1 (ja) * 2012-03-30 2015-12-14 ソニー株式会社 画像処理装置および方法、並びにプログラム

Also Published As

Publication number Publication date
JP5924127B2 (ja) 2016-05-25

Similar Documents

Publication Publication Date Title
US8717385B2 (en) Image display control apparatus
JP4737562B2 (ja) 情報処理装置および方法、並びにプログラム
JP2011529209A (ja) 画像処理のための装置および方法、およびシステム
US7646513B2 (en) Image processing device and method thereof
WO2010122618A1 (ja) 表示装置、表示方法、表示制御プログラム、及び、記録媒体
JP5924127B2 (ja) 動画生成装置、動画生成方法、及び、プログラム
JP2013101363A (ja) スクリーンセーバ生成装置、および、スクリーンセーバ生成方法
US8938133B2 (en) Image resizing apparatus and method that interpolates image blocks with abuttal regions
JP6239843B2 (ja) 画像処理装置およびその制御方法
JP4596929B2 (ja) 背景画像生成装置及び背景画像生成プログラム
JP2009111969A (ja) 分割映像処理装置および方法、または制御因子計算装置
US10553004B2 (en) Method and apparatus for processing image and recording medium storing program therefor
JP5874538B2 (ja) 動画生成装置、動画生成方法、及び、プログラム
CN109992230A (zh) 控制方法和电子设备
WO2014111968A1 (ja) 映像生成装置、映像生成プログラム、及び映像生成方法
JP2000231431A (ja) データ入力方法、データ入力装置、およびデータ入力プログラムを格納する記録媒体、ならびに映像データ操作方法、映像データ操作装置、および映像データ操作プログラムを格納する記録媒体
JP2016090906A (ja) 画像処理装置、画像処理方法及びプログラム
JP2018088223A (ja) 情報処理装置、情報処理方法、プログラム
JP2010085599A (ja) スクリーンセーバ生成装置、および、スクリーンセーバ生成方法
JP2008203713A (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP4006056B2 (ja) 画像合成装置、画像合成方法および記憶媒体
JP2011141341A (ja) 映像信号分配装置及びその制御方法、プログラム
JP2013143709A (ja) 画像表示装置
JP2018133772A (ja) 画像処理装置および画像処理方法
JP2009206986A (ja) 画像出力装置及び画像出力方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150428

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160404

R150 Certificate of patent or registration of utility model

Ref document number: 5924127

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150