(57)【要約】  本開示の一側面は、撮像装置により撮像されたフレーム画像の手ブレ補正を行う画像処理装置である。この装置は、取得部、画像生成部及び切出部を備える。取得部は、複数のフレーム画像を取得する。画像生成部は、取得部により取得された複数のフレーム画像のうち、第一フレーム画像と、第一フレーム画像の前後数フレームの何れか一つのフレーム画像である第二フレーム画像とを繋ぎ合わせて第一フレーム画像及び第二フレーム画像の大きさよりも大きな合成画像を生成する。切出部は、合成画像内に切出領域を設定し、切出領域内の画像を出力フレーム画像として出力する。
2017122810.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置により撮像されたフレーム画像の手ブレ補正を行う画像処理装置であって、
複数の前記フレーム画像を取得する取得部と、
前記取得部により取得された複数のフレーム画像のうち、第一フレーム画像と、前記第一フレーム画像の前後数フレームの何れか一つのフレーム画像である第二フレーム画像とを繋ぎ合わせて前記第一フレーム画像及び前記第二フレーム画像の大きさよりも大きな合成画像を生成する画像生成部と、
前記合成画像に切出領域を設定し、前記切出領域内の画像を出力フレーム画像として出力する切出部と、
を備える画像処理装置。
【請求項２】
前記切出部は、前記第一フレーム画像に前記切出領域を設定し、
前記画像生成部は、前記切出部により前記切出領域を前記第一フレーム画像内に設定できない場合には前記合成画像を生成し、前記切出部により前記切出領域を前記第一フレーム画像内に設定できる場合には前記合成画像を生成しない、請求項１に記載の画像処理装置。
【請求項３】
前記画像生成部は、前記第一フレーム画像の前後数フレームからなるフレーム群から前記第一フレーム画像と繋ぎ合わせる前記第二フレーム画像を選択する請求項１又は２に記載の画像処理装置。
【請求項４】
前記取得部は、動画から前記フレーム画像を取得する請求項１〜３の何れか一項に記載の画像処理装置。
【請求項５】
前記取得部は、ハイパーラプス動画から前記フレーム画像を取得する請求項１〜３の何れか一項に記載の画像処理装置。
【請求項６】
前記取得部は、前記撮像装置から前記フレーム画像を取得する請求項１〜５の何れか一項に記載の画像処理装置。
【請求項７】
前記切出部は、前記撮像装置の動きに応じて前記切出領域の位置を設定する請求項１〜６の何れか一項に記載の画像処理装置。
【請求項８】
前記画像生成部は、前記第一フレーム画像と前記第二フレーム画像との継目の位置の探索範囲を限定する請求項１〜７の何れか一項に記載の画像処理装置。
【請求項９】
前記第一フレーム画像の前記第二フレーム画像に対するズームインの倍率、ズームアウトの倍率、及び、被写体の表示倍率のうち少なくとも一つを取得する倍率取得部をさらに備え、
前記画像生成部は、前記倍率取得部により取得された倍率の単位時間当たりの変化量が閾値以上である場合には、前記合成画像を生成しない、請求項１〜８の何れか一項に記載の画像処理装置。
【請求項１０】
前記第一フレーム画像又は前記第二フレーム画像の被写体の大きさを認識する認識部をさらに備え、
前記画像生成部は、前記認識部により認識された被写体の大きさが閾値以上である場合には、前記合成画像を生成しない、請求項１〜９の何れか一項に記載の画像処理装置。
【請求項１１】
撮像装置により撮像されたフレーム画像の手ブレ補正を行う画像処理方法であって、
複数のフレーム画像を取得する取得ステップと、
前記取得ステップにより取得された複数のフレーム画像のうち、第一フレーム画像と前記第一フレーム画像の前後数フレームの何れか一つのフレーム画像である第二フレーム画像とを繋ぎ合わせて前記第一フレーム画像及び前記第二フレーム画像の大きさよりも大きな合成画像を生成する画像生成ステップと、
前記合成画像内に切出領域を設定し、前記切出領域内の画像を出力フレーム画像として出力する切出ステップと、
を備える画像処理方法。
【請求項１２】
撮像装置により撮像されたフレーム画像の手ブレ補正を行う画像処理プログラムであって、
コンピュータを、
複数の前記フレーム画像を取得する取得部、
前記取得部により取得された複数のフレーム画像のうち、第一フレーム画像と前記第一フレーム画像の前後数フレームの何れか一つのフレーム画像である第二フレーム画像とを繋ぎ合わせて前記第一フレーム画像及び前記第二フレーム画像の大きさよりも大きな合成画像を生成する画像生成部、及び、
前記合成画像内に切出領域を設定し、前記切出領域内の画像を出力フレーム画像として出力する切出部として機能させる、
画像処理プログラム。
【請求項１３】
撮像装置により撮像されたフレーム画像の手ブレ補正を行う画像処理プログラムを格納した記憶媒体であって、前記画像処理プログラムは、コンピュータを、
複数の前記フレーム画像を取得する取得部、
前記取得部により取得された複数のフレーム画像のうち、第一フレーム画像と前記第一フレーム画像の前後数フレームの何れか一つのフレーム画像である第二フレーム画像とを繋ぎ合わせて前記第一フレーム画像及び前記第二フレーム画像の大きさよりも大きな合成画像を生成する画像生成部、及び、
前記合成画像内に切出領域を設定し、前記切出領域内の画像を出力フレーム画像として出力する切出部として機能させる、
記憶媒体。
【請求項１４】
撮像装置により撮像されたフレーム画像の手ブレ補正を行う画像処理装置であって、
複数の前記フレーム画像を取得する取得部と、
前記取得部により取得された複数のフレーム画像に切出領域を設定し、前記切出領域内の画像を出力フレーム画像として出力する切出部と、
を備え、
前記取得部は、動画又はハイパーラプス動画から前記フレーム画像を取得し、
前記切出部は、フレーム画像ごとに階層化されたツリー構造を用いて探索する際に、前記ツリー構造の探索範囲を制限してカメラワークの探索を行い、動きデータのうち探索されたカメラワーク以外の成分が打ち消されるように、前記フレーム画像に切出領域を設定する、
画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置、画像処理方法、画像処理プログラム及び記憶媒体に関する。
【背景技術】
【０００２】
特許文献１には、画像処理装置が記載されている。この装置は、動画撮像時の手ブレなどの影響を排除するため、撮像されたフレーム画像から切り取るべき適切な切出領域を決定する。この装置は、フレーム画像と基準フレーム画像（例えば前回入力したフレーム画像）とのずれの程度を示す動きデータを検出し、検出された動きデータに応じて切出領域を移動又は変形させることで、カメラの動きに対して切出領域が静止するように補正している。しかしながら、特許文献１に記載の装置は、切出領域がフレーム画像と基準フレーム画像とが重なるフレーム領域以外の領域を含む場合には、手ブレ補正後の画像に画素情報が含まれない領域が存在するおそれがある。【０００３】
特許文献２には、本来の切出領域が上述したフレーム領域以外の領域を含む場合には、切出領域を上述したフレーム領域内に制限する装置が記載されている。この装置は、切出領域がフレーム領域からはみ出した場合、強制的に切出領域をフレーム領域内へ移動させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２２６６４３号公報
【特許文献２】米国特許出願公開第２０１３／０２３５２２１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献２に記載の装置は、手ブレ補正機能を制限する方向に働くため、十分な手ブレ補正機能を発揮できないおそれがある。【０００６】
別の手法として、上述したフレーム領域以外の領域の画像情報を他の画像から補完することにより、手ブレ補正を実現することが考えられる。例えば、上述したフレーム領域以外の領域の画像情報がフレーム画像の前後の複数枚のフレーム画像を用いて補完される。具体的には、複数枚のフレーム画像の動き情報などから上述したフレーム領域以外の領域の画像情報を収集して平均し、上述したフレーム領域以外の領域の画像情報を推測することが考えられる。しかしながら、このような手法は、複数枚のフレーム画像を処理する必要があるため、演算コストが非常に大きく、携帯端末などに組み込むソフトウェアとしては利用することができない。【０００７】
本技術分野では、演算コストを抑えつつ、手ブレ補正機能を発揮することが望まれている。
【課題を解決するための手段】
【０００８】
本開示の一側面は、撮像装置により撮像されたフレーム画像の手ブレ補正を行う画像処理装置である。この装置は、取得部、画像生成部及び切出部を備える。取得部は、複数のフレーム画像を取得する。画像生成部は、取得部により取得された複数のフレーム画像のうち、第一フレーム画像と、第一フレーム画像の前後数フレームの何れか一つのフレーム画像である第二フレーム画像とを繋ぎ合わせて第一フレーム画像及び第二フレーム画像の大きさよりも大きな合成画像を生成する。切出部は、合成画像に切出領域を設定し、切出領域内の画像を出力フレーム画像として出力する。【０００９】
この装置においては、合成画像が第一フレーム画像と第二フレーム画像とを繋ぎ合わせることで生成される。このため、画像処理装置は、複数枚のフレーム画像を用いてフレーム領域以外の領域の画像情報を補完する場合と比べて、合成画像を生成するための演算コストを抑えることができる。そして、第一フレーム画像及び第二フレーム画像よりも大きい合成画像に切出領域が設定される。これにより、切出領域の設定可能な領域を第一フレーム領域内に制限する必要が無くなるため、手ブレ補正機能を十分発揮することができる機会が増える。このように、本開示の一側面によれば、演算コストを抑えつつ、手ブレ補正機能を発揮することができる。【００１０】
一実施形態においては、切出部は、第一フレーム画像に切出領域を設定し得る。このとき、画像生成部は、切出部により切出領域を第一フレーム画像内に設定できない場合には合成画像を生成してもよい。また、画像生成部は、切出部により切出領域を第一フレーム画像内に設定できる場合には合成画像を生成しなくてもよい。この画像生成装置は、切出領域の設定可能な領域を拡大する必要がないときは合成画像を生成しないため、演算コストをさらに低減することができる。【００１１】
一実施形態においては、画像生成部は、第一フレーム画像の前後数フレームからなるフレーム群から第一フレーム画像と繋ぎ合わせる第二フレーム画像を選択してもよい。この場合、画像生成装置は、複数の候補の中から第二フレーム画像を選択することができる。【００１２】
一実施形態においては、取得部は、動画又はハイパーラプス動画からフレーム画像を取得してもよい。一実施形態においては、取得部は、撮像装置からフレーム画像を取得してもよい。【００１３】
一実施形態においては、切出部は、撮像装置の動きに応じて切出領域の位置を設定してもよい。これにより、画像処理装置は、撮像装置の動きをキャンセルすることができる。【００１４】
一実施形態においては、画像生成部は、第一フレーム画像と第二フレーム画像との継目の位置の探索範囲を限定してもよい。これにより、画像処理装置は、演算コストを抑えることができる。【００１５】
一実施形態においては、画像処理装置は、第一フレーム画像の第二フレーム画像に対するズームインの倍率、ズームアウトの倍率、及び、被写体の表示倍率のうち少なくとも一つを取得する倍率取得部をさらに備えてもよい。この場合、画像生成部は、倍率取得部により取得された倍率の単位時間当たりの変化量が閾値以上である場合には、合成画像を生成しない。このように、画像処理装置は、合成画像の演算コストが大きくなることが予想される場合には合成画像を生成しないことにより、レスポンスの低下を回避することができる。【００１６】
一実施形態においては、画像処理装置は、第一フレーム画像又は第二フレーム画像の被写体の大きさを認識する認識部をさらに備えてもよい。この場合、画像生成部は、認識部により認識された被写体の大きさが閾値以上である場合には、合成画像を生成しない。このように、画像処理装置は、合成画像が不自然な画像となることが予想される場合には合成画像を生成しないことにより、画像品質の低下を回避することができる。【００１７】
本開示の他の側面は、撮像装置により撮像されたフレーム画像の手ブレ補正を行う画像処理方法である。該方法は、取得ステップ、画像生成ステップ及び切出ステップを備える。取得ステップにおいては、複数のフレーム画像が取得される。画像生成ステップにおいては、取得ステップにより取得された複数のフレーム画像のうち、第一フレーム画像と第一フレーム画像の前後数フレームの何れか一つのフレーム画像である第二フレーム画像とを繋ぎ合わせて第一フレーム画像及び第二フレーム画像の大きさよりも大きな合成画像が生成される。切出ステップにおいては、合成画像に切出領域が設定され、切出領域内の画像が出力フレーム画像として出力される。【００１８】
本開示の他の側面は、撮像装置により撮像されたフレーム画像の手ブレ補正を行う画像処理プログラムである。該プログラムは、コンピュータを、取得部、画像生成部及び切出部として機能させる。取得部は、複数のフレーム画像を取得する。画像生成部は、取得部により取得された複数のフレーム画像のうち、第一フレーム画像と、第一フレーム画像の前後数フレームの何れか一つのフレーム画像である第二フレーム画像とを繋ぎ合わせて第一フレーム画像及び第二フレーム画像の大きさよりも大きな合成画像を生成する。切出部は、合成画像に切出領域を設定し、切出領域内の画像を出力フレーム画像として出力する。【００１９】
本開示の他の側面は、撮像装置により撮像されたフレーム画像の手ブレ補正を行う画像処理プログラムを格納した記憶媒体である。該プログラムは、コンピュータを、取得部、画像生成部及び切出部として機能させる。取得部は、複数のフレーム画像を取得する。画像生成部は、取得部により取得された複数のフレーム画像のうち、第一フレーム画像と、第一フレーム画像の前後数フレームの何れか一つのフレーム画像である第二フレーム画像とを繋ぎ合わせて第一フレーム画像及び第二フレーム画像の大きさよりも大きな合成画像を生成する。切出部は、合成画像に切出領域を設定し、切出領域内の画像を出力フレーム画像として出力する。【００２０】
画像処理方法、画像処理プログラム及び記憶媒体によれば、一側面に係る画像処理装置と同一の効果を奏する。【００２１】
本開示の他の側面は、撮像装置により撮像されたフレーム画像の手ブレ補正を行う画像処理装置である。この装置は、取得部、画像生成部及び切出部を備える。取得部は、複数のフレーム画像を取得する。切出部は、取得部により取得された複数のフレーム画像に切出領域を設定し、切出領域内の画像を出力フレーム画像として出力する。そして、取得部は、動画又はハイパーラプス動画からフレーム画像を取得する。切出部は、フレーム画像ごとに階層化されたツリー構造を用いて探索する際に、ツリー構造の探索範囲を制限してカメラワークの探索を行い、動きデータのうち探索されたカメラワーク以外の成分が打ち消されるように、フレーム画像に切出領域を設定する。【００２２】
この装置においては、ツリー構造を用いて探索する際に、各親ノードに属する子ノードの数や、同じ深さに存在するノードの数などを制限した計算を行う。これにより、この装置は、演算コストを低減することができる。
【発明の効果】
【００２３】
本開示の種々の側面によれば、演算コストを抑えつつ、手ブレ補正機能を発揮することができる。
【図面の簡単な説明】
【００２４】
【図１】切出領域が入力フレーム画像からはみ出した例である。
【図２】二枚の入力フレーム画像を縫い合わせることにより、切出領域の欠如領域を補完した例である。
【図３】第一実施形態に係る画像処理装置を備える携帯端末の機能ブロック図である。
【図４】携帯端末のハードウェア構成図である。
【図５】切出領域の位置と撮像装置の移動方向との関係を説明する図である。
【図６】切出領域のはみ出しを説明する図である。
【図７】二枚の入力フレーム画像を用いた切出領域の補完を説明する図である。
【図８】二枚の入力フレーム画像の継目を説明する図である。
【図９】欠落領域の種類を説明する図である。
【図１０】継目の探索範囲、探索開始位置及び探索終了位置を説明する図である。
【図１１】第一実施形態に係る画像処理装置の出力フレーム画像の生成処理のフローチャートである。
【図１２】第二実施形態に係る画像処理装置の携帯端末の機能ブロック図である。
【図１３】カメラワークの探索を説明する図である。
【図１４】カメラワークの探索を説明する図である。
【図１５】カメラワークの探索を説明する図である。
【図１６】カメラワークの探索を説明する図である。
【図１７】第三実施形態に係る画像処理装置の携帯端末の機能ブロック図である。
【図１８】第三実施形態に係る画像処理装置の出力フレーム画像の生成処理のフローチャートである。
【図１９】第四実施形態に係る画像処理装置の携帯端末の機能ブロック図である。
【図２０】第四実施形態に係る画像処理装置の出力フレーム画像の生成処理のフローチャートである。
【発明を実施するための形態】
【００２５】
以下、図面を参照しつつ、本開示の一実施形態について説明する。以下の説明では、同一の部品又は構成要素には同一の符号が付される。それらの名称及び機能は同一である。したがって、それらについての詳細な説明は繰り返さない。
【００２６】
［技術思想］
撮像装置により撮像される映像又は画像を安定化させる電子式スタビライザが知られている。電子式スタビライザにおいては、手ブレをキャンセルするように入力フレーム画像を切り取ることによって、安定化された出力フレーム画像が得られる。しかしながら、切出領域が入力フレーム画像内に収まらない場合、出力フレーム画像は画素情報が定義されていない領域（欠落領域）を含むことになる。図１は、切出領域Ｋｉが入力フレーム画像ｆｉｉｎからはみ出した例である。図１に示されるように、入力フレーム画像ｆｉｉｎに切出領域Ｋｉが設定される。切出領域Ｋｉ内の画像が出力フレーム画像となる。切出領域Ｋｉが入力フレーム画像ｆｉｉｎからはみ出した場合、出力フレーム画像は画素情報が定義されていない欠落領域Ｄｉを含む。なお、“ｉ”は入力順などを示す番号であり、整数である。
【００２７】
図１において、切出領域Ｋｉの大きさが小さい場合には、切出領域Ｋｉが欠落領域Ｄｉを含む可能性が低減される。このため、良好な映像の安定化がもたらされる。しかし、切出領域Ｋｉの大きさが小さくなるにつれて出力フレーム画像の有効画角が狭くなる。このため、単に切出領域Ｋｉの大きさを小さくするというアプローチでは、画質と映像の安定化とを両立させることは困難である。
【００２８】
欠落領域Ｄｉの画素情報を補完する方法として、多数のフレーム画像を用い、複雑な計算を行うことで欠落領域Ｄｉの画素情報を補完する方法が考えられる。しかしながら、スマートフォンなどの携帯端末に組み込むシステムとしては、計算コストが高すぎるという課題がある。本開示では、電子式スタビライザの新しい手法を提案する。本開示の手法は、例えば２つの隣接するフレーム画像を縫い合わせる。図２は、二枚の入力フレーム画像を縫い合わせることにより、切出領域Ｋｉの欠落領域Ｄｉを補完した例である。図２に示されるように、入力フレーム画像ｆｉｉｎと直前に入力された入力フレーム画像ｆｉ−１ｉｎとを継目２００に沿って縫い合わせることにより、入力フレーム画像ｆｉｉｎ及び入力フレーム画像ｆｉ−１ｉｎよりも大きな合成画像（ポリゴン）が生成される。最適な継目２００に沿って二枚のフレーム画像が繋ぎ合わされることで、画角が効果的に広がり、かつ、現実的な処理時間で合成画像の不自然さが緩和される。そして、この合成画像から出力フレーム画像を切り出すことにより、画質と映像の安定化との両立を低い演算コストで実現することができる。
【００２９】
［第一実施形態］
本実施形態に係る画像処理装置は、撮像装置により撮像されたフレーム画像の手ブレ補正を行う装置である。画像処理装置は、例えば複数の画像の連続撮影や動画撮影に用いられる。画像処理装置は、例えば、携帯電話、スマートフォン、デジタルカメラ、ＰＤＡ（Personal  Digital  Assistant）など、リソースに制限のあるモバイル端末に搭載され得る。しかしながら、画像処理装置は、これらの機器に搭載されることが必須ではなく、例えば通常のコンピュータシステムに搭載されてもよい。
【００３０】
［装置構成］
図３は、本実施形態に係る画像処理装置１を備える携帯端末２の機能ブロック図である。図３に示される携帯端末２は、例えばユーザにより携帯される移動端末であり、図４に示すハードウェア構成を有する。図４は、携帯端末２のハードウェア構成図である。図４に示されるように、携帯端末２は、物理的には、ＣＰＵ（Central  Processing  Unit）１００、ＲＯＭ（Read  Only  Memory）１０１及びＲＡＭ（Random  Access  Memory）１０２などの主記憶装置、カメラ又はキーボードなどの入力デバイス１０３、ディスプレイなどの出力デバイス１０４、ハードディスクなどの補助記憶装置１０５などを含む通常のコンピュータシステムとして構成される。後述する携帯端末２及び画像処理装置１の各機能は、ＣＰＵ１００、ＲＯＭ１０１、ＲＡＭ１０２などのハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、実現される。具体的には、後述する携帯端末２及び画像処理装置１の各機能は、ＣＰＵ１００の制御の元で入力デバイス１０３及び出力デバイス１０４を動作させるとともに、主記憶装置や補助記憶装置１０５におけるデータの読み出し及び書き込みを行うことで実現される。なお、上記の説明は携帯端末２のハードウェア構成として説明したが、画像処理装置１がＣＰＵ１００、ＲＯＭ１０１及びＲＡＭ１０２等の主記憶装置、入力デバイス１０３、出力デバイス１０４、補助記憶装置１０５などを含む通常のコンピュータシステムとして構成されてもよい。また、携帯端末２は、通信モジュールなどを備えてもよい。
【００３１】
図３に示すように、携帯端末２は、撮像装置２１、画像処理装置１及び表示制御部２２を備えている。撮像装置２１は、時系列で連続するフレーム画像を撮像する装置である。撮像装置２１の一例としては、動画を撮影するカメラなどである。動画は、時系列で連続するフレーム画像を含む。なお、撮像装置２１は、ユーザ操作などにより指定されたタイミングから所定の間隔で繰り返し画像を撮像する連続撮像機能を有してもよい。撮像装置２１は、一例として、画像処理装置１が参照可能な記憶部にフレーム画像を記憶する。
【００３２】
画像処理装置１は、撮像装置２１により得られたフレーム画像を入力して処理することによって出力フレーム画像を生成する。フレーム画像は、画素値を含む。画素値とは、画素に対応付けされた情報であり、例えば輝度値、色差値、彩度などが含まれる。画像処理装置１は、例えば、取得部１１、動きデータ算出部１２、切出部１３及び画像生成部１４を備えている。
【００３３】
取得部１１は、複数のフレーム画像を取得する。取得部１１は、ＣＰＵ１００が主記憶装置や補助記憶装置１０５内のプログラムを実行し、該プログラムに従って入力デバイス１０３を制御することで実現される。取得部１１は、一例として、撮像装置２１から複数のフレーム画像を複数の入力フレーム画像として取得する。
【００３４】
動きデータ算出部１２は、フレーム画像間の動きを算出する。動きデータ算出部１２は、ＣＰＵ１００が主記憶装置や補助記憶装置１０５内のプログラムを実行することで実現される。動きデータ算出部１２は、取得部１１により取得された入力フレーム画像間の座標を対応付けする。動きデータ算出部１２は、入力フレーム画像間の差分を算出して、フレーム画像間の座標を対応付けしてもよいし、フレーム画像間の原点の位置変化を算出して、フレーム画像間の座標を対応付けしてもよい。あるいは、画像処理装置１がジャイロセンサを備え、ジャイロセンサによる検出結果を用いて、動きデータ算出部１２が対象フレーム画像と前後フレーム画像との間の動きを取得してもよい。ジャイロセンサによる検出結果を用いた場合には、フレーム画像のみのデータを用いる場合に比べて、ロバスト性に優れる。
【００３５】
フレーム画像間の差分を用いる場合には、動きデータ算出部１２は、例えばピラミッド画像アプローチを採用する。この場合、最初に、動きデータ算出部１２は、フレーム画像間の差分の絶対値の和を最小にするブロックマッチングを行い、まばらに選択されたＨａｒｒｉｓ−Ｓｔｅｐｈｅｎｓの特徴点を個別に追跡する。このとき、動きデータ算出部１２は、各ブロックマッチングのための初期ベクトルを、下位レイヤへ変換されたフレーム画像を用いて決定する。そして、動きデータ算出部１２は、最小二乗法を用いて隣接する二つのフレーム画像間の透視変換を計算する。透視変換により、二つのフレーム画像間の座標は対応づけられる。
【００３６】
切出部１３は、第一フレーム画像又は後述する合成画像に切出領域を設定し、切出領域内の画像を出力フレーム画像として出力する。切出部１３は、ＣＰＵ１００が主記憶装置や補助記憶装置１０５内のプログラムを実行することで実現される。
【００３７】
切出部１３は、撮像装置２１の動きに応じて切出領域Ｋｉの位置を設定することができる。切出部１３は、例えば動きデータ算出部１２により算出された入力フレーム画像間の動きに応じて切出領域Ｋｉの位置を設定する。そして、切出部１３は、切出領域内の画像を出力フレーム画像として出力する。図５は、切出領域Ｋｉの位置と撮像装置２１の移動方向との関係を説明する図である。図５の状態（Ａ），（Ｂ）では、撮像装置２１により連続撮像された入力フレーム画像をｆｉ−１ｉｎ、ｆｉｉｎとし、その中心位置をＣｆｉ−１、Ｃｆｉとする。切出部１３は、ここでは入力フレーム画像ｆｉ−１ｉｎよりも小さい大きさの切出領域Ｋｉ−１を設定する。例えば、切出領域Ｋｉ−１の大きさは、入力フレーム画像ｆｉ−１ｉｎの大きさの７０〜９０％となる。この切出領域Ｋｉ−１が出力フレーム画像となる。次に、撮像装置２１が状態（Ａ）で示す撮像位置から状態（Ｂ）で示す撮像位置へ変化したとする（図５の状態（Ｂ）の実線の矢印で示す右上方向へのシフト）。この場合、入力フレーム画像ｆｉ−１ｉｎよりも右上にシフトした入力フレーム画像ｆｉｉｎが得られる。ここで、切出部１３は、入力フレーム画像ｆｉ−１ｉｎと入力フレーム画像ｆｉｉｎとの間の動きを相殺する位置に、切出領域Ｋｉを設定する（図５の状態（Ｂ）の破線の矢印で示す左下方向へのシフト）。これにより、切出領域Ｋｉ−１の中心位置Ｃｒｉ−１とＣｒｉとが同程度の位置となるため、あたかも静止しているかのような出力フレーム画像が生成される。
【００３８】
動きデータ算出部１２により算出された入力フレーム画像間の動きが大きい場合、切出領域Ｋｉが入力フレーム画像ｆｉｉｎからはみ出すことがある。図６は、切出領域Ｋｉのはみ出しを説明する図である。図６に示されるように、動きデータ算出部１２により算出された入力フレーム画像間の動きが大きい場合、入力フレーム画像間の動きを相殺する位置に設定された切出領域Ｋｉは、入力フレーム画像ｆｉｉｎの縁よりも外側の領域を含む。入力フレーム画像ｆｉｉｎの縁よりも外側の領域には画素情報が定義されていない。このため、このままの状態で切出領域Ｋｉ内の画像を出力フレーム画像とした場合、利用者に受け入れられない出力結果となる。よって、手ブレ補正をある程度犠牲にして切出領域Ｋｉを入力フレーム画像ｆｉｉｎ内に再設定するか、あるいは、入力フレーム画像ｆｉｉｎの縁よりも外側の領域の画素情報を他の入力フレーム画像を用いて補完するか、のいずれかの対応が必要になる。
【００３９】
処理対象となる入力フレーム画像（以下、第一フレーム画像ともいう。）の前後数フレームは、第一フレーム画像と同一又は近い撮像結果となると想定される。このため、第一フレーム画像の前後数フレームを用いて、入力フレーム画像ｆｉｉｎの縁よりも外側の領域の画素情報を補完できる可能性がある。図７は、二枚の入力フレーム画像を用いた切出領域Ｋｉの補完を説明する図である。図７に示されるように、一例として、処理対象となる入力フレーム画像ｆｉｉｎと、直前の入力フレーム画像ｆｉ−１ｉｎとを用いることで、切出領域Ｋｉ全体の画素情報を取得することができる。このため、切出領域Ｋｉが処理対象となる入力フレーム画像ｆｉｉｎをはみ出した場合であっても、入力フレーム画像ｆｉｉｎと直前の入力フレーム画像ｆｉ−１ｉｎとによって生成される合成画像内であれば、手ブレ補正の機能を十分発揮することができる。また、切出領域Ｋｉが合成画像外であったとしても、入力フレーム画像ｆｉｉｎのみを用いた場合と比べて、画素情報が存在する領域内へ押し戻す量を小さくすることができるので、手ブレ補正による画面のガタつきを低減することができる。なお、直前の入力フレーム画像ｆｉ−１ｉｎに替えて、直後の入力フレーム画像ｆｉ＋１ｉｎを用いてもよい。
【００４０】
画像生成部１４は、取得部１１により取得された複数のフレーム画像に含まれる第一フレーム画像と第二フレーム画像とを繋ぎ合わせて合成画像を生成する。画像生成部１４は、ＣＰＵ１００が主記憶装置や補助記憶装置１０５内のプログラムを実行することで実現される。画像生成部１４は、動きデータ算出部１２により算出された動きを用いてフレーム画像間の位置関係を把握し、第一フレーム画像と第二フレーム画像とを繋ぎ合わせる。合成画像は、第一フレーム画像の一部又は全部と、第二フレーム画像の一部又は全部とを含む。合成画像の大きさは、第一フレーム画像及び第二フレーム画像の大きさよりも大きい。
【００４１】
第二フレーム画像は、第一フレーム画像の前後数フレームの何れか一つのフレーム画像である。数フレームとは、例えば１〜５枚程度である。画像生成部１４は、第一フレーム画像の前後数フレームからなるフレーム群から第一フレーム画像と繋ぎ合わせる第二フレーム画像を選択してもよい。具体的な一例として、画像生成部１４は、切出領域と最も重なるフレーム画像をフレーム群から選択し、第二フレーム画像としてもよい。あるいは、画像生成部１４は、切出領域と所定領域以上重なるフレーム画像をフレーム群から選択し、第二フレーム画像としてもよい。画像生成部１４は、例えば第一フレーム画像の直後のフレーム画像の方が直前のフレーム画像よりも切出領域に重なっている場合には、直後のフレーム画像を第二フレーム画像として選択する。
【００４２】
画像生成部１４は、二つの入力フレーム画像の継目２００を決定し、継目２００に沿って二つの入力フレーム画像を結合することで、合成画像を生成する。図８は、二枚の入力フレーム画像の継目２００を説明する図である。図８に示されるように、処理対象となる第一フレーム画像ｆｉｉｎと、第二フレーム画像ｇｉｉｎとの継目２００を決定するために、隣接する四つの画素Ｐの交点をノードＮとし、二つの画素Ｐの境目をエッジＥとする。画像生成部１４は、あるエッジをまたいで隣接する画素の画素値を用いて、当該エッジのコストを定義する。例えば、隣接する画素の画素値の差分（例えば輝度値の差分）の大きさをコストとして定義する。また、経路上のエッジのコストの総和が最小になるように継目２００を決定する。画像生成部１４は、エッジＥに対してのみコストを割り当てる。例えば、以下数式（１）を用いてコストは定義される。
【数１】
2017122810.tif 000003
ここでＬＡとＬＢとは任意の隣接ピクセル（ピクセルＡ，Ｂ）の輝度値であり、ｃｏｓｔＡＢはそれらの間のエッジＥのコストである。Ｌｍａｉｎは、第一フレーム画像ｆｉｉｎのピクセルの輝度値であり、Ｌｓｕｂは、第二フレーム画像ｇｉｉｎのピクセルの輝度値である。画像生成部１４は、コストが最小化するエッジＥの経路をＤｉｊｋｓｔｒａのアルゴリズム（CORMEN, T. H., LEISERSON, C. E., RIVEST, R. L., AND STEIN, C. 2009. Introduction to algorithms. MIT Press.）を用いて決定する。これにより、画像生成部１４は、最も目立たない継目２００を決定することができる。なお、画像生成部１４は、継目２００が欠落領域Ｄｉを横切らないように、欠落領域Ｄｉの近傍のコストを無限大に設定してもよい。また、画像生成部１４は、出力フレーム画像の境界部分のコストを０に設定してもよい。
【００４３】
演算コストを低減させるために、画像生成部１４は、第一フレーム画像と第二フレーム画像との継目の位置の探索範囲を限定してもよい。図９は、欠落領域の種類を説明する図である。図９の種別（Ａ）〜種別（Ｄ）は、第一フレーム画像の欠落領域の種別である。四角い外枠が第一フレーム画像であり、黒で塗りつぶされた領域は欠落領域Ｄｉであり、ハッチング領域は欠落領域タイプを表現している。図９の種別（Ａ）〜種別（Ｄ）に示されるように、欠落領域Ｄｉは四種類に分類することができる。種別（Ａ）は、一つの辺に張り付いた長方形で構成される欠落領域、種別（Ｂ）は、隣り合う二つの辺に張り付いた二つの長方形で構成される欠落領域、種別（Ｃ）は、三つの辺に張り付いた三つの長方形で構成される欠落領域、種別（Ｄ）は、全ての辺に張り付いた四つの長方形で構成される欠落領域である。一般的な欠落領域は長方形で構成されていないので、分類する際は欠落領域を１〜４つの長方形の組み合わせで、面積差が小さくなるように近似して分類する。その長方形で近似された領域が、図９に示されるハッチング領域に対応する。
【００４４】
画像生成部１４は、欠落領域の種別ごとに、探索範囲、探索開始位置、探索終了位置を設定する。図１０は、継目２００の探索範囲、探索開始位置及び探索終了位置を説明する図である。四角い外枠が第一フレーム画像である。探索範囲は、二種類のハッチング領域で示す範囲であり、例えば図９で示された長方形近似領域を拡張して設定される。例えば、探索範囲は、長方形近似領域の幅の２〜４倍の広さに設定される。
【００４５】
画像生成部１４は、種別（Ａ）〜種別（Ｃ）それぞれに、探索範囲、探索開始位置ＳＰ、探索終了位置ＥＰを設定する。このように、探索範囲が限定されることで、演算コストが低減される。なお、図９の種別（Ｄ）については、Ｄｉｊｋｓｔｒａのアルゴリズムで取り扱うことができない。このため、図９の種別（Ｄ）については、合成画像が生成されない。
【００４６】
切出部１３は、第一フレーム画像及び合成画像が描画されるキャンパス（座標空間）に対して切出領域Ｋｉを設定する。画像生成部１４は、切出部１３により切出領域Ｋｉを第一フレーム画像内に設定できない場合には合成画像を生成し、切出部１３により切出領域Ｋｉを第一フレーム画像内に設定できる場合には合成画像を生成しない。切出部１３は、合成画像内に切出領域Ｋｉを設定することができない場合には、合成画像内へ切出領域Ｋｉを強制的に移動させる。切出部１３は、切出領域Ｋｉを第一フレーム画像内に設定できない場合であって画像生成部１４により合成画像が生成できないとき（図９の種別（Ｄ）の場合）、第一フレーム画像内へ切出領域Ｋｉを強制的に移動させる。
【００４７】
切出部１３は、表示制御部２２へ出力フレーム画像を出力する。表示制御部２２は、画像又は映像を表示可能な表示装置に接続され、出力フレーム画像を表示装置に表示させる。
【００４８】
［出力フレーム画像の生成処理］
図１１は、第一実施形態に係る画像処理装置１の出力フレーム画像の生成処理のフローチャートである。図１１に示される生成処理は、例えば携帯端末２の撮像機能をＯＮしたタイミングで実行される。
【００４９】
図１１に示すように、最初に画像処理装置１の取得部１１は、取得処理（Ｓ１０：取得ステップ）として、入力フレーム画像を第一フレーム画像として取得する。取得部１１は、例えば撮像装置２１から第一フレーム画像を入力する。そして、画像処理装置１の動きデータ算出部１２によって、第一フレーム画像の前後数フレームの何れか一つのフレーム画像である第二フレーム画像との動きが算出される。
【００５０】
続いて、画像処理装置１の切出部１３は、設定処理（Ｓ１２）として、切出領域Ｋｉを設定する。切出部１３は、撮像装置２１の動きをキャンセルするように、第一フレーム画像及び合成画像が描画されるキャンパス（座標空間）に対して切出領域Ｋｉを設定する（図５参照）。
【００５１】
画像処理装置１の画像生成部１４は、判定処理（Ｓ１４）として、切出領域Ｋｉが第一フレーム画像内であるか否かを判定する。切出領域Ｋｉが第一フレーム画像内であると判定された場合（Ｓ１４：Ｙｅｓ）、切出部１３は、切出処理（Ｓ１６：切出ステップ）として、切出領域Ｋｉ内の画像を出力フレーム画像として切り出す。これにより、出力フレーム画像が生成され、図１１に示される生成処理が終了する。
【００５２】
一方、切出領域Ｋｉが第一フレーム画像内でないと判定された場合（Ｓ１４：Ｎｏ）、画像生成部１４は、生成処理（Ｓ１８：画像生成ステップ）として、第一フレーム画像と第二フレーム画像とを繋ぎ合わせて合成画像を生成する。あるいは、合成画像が生成できない場合（図９の種別（Ｄ）の場合）、画像生成部１４は、その旨を示す信号を切出部１３へ出力する。
【００５３】
生成処理（Ｓ１８）にて合成画像が生成された場合、切出部１３は、切出処理（Ｓ１６）として、切出領域Ｋｉが合成画像内であるか否かを判定する。切出部１３は、切出領域Ｋｉが合成画像内であると判定された場合、切出領域Ｋｉ内の画像を出力フレーム画像として切り出す。切出部１３は、切出領域Ｋｉが合成画像内でないと判定された場合、切出領域Ｋｉを合成画像内へ移動させ、その後、出力フレーム画像として切り出す。また、生成処理（Ｓ１８）にて合成画像が生成されない場合、切出部１３は、切出処理（Ｓ１６）として、切出領域Ｋｉを第一フレーム画像内へ移動させ、その後、出力フレーム画像として切り出す。以上により、出力フレーム画像が生成され、図１１に示される生成処理が終了する。
【００５４】
以上で図１１に示される生成処理が終了する。図１１に示される生成処理が実行されることにより、切出領域Ｋｉが第一フレーム画像をはみ出していた場合であっても、二枚のフレーム画像を繋ぎ合わせることで、切出領域Ｋｉを再設定することなく、出力フレーム画像を生成することができる。また、切出領域Ｋｉを再設定する場合であっても、二枚のフレーム画像を繋ぎ合わせることで、切出領域Ｋｉの移動量を低減させることができる。これらにより、手ブレ補正によるガタつきを抑制することができる。さらに、二枚のフレーム画像を繋ぎ合わせることで、一枚のフレーム画像の場合と比べて強めの補正パラメータを採用することもできる。
【００５５】
次に、携帯端末（コンピュータ）２を上記画像処理装置１として機能させるための画像処理プログラムを説明する。
【００５６】
画像処理プログラムは、メインモジュール、入力モジュール及び演算処理モジュールを備えている。メインモジュールは、画像処理を統括的に制御する部分である。入力モジュールは、フレーム画像を取得するように携帯端末２を動作させる。演算処理モジュールは、動きデータ算出モジュール、切出モジュール及び画像生成モジュールを備えている。メインモジュール、入力モジュール及び演算処理モジュールを実行させることにより実現される機能は、上述した画像処理装置１の取得部１１、動きデータ算出部１２、切出部１３及び画像生成部１４の機能とそれぞれ同様である。
【００５７】
画像処理プログラムは、例えば、ＲＯＭ等の記憶媒体または半導体メモリに格納される。また、画像処理プログラムは、ネットワークを介して提供されてもよい。
【００５８】
［第一実施形態のまとめ］
以上、本実施形態に係る画像処理装置１、画像処理方法及び画像処理プログラムによれば、合成画像が第一フレーム画像と第二フレーム画像とを繋ぎ合わせることで生成される。このため、画像処理装置１は、複数枚のフレーム画像を用いてフレーム領域以外の領域の画像情報を補完する場合と比べて、合成画像を生成するための演算コストを抑えることができる。そして、第一フレーム画像及び第二フレーム画像よりも大きい合成画像に切出領域Ｋｉが設定される。これにより、切出領域Ｋｉの設定可能な領域を第一フレーム領域内に制限する必要が無くなるため、手ブレ補正機能を十分発揮することができる機会が増える。このように、画像処理装置１、演算コストを抑えつつ、手ブレ補正機能を発揮することができる。
【００５９】
また、画像処理装置１は、切出領域Ｋｉの設定可能な領域を拡大する必要がないときは合成画像を生成しないため、演算コストをさらに低減することができる。また、画像処理装置１は、輝度値の差が大きい部分を避けるように継目２００を設定するため、自然な結果を実現することができる。
【００６０】
［第二実施形態］
第二実施形態に係る画像処理装置１Ａは、第一実施形態に係る画像処理装置１と比べて、取得部１１の入力元、及び、切出部１３Ａの動作が相違し、その他は同一である。画像処理装置１Ａの説明において、画像処理装置１と重複する説明は省略される。
【００６１】
［装置構成］
図１２は、第二実施形態に係る画像処理装置１Ａの携帯端末２Ａの機能ブロック図である。図１２に示されるように、画像処理装置１Ａの構成は、画像処理装置１と比べて撮像装置２１を備えておらず、動画２３及びハイパーラプス動画２４を備えている。そして、切出部１３Ａ以外のその他の構成は同一である。
【００６２】
動画２３は、時系列で連続するフレーム画像を含むデータである。ハイパーラプス動画２４は、時系列で連続するフレーム画像を含むデータであり、具体的には、一定間隔で撮影された静止画の集合データである。取得部１１は、動画２３及びハイパーラプス動画２４の少なくとも一方を取得する。つまり、第二実施形態は、リアルタイム処理ではなく、記憶されたデータが存在する場合である。
【００６３】
切出部１３Ａは、切出部１３と比べて、切出領域Ｋｉの設定処理が相違する。切出部１３Ａは、動きデータのうち、カメラワーク以外の成分を手ブレとみなしてキャンセルする。
【００６４】
切出部１３Ａは、カメラワークのコストを定義し、コストが最小となるカメラワークを最終的なカメラワークとして採用する。理想的なカメラワークとしては、画像の中心に切り出し枠を持っていくような動作であり、基本的に等速直線運動を維持するような動作と考えられる。このため、理想的なカメラワークに近い場合にはコストが小さくなるように、以下の数式（２）のようにコストを定義する。なお、平行移動成分を無視してヨー、ピッチ、ロールの回転成分のみ考える。
【数２】
2017122810.tif 000004
ここで、右辺第一項は、方向転換の回数Ｎｔと係数εｔとの積である。つまり、なるべく等速直線運動を続け、やむを得ない時に方向転換するようなカメラワークの場合にはコストが小さくなる。右辺第二項は、フレーム画像ごとに算出された画像中心からの切出領域Ｋｉの位置のズレ量（ヨー方向、ピッチ方向、及び、ロール方向のズレ量）の総和である。つまり、画像の中心に切り出し枠を持っていくようなカメラワークの場合にはコストが小さくなる。右辺第三項は、切出領域Ｋｉを合成画像内又は第一フレーム画像内に移動させた回数ＮＰ（押し込めた回数）と係数εＰとの積である。押し込め回数が少ない方が、手ブレ補正が安定するので理想的といえる。
【００６５】
なお、数式（２）は、想定されるパターンが無限であるので、計算することができない。このため、切出部１３Ａは、理想的なカメラワークの探索を、図１３〜図１６に示されるツリー構造を用いて行う。具体的には、切出部１３Ａは、ツリー構造の探索範囲を制限してカメラワークの探索を行う。図１３〜図１６は、カメラワークの探索を説明する図である。
【００６６】
図１３に示されるツリー構造では、フレーム画像ごとに階層化されている。それぞれの階層には、円形のノードが表示されている。ノードは、各フレームでの切出処理に対応している。各ノードには、数式（２）で定義されたコストが関連付けられている。現在のフレーム画像（現在のノード）から次のフレーム画像（下の階層）までカメラワークが等速直線運動を続ける場合、当該ノードから図中の太線で示すエッジが伸びる。一方、現在のフレーム画像（現在のノード）から次のフレーム画像（下の階層）においてカメラワークが方向転回した場合、当該ノードから図中の細線で示すエッジが伸びる。つまり、ルートからリーフへの経路（パス）が具体的なカメラワークに対応する。図１３では、各ノードに対して方向転回のパターンを有限個（図中では２つ）に制限することで、演算コストを低減している。
【００６７】
切出部１３Ａは、さらに演算コストを低減すべく、フレーム画像ごとにノード数の上限値を設定する。これにより、上限値となるまで、コストが低い順にノードが選択される。図１４では、ノード数の上限値が「三つ」に設定されている。つまり、フレーム画像ｆ２ｉｎでは、コストの低いノードＮ５、Ｎ７、Ｎ１１が採用され、残りのノードＮ６、Ｎ８〜Ｎ１０、Ｎ１２、Ｎ１３が不採用となる。同様に、フレーム画像ｆ３ｉｎでは、コストの低いノードＮ１７、Ｎ１８、Ｎ１９が採用され、残りのノードＮ１４〜Ｎ１６、Ｎ１７、Ｎ２０、Ｎ２１が不採用となる。
【００６８】
上限値を設定した場合であっても、最初の結果を得るために、全てのフレーム画像について演算する必要がある場合もある。このため、切出部１３Ａは、フレーム画像ｆＸｉｎでの時点でフレーム画像ｆ１ｉｎの結果を強制的に固定する。図１５では、フレーム画像ｆＸｉｎでの時点での最小コストがノードＮｍ＋３であるとする。この場合、フレーム画像ｆ１ｉｎの結果をノードＮｍ＋３の先祖であるノードＮ３と固定する。そして、図１６に示されるように、フレーム画像ｆ１ｉｎのノードＮ３を新たなルートに設定して、サブツリーを構成する。この処理をフレーム画像ｆ２ｉｎ、フレーム画像ｆ３ｉｎと繰り返す。これにより、切出部１３Ａは、処理開始時に初期処理としてＸフレーム画像分の情報を処理する必要があるものの、上記のようにカメラワークを推定することで、ｆｒａｍｅ−ｂｙ−ｆｒａｍｅの処理が可能となるとともに、現実的な処理時間で最小に近いカメラワークを推定することができる。
【００６９】
［第二実施形態のまとめ］
以上、本実施形態に係る画像処理装置１Ａ、画像処理方法及び画像処理プログラムによれば、動画２３又はハイパーラプス動画２４を用いた場合であっても、画像処理装置１と同一の効果を奏する。また、この装置においては、ツリー構造を用いて探索する際に、各親ノードに属する子ノードの数や、同じ深さに存在するノードの数などを制限した計算を行う。これにより、この装置は、演算コストを低減することができる。
【００７０】
［第三実施形態］
第三実施形態に係る画像処理装置１Ｂは、第一実施形態に係る画像処理装置１と比べて、倍率取得部１５を備える点、及び、画像生成部１４Ｂの合成画像の生成タイミングが相違し、その他は同一である。画像処理装置１Ｂの説明において、画像処理装置１と重複する説明は省略される。
【００７１】
［装置構成］
図１７は、第三実施形態に係る画像処理装置１Ｂの携帯端末２Ｂの機能ブロック図である。図１７に示されるように、画像処理装置１Ｂの構成は、画像処理装置１と比べて倍率取得部１５を備える点が相違する。そして、画像生成部１４Ｂ以外のその他の構成は同一である。
【００７２】
倍率取得部１５は、第一フレーム画像の第二フレーム画像に対するズームインの倍率、ズームアウトの倍率、及び、被写体の表示倍率のうち少なくとも一つを取得する。倍率取得部１５は、ＣＰＵ１００が主記憶装置や補助記憶装置１０５内のプログラムを実行し、該プログラムに従って入力デバイス１０３を制御することで実現される。倍率取得部１５は、例えば撮像装置２１から上述した倍率に関する情報を取得する。倍率取得部１５は、第一フレーム画像と第二フレーム画像とを比較することで、倍率に関する情報を算出してもよい。
【００７３】
画像生成部１４Ｂは、倍率取得部１５により取得された倍率の単位時間当たりの変化量が閾値以上である場合には、合成画像を生成しない。倍率取得部１５により取得された倍率の単位時間当たりの変化量が閾値以上である場合、図９の種別（Ｄ）となる可能性が高いためである。閾値は、変化量を判定するために予め設定された値である。
【００７４】
［出力フレーム画像の生成処理］
図１８は、第三実施形態に係る画像処理装置１Ｂの出力フレーム画像の生成処理のフローチャートである。図１８に示される生成処理は、例えば携帯端末２Ｂの撮像機能をＯＮしたタイミングで実行される。
【００７５】
図１８に示すように、最初に画像処理装置１Ｂの取得部１１は、取得処理（Ｓ２０）として、入力フレーム画像を第一フレーム画像として取得する。この処理は、図１１の取得処理（Ｓ１０）と同一である。
【００７６】
続いて、画像処理装置１Ｂの倍率取得部１５は、倍率取得処理（Ｓ２２）として、撮像装置２１から第一フレーム画像の第二フレーム画像に対するズームインの倍率、ズームアウトの倍率、及び、被写体の表示倍率のうち少なくとも一つを取得する。
【００７７】
画像処理装置１Ｂの画像生成部１４Ｂは、判定処理（Ｓ２４）として、倍率変化が閾値以上であるか否かを判定する。倍率変化が閾値以上であると判定された場合（Ｓ２４：Ｙｅｓ）、切出部１３は、切出処理（Ｓ２６）として、切出領域Ｋｉが第一フレーム画像内であるか否かを判定する。切出部１３は、切出領域Ｋｉが第一フレーム画像内であると判定された場合、切出領域Ｋｉ内の画像を出力フレーム画像として切り出す。切出部１３は、切出領域Ｋｉが第一フレーム画像内でないと判定された場合、切出領域Ｋｉを第一フレーム画像内へ移動させ、その後、出力フレーム画像として切り出す。これにより、出力フレーム画像が生成され、図１８に示される生成処理が終了する。
【００７８】
一方、倍率変化が閾値以上でないと判定された場合（Ｓ２４：Ｎｏ）、画像生成部１４Ｂは、生成処理（Ｓ２８）として、第一フレーム画像と第二フレーム画像とを繋ぎ合わせて合成画像を生成する。
【００７９】
生成処理（Ｓ２８）にて合成画像が生成された場合、切出部１３は、切出処理（Ｓ１６）として、切出領域Ｋｉが合成画像内であるか否かを判定する。切出部１３は、切出領域Ｋｉが合成画像内であると判定された場合、切出領域Ｋｉ内の画像を出力フレーム画像として切り出す。切出部１３は、切出領域Ｋｉが合成画像内でないと判定された場合、切出領域Ｋｉを合成画像内へ移動させ、その後、出力フレーム画像として切り出す。以上により、出力フレーム画像が生成され、図１８に示される生成処理が終了する。
【００８０】
［第三実施形態のまとめ］
以上、本実施形態に係る画像処理装置１Ｂ、画像処理方法及び画像処理プログラムによれば、合成画像の演算コストが大きくなることが予想される場合には合成画像を生成しないことにより、レスポンスの低下を回避することができる。
【００８１】
［第四実施形態］
第四実施形態に係る画像処理装置１Ｃは、第一実施形態に係る画像処理装置１と比べて、認識部１６を備える点、及び、画像生成部１４Ｃの合成画像の生成タイミングが相違し、その他は同一である。画像処理装置１Ｃの説明において、画像処理装置１と重複する説明は省略される。
【００８２】
［装置構成］
図１９は、第四実施形態に係る画像処理装置１Ｃの携帯端末２Ｃの機能ブロック図である。図１９に示されるように、画像処理装置１Ｃの構成は、画像処理装置１と比べて認識部１６を備える点が相違する。そして、画像生成部１４Ｃ以外のその他の構成は同一である。
【００８３】
認識部１６は、第一フレーム画像又は第二フレーム画像の被写体の大きさを認識する。認識部１６は、ＣＰＵ１００が主記憶装置や補助記憶装置１０５内のプログラムを実行することで実現される。認識部１６は、周知の画像処理技術を用いて被写体の大きさを認識する。被写体とは、撮像対象物である。
【００８４】
画像生成部１４Ｃは、認識部１６により取得された被写体の大きさが閾値以上である場合には、合成画像を生成しない。被写体の大きさが閾値以上である場合、合成後の画質が低下するおそれがあるためである。閾値は、被写体の大きさを判定するために予め設定された値である。
【００８５】
［出力フレーム画像の生成処理］
図２０は、第四実施形態に係る画像処理装置１Ｃの出力フレーム画像の生成処理のフローチャートである。図２０に示される生成処理は、例えば携帯端末２Ｃの撮像機能をＯＮしたタイミングで実行される。
【００８６】
図２０に示すように、最初に画像処理装置１Ｃの取得部１１は、取得処理（Ｓ３０）として、入力フレーム画像を第一フレーム画像として取得する。この処理は、図１１の取得処理（Ｓ１０）と同一である。
【００８７】
続いて、画像処理装置１Ｃの認識部１６は、認識処理（Ｓ３２）として、例えば第一フレーム画像の被写体の大きさを認識する。
【００８８】
画像処理装置１Ｃの画像生成部１４Ｃは、判定処理（Ｓ３４）として、被写体の大きさが閾値以上であるであるか否かを判定する。被写体の大きさが閾値以上であると判定された場合（Ｓ３４：Ｙｅｓ）、切出部１３は、切出処理（Ｓ３６）として、切出領域Ｋｉが第一フレーム画像内であるか否かを判定する。切出部１３は、切出領域Ｋｉが第一フレーム画像内であると判定された場合、切出領域Ｋｉ内の画像を出力フレーム画像として切り出す。切出部１３は、切出領域Ｋｉが第一フレーム画像内でないと判定された場合、切出領域Ｋｉを第一フレーム画像内へ移動させ、その後、出力フレーム画像として切り出す。これにより、出力フレーム画像が生成され、図２０に示される生成処理が終了する。
【００８９】
一方、被写体の大きさが閾値以上でないと判定された場合（Ｓ３４：Ｎｏ）、画像生成部１４Ｃは、生成処理（Ｓ３８）として、第一フレーム画像と第二フレーム画像とを繋ぎ合わせて合成画像を生成する。
【００９０】
生成処理（Ｓ３８）にて合成画像が生成された場合、切出部１３は、切出処理（Ｓ３６）として、切出領域Ｋｉが合成画像内であるか否かを判定する。切出部１３は、切出領域Ｋｉが合成画像内であると判定された場合、切出領域Ｋｉ内の画像を出力フレーム画像として切り出す。切出部１３は、切出領域Ｋｉが合成画像内でないと判定された場合、切出領域Ｋｉを合成画像内へ移動させ、その後、出力フレーム画像として切り出す。以上により、出力フレーム画像が生成され、図２０に示される生成処理が終了する。
【００９１】
［第四実施形態のまとめ］
以上、本実施形態に係る画像処理装置１Ｃ、画像処理方法及び画像処理プログラムによれば、合成画像が不自然な画像となることが予想される場合には合成画像を生成しないことにより、画像品質の低下を回避することができる。
【００９２】
以上、本開示の実施形態について説明したが、本開示の技術的範囲は、本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲の記載事項に基づいて、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本開示の技術的範囲は、特許請求の範囲の記載事項及びその均等の範囲に基づいて定められるべきである。
【００９３】
例えば、画像処理装置１は、取得部１１の入力元が動画２３又はパイパーラプス動画であってもよい。つまり、画像処理装置１は、リアルタイム処理だけに限定されない。また、画像処理装置１Ａは、動画２３又はハイパーラプス動画２４を参照できればよく、これらを記憶する記憶部そのものを備えていなくてもよい。。さらに、画像処理装置１，１Ａは、動画を撮影及び保存後、動画を処理能力の高いサーバに送信して、サーバに手ブレ補正処理を行わせてもよい。
【００９４】
例えば、画像処理装置１，１Ａは、切出領域Ｋｉの設定可能な領域を拡大する必要がないときは合成画像を生成していないが、常に合成画像を生成するように処理を変更してもよい。
【００９５】
例えば、画像処理装置１，１Ａは、時間差が大きいフレーム画像同士を合成した場合は失敗する確率が高くなることに鑑み、ある所定の時間閾値より大きい時間差があるフレーム画像は合成対象としなくてもよい。また、画像処理装置１，１Ａは、撮影対象となるフレーム画像内の動被写体の多さを指標として、時間閾値を変化させてもよい。具体的な一例として、画像処理装置１，１Ａは、動被写体が多いのであれば時間閾値を小さくしてもよい。
【００９６】
また、画像処理装置１，１Ａは、録画済みの動画又はハイパーラプス動画の再生のために、処理結果をバッファして、少し遅れて処理結果を出力するように構成されてもよい。また、画像処理装置１，１Ａは、フレーム画像の演算処理時点での余裕時間又は余裕時間の推定値をパラメータとして、繋ぎ目の探索範囲又は合成するフレーム画像の枚数（例えば３枚以上）を、フレーム画像ごとに変更してもよい。なお、余裕時間は、バッファされている処理結果の量が多いほど大きくしてもよい。
【００９７】
また、切出部１３Ａは、ツリー構造を用いた探索を行う際に、合成画像から切り出す例を説明したが、切り出しの対象は合成画像でなくてもよい。
【００９８】
さらに、実施形態で説明された画像処理装置は、以下のように処理してもよい。画像処理装置は、合成画像そのものを生成せずに、合成画像の外枠だけ計算してもよい。また、画像処理装置は、外枠が多角形になる場合は、頂点の情報だけ計算してもよい。そして、画像処理装置は、外枠の情報（又は頂点の情報）を用いて切り出し枠を決定してもよい。そして、画像処理装置は、切り出しと同時に継目探索と合成を行ってもよい。これにより、全画像を合成する場合に比べ、必要な部分だけ処理するので、演算コストが軽減される。
【符号の説明】
【００９９】
１，１Ａ，１Ｂ，１Ｃ…画像処理装置、２１…撮像装置、１１…取得部、１２…動きデータ算出部、１３，１３Ａ…切出部、１４，１４Ｂ，１４Ｃ…画像生成部、１５…倍率取得部、１６…認識部、２３…動画、２４…ハイパーラプス動画。
【図１】
2017122810.tif 000005
【図２】
2017122810.tif 000006
【図３】
2017122810.tif 000007
【図４】
2017122810.tif 000008
【図５】
2017122810.tif 000009
【図６】
2017122810.tif 000010
【図７】
2017122810.tif 000011
【図８】
2017122810.tif 000012
【図９】
2017122810.tif 000013
【図１０】
2017122810.tif 000014
【図１１】
2017122810.tif 000015
【図１２】
2017122810.tif 000016
【図１３】
2017122810.tif 000017
【図１４】
2017122810.tif 000018
【図１５】
2017122810.tif 000019
【図１６】
2017122810.tif 000020
【図１７】
2017122810.tif 000021
【図１８】
2017122810.tif 000022
【図１９】
2017122810.tif 000023
【図２０】
2017122810.tif 000024
【国際調査報告】
2017122810.tif 000025
2017122810.tif 000026
2017122810.tif 000027
2017122810.tif 000028
2017122810.tif 000029
2017122810.tif 000030
2017122810.tif 000031