(57)【特許請求の範囲】
【請求項１】
シーンを描写する一連の画像からの画像を電子ディスプレイ上に表示することと、
前記一連の画像からベース画像として使用される画像を選択するユーザ入力を受信することと、
前記一連の画像からオブジェクトを選択するユーザ入力を受信することと、
前記一連の画像から前記選択されたオブジェクトの移動軌跡を判定することと、
前記判定された移動軌跡に沿って初期位置から新たな位置に前記選択されたオブジェクトをドラッグするユーザ入力に基づいて前記選択されたオブジェクトを再配置することと、
前記ベース画像と前記再配置されたオブジェクトとを合成することによって新たな画像を生成することと、
前の反復における前記新たな画像を後続の反復における前記ベース画像として供給して、前記選択されたオブジェクトの再配置および前記新たな画像の生成を繰り返すことにより、前記判定された移動軌跡に沿った異なる位置での前記選択されたオブジェクトの複数のコピーを含む最終的な新たな画像を生成することと、
によって特徴付けられる、演算デバイスによって実行される方法。
【請求項２】
事前に定義された逸脱閾値を超えることにより前記新たな位置が前記移動軌跡から外れた場合、前記選択されたオブジェクトの前記新たな位置を拒否すること、
によってさらに特徴付けられる、請求項１に記載の方法。
【請求項３】
前記選択されたオブジェクトが前記判定された移動軌跡に沿ってドラッグされている間に、前記選択されたオブジェクトのサイズを変更すること、
によってさらに特徴付けられる、請求項１から２のいずれか１項に記載の方法。
【請求項４】
前記一連の画像の第１の画像における第１の位置と連続する前記一連の画像の第２の画像における第２の位置との間の前記選択されたオブジェクトの移動が差分閾値を超える場合、
前記第１および前記第２の位置との間である、前記移動軌跡に沿った前記選択されたオブジェクトの追加の位置を判定するための補間を行うことと、
前記第１の位置と前記第２の位置の間で前記選択されたオブジェクトが前記判定された移動軌跡に沿ってドラッグされている間に前記追加の位置で前記選択されたオブジェクトを表示することと、
によってさらに特徴付けられる、請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記一連の画像はビデオであり、
前記補間を行うことは、前記ビデオの追加のフレームを生成することを含む、請求項４に記載の方法。
【請求項６】
前記一連の画像は静止写真のシーケンスであり、
前記補間を行うことは、追加の静止写真を生成することを含む、請求項４に記載の方法。
【請求項７】
前記オブジェクトをドラッグする前記ユーザ入力が受信され、前記選択されたオブジェクトが前記移動軌跡の所与の点にある間に、前記選択されたオブジェクトの前記移動軌跡全体の表示を表示すること、
によってさらに特徴付けられる、請求項１から６のいずれか１項に記載の方法。
【請求項８】
電子ディスプレイと、
シーンを描写する一連の画像からの画像を前記電子ディスプレイ上に表示し、
前記一連の画像からベース画像として使用される画像を選択するユーザ入力を受信し、
前記一連の画像からオブジェクトを選択するユーザ入力を受信し、
前記一連の画像から前記選択されたオブジェクトの移動軌跡を判定し、
前記判定された移動軌跡に沿って初期位置から新たな位置に前記選択されたオブジェクトをドラッグするユーザ入力に基づいて前記選択されたオブジェクトを再配置し、
前記ベース画像と前記再配置されたオブジェクトとを合成することによって新たな画像を生成し、
前の反復における前記新たな画像を後続の反復における前記ベース画像として供給して、前記選択されたオブジェクトの再配置および前記新たな画像の生成を繰り返すことにより、前記判定された移動軌跡に沿った異なる位置での前記選択されたオブジェクトの複数のコピーを含む最終的な新たな画像を生成する、
ように構成される、１以上の処理回路と、
によって特徴付けられる、演算デバイス。
【請求項９】
前記１以上の処理回路は、
事前に定義された逸脱閾値を超えることにより前記新たな位置が前記移動軌跡から外れた場合、前記選択されたオブジェクトの前記新たな位置を拒否する、ようにさらに構成される、
請求項８に記載の演算デバイス。
【請求項１０】
前記１以上の処理回路は、
前記選択されたオブジェクトが前記判定された移動軌跡に沿ってドラッグされている間に、前記選択されたオブジェクトのサイズを変更する、ようにさらに構成される、
請求項８または９に記載の演算デバイス。
【請求項１１】
前記１以上の処理回路は、
前記一連の画像の第１の画像における第１の位置と連続する前記一連の画像の第２の画像における第２の位置との間の前記選択されたオブジェクトの移動が差分閾値を超える場合、
前記第１および前記第２の位置との間である、前記移動軌跡に沿った前記選択されたオブジェクトの追加の位置を判定するための補間を行い、
前記第１の位置と前記第２の位置の間で前記選択されたオブジェクトが前記判定された移動軌跡に沿ってドラッグされている間に前記追加の位置で前記選択されたオブジェクトを表示する、ようにさらに構成される、
請求項８から１０のいずれか１項に記載の演算デバイス。
【請求項１２】
前記１以上の処理回路は、
前記オブジェクトをドラッグする前記ユーザ入力が受信され、前記選択されたオブジェクトが前記移動軌跡上の所与の点にある間に、前記選択されたオブジェクトの前記移動軌跡全体の表示を表示する、ようにさらに構成される、
請求項８から１１のいずれか１項に記載の演算デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像生成に関し、より具体的には、一連の画像からのベース画像と一連の画像からの再配置されるオブジェクトとを組み合わせて新たな画像を生成することに関する。
【背景技術】
【０００２】
最適な写真を記録することは困難な作業になる場合がある。例えば、人々のグループがカメラを見る、笑う、および瞬きをしていない、正確な瞬間に画像を記録することは困難であるかもしれない。また、カメラは異なるオートフォーカス速度を有する。描写されるシーンが急激に変化する場合、カメラが被写体にフォーカスした後に所望の画像を記録するのには遅すぎる可能性がある。一部のカメラデバイスは、上述の問題の一部に役立つ、「爆発」のような連続写真の迅速なセットを撮ることをユーザに可能にさせる。しかし、ユーザは複数の画像の光景を合成することを望むことがある。
【発明の概要】
【０００３】
本開示の一態様によれば、演算デバイスによって実行される方法が開示される。シーンを描写する一連の画像からの画像が電子ディスプレイ上に表示される。一連の画像からベース画像として使用される画像を選択するユーザ入力が受信される。一連の画像からオブジェクトを選択するユーザ入力もまた受信される。選択されたオブジェクトの移動軌跡が一連の画像から判定される。判定された移動軌跡に沿って初期位置から新たな位置に選択されたオブジェクトをドラッグするユーザ入力に基づいて、選択されたオブジェクトが再配置される。ベース画像と再配置されたオブジェクトとを合成することによって新たな画像が生成される。
【０００４】
ある実施形態において、方法は、事前に定義された逸脱閾値を超えることにより新たな位置が移動軌跡から外れた場合、選択されたオブジェクトの新たな位置を拒否することを含む。
【０００５】
１または複数の実施形態において、方法は、選択されたオブジェクトが判定された移動軌跡に沿ってドラッグされている間に、選択されたオブジェクトのサイズを変更することを含む。
【０００６】
１または複数の実施形態において、方法は、一連の画像の第１の画像における第１の位置と連続する一連の画像の第２の画像における第２の位置との間の選択されたオブジェクトの移動が差分閾値を超える場合、第１および第２の位置との間である、移動軌跡に沿った選択されたオブジェクトの追加の位置を判定するための補間を行うことを含む。また方法は、第１の位置と第２の位置の間で選択されたオブジェクトが判定された移動軌跡に沿ってドラッグされている間に追加の位置で選択されたオブジェクトを表示することを含む。
【０００７】
１または複数の実施形態において、方法は、オブジェクトをドラッグするユーザ入力が受信され、選択されたオブジェクトが軌道上の所与の点にある間に、選択されたオブジェクトの軌道全体の表示を表示することを含む。
【０００８】
１または複数の実施形態において、方法は、一連の画像のいずれかにおいて選択されたオブジェクトによって占有されていない画像領域を特定することと、選択されたオブジェクトが移動軌跡に沿ってドラッグされているときに、ベース画像の特定された画像領域を表示することと、を含む。
【０００９】
１または複数の実施形態において、方法は、選択されたオブジェクトが新たな位置に再配置されたときに、もはや占有されていないベース画像の画素を判定することによって、ベース画像と再配置されたオブジェクトとを合成することによって新たな画像を生成すること、を含む。また方法は、判定された画素の周囲の画像領域に基づいて、ベース画像以外の１以上の一連の画像に基づいて、またはその両方に基づいて、ベース画像の判定された画素を埋めること、を含む。
【００１０】
１または複数の実施形態において、方法は、カメラシャッターのユーザ操作に基づいて、一連の画像を記録すること、を含む。
【００１１】
１または複数の実施形態において、方法は、一連の画像はビデオのフレームであることを含む。
【００１２】
ある実施形態において、方法はまた、一連の画像から追加オブジェクトを選択するユーザ入力を受信することと、追加オブジェクトの誇張された動きを判定するためにフェーズベースのビデオモーション処理アルゴリズムを実行することと、電子ディスプレイ上に追加オブジェクトの誇張された動きを表示することと、を含む。誇張された動きの表示に基づいて、追加オブジェクトの誇張された動きの選択される描写が受信され、追加オブジェクトの選択される描写は新たな画像内に含まれる。
【００１３】
本開示の別の態様によれば、電子ディスプレイと１以上の処理回路を含む演算デバイスが開示される。１以上の処理回路は、シーンを描写する一連の画像からの画像を電子ディスプレイ上に表示するように構成される。１以上の処理回路はさらに、一連の画像からベース画像として使用される画像を選択するユーザ入力を受信し、一連の画像からオブジェクトを選択するユーザ入力を受信するように構成される。１以上の処理回路はさらに、一連の画像から選択されたオブジェクトの移動軌跡を判定し、判定された移動軌跡に沿って初期位置から新たな位置に選択されたオブジェクトをドラッグするユーザ入力に基づいて選択されたオブジェクトを再配置するように構成される。１以上の処理回路はさらに、ベース画像と再配置されたオブジェクトとを合成することによって新たな画像を生成するように構成される。
【００１４】
１または複数の実施形態において、１以上の処理回路はさらに、事前に定義された逸脱閾値を超えることにより新たな位置が移動軌跡から外れた場合、選択されたオブジェクトの新たな位置を拒否するように構成される。
【００１５】
１または複数の実施形態において、１以上の処理回路はさらに、選択されたオブジェクトが判定された移動軌跡に沿ってドラッグされている間に、選択されたオブジェクトのサイズを変更するようにさらに構成される。
【００１６】
１または複数の実施形態において、１以上の処理回路はまた、一連の画像の第１の画像における第１の位置と連続する一連の画像の第２の画像における第２の位置との間の選択されたオブジェクトの移動が差分閾値を超えるかどうかを判定するように構成される。差分閾値が超えられる場合、第１および第２の位置との間である、移動軌跡に沿った選択されたオブジェクトの追加の位置を判定するための補間を行い、また第１の位置と第２の位置の間で選択されたオブジェクトが判定された移動軌跡に沿ってドラッグされている間に追加の位置で選択されたオブジェクトを表示する。
【００１７】
１または複数の実施形態において、１以上の処理回路はまた、オブジェクトをドラッグするユーザ入力が受信され、選択されたオブジェクトが軌道上の所与の点にある間に、選択されたオブジェクトの軌道全体の表示を表示するように構成される。
【００１８】
１または複数の実施形態において、１以上の処理回路はまた、一連の画像のいずれかにおいて選択されたオブジェクトによって占有されていない画像領域を特定し、選択されたオブジェクトが移動軌跡に沿ってドラッグされているときに、ベース画像の特定された画像領域を表示するようにさらに構成される。
【００１９】
１または複数の実施形態において、ベース画像と再配置されたオブジェクトとを合成することによって新たな画像を生成するために、１以上の処理回路は、選択されたオブジェクトが新たな位置に再配置されたときに、もはや占有されていないベース画像における画素を判定し、判定された画素の周囲の画像領域に基づいて、ベース画像以外の１以上の一連の画像に基づいて、またはその両方に基づいて、ベース画像の判定された画素を埋めるように構成される。
【００２０】
１または複数の実施形態において、１以上の処理回路はまた、カメラシャッターのユーザ操作に基づいて、一連の画像を記録するように構成される。
【００２１】
１または複数の実施形態において、一連の画像はビデオのフレームである。
【００２２】
ある実施形態において、１以上の処理回路はさらに、一連の画像から追加オブジェクトを選択するユーザ入力を受信し、追加オブジェクトの誇張された動きを判定するためにフェーズベースのビデオモーション処理アルゴリズムを実行し、電子ディスプレイ上に追加オブジェクトの誇張された動きを表示するように構成される。そのような実施形態において、１以上の処理回路はさらに、誇張された動きの表示に基づいて、追加オブジェクトの誇張された動きの選択される描写を受信し、新たな画像内に追加オブジェクトの選択される描写を含める、ように構成される。
【図面の簡単な説明】
【００２３】
【図１】図１Ａ−Ｆは、シーンを表す一連の画像を示す。
【図２】図２は、図１Ａ−Ｆの図の画像のうちの２つの光景を合成した新たな画像を示す。
【図３】図３は、一連の画像からの複数の画像の光景を合成する方法の例のフローチャートである。
【図４】図４Ａ−Ｆは、図２の方法がどのように実行されてもよいかを明示する一連の画像である。
【図５】図５は、フェーズベースのビデオモーション処理アルゴリズムの動作を含む、図２の方法と組み合わせて使用されてもよい追加の方法を示す。
【図６】図６Ａ−Ｄは、図６の方法がどのように実行されてもよいかを明示する一連の画像である。
【図７】図７は、図２の画像の変形例である新たな画像を示す。
【図８】図８は、図２の方法を実施するように動作する演算デバイスの例を示す。
【発明を実施するための形態】
【００２４】
本開示は、あるシーンを描写する一連の画像に基づいて画像を生成するための方法及び装置を示す。一連の画像は、例えばビデオのフレームであってもよい。一連の画像は、電子ディスプレイ（例えば、スマートフォンのタッチスクリーン）上に表示される。一連の画像の１つは、ベース画像として選択される。一連の画像からオブジェクトを選択するユーザ入力が受信される。選択されたオブジェクトの移動軌跡は、一連の画像から判定される。選択されたオブジェクトは、画像内の他の全体的な動きとは無関係に、判定された移動軌跡に沿って選択されたオブジェクトを初期位置から新たな位置にドラッグするユーザ入力に基づいて再配置される（例えば、直接のビデオ操作を使用して）。新たな画像は、ベース画像と再配置されるオブジェクトとを合成することによって生成される。オプションとして、そうでない場合に微細な動きしかない一連の画像のうちの１つにおけるオブジェクトの誇張された動きを判定するために、フェーズベースのビデオモーション処理アルゴリズムも実行される。
【００２５】
図１Ａ−１Ｆは、あるシーンを描写する一連の画像を示す。これらの画像は、例えば、ビデオのフレームとして記録されてもよい。最初の画像１０Ａにおいてゴルファーは、フラグポール１８が突き出ている穴１６にゴルフボールを入れようとしている。画像１０Ｂにおいてゴルファー１２は、フラグポール１８に顔を向けるために彼の体の姿勢を変え、ゴルフボール１４は、穴１６に向かって移動している。画像１０Ｃ、１０Ｄおよび１０Ｅにおいて、ゴルファー１２は同じ姿勢のまま、ゴルフボールは穴１６に向かって移動し続ける。画像１０Ｆにおいて、ゴルフボール１４は穴１６に入り、もはや見えなくなり、ゴルファー１２はお祝いの姿勢である。
【００２６】
ユーザは、画像１０Ａ−Ｆの様々な光景を合成することを望むかもしれない。例えば、ユーザは、ゴルフボール１４はまだ見える間だが、１０Ｆのお祝い姿勢であるゴルファー１２を描写することを望むかもしれない。これを達成するために、ユーザは、ベース画像として画像１０Ｆを選択してもよい。次にユーザは、お祝い姿勢にあるゴルファー１２と穴１６に近い位置にあるゴルフボール１４とを合成する新たな画像２０（図２の画像２０を参照）を生成するために、前の画像（例えば、画像１０Ｃ）からゴルフボール１４を選択でき、その軌跡に沿って目的の位置（例えば、図１０Ｅにおける穴１６に近いその描写）にゴルフボールをドラッグできる。
【００２７】
図３は、図２の画像２０を生成するために使用される複数の画像の光景 を合成する方法１００の例のフローチャートである。電子ディスプレイ上に、シーンを描写する一連の画像からの画像が表示される（ブロック１０２）。一連の画像からベース画像として使用される画像を選択するユーザ入力が受信される（ブロック１０４）。一連の画像からオブジェクトを選択するユーザ入力がまた、受信される（ブロック１０６）。選択されたオブジェクトの移動軌跡が、一連の画像から判定される（ブロック１０８）。選択されたオブジェクトは、判定された移動軌跡に沿って初期位置から新たな位置に選択されたオブジェクトをドラッグするユーザ入力に基づいて再配置される（ブロック１１０）。新たな画像が、ベース画像と再配置されたオブジェクトとを合成することによって生成される（ブロック１１２）。
【００２８】
図３の方法１００が、図１Ａ−１Ｆおよび図４Ａ−Ｆの例に関連して説明される。一連の画像からの画像をベース画像として使用することを選択する（ブロック１０４）ユーザの入力を容易にする、一連の画像が表示される（ブロック１０２）。この説明について、お祝い姿勢にあるゴルファー１２のため、画像１０Ｆがベース画像として選択されることを想定する。一連の画像から選択されたオブジェクトとしてゴルフボール１４を選択するユーザ入力が受信される（ブロック１０６）。ゴルフボール１４の移動軌跡は、一連の画像１０Ａ−Ｆから判定される（ブロック１０８）。
【００２９】
（図１Ｆにおける）画像１０Ｆを参照すると、ゴルフボール１４は穴１６内に既にあるので、ゴルフボール１４は図示されておらず、ユーザは、（図１Ｂ及び図４Ａに示される）画像１０Ｂのような複数の画像の他のものに変更する。ユーザは、電子ディスプレイ上で適切なタッチジェスチャ（例えば、ダブルタップ、タップアンドホールド、など）を行うことにより、ゴルフボールを選択する。選択されたオブジェクトは、お祝い姿勢にあるゴルファー１２がゴルフボール１４と一緒に示されている、図４Ｂの画像３０Ａに示されるようにベース画像上に表示される。ゴルフボール１４の移動軌跡３２の表示は、その軌道に沿ってゴルフボール１４の所望の位置を選択することをユーザに支援するために示される。
【００３０】
図４Ｃ、４Ｄおよび４Ｅで示されるようにユーザは、軌道３２に沿って初期位置から新たな位置にゴルフボールをドラッグする。ユーザがゴルフボール１４をドラッグするとき、再配置されたゴルフボールのバージョンが表示される（ブロック１１０）。オブジェクトの所望の位置に到達すると（図４Ｅの画像３０Ｄを参照）、ユーザはタッチスクリーンから指を離すことができる。
【００３１】
図４Ｅに示されるようにゴルフボール１４の新たな位置は、ゴルフボール１４を穴１６に近接する位置に再配置する。方法１００を実装する演算デバイスは、ベース画像と再配置されたゴルフボールとを合成することで新たな画像を生成する（ブロック１１２）。新たな画像３０Ｅは、４Ｆに示される。図４Ｆに示されるように新たな画像は、ゴルファー１２はお祝い姿勢にあるが、穴１６に近接するゴルフボール１４を示す。この例では、新たな画像３０Ｅは、画像１０Ｆと１０Ｅの光景を合成する。
【００３２】
上述したように１または複数の実施形態では、選択されたオブジェクトが軌道上の所与の点にある間に、選択されたオブジェクトの全体軌跡３２の表示が表示され、オブジェクトをドラッグするユーザ入力が受信される。この表示は、図４Ｂ−Ｅの例では点線である。このような表示は、選択されたオブジェクトのための所望の位置をユーザが与えるときに軌道を視覚化することにおいてユーザに役立つ。１または複数の実施形態では、ユーザは少し軌道から逸脱させることができるが、新たな位置が事前に定義された逸脱閾値（例えば、画素数）を超えて移動軌跡から外れた場合、選択されたオブジェクトの新たな位置は拒否される。拒否された場合、ユーザは、移動軌跡３２に沿って選択されたオブジェクトの位置を選択する別の機会を提示されてもよい。逸脱閾値を実施するための１つの理由は、ユーザが移動軌跡からある程度逸脱することを望む可能性があることであり、逸脱閾値はある程度までこれを可能にするが、選択されたオブジェクトを判定された軌道３２から完全に逸脱して移動することを防止する。このような動きは光と影の問題を作り出す可能性があり、一連の画像において描写されたシーンの非現実的な表示をもたらす可能性がある。
【００３３】
ある実施形態では、逸脱閾値は静的な所定の値である。ある実施形態では、逸脱閾値は移動軌跡に基づいて動的に決定される（例えば、おおよその逸脱が移動軌跡の長さに応じて許可される）。ある実施形態では、逸脱閾値は描写されているシーンに基づいて動的に決定される。そのような実施形態において、より大きな逸脱が、選択されたオブジェクトを再配置することから生じる可能性がある、ベース画像の「穴」を埋めることが容易であるより均一な背景に対して許可されてもよく、より少ない逸脱が、現実的に「穴」のようなものを埋めることがより困難であるより均一でない背景に対して許可される。均一な背景の例は、均一に光る草を含めることができる。
【００３４】
いくつかの実施形態において、再配置されるオブジェクトは、選択されるオブジェクトに対する別の位置だけでなく、別の方向も含む。例えばオブジェクトの移動が移動軌跡３２に沿って移動している間に回転する場合、再配置されるオブジェクトはその回転方向を示すことが望ましい場合がある。例えば、非円形のオブジェクトが投げられたことを考えると、そのようなオブジェクトは、着地前に回転する可能性が非常に高いであろう。このような例において、選択されたオブジェクトの修正されたバージョンはまた、選択されたオブジェクトの異なる方向を含むことができる。いくつかの実施形態において、ユーザは、選択されたオブジェクトが移動軌跡３２に沿ってドラッグされたように、選択されたオブジェクトの回転を止めることができる。いくつかの実施形態において、オブジェクトが移動軌跡３２に沿ってドラッグされるように、オブジェクトは回転するであろう。
【００３５】
このように、１または複数の実施形態において、選択されたオブジェクトを再配置することは、選択されたオブジェクトの新たな位置、選択されたオブジェクトの新たな向き、またはその両方を決定することを含む。さらに、１または複数の実施形態において、選択されたオブジェクトが判定された移動軌跡に沿ってドラッグされている間に、選択されたオブジェクトのサイズが変更されてもよい（例えば、オブジェクトが近づいたり遠くになったりすることにつれて）。いくつかの実施形態において、オブジェクトを再配置することは、新たな位置にあるオブジェクトの影が初期位置の近傍に残る代わりに、新たな位置に近接して示されるように、選択されたオブジェクトの影を再配置することを含む。１または複数の実施形態において、影を再配置することに加えて、他の影の調整が行われる。追加の影の調整のいくつかの例は、影のスケール、輝度、形状、角度および／または色の変更の任意の組み合わせを含む。このような影の調整は、新たな位置に再配置されたときの、選択されたオブジェクトの新たな位置、選択されたオブジェクトのサイズ、および／または選択されたオブジェクトの新たな位置に近接する他のアイテムの影などのような多くの要因に基づいて行われてもよい。
【００３６】
選択されたオブジェクトの影も再配置されるいくつかの実施形態において、一連の画像は、例えばステレオカメラを使用して３次元で記録されてもよく、影の動きは画像の３次元配列から３Ｄデータを用いて分析される。例えば、所与の立体画像を構成する個々の成分画像は、選択されたオブジェクトの移動軌跡に沿って選択されたオブジェクトとともに影が移動する程度を判定するために分析されてもよい。
【００３７】
いくつかの実施形態において、移動軌跡３２に沿った異なる位置での選択されたオブジェクトの複数のコピーが、最終の新たな画像に含まれてもよい。例えば、図２の新たな画像２０は、移動軌跡３２に沿った異なる位置でのさらなるゴルフボール１４の別のコピーを追加するために変更されてもよい。これは、方法１００の前の反復のブロック１１２の「新たな画像」を方法１００の後続の反復におけるベース画像として供給して、方法１００を繰り返すことによって達成される。方法１００は、選択されたオブジェクトの所望の数量が最終的な新たな画像に含まれるように、所望の回数繰り返すことができる。
【００３８】
そのような実施形態では、最終的な新たな画像において選択されたオブジェクトは複製され、また必要に応じて大きさを変更される。例えば、スキーヤーがダウンヒルスキージャンプのフリップオフをして着地位置に到達するまでのスキーヤーのビデオを考える。上述した技術を用いて、スキーヤーの移動軌跡に沿った様々な位置でのスキーヤーの複数のコピーが最終的な画像に含まれる。これは、多重露光画像が似ているものに類似した画像を生成するために行われる（例えば、単一のカメラ位置から記録された運動軌道に沿った様々な位置でのスキーヤーの多重露光）。
【００３９】
図４Ｂ−Ｅに示されるように、移動軌跡３２に沿って選択されたオブジェクトがドラッグされ、移動されている間、ベース画像の光景が示されてもよい。これを達成するために、一連の画像のいずれかにおいて選択されたオブジェクトによって占有されていない画像領域が特定され、選択されたオブジェクトが移動軌跡に沿ってドラッグされているときに、それらのベース画像の特定された画像領域が表示される。図４Ｂ−Ｅの例において、選択されたオブジェクトは非常に小さいゴルフボール１４であり、よって選択されたオブジェクトによって占有されていない、特定された画像領域が画像３０Ａ−Ｄの大部分を含む。
【００４０】
上述された実施例では、選択されたオブジェクトはベース画像に存在しなかった。しかし、選択されたオブジェクトがベース画像に存在した場合（例えば、ゴルフボール１４が画像１０Ｆに示される場合）、ベース画像と選択されたオブジェクトの変更されたバージョンとを合成することは、選択されたオブジェクトが新たな位置に再配置されたときに、ベース画像においてもはや占有されていない画素（すなわち、ベース画像の「穴」）を判定すること含む。そしてベース画像の判定された画素は、判定された画素の周囲の画像領域に基づいて埋められる（例えば、最近傍、クローニング、および／またはコンテンツアウェアフィル（Ｃｏｎｔｅｎｔ  ａｗａｒｅ  ｆｉｌｌ）を使用して）。代替的にまたはこれに加えて、判定された画素は、ベース画像以外の１または複数の一連の画像に基づいて埋められる（例えば、一連の画像内の他の画像から画素をコピーして）。
【００４１】
いくつかの実施形態において、選択されたオブジェクトの移動軌跡に沿って選択されたオブジェクトをドラッグするユーザ入力を容易にするために、補間が行われる。そのような実施形態において、補間の動作は、一連の画像の第１の画像における第１の位置と連続する一連の画像の第２の位置との間の選択されたオブジェクトの動きが差分閾値を超えることによってトリガされてもよい。それが発生した場合、補間は、第１および第２の位置との間である移動軌跡に沿った選択されたオブジェクトの追加位置を判定するために実行され、選択されたオブジェクトが第１および第２の位置の間の判定された移動軌跡に沿ってドラッグされている間に、選択されたオブジェクトは追加の位置に表示される。これは、オブジェクトが素早く動いている場合、および／または動いている選択されたオブジェクトの画像の所望の数量を保存するのに十分に一連の画像が迅速に記録されていない場合、選択されたオブジェクトの動きをより適切に制御するために提供することができる。
【００４２】
例として図１Ｄおよび１Ｅを用いると、ゴルフボール１４は、これらの画像の間にかなりの距離を移動する。補間を実行することは、図１Ｄ−Ｅに示されたものとの間に位置する、移動軌跡３２に沿った１以上の位置にゴルフボールを配置することをユーザにできるようにする。したがって、ユーザがベース画像上で前後に選択されたオブジェクトをドラッグするとき、それらは、補間を行わない他の方法で可能であるよりもより細かいオブジェクトの制御を提供される。１または複数の実施形態において、一連の画像がビデオである場合、補間の動作はビデオの追加のフレームを生成することを含む。１または複数の実施形態において、一連の画像が静止写真のシーケンスである場合、補間の動作は、追加の静止写真を生成することを含む。他の実施形態において、補間は、フレームおよび／または写真の全体ではなく、選択されたオブジェクトの移動軌道３２に沿った画像領域のみを生成するために行われる。
【００４３】
１または複数の実施形態において一連の画像は、方法１００を実行する同じデバイスによって記録される。いくつかの実施形態において、記録は、カメラのシャッターのユーザ操作に基づいて行われる。このようなユーザ操作は、例えば、ユーザが実際にシャッターボタンを押すこと、またはユーザがタッチスクリーン上のシャッターユーザインターフェース要素を選択することを含むことができる。１または複数の実施形態において、複数の画像は、ビデオのフレーム（例えば、標準解像度、高解像度、または４Ｋビデオのような）として記録される。他の実施形態では、複数の画像は静止写真の連続として得られる（例えば爆発写真のような）。１または複数の実施形態において、シャッターが実際に動作する前に（例えば、スマートフォンのカメラアプリケーションが開かれており、フォーカスが発生した後）、複数の画像の記録は開始され、シャッターが動作した後に完了する。当然ながらこれらは、非限定的な例であると理解され、方法１００を実行する演算デバイスは、代わりに別のデバイスから静止画像またはビデオフレームなどの画像を取得することができる（例えば、ラップトップ演算デバイスは、デジタルカメラまたはビデオカメラから画像を取得することができる）。
【００４４】
再び図３を参照すると、画像を選択するユーザ入力（ブロック１０４）は、ユーザが、ベース画像が選択されるまで、複数の画像を通して前方および／または後方にドラッグすることに対応してもよい。このようなユーザ入力は、例えばカーソルの移動、またはタッチベースの入力デバイス（例えば、タッチスクリーン、またはタッチパッド）上の指の動きを検出することを含むことができる。一連の画像からオブジェクトを選択するユーザ入力（ブロック１０６）は、同様にタッチベースの入力の検出される指のタッチを含むことができる。例えばこれは、タッチスクリーンやタッチパッド上で検出される指のダブルタップまたはタップアンドホールドを含めることができる（例えば、そのような選択を提供する手２８の概要を示す図５Ａを参照）。代替的に、ブロック１０６のユーザ入力は、カーソル（例えば、スタイラス、マウス、タッチパッド等によって制御される）からの同様の入力を含むことができる。
【００４５】
方法１００を実行する演算デバイスは、移動軌跡を判定するために選択されたオブジェクトの境界を判定する。これは例えば、エッジ検出を用いて行われてもよい。図４Ａの例では、これはゴルフボール１４の境界を判定することを含む。
【００４６】
オプションとして、追加の調整が行われてもよい。これは、新たな画像内に追加のオブジェクトを再配置することを含んでもよい（例えば、複数の画像が複数の画像内に移動軌跡を有する場合）。ある例において、図５に示されるように、追加の調整はフェーズベースのビデオ処理アルゴリズムの動作を含む。
【００４７】
図５は、追加の調整を実行するための方法１００に関連して行われ、フェーズベースのビデオモーション処理アルゴリズムの動作を含んでもよい例示的な方法２００を示す。一連の画像から追加オブジェクトを選択するユーザ入力が受信される（ブロック２０２）。フェーズベースのビデオモーション処理アルゴリズムが、追加オブジェクトの誇張された動きを判定するために行われる（ブロック２０４）。電子ディスプレイ上に、選択された追加オブジェクトの誇張された動きが表示される（ブロック２０６）。誇張された動きの表示に基づいて、受信される追加のオブジェクトの選択される描写を含む追加のユーザ入力が受信され（ブロック２０８）、追加オブジェクトの選択される描写は新たな画像に含められる（ブロック２１０）。
【００４８】
方法２００が、図６Ａ−Ｄに関連して説明される。以下の説明は、選択される追加オブジェクトがフラグポール１８とフラグ１９との組み合わせ、まとめてフラグ集合４０と称される、であることを前提とする。図１Ａ-Ｆに示される描写されるシーンにおいて、フラグポール１８の第１の端部４２は穴１６内に固定され、フラグポール１８の反対側の第２の端部４４はフラグ１９に固定されている。描かれたシーン全体を通して、フラグ１９はわずかに風に吹かれているが、フラグポール１８において任意の知覚できるほどの屈曲を誘発するほど十分ではない。それにもかかわらず、フラグポール１８は曲げおよび／または振動をある程度示してもよい。フェーズベースのビデオモーション処理アルゴリズムの動作は、フラグポール１８における振動のような現実的に微妙な動きを検出でき、誇張できる。
【００４９】
ブロック２０２のオブジェクト選択のための、および／またはブロック１０６のオブジェクト選択のための、オブジェクトの選択を受信する演算デバイスは、選択されたオブジェクトの範囲を判定するためにエッジ検出を行ってもよい。オブジェクトが複数の要素を含むように表示される場合（例えば、フラグ集合４０のフラグポール１８とフラグ１９のような）、演算デバイスは、ユーザが複数の部分のそれぞれを選択することを意図していることの確認を求めてもよい。確認が受信されない場合、構成要素の他の組み合わせ（または単一の要素）が、それらの選択に基づいてユーザに示されてもよい。
【００５０】
方法２００によれば、この場合フラグ集合４０である追加オブジェクトの誇張された動きを判定するために（ブロック２０４）、フェーズベースのビデオモーション処理アルゴリズムが行われる（例えば、http://people.csail.mit.edu/nwadhwa/phase-videoで説明されるような）。オブジェクトの誇張された動きを得るために、フェーズベースのビデオモーション処理アルゴリズムを実行する方法を当業者は理解していると思われるので、アルゴリズムの動作は本明細書では詳細に説明されない。
【００５１】
電子ディスプレイ上に、選択された追加オブジェクトの誇張された動きが表示される（ブロック２０６）。誇張された動きのいくつかの例が図６Ｂ―Ｄに示され、点線はフラグポール集合４０の誇張されていない位置を示す。図６Ｂ−Ｄは、フラグ集合４０のますます誇張される動きを示す。図６Ｄでは、描写される誇張された位置の最大値を示す。誇張された動きの表示に基づいて、追加オブジェクトの選択される描写を含むユーザ入力が受信される（ブロック２０８）。追加オブジェクトの選択される描写が、新たな画像に含められる（ブロック２１０）。選択される描写が図６Ｄのものであると仮定すると、図７は、図２の画像２０であるがフラグ集合４０の選択される描写を含むように修正された、修正された新たな画像２０´を示す。
【００５２】
図６Ａ−Ｄの例では、追加の選択されたオブジェクト（フラグ集合４０）はベース画像中に存在するが、修正された新たな画像２０´に変更され、その変更は追加の選択されたオブジェクトの所望の描写が示されたときにもはや占有されていない画素があり得るので、画像内に「穴」を生成するかもしれない。これに対処するためにそのような画素が判定され、判定された画素周辺の画像領域に基づいて、追加のオブジェクトが選択された画像以外の１以上の複数の画像に基づいて、またはそれら両方に基づいて埋められる。上述したように、充填に使用されることができるいくつかの技術は、例えば最近傍、クローニング、および／またはコンテンツアウェアフィル（Ｃｏｎｔｅｎｔ  ａｗａｒｅ  ｆｉｌｌ）を含んでもよい。あるいは、またはこれに加えて、画素は、単に複数の画像の他のものからコピーされることができる。
【００５３】
図８は、本明細書で説明された技術を実現するための演算デバイス３００の例を示す。演算デバイスは、例えばスマートフォン、パーソナルデジタルアシスタント（ＰＤＡ）、またはタブレット演算デバイスであってもよい。当然のことながら、ラップトップ、デスクトップコンピュータ等のような、演算デバイスの他のタイプも用いられることができる。いくつかの実施形態では、演算デバイス３００は、デジタルカメラ、ビデオカメラ、またはいくつかの他の撮像デバイスである。
【００５４】
演算デバイス３００は、プロセッサ３０２、電子ディスプレイ３０４を含む。プロセッサ３０２は、例えば１以上のマイクロプロセッサ、マイクロコントローラ等を含む１以上のプロセッサ回路を含み、また上述した技術の１つまたは複数を実行するために適切なソフトウェアおよび／またはファームウェアで構成される。電子ディスプレイは、例えば演算デバイス３００に内蔵されてもよく、または外付けであってもよい。プロセッサ３０２は、電子ディスプレイ上に、あるシーンを描写する一連の画像からの画像を表示するように構成される。プロセッサ３０２はさらに、一連の画像からベース画像として使用される画像を選択するユーザ入力を受信し、一連の画像からオブジェクトを選択するユーザ入力を受信し、一連の画像から選択されたオブジェクトの移動軌跡を判定するように構成される。プロセッサ３０２はさらに、判定された移動軌跡に沿って初期位置から新たな位置に選択されたオブジェクトをドラッグするユーザ入力に基づいて選択されたオブジェクトを再配置し、ベース画像と再配置されたオブジェクトを合成して新たな画像を生成するように構成される。
【００５５】
演算デバイス３００はまた、入力デバイス３０６およびメモリ回路３０８を含む。いくつかの実施形態では、入力デバイス３０６は、タッチスクリーンインタフェースを提供するために電子ディスプレイ３０４と連動して動作する１以上のタッチセンサを含む。当然のことながら、タッチパッドのような他のタッチベースの入力デバイスが使用されることができる。ある例において、入力デバイスは、外部デバイス（例えば、ワイヤレスマウス、または有線マウスのような）からの入力を受信する通信インタフェースである。入力デバイス３０６は、画像選択を指示するユーザ入力、および／またはオブジェクトを選択し、その移動軌跡に沿ってドラッグするユーザ入力を受信するために使用されることができる。
【００５６】
メモリ回路３０８は、一連の画像（例えば、図１Ａ−Ｆに示された画像）を格納するように動作する非一時的なコンピュータ可読媒体である。１または複数の実施形態において、非一時的なコンピュータ可読媒体は、唯一の例外が一時的な、伝搬する信号である、任意のコンピュータ可読媒体を含んでもよい。１または複数の実施形態によれば、メモリ回路３０８は、１以上の電子的、磁気的、光学的、電磁気的、または半導体ベースの記憶システムを含む。
【００５７】
オプションとして、演算デバイス３００はまた、一連の画像（例えば、図１Ａ−Ｆのもの）を記録するように構成されたレンズ３１０および画像センサ３１２を含んでもよい。演算デバイス３００はまた、画像を送信および／または受信する無線送受信機３１４を含んでもよい。これらの任意の構成は、それらが必要とされないことを示すために点線で示される。
【００５８】
演算デバイス３００は、上述の技術の任意の組み合わせを実施するように構成されてもよい。したがって１または複数の実施形態において、プロセッサ３０２は、新たな位置が事前に定義された逸脱閾値を超えて移動軌跡から外れている場合、選択されたオブジェクトの新しい位置を拒否するように構成される。同じまたは他の実施形態において、プロセッサ３０２は、選択されたオブジェクトが軌道上の所与の点にあり、オブジェクトをドラッグするユーザ入力が受信されている間、選択されたオブジェクトの全軌道の表示を表示するように構成される。同じまたは他の実施形態において、プロセッサ３０２は、上述のように補間を行うように構成される。
【００５９】
１または複数の実施形態において、演算デバイス３００は、図５の方法２００を実行するように動作する。そのような実施形態において、プロセッサ３０２は、一連の画像から追加オブジェクトを選択するユーザ入力を受信し、追加オブジェクトの誇張された動きを判定するためにフェーズベースのビデオモーション処理アルゴリズムを実行し、電子ディスプレイ３０４上に追加オブジェクトの誇張された動きを表示するように構成される。プロセッサ３０２はさらに、誇張された動きの表示に基づいて追加オブジェクトの選択される描写を受信し、新たな画像に追加オブジェクトの選択される描写を含めるように構成される。
【００６０】
オプションとして、演算デバイス３００上で実行すると、演算デバイス３００が上述の技術のいずれかを実行するように構成するコンピュータプログラムコードを含むコンピュータプログラムプロダクトが、メモリ回路３０８に記憶されてもよい。
【００６１】
従来技術では写真の操作は、しばしば写真およびグラフィックデザインの専門家向けである複雑な作業となっている。一般的に１つの画像に基づく自由な編集を可能にする、アドビ  フォトショップ（ＡＤＯＢＥ  ＰＨＯＴＯＳＨＯＰ）のようなツールは、複雑なユーザインタフェースを有する。最近になって、ＳＣＡＬＡＤＯからのＲＥＷＩＮＤのようなソフトウェアは、ユーザに複数の写真からの顔の表情を１つの画像に合成できるようにする。しかしこれらのツールはいずれも、オブジェクトのシーケンスから選択されたオブジェクトの移動軌跡を判定せず、判定された移動軌跡に沿って初期位置から新たな位置に選択されたオブジェクトをドラッグするユーザ入力に基づいて選択されたオブジェクトを再配置しない。また、このようなツールは、選択されたオブジェクトの誇張された動きを判定するための、フェーズベースのビデオモーション処理アルゴリズムの動作を含まない。このような従来のツールに含まれる上述の補間技術もまたない。
【００６２】
選択されたオブジェクトの判定された移動軌跡に沿った選択されたオブジェクトのドラッグを介する直接的なビデオ操作の使用は、（インタフェース要素が限定される可能性がある）タッチスクリーン演算デバイスでうまく動作する有益なユーザインタフェースを提供することができる。また、上述した逸脱閾値の使用は、非現実的に見える写真編集を回避するために使用されることができる。
【００６３】
当然のことながら本開示は、本開示の本質的な特徴から逸脱することなく、本明細書に具体的に記載された以外の方法で実施されてもよい。例えば、またいくつかの代替の実装において、ブロックで言及された機能は図面に記された順序以外で起こってもよいことに留意すべきである。例えば、該当する機能によって、連続して示される２つのブロックは実際には実質的に同時に実行されてもよく、またはブロックは時には逆の順序で実行されてもよい。したがって本発明の実施形態は、すべての点において例示として限定的でなく考慮されるべきであり、添付の特許請求の範囲の意味および等価の範囲内に入るすべての変更が含まれることが意図される。
【図１Ａ】
0006304398.tif 000002
【図１Ｂ】
0006304398.tif 000003
【図１Ｃ】
0006304398.tif 000004
【図１Ｄ】
0006304398.tif 000005
【図１Ｅ】
0006304398.tif 000006
【図１Ｆ】
0006304398.tif 000007
【図２】
0006304398.tif 000008
【図３】
0006304398.tif 000009
【図４Ａ】
0006304398.tif 000010
【図４Ｂ】
0006304398.tif 000011
【図４Ｃ】
0006304398.tif 000012
【図４Ｄ】
0006304398.tif 000013
【図４Ｅ】
0006304398.tif 000014
【図４Ｆ】
0006304398.tif 000015
【図５】
0006304398.tif 000016
【図６Ａ】
0006304398.tif 000017
【図６Ｂ】
0006304398.tif 000018
【図６Ｃ】
0006304398.tif 000019
【図６Ｄ】
0006304398.tif 000020
【図７】
0006304398.tif 000021
【図８】
0006304398.tif 000022