(57)【要約】【課題】適切に接合画像を生成することができる画像処理装置、画素処理方法、プログラム、及びカメラを提供する。【解決手段】本実施の形態にかかる画像処理装置は、複数の画像における画像間の動きを導出する動きベクトル導出部２１と、接合画像を構成する複数のテクスチャが書き込まれるフレームメモリ２２と、複数のテクスチャをフレームメモリ２２に書き込むテクスチャ書込部３１と、複数の画像を撮像する撮像部で撮像された画像を順次表示する画像表示領域４１と、接合画像用のフレームにおけるテクスチャの書き込み状況を示す画像を順次表示する状況表示領域４２と、を含む表示画面を表示する表示部３０と、を備え、状況表示領域４２は、接合画像用のフレームにおいてテクスチャが書き込まれた部分を示す領域と、テクスチャが書き込まれていない部分を示す領域とを含むことを特徴とするものである。【選択図】図１
2015186016.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像に基づく複数のテクスチャを接合して接合画像を生成する画像処理装置であって、
前記複数の画像における画像間の動きを導出する導出部と、
接合画像用のフレームが設定され、前記接合画像を構成する前記複数のテクスチャが書き込まれるフレームメモリと、
前記画像間の動きに基づいて、前記複数のテクスチャを前記フレームメモリに書き込むテクスチャ書込部と、
前記複数の画像を撮像する撮像部で撮像された画像を順次表示する画像表示領域と、前記接合画像用のフレームにおける前記テクスチャの書き込み状況を示す画像を順次表示する状況表示領域と、を含む表示画面を表示する表示部と、を備え、
前記状況表示領域は、前記接合画像用のフレームにおいて前記テクスチャが書き込まれた部分を示す領域と、前記テクスチャが書き込まれていない部分を示す領域とを含むことを特徴とする画像処理装置。
【請求項２】
前記表示画面は、前記画像表示領域と前記状況表示領域とが重畳せずに区分されていることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記接合画像用のフレームにおいて前記テクスチャが書き込まれた画素を第１の値とし、書き込まれていない画素を第２の値として二値化した二値化画像を生成する二値化部をさらに備え、
前記テクスチャの書き込み状況を示す画像は、前記二値化画像であることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記テクスチャ書込部は、前記複数のテクスチャの内の最初のテクスチャを、前記接合画像用のフレームの端と接さない領域に書き込むことを特徴とする請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
複数の画像を撮像する撮像部と、
請求項１〜４のいずれか１項に記載の画像処理装置と、を備えたことを特徴とするカメラ。
【請求項６】
複数の画像に基づく複数のテクスチャを接合して接合画像を生成する画像処理方法であって、
前記複数の画像における画像間の動きを導出するステップと、
接合画像用のフレームを、前記接合画像を構成する前記複数のテクスチャが書き込まれるフレームメモリに設定するステップと、
前記接合画像を構成するテクスチャが書き込まれるフレームメモリに、前記画像間の動きに基づいて、前記複数のテクスチャを書き込むステップと、
前記複数の画像を撮像する撮像部で撮像された画像を順次表示する画像表示領域と、前記接合画像用のフレームにおける前記テクスチャの書き込み状況を示す画像を順次表示する状況表示領域と、を含む表示画面を表示するステップと、を有し、
前記状況表示領域は、前記接合画像用のフレームにおいて前記テクスチャが書き込まれた部分を示す領域と、前記テクスチャが書き込まれていない部分を示す領域とを含むことを特徴とする画像処理方法。
【請求項７】
複数の画像に基づく複数のテクスチャを接合して接合画像を生成する画像処理をコンピュータに実行させるプログラムであって、
前記複数の画像における画像間の動きを導出するステップと、
接合画像用のフレームを、前記接合画像を構成する前記複数のテクスチャが書き込まれるフレームメモリに設定するステップと、
前記接合画像を構成するテクスチャが書き込まれるフレームメモリに、前記画像間の動きに基づいて、前記複数のテクスチャを書き込むステップと、
前記複数の画像を撮像する撮像部で撮像された画像を順次表示する画像表示領域と、前記接合画像用のフレームにおける前記テクスチャの書き込み状況を示す画像を順次表示する状況表示領域と、を含む表示画面を表示するステップと、
をコンピュータに実行させ、
前記状況表示領域は、前記接合画像用のフレームにおいて前記テクスチャが書き込まれた部分を示す領域と、前記テクスチャが書き込まれていない部分を示す領域とを含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、プログラム及びカメラに関する。
【背景技術】
【０００２】
近年、長大な被写体をカバーするように手動でカメラを動かして動画を撮影して、静止画パノラマを作成する手法が実用化されている。この手法では、動画を構成するフレーム画像を接合することで、パノラマ画像を生成している。パノラマ静止画の作成手法は、デジタルカメラの付加機能などの形で一般化している。この手法では、パンニング撮影における動きベクトルを導出して、それに基づいて画像をつなぎ合わせる幅を制御することを基本としている。
【０００３】
さらに、複数の静止画像もしくは動画シーケンスを接続してより大きな画像を構成する技術が存在している（特許文献１）。この技術は、パノラマのほかフォトモザイキングなどと呼ばれて一般的に広く知られている。特にデジタルカメラの普及以降は、このような処理を自動もしくは半自動で行うソフトウェアも普及している。パノラマ静止画は基本的に直線的なカメラ軌跡を前提としているが、原理的に２次元的な自由なカメラ軌跡で撮影された動画の接合が可能である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２６６６６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような画像処理に用いられるフレームメモリのサイズは有限である。すなわち、動画のフレームを接合する際に、各フレームのテクスチャが書き込まれるフレームメモリは有限のサイズを有している。よって、ユーザが撮像方向を大きく変えてしまうと、テクスチャがフレームメモリからはみ出してしまうことがある。テクスチャがフレームメモリからはみ出してしまうと、フレームメモリにテクスチャを書き込むことができなくなるため、所望の接合画像を生成することができなくなってしまう。
【０００６】
本発明は上記の点に鑑みなされたもので、自由度のある軌跡で撮像された画像を基に接合画像を生成することができる画像処理装置、画像処理方法、プログラム、及びカメラを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様にかかる画像処理装置は、複数の画像に基づく複数のテクスチャを接合して接合画像を生成する画像処理装置であって、前記複数の画像における画像間の動きを導出する導出部と、接合画像用のフレームが設定され、前記接合画像を構成する前記複数のテクスチャが書き込まれるフレームメモリと、前記画像間の動きに基づいて、前記複数のテクスチャを前記フレームメモリに書き込むテクスチャ書込部と、前記複数の画像を撮像する撮像部で撮像された画像を順次表示する画像表示領域と、前記接合画像用のフレームにおける前記テクスチャの書き込み状況を示す画像を順次表示する状況表示領域と、を含む表示画面を表示する表示部と、を備え、前記状況表示領域は、前記接合画像用のフレームにおいて前記テクスチャが書き込まれた部分を示す領域と、前記テクスチャが書き込まれていない部分を示す領域とを含むことを特徴とするものである。
【０００８】
本発明の一態様にかかる画像処理方法は、複数の画像に基づく複数のテクスチャを接合して接合画像を生成する画像処理方法であって、前記複数の画像における画像間の動きを導出するステップと、接合画像用のフレームを、前記接合画像を構成する前記複数のテクスチャが書き込まれるフレームメモリに設定するステップと、前記接合画像を構成するテクスチャが書き込まれるフレームメモリに、前記画像間の動きに基づいて、前記複数のテクスチャを書き込むステップと、前記複数の画像を撮像する撮像部で撮像された画像を順次表示する画像表示領域と、前記接合画像用のフレームにおける前記テクスチャの書き込み状況を示す画像を順次表示する状況表示領域と、を含む表示画面を表示するステップと、を有し、前記状況表示領域は、前記接合画像用のフレームにおいて前記テクスチャが書き込まれた部分を示す領域と、前記テクスチャが書き込まれていない部分を示す領域とを含むことを特徴とするものである。
【０００９】
本発明の一態様にかかるプログラムは、複数の画像に基づく複数のテクスチャを接合して接合画像を生成する画像処理をコンピュータに実行させるプログラムであって、前記複数の画像における画像間の動きを導出するステップと、接合画像用のフレームを、前記接合画像を構成する前記複数のテクスチャが書き込まれるフレームメモリに設定するステップと、前記接合画像を構成するテクスチャが書き込まれるフレームメモリに、前記画像間の動きに基づいて、前記複数のテクスチャを書き込むステップと、前記複数の画像を撮像する撮像部で撮像された画像を順次表示する画像表示領域と、前記接合画像用のフレームにおける前記テクスチャの書き込み状況を示す画像を順次表示する状況表示領域と、を含む表示画面を表示するステップと、をコンピュータに実行させ、記状況表示領域は、前記接合画像用のフレームにおいて前記テクスチャが書き込まれた部分を示す領域と、前記テクスチャが書き込まれていない部分を示す領域とを含むことを特徴とするものである。
【発明の効果】
【００１０】
本発明によれば、自由度のある軌跡で撮像された画像を基に接合画像を生成することができる画像処理装置、画像処理方法、プログラム、及びカメラを提供できる。
【図面の簡単な説明】
【００１１】
【図１】実施形態１にかかるカメラの構成を示すブロック図である。
【図２】実施形態１にかかる画像処理方法を示すフローチャートである。
【図３】フレームメモリの画素構造（接合画像用のフレーム）を説明するための図である
【図４】水平方向にカメラの向きを変える場合のフレームメモリの画素構造（接合画像用のフレーム）を説明するための図である。
【図５】鉛直方向にカメラの向きを変える場合のフレームメモリの画素構造（接合画像用のフレーム）を説明するための図である。
【図６】接合画像を取得する時の撮像素子の動きを説明するための図である。
【図７】フレームメモリに書き込まれたテクスチャを示す図である。
【図８】接合画像を示す図である。
【図９】フレームメモリへの書き込み状況を説明するための図である。
【図１０】表示部の表示画面を示す図である。
【図１１】実施形態２にかかるカメラの構成を示すブロック図である。
【図１２】実施形態２にかかる画像処理方法を示すフローチャートである。
【図１３】フレームメモリにおける報知領域を示す図である。
【発明を実施するための形態】
【００１２】
本実施の形態にかかる画像処理装置は、例えば、動画撮影用のカメラに搭載されるものである。そして、カメラのユーザが、パノラマ静止画モードを選択すると、動画に基づいてパノラマ静止画を生成する。
【００１３】
画像処理装置は、撮像方向を変えて撮像された複数の画像を接合して接合画像を生成するものである。例えば、ユーザがパン操作を行ってカメラの撮像方向を水平方向（左右方向）に変えていく。すなわち、時間的に連続して撮影された静止画の集合である動画の取得中にカメラを動かすと、カメラの画角が変わる。こうして取得した動画の各フレーム（静止画）から得られたテクスチャを接合していくことで、接合画像が生成される。例えば、フレームメモリにテクスチャを上書きしていくことで、１枚の接合画像を生成することができる。ここで、テクスチャは、フレームそのものでもよいし、フレームの一部の領域を切り出したものでもよい。
【００１４】
もちろん、撮像方向は水平方向だけでなく、鉛直方向（上下方向）に変えてもよい。
このように、画像処理装置は、ユーザが手動でカメラを２次元的に自由に動かして撮影した動画を用いて、接合画像を生成する。接合画像は、撮像素子が取得する画像の画像サイズよりも大きい画素サイズを有している。
【００１５】
本実施の形態に係る画像処理装置の第１の特徴は、接合画像が書き込まれるフレームメモリ上における書き込み始点を決定することにある。垂直方向及び水平方向において有限の画素数を有するフレームメモリ上において、画角の移動方向に応じて、書き込み始点となる位置（座標）を決定する。このとき、最初のテクスチャが書き込まれる領域の端が、接合画像用のフレームの端に接さないように、書き込み始点となる位置を決定する。こうすることで、フレームメモリ上における書き込み範囲を実質的に広く取ることができる。さらに、フレームメモリを有効に利用することができ、より広い画素サイズの接合画像を生成することができる。よって、適切に接合画像を生成することができる
【００１６】
本実施の形態に係る画像処理装置の第２の特徴は、接合画像が書き込まれるフレームメモリ上の書き込み状況を順次表示させることにある。すなわち、接合画像を構成する画像を取得中に、フレームメモリにおける書き込み状況としてフレームメモリ上の取得済みの箇所が分かるように表示させる。こうすることで、ユーザが、接合画像用のフレームのエッジまでの余裕を確認しながら、撮像することができる。よって、テクスチャがフレームメモリからはみ出すことを防ぐことができ、適切に接合画像を生成することができる。
【００１７】
実施の形態１．
以下、図面を参照して、本発明の実施の形態に係る画像処理装置、及びカメラについて説明する。図１は、カメラ１００の構成を示すブロック図である。図２は、画像処理装置２０における画像処理を示すフローチャートである。カメラ１００は、撮像部１０と、画像処理装置２０と、表示部３０とを備えている。
【００１８】
撮像部１０は、撮像レンズ１２を介して撮像素子１１に入力された被写体からの光を光電変換して動画を生成し、その動画を画像処理装置２０に出力する。撮像素子１１は、ＣＣＤ(charge coupled device)素子やＣＭＯＳ(Complementary Metal Oxide sensor)素子である。撮像部１０で取得された動画は、画像処理装置２０、及び表示部３０に入力される。表示部３０は、液晶ディスプレイや有機ＥＬ（Electroluminescence）ディスプレイなどの表示装置を備えている。そして、撮像部１０が取得した動画を表示する。すなわち、表示部３０は、動画の各フレームを順次表示していく。なお、カメラ１００には、ユーザが操作を行うための操作部（不図示）が設けられている。例えば、表示部３０がタッチパネルとすると、表示部３０が操作部となる。もちろん、操作部は、ボタン等であってもよい。
【００１９】
画像処理装置２０は、動画から接合画像を生成するための画像処理を行う。画像処理装置２０は、動きベクトル導出部２１と、フレームメモリ２２と、画素構造決定部２３と、始点決定部２４と、二値化・縮小部２５と、状況表示部２６と、切り出し部２７とを備えている。フレームメモリ２２は、垂直方向及び水平方向において所定の画素数を有している。例えば、フレームメモリ２２は、矩形の画素構造となっている。そして、フレームメモリ２２には、画素間の動きベクトルに応じた画素位置に、接合画像を構成するテクスチャが書き込まれる。
【００２０】
なお、画像処理装置２０の各ブロックは、ハードウェア的には、任意のコンピュータのＣＰＵ（Central Processing Unit）、メモリ、その他のＬＳＩ（Large Scale Integration）で実現でき、ソフトウェア的にはメモリにロードされたプログラムなどによって実現される。図１では、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００２１】
以下、画像処理装置２０の各ブロックでの処理について、図２を参照して説明する。以下の説明では、接合画像を生成するための処理を中心に説明する。すなわち、カメラ１００における通常の処理、すなわち接合画像を生成する処理以外の処理は、公知の手法を用いることができるため、説明を省略する。
【００２２】
まず、画素構造決定部２３がフレームメモリ２２の画素構造(接合画像用のフレーム)を決定する（Ｓ１１）。具体的には水平・垂直それぞれの方向の画素数を決定する。この決定は総フレームメモリ量を勘案しながら水平・垂直のバランスを取りながら決定される。すなわち、被写体の都合から、横長になりそうな場合には水平方向の画素数を増やし、縦長になりそうな場合は垂直方向の画素数を増やす。自由な動きを担保したい場合は正方形に近い配分にすることも考えられる。この決定は撮影時のモード選定のような形でユーザに選定させることが可能である。
【００２３】
例えば、表示部３０が、撮像方向を変える向きを選択するためのタッチボタン等を表示する。表示部３０に表示されるタッチボタンとしては、（０：通常）、（１：左から右）、（２：右から左）、（３：上から下）、（４：下から上）等がある。ユーザが０〜４のうちの一つのモードを選択する。
【００２４】
ユーザがカメラ１００の動きを予測できない場合、あるいは、カメラ１００を２次元的に動かしたい場合、（０：通常）を選択する。図３は、ユーザが（０：通常）を選択した場合におけるフレームメモリ２２の画素構造を示す図である。フレームメモリ２２は横７０００×縦４０００の画素構造を有している。
【００２５】
ユーザが水平方向にパン操作を行いたい場合、（１：左から右）、又は（２：右から左）を選択する。図４は、ユーザが（１：左から右）、又は（２：右から左）を選択した場合におけるフレームメモリ２２の画素構造を示している。フレームメモリ２２は横１４０００×縦２０００の画素構造を有している。すなわち、（０：通常）の場合に比べて、縦が半分、横が２倍の画素サイズとなっている。
【００２６】
ユーザが鉛直方向にチルト操作を行いたい場合、（３：上から下）、（４：下から上）を選択する。図５は、ユーザが（３：上から下）、（４：下から上）を選択した場合におけるフレームメモリ２２の画素構造を示している。フレームメモリ２２は横３５００×縦８０００の画素構造を有している。すなわち、（０：通常）の場合に比べて、縦が２倍、横が半分の画素サイズとなっている。０〜４のいずれを選択した場合も、フレームメモリ２２の総画素数は等しくなっている。
【００２７】
このように、ユーザがカメラ１００を動かしたい方向を選択する。すなわち、ユーザがカメラ画角を移動させる方向が撮像方向情報として画素構造決定部２３に入力される。そして、撮像方向情報に応じて、フレームメモリ２２の画素構造が変化する。すなわち、画素構造決定部２３は、フレームメモリの縦横の画素数を変化させ、接合画像用のフレームの形状を変える。画素構造決定部２３は、任意の大きさの矩形状に画素構造を決定することができる。
【００２８】
このように、撮像方向を縦方向、及び横方向に変えることが想定される場合、画素構造決定部２３は、接合画像用のフレームを通常の縦横比とする。ユーザがカメラ１００を水平方向（左右方向）にパン操作することが想定される場合、画素構造決定部２３は、フレームメモリ２２の画素構造を通常よりも横長にする。反対に、ユーザがカメラ１００を鉛直方向（上下方向）にチルト操作することが想定される場合、画素構造決定部２３は、フレームメモリ２２の画素構造を通常よりも縦長にする。なお、図３〜図５のいずれでも、フレームメモリ２２の総画素数は同じになっている。すなわち、画素構造決定部２３は、フレームメモリ２２の容量を超えないように画素構造を決定する。
【００２９】
もちろん、フレームメモリ２２の縦横の画素数や縦横比は、図３〜図５の値に限られるものではない。例えば、撮像素子１１の画素数に応じて、決定してもよい。また、上記の０〜４の５モードよりも多くのモードを有するようにして、画素構造をより細かく設定するようにしてもよい。これにより、より適切な画素サイズにフレームメモリ２２の画素構造（接合画像用のフレーム）を設定することができる。また、画素構造を、モード選択以外の手法で設定するようにしてもよい。例えば、ユーザが縦横比や縦横の画素数を直接入力するようにしてもよい。
【００３０】
次に、始点決定部２４がテクスチャの書き込み始点を設定する（Ｓ１２）。すなわち、始点決定部２４は、接合画像用のフレーム上における書き込み始点の座標を指定する。このとき、始点決定部２４は、最初のテクスチャが書き込まれる領域が、接合画像用のフレームの端に接さないように、最初のテクスチャが書き込まれる領域の座標を指定することが好ましい。このようにすれば、上下左右のいずれの方向にも余裕を持たせることができ、ユーザは自由度のある軌跡で撮影することができる。図４から図６の破線で囲まれた領域が最初のテクスチャが書き込まれる領域を示している。これも被写体の形状やどのようにカメラ画角を移動させるかによって決定する。この決定についても撮影時のモード選定のような形でユーザに選定させることが可能である。より具体的には、上記の（０：通常）〜（４：下から上）のいずれのボタンを押したかによって、接合画像用のフレーム上における書き込み始点の座標を決定する。
【００３１】
例えば、（１：左から右）がモード選択された場合、図４のＢの位置が書き込み始点となる。すなわち、カメラ画角が左から右に移動するため、接合画像用のフレームの中心よりも左側を書き込み始点にする。左から右にパン操作を行うことが想定される場合、接合画像用のフレームの左端近傍が書き込み始点となる。
【００３２】
一方、（２：右から左）がモード選択された場合、図４のＣの位置が書き込み始点となる。すなわち、カメラ画角が右から左に移動するため、接合画像用のフレームの中心よりも右側を書き込み始点にする。右から左にパン操作を行うことが想定される場合、接合画像用のフレームの右端近傍が書き込み始点となる。
【００３３】
（３：上から下）がモード選択された場合、図５のＤの位置が書き込み始点となる。すなわち、カメラ画角が上から下に移動するため、接合画像用のフレームの中心よりも上側を書き込み始点にする。上から下にチルト操作を行うことが想定される場合、接合画像用のフレームの上端近傍が書き込み始点となる。
【００３４】
一方、（４：下から上）がモード選択された場合、図５のＥの位置が書き込み始点となる。すなわち、カメラ画角が下から上に移動するため、接合画像用のフレームの中心よりも下側を書き込み始点にする。下から上にパン操作を行うことが想定される場合、接合画像用のフレームの下端近傍が書き込み始点となる。
【００３５】
なお、（０：通常）がモード選択された場合、図３に示すように、接合画像用のフレームの中心を書き込み始点にする。すなわち、図３のＡの位置が書き込み始点となる。動きが予測できない場合は、上下左右のいずれの方向にも余裕を持たせるために、最初のテクスチャが書き込まれる領域を、接合画像用のフレームの中心を含む領域とすることが好ましい。
【００３６】
このように、すなわち、ユーザがカメラ画角を移動させる方向が撮像方向情報として始点決定部２４に入力される。撮像方向情報に応じて、始点決定部２４が接合画像用のフレーム上の書き込み始点を設定する。そして、書き込み始点において、最初のフレーム画像のテクスチャが書き込まれる。
【００３７】
なお、書き込み始点の設定は、上記のモード指定以外の手法を用いてもよい。例えば、ユーザが直接書き込み始点の座標を入力するようにしてもよい。あるいは、フレームメモリの画素構造を表示部３０に表示させた状態として、ユーザがタッチパネル上で書き込み始点を入力するようにしてもよい。また、画素構造決定のためのモード選択と、書き込み始点の決定のためのモード選択と、を独立して行ってもよい。また、画素構造の決定（Ｓ１１）と書き込み始点の決定（Ｓ１２）と同時に行ってもよい。
【００３８】
画素構造の決定と書き込み始点の決定とが完了すると、動画フレームが入力される（Ｓ１３）。すなわち、ユーザが撮像開始ボタン等を押すと、撮像部１０によって動画が取得される。すなわち、撮像部１０が動画を構成するフレーム画像を順次取得していく。これにより、動画のフレーム画像が画像処理装置２０に入力される。上記のように、最初のフレーム画像のテクスチャは、接合画像用のフレームの書き込み始点の位置に書き込まれる。
【００３９】
次に、動きベクトル導出部２１は、撮像部１０からの画像入力に基づいて、動きベクトルを導出する（Ｓ１４）。動きベクトル導出部２１は、例えば、連続する２つのフレーム画像間の大域的動きベクトルを導出する。動きベクトルの導出には、公知のマッチング評価手法を用いることができる。例えば、動きベクトル導出部２１は、２つのフレーム画像を画素単位でマッチングして、最も誤差が小さくなる時のずれ量を動きとして検出する。そして、動きベクトル導出部２１は、フレーム画像間の動きを２次元ベクトルの形で導出する。
【００４０】
そして、テクスチャ書込部３１は、動きベクトルに基づいて、フレームメモリ２２にテクスチャを上書きする（Ｓ１５）。動きベクトルは、フレーム画像間の位置ずれであるので、動きベクトルに従ってフレーム相互の位置合わせを行う。そして、テクスチャ書込部３１は、時間的に後のフレーム画像で、フレームメモリ２２を上書きする。接合画像用のフレームには、最新のフレーム画像のテクスチャが動きベクトルに応じた位置に書き込まれる。テクスチャ書込部３１は、書き込み始点及び画像間の動きに応じて、接合画像用のフレームに接合画像を構成するためのテクスチャを書き込む。このようにして、テクスチャの接合処理が行われる。なお、テクスチャ書込部３１は、複数のテクスチャの内の最初のテクスチャを、接合画像用のフレームの端と接さない領域に書き込む。
【００４１】
次に、最終フレームであるか否かを確認する（Ｓ１６）。すなわち、ユーザが動画の取得を終了しているか否かを判定する。最終フレームでない場合（Ｓ１６のＮＯ）、二値化・縮小部２５が、接合画像用のフレーム上のテクスチャの有無に基づき、二値化・縮小処理を行う（Ｓ１８）。例えば、二値化・縮小部２５は、接合画像用のフレームにテクスチャが書き込まれた画素を第１の値とし、書き込まれていない画素を第２の値とする。これにより、フレームメモリ２２の画素構造に応じた二値化画像が生成される。例えば、図３では、縦４０００×横７０００の画素サイズを有する二値化画像が生成される。そして、表示部３０に二値化画像を表示させるため、二値化・縮小部２５が二値化された二値化画像を縮小する。すなわち、二値化・縮小部２５は、表示部３０のモニタサイズに応じた画像サイズとなるように、二値化画像を縮小する。
【００４２】
二値化・縮小部２５が二値化画像を縮小して、二値化・縮小画像を生成すると、状況表示部２６が接合画像用のフレームの書き込み状況を表示部３０の表示画面に表示させる（Ｓ１９）。すなわち、状況表示部２６は、二値化・縮小画像を表示部３０の表示画面に書き込み状況として表示させる。表示部３０は、最新の書き込み状況を撮像部１０が取得した動画とともに、表示していく。表示部３０が書き込み状況を表示すると、Ｓ１３に戻る。
【００４３】
そして、ユーザが動画取得を終了して、最終フレームとなるまで、Ｓ１３、Ｓ１４、Ｓ１８、Ｓ１９の処理を繰り返す。すなわち、動画フレームが入力（Ｓ１３）される毎に、動きベクトルの導出（Ｓ１４）、接合画像用のフレームにテクスチャを上書き（Ｓ１５）、二値化・縮小処理（Ｓ１８）、テクスチャ上書き状況の表示（Ｓ１９）の処理を繰り返す。これにより、フレームメモリ２２において、最新のフレーム画像でのテクスチャの上書きが繰り返される。表示部３０は、最新の動画及び書き込み状況を表示する。これにより、ユーザが最新の書き込み状況を認識しながら、撮影方向を変えることができる。
【００４４】
最終フレームである場合（Ｓ１６のＹＥＳ）、切り出し部２７は、接合画像用のフレームに書き込まれたテクスチャを切り出す（Ｓ１７）。書き込みが動画の最終フレームに達したとき、テクスチャの接合が完了する。切り出し部２７は、接合画像用のフレーム上のテクスチャの存在する部分を包含する最少の長方形サイズを切り出す。これにより、長方形の接合画像が完成する。そして、表示部３０が接合画像を表示する。
【００４５】
ここで、図６に示すような風景を矢印の方向に沿ってパノラマ撮影した具体例について説明する。図６では、撮像方向を左から右にやや山なりに変えている。なお、撮像部１０で取得される動画の解像度は横４００×縦３００となっている。また、接合画像用のフレームの画素サイズは横７０００×縦４０００となっている。テクスチャの書き込み始点は接合画像用のフレームの中心（３５００，２０００）としている。すなわち、図３に示した画素構造、及び書き込み始点を採用している。
【００４６】
図７に、フレームメモリ２２の画素構造と、接合画像用のフレームに書き込まれたテクスチャを示す。接合画像用のフレームの一部に複数のフレーム画像で構成されたテクスチャが書き込まれている。図８は、最終的に取得された接合画像を示している。テクスチャが書き込まれた矩形状の領域が接合画像となっている。すなわち、接合画像用のフレームにおいてテクスチャが書き込まれた画素を全て包含する最小の矩形領域が、接合領域となる。
【００４７】
図７は、接合画像用のフレーム上のどのような軌跡でテクスチャが上書きされているか、さらにどの程度の画角移動の余裕があるかの情報を示すものである。従って、図７を表示部３０が表示することで、ユーザが書き込み状況を認識することができる。ただし、撮影ガイド的な表示としては詳細なテクスチャ情報は不要である。一般的に、撮影システムにおいて図７のような画像を詳細に表示する表示系を装備するには、プロセッサ等の負荷が大きくなってしまう。
【００４８】
従って、接合画像用のフレーム上においてどの程度の画角の余裕があるかをユーザが確認する用途では、より簡略した表示とすることが好ましい。したがって、二値化・縮小部２５が、接合画像用のフレームにおけるテクスチャの有無に基づき二値化を行い二値化画像を生成する。さらに、二値化・縮小部２５は、二値化画像を縮小した二値化・縮小画像を生成する。図９は、縮小した二値化画像を示している。すなわち、二値化・縮小画像は、接合画像用のフレームにおいて、テクスチャが書き込まれた画素を白表示、書き込まれていない画素を黒表示とした白黒画像となっている。
【００４９】
図１０には、動画フレームと二値化・縮小画像を表示した表示画面４０を示している。矩形状の表示画面４０の左上には、メイン画面となる画像表示領域４１があり、右下にはサブ画面となる状況表示領域４２がある。画像表示領域４１には、撮像部１０が取得した動画のフレーム画像が順次表示される。状況表示領域４２は、二値化・縮小画像が表示される。状況表示領域４２は、接合画像用のフレームにおいてテクスチャが書き込まれた部分を示す領域と、前記テクスチャが書き込まれていない部分を示す領域とを含む。画像表示領域４１、及び状況表示領域４２はそれぞれ矩形状となっている。画像表示領域４１と状況表示領域４２とが重畳せずに区分されている。画像表示領域４１のサイズは、状況表示領域４２よりも大きくなっている。画像表示領域４１、及び状況表示領域４２は表示画面４０の異なる箇所に独立して表示される。表示画面４０における状況表示領域４２のサイズは、画素構造決定部２３が決定した画素構造に応じて可変となっていてもよい。すなわち、状況表示領域４２の縦横比をフレームメモリ２２の縦横比に応じて変えてもよい。
【００５０】
このように、表示部３０の表示画面４０は、現在のフレーム画像と現在にいたる接合画像用のフレーム上の軌跡の双方を表示している。これにより、ユーザは、状況表示領域４２で画角移動の余裕を確認しながらの自由な動きの撮影を行うことができる。また、状況表示領域４２に最新の書き込み位置を表示するようにしてもよい。さらに、ユーザは、接合画像用のフレームにテクスチャが書き込まれていない位置に、カメラ画角を向けることができる。これにより、より広い接合画像を取得することができる。
【００５１】
以上、説明したように、始点決定部２４は接合画像用のフレームにおける書き込み始点を決定している。すなわち、接合画像用のフレーム上での書き込み始点が可変となっている。こうすることで、画角が移動する方向において、接合画像用のフレームに余裕を持たせることができる。有限の画素サイズを有するフレームメモリ２２を効率よく利用することができる。ユーザがカメラを大きく動かした場合でも、テクスチャが接合画像用のフレームをはみ出すことがなくなる。よって、テクスチャを適切に接合することができる。
【００５２】
さらに、画素構造決定部２３は、フレームメモリ２２の画素構造を決定している。すなわち、フレームメモリ２２の画素構造が可変となっている。画素構造決定部２３は、画角の移動方向、すなわち撮像方向情報に応じて、画素構造のアスペクト比（縦横比）を変える。ユーザが撮像方向を上下方向の移動する場合、縦長のアスペクト比にし、左右方向に移動する場合、横長のアスペクト比とする。
【００５３】
こうすることで、画角が移動する方向において、接合画像用のフレームに余裕を持たせることができる。有限の画素サイズを有するフレームメモリ２２を効率よく利用することができる。ユーザがカメラを大きく動かした場合でも、テクスチャが接合画像用のフレームをはみ出すことがなくなる。よって、テクスチャを適切に接合することができる。なお、フレームメモリ２２の画素構造の縦又は横の最小サイズは、撮像素子１１の画素サイズに応じて決めればよい。すなわち、フレームメモリ２２の画素構造は、１フレームの画像が書き込まれるサイズ以上であればよい。例えば、フレームメモリ２２の画素構造の縦の最小サイズは、撮像素子１１の１フレーム画像の縦サイズ以上であればよい。フレームメモリ２２の画素構造の縦サイズを、撮像素子１１の１フレーム画像の縦サイズとすると、接合画像用のフレームが最も横長の画素構造となる。
【００５４】
状況表示部２６は、表示部３０の表示画面４０の一部に書き込み状況を表示している。これにより、撮像中に、ユーザが接合画像用のフレーム上における画角移動の余裕を確認することができる。テクスチャが接合画像用のフレームをはみ出すことを防ぐことができ、テクスチャを適切に接合することができる。さらに、ユーザは、接合画像用のフレームにテクスチャが書き込まれていない位置に、カメラ画角を向けることができる。これにより、より広い接合画像を取得することができる。また、フレームメモリ２２の画素構造のサイズに応じて、表示画面４０における状況表示領域４２、及び画像表示領域４１の大きさを変えてもよい。
【００５５】
二値化・縮小部２５は、書き込み状況を示す表示するために、二値化・縮小画像を生成している。すなわち、接合画像用のフレーム上のテクスチャの有無を二値化している。このようにすることで、書き込み状況を表示するための処理を簡素化することができる。さらに、小さなサブ画面において確認する場合でも、容易に確認することができる。例えば、二値化画像を白黒で表示することで、コントラストが高くなるため、ユーザが容易に書き込み状況を視認することができる。もちろん、白黒以外の色で二値化表示してもよい。
【００５６】
以上の手法により、ユーザが手動でカメラを２次元的に自由に動かして撮影した動画を接合しての静止画像の作成において、現在接合画像用のフレームのどの部分に上書きしているかの情報を提供して、どの程度の余裕をもって動かすことが可能かの判定を容易にする。もちろん、カメラ１００をパンチルト操作可能な雲台に取り付けることで、カメラ１００を手動ではなく、電動で動かすこともできる。例えば、ユーザが表示部３０を確認しながらリモコンなどを操作して、撮像方向を変えればよい。
【００５７】
また、本実施の形態において、画素構造決定部２３、二値化・縮小部２５、及び状況表示部２６のうちの一つ以上を設けなくてもよい。例えば、画素構造決定部２３による画素構造の決定を行わずに、フレームメモリ２２の構造を可変としなくてもよい。この場合、画素構造が特定された接合画像用のフレームに対して、始点決定部２４が書き込み始点を決定する。あるいは、表示部３０が書き込み状況を示す二値化・縮小画像を表示しなくてもよい。
【００５８】
実施の形態２．
本実施の形態について、図１１、図１２を用いて説明する。図１１は、本実施の形態に係る画像処理装置を用いたカメラ１００を示すブロック図である。図１２には、画像処理装置における処理方法を示すフローチャートである。
【００５９】
本実施の形態では、状況表示部２６の代わりに、判定部２８、及びアラーム発生部２９を有している点で実施の形態１と相違している。さらに、二値化・縮小部２５が二値化部３５となっている点で実施の形態１と相違している。なお、これらの相違点以外については、実施の形態１と同様であるため、説明を省略する。すなわち、撮像部１０、動きベクトル導出部２１、フレームメモリ２２、画素構造決定部２３、始点決定部２４、切り出し部２７、及び表示部３０については、実施の形態１と同様であるため、説明を省略する。また、ステップＳ２１〜ステップＳ２７については、図２のステップＳ１１〜Ｓ１７と同様であるため説明を省略する。
【００６０】
以下、二値化部３５、判定部２８、及びアラーム発生部２９等のブロックの処理について、図１２のフローチャートを用いて説明する。最終フレームでない場合（Ｓ２６のＮＯ）、二値化部３５は、実施の形態１と同様に、接合画像用のフレームのテクスチャの有無に基づいて、二値化を行う（Ｓ２８）。なお、本実施の形態では、書き込み状況を表示画面に表示させないため、二値化画像の縮小は行わない。判定部２８は、二値化画像に基づいて、テクスチャの書き込みが報知領域内にあるか否かを判定する（Ｓ２９）。
【００６１】
図１３は、接合画像用のフレーム上の非報知領域５１、及び報知領域５２を示す図である。非報知領域５１は、接合画像用のフレームの画素サイズよりも小さい矩形となっている。例えば、接合画像用のフレームの画素サイズの８割の水平・垂直方向の画素数を有し、接合画像用のフレームと中心が一致する長方形を非報知領域５１とする。そして、非報知領域５１の外側を報知領域５２とする。報知領域５２は、非報知領域５１を囲む額縁状となる。判定部２８は撮影中の最新の上書きが報知領域５２になされるか否かの判定を行う。
【００６２】
テクスチャの書き込みが報知領域５２に行われた場合、アラーム発生部２９がアラームを発生して（Ｓ３０）Ｓ２３に戻る。一方、テクスチャの書き込みが報知領域５２に行われていない場合、すなわち非報知領域５１に行われた場合、アラームを発生せずに、Ｓ２３に戻る。このように、テクスチャの書き込み位置が接合画像用のフレームの端に近づいた場合に、アラーム発生部２９がアラームを発生して、ユーザに報知している。
【００６３】
接合画像用のフレームの報知領域５２にテクスチャが書き込まれた場合、このままカメラの画角移動を継続すると上書き位置が接合画像用のフレームからはみ出て記録不能になるおそれがある。したがって、アラーム発生部２９がアラームを発する。すなわち、アラーム発生部２９が、接合画像用のフレームの端近傍にテクスチャが書き込まれたことをユーザに報知する報知部となる。表示部３０は、接合画像用のフレームの端に近づいたことを示す文字メッセージなどをアラームとして、表示する。あるいは、アラームは文字メッセージ・記号・イラスト・色変化といった視覚的なもの、ビープ音・言語メッセージといった聴覚的なもの、バイブレータなどによる触覚的なものなどが考えられる。
【００６４】
このようにすることで、テクスチャの上書き位置がフレームメモリ２２をはみ出さないように、ユーザが撮像方向を変えることができる。よって適切な接合画像を生成することができる。
【００６５】
なお、実施の形態１と実施の形態２を組み合わせてもよい。すなわち、表示画面４０に状況表示領域４２を表示するとともに、接合画像用のフレームの端にテクスチャの書き込み位置が近づいた場合はアラームを発生するようにしてもよい。
【００６６】
上記画像処理のうちの一部又は全部は、コンピュータプログラムによって実行されてもよい。上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ)、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ)、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００６７】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記実施の形態に限られたものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【符号の説明】
【００６８】
１０  撮像部
１１  撮像素子
１２  撮像レンズ
２０  画像処理装置
２１  動きベクトル導出部
２２  フレームメモリ
２３  画素構造決定部
２４  始点決定部
２５  二値化・縮小部
２６  状況表示部
２７  切り出し部
２８  判定部
２９  アラーム発生部
３０  表示部
３１  テクスチャ書込部
３５  二値化部
４０  表示画面
４１  画像表示領域
４２  状況表示領域
５１  非報知領域
５２  報知領域
Ａ〜Ｅ  書き込み始点
【図１】
2015186016.tif 000003
【図２】
2015186016.tif 000004
【図３】
2015186016.tif 000005
【図４】
2015186016.tif 000006
【図５】
2015186016.tif 000007
【図１１】
2015186016.tif 000008
【図１２】
2015186016.tif 000009
【図１３】
2015186016.tif 000010
【図６】
2015186016.tif 000011
【図７】
2015186016.tif 000012
【図８】
2015186016.tif 000013
【図９】
2015186016.tif 000014
【図１０】
2015186016.tif 000015