(58)【調査した分野】(Int.Cl.,DB名)
予め定められた撮像レートで撮像された第1解像度を持つ複数の第1解像度画像と、前記複数の第1解像度画像の撮像タイミングの間で撮像された、前記第1解像度より低い第2解像度を持つ複数の第2解像度画像とを含む動画情報を取得し、
前記複数の第2解像度画像に基づいて、前記複数の第1解像度画像の撮像タイミングの間における画像の動きを特定し、
前記複数の第1解像度画像及び前記動きに基づいて、前記複数の第2解像度画像より解像度が高く、動画において前記複数の第1解像度画像の間で出力される複数の画像を生成し、
前記複数の第1解像度画像と、前記複数の第1解像度画像及び前記複数の画像とを含む動画を生成する
ように構成された回路
を備える装置。
前記回路は、前記複数の第1解像度画像を用いずに、前記複数の第2解像度画像の画像内容に基づいて前記複数の第1解像度画像の撮像タイミングの間における前記動きを特定する
ように構成される請求項6に記載の装置。
予め定められた撮像レートで撮像された第1解像度を持つ複数の第1解像度画像と、前記複数の第1解像度画像の撮像タイミングの間で撮像された前記第1解像度より低い第2解像度を持つ複数の第2解像度画像とを含む動画情報を取得する段階と、
前記複数の第2解像度画像に基づいて、前記複数の第1解像度画像の撮像タイミングの間における画像の動きを特定する段階と、
前記複数の第1解像度画像及び前記動きに基づいて、前記複数の第2解像度画像より解像度が高く、動画において前記複数の第1解像度画像の間で出力される複数の画像を生成する段階と、
前記複数の第1解像度画像と、前記複数の第1解像度画像及び前記複数の画像とを含む動画を生成する段階と
を備える方法。
【発明の概要】
【0003】
本発明の第1の形態に係る装置は、予め定められた撮像レートで撮像された第1解像度を持つ複数の第1解像度画像と、複数の第1解像度画像の撮像タイミングの間で撮像された第1解像度より低い第2解像度を持つ複数の第2解像度画像とを含む動画情報を取得するように構成された回路を備える。回路は、複数の第2解像度画像に基づいて、第1解像度画像の撮像タイミングの間における画像の動きを特定するように構成される。回路は、複数の第1解像度画像及び動きに基づいて、複数の第2解像度画像より解像度が高く、動画において複数の第1解像度画像の間で出力される複数の画像を生成するように構成される。回路は、複数の第1解像度画像と、複数の第1解像度画像及び複数の画像とを含む動画を生成するように構成される。
【0004】
回路は、複数の第2解像度画像の画像内容に基づいて、複数の第2解像度画像における1つ以上の画像領域の動きを複数の第2解像度画像にわたって特定するように構成されてよい。回路は、複数の第2解像度画像にわたる1つ以上の画像領域の動きに基づいて、複数の第1解像度画像のうちの少なくとも一つの第1解像度画像における1つ以上の画像領域の動きを特定するように構成されてよい。回路は、複数の第1解像度画像のうちの少なくとも一つの第1解像度画像における1つ以上の画像領域の動きと、複数の第1解像度画像のうちの少なくとも一つの第1解像度画像における1つ以上の画像領域の画像とに基づいて、複数の第1解像度画像の間で出力される複数の画像における1つ以上の画像領域の画像を生成するように構成されてよい。
【0005】
回路は、複数の第2解像度画像にわたる画像領域の動きに基づいて、複数の第1解像度画像のうち複数の第2解像度画像より前に撮像された第1の第1解像度画像における1つ以上の画像領域の動を予測するように構成されてよい。回路は、第1の第1解像度画像における1つ以上の画像領域の動きと第1の第1解像度画像における1つ以上の画像領域の画像とに基づいて、複数の第1解像度画像の間で出力される複数の画像における1つ以上の画像領域の画像を生成するように構成されてよい。
【0006】
回路は、複数の第2解像度画像にわたる画像領域の動きに基づいて、複数の第1解像度画像のうち複数の第2解像度画像より後に撮像された第2の第1解像度画像における1つ以上の画像領域の動きを予測するように構成されてよい。回路は、第2の第1解像度画像における1つ以上の画像領域の動きと第2の第1解像度画像における1つ以上の画像領域の画像とに基づいて、複数の第1解像度画像の間で出力される複数の画像における1つ以上の画像領域の画像を生成するように構成されてよい。
【0007】
回路は、複数の第2解像度画像にわたる画像領域の動きに基づいて、複数の第1解像度画像のうち複数の第2解像度画像より前に撮像された第1の第1解像度画像と、複数の第1解像度画像のうち複数の第2解像度画像より後に撮像された第2の第1解像度画像とにおける1つ以上の画像領域の動きを予測するように構成されてよい。回路は、第1の第1解像度画像における1つ以上の画像領域の動きと、第1の第1解像度画像の1つ以上の画像領域の画像と、第2の第1解像度画像における1つ以上の画像領域の動きと、第2の第1解像度画像における1つ以上の画像領域の画像とに基づいて、複数の第1解像度画像の間で出力される複数の画像の全領域の画像を生成するように構成されてよい。
【0008】
複数の第2解像度画像は、複数の第1解像度画像の露光時間より長い露光時間で撮像された画像であってよい。
【0009】
回路は、複数の第1解像度画像を用いずに、複数の第2解像度画像の画像内容に基づいて第1解像度画像の撮像タイミングの間における動きを特定するように構成されてよい。
【0010】
回路は、複数の第2解像度画像を用いて小数画素精度の動き予測を行うことによって、小数画素精度の動きベクトルを算出するように構成されてよい。回路は、小数画素精度の動きベクトルを第1解像度画像の画素数に応じて拡大することによって得られた動きベクトルに基づいて、第1解像度画像の撮像タイミングの間における画像の動きを特定するように構成されてよい。
【0011】
本発明の第2の態様に係る撮像装置は、上記の装置と、複数の第1解像度画像と複数の第2解像度画像とを含む動画情報を出力するイメージセンサとを備える。
【0012】
本発明の第3の態様に係る移動体は、上記の撮像装置を備えて移動する。
【0014】
本発明の第4の態様に係るプログラムは、コンピュータに、予め定められた撮像レートで撮像された第1解像度を持つ複数の第1解像度画像と、複数の第1解像度画像の撮像タイミングの間で撮像された第1解像度より低い第2解像度を持つ複数の第2解像度画像とを含む動画情報を取得させるように構成される。プログラムは、コンピュータに、複数の第2解像度画像に基づいて、第1解像度画像の撮像タイミングの間における画像の動きを特定させるように構成される。プログラムは、コンピュータに、複数の第1解像度画像及び動きに基づいて、複数の第2解像度画像より解像度が高く、動画において複数の第1解像度画像の間で出力される複数の画像を生成させるように構成される。プログラムは、コンピュータに、複数の第1解像度画像と、複数の第1解像度画像及び複数の画像とを含む動画を生成させるように構成される。プログラムは、非一時的記録媒体に記録されてよい。
【0015】
本発明の第5の態様に係る方法は、予め定められた撮像レートで撮像された第1解像度を持つ複数の第1解像度画像と、複数の第1解像度画像の撮像タイミングの間で撮像された第1解像度より低い第2解像度を持つ複数の第2解像度画像とを含む動画情報を取得する段階を備える。方法は、複数の第2解像度画像に基づいて、第1解像度画像の撮像タイミングの間における画像の動きを特定する段階を備える。方法は、複数の第1解像度画像及び動きに基づいて、複数の第2解像度画像より解像度が高く、動画において複数の第1解像度画像の間で出力される複数の画像を生成する段階を備える。方法は、複数の第1解像度画像と、複数の第1解像度画像及び複数の画像とを含む動画を生成する段階を備える。
【0016】
本発明の上記の態様によれば、解像度が高い動画を提供できる。また、出力レートが高い動画を提供できる。
【0017】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明を実施するための形態】
【0019】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施の形態は特許請求の範囲に係る発明を限定するものではない。また、実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。以下の実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0020】
特許請求の範囲、明細書、図面、及び要約書には、著作権による保護の対象となる事項が含まれる。著作権者は、これらの書類の何人による複製に対しても、特許庁のファイルまたはレコードに表示される通りであれば異議を唱えない。ただし、それ以外の場合、一切の著作権を留保する。
【0021】
本発明の様々な実施形態は、フローチャート及びブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、プログラマブル回路、及び/またはプロセッサによって実装されてよい。専用回路は、デジタル及び/またはアナログハードウェア回路を含んでよい。集積回路(IC)及び/またはディスクリート回路を含んでよい。プログラマブル回路は、再構成可能なハードウェア回路を含んでよい。再構成可能なハードウェア回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、及び他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等の様なメモリ要素等を含んでよい。
【0022】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよい。その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD−ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0023】
コンピュータ可読命令は、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードの何れかを含んでよい。ソースコードまたはオブジェクトコードは、従来の手続型プログラミング言語を含む。従来の手続型プログラミング言語は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語または同様のプログラミング言語でよい。コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供されてよい。プロセッサまたはプログラマブル回路は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0024】
図1は、本実施形態に係る撮像装置100の機能ブロックを示す図である。
【0025】
撮像装置100は、撮像部102及びレンズ部170を備える。撮像部102は、イメージセンサ120、制御部110、メモリ130、操作部162、及び表示部160を有する。
【0026】
イメージセンサ120は、CCDまたはCMOSにより構成されてよい。イメージセンサ120は、レンズ部17000が有するレンズ171を介して光を受光する。イメージセンサ120は、レンズ171を介して結像された光学像の画像データを制御部110に出力する。
【0027】
制御部110は、CPUまたはMPUなどのマイクロプロセッサ、MCUなどのマイクロコントローラなどにより構成されてよい。メモリ130は、コンピュータ可読可能な記録媒体でよく、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリなどのフラッシュメモリの少なくとも1つを含んでよい。制御部110は回路に対応する。メモリ130は、制御部110がイメージセンサ120などを制御するのに必要なプログラム等を格納する。メモリ130は、撮像装置100の筐体の内部に設けられてよい。メモリ130は、撮像装置100の筐体から取り外し可能に設けられてよい。
【0028】
操作部162は、撮像装置100に対する指示をユーザから受け付けるユーザインタフェースである。表示部160は、イメージセンサ120により撮像され、制御部110により処理された画像、撮像装置100の各種設定情報などを表示する。表示部160は、タッチパネルで構成されてよい。
【0029】
制御部110は、レンズ部170及びイメージセンサ120を制御する。例えば、制御部110は、レンズ171の焦点の位置や焦点距離を制御する。制御部110は、ユーザからの指示を示す情報に基づいて、レンズ部170が備えるレンズ制御部180に制御命令を出力することにより、レンズ部170を制御する。
【0030】
レンズ部170は、1以上のレンズ171、レンズ駆動部172、レンズ制御部180、及びメモリ182を有する。本実施形態において1以上のレンズ171のことを「レンズ171」と総称する。レンズ171は、フォーカスレンズ及びズームレンズを含んでよい。レンズ171が含むレンズのうちの少なくとも一部または全部は、レンズ171の光軸に沿って移動可能に配置される。レンズ部170は、撮像部102に対して着脱可能に設けられる交換レンズであってよい。
【0031】
レンズ駆動部172は、レンズ171のうちの少なくとも一部または全部を、レンズ171の光軸に沿って移動させる。レンズ制御部180は、撮像部102からのレンズ制御命令に従って、レンズ駆動部172を駆動して、レンズ171全体又はレンズ171が含むズームレンズやフォーカスレンズを光軸方向に沿って移動させることで、ズーム動作やフォーカス動作の少なくとも一方を実行する。レンズ制御命令は、例えば、ズーム制御命令、及びフォーカス制御命令等である。
【0032】
レンズ駆動部172は、複数のレンズ171の少なくとも一部または全部を光軸方向に移動させるボイスコイルモータ(VCM)を含んでよい。レンズ駆動部172は、DCモータ、コアレスモータ、または超音波モータ等の電動機を含んでよい。レンズ駆動部172は、電動機からの動力をカム環、ガイド軸等の機構部材を介して複数のレンズ171の少なくとも一部または全部に伝達して、レンズ171の少なくとも一部または全部を光軸に沿って移動させてよい。
【0033】
メモリ182は、レンズ駆動部172を介して移動するフォーカスレンズやズームレンズ用の制御値を記憶する。メモリ182は、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリなどのフラッシュメモリの少なくとも1つを含んでよい。
【0034】
制御部110は、操作部162等を通じて取得したユーザの指示を示す情報に基づいて、イメージセンサ120に制御命令を出力することにより、イメージセンサ120に撮像動作の制御を含む制御を実行する。制御部110は、イメージセンサ120により撮像された画像を取得する。制御部110は、イメージセンサ120から取得した画像に画像処理を施してメモリ130に格納する。
【0035】
制御部110が実行する動画生成処理について説明する。イメージセンサ120は、動画撮影を行う場合に、動画構成画像として複数の第1解像度画像と複数の第2解像度画像とを生成する。複数の第1解像度画像は、予め定められた撮像レートで撮像された第1解像度を持つ画像である。一例として、イメージセンサ120は、複数の第1解像度画像を1秒間あたり30回撮像する。複数の第2解像度画像は、複数の第1解像度画像の撮像タイミングの間で撮像された画像である。第2解像度画像は、第1解像度より低い第2解像度を持つ画像である。一例として、イメージセンサ120は、複数の第1解像度画像の撮像タイミングの間で、1秒間あたり240個の画像を撮像する速度で第2解像度画像を取得する。イメージセンサ120は、複数の第1解像度画像及び複数の第2解像度画像のそれぞれを撮像する毎に順次に制御部110に出力する。
【0036】
制御部110は、予め定められた撮像レートで撮像された複数の第1解像度画像と、複数の第1解像度画像の撮像タイミングの間で撮像された複数の第2解像度画像とを含む動画データを取得する。制御部110は、イメージセンサ120において複数の第1解像度画像及び複数の第2解像度画像のそれぞれが撮像される毎に、複数の第1解像度画像及び複数の第2解像度画像のそれぞれイメージセンサ120からを順次に取得する。制御部110は、複数の第2解像度画像に基づいて、第1解像度画像の撮像タイミングの間における画像の動きを特定する。制御部110は、複数の第1解像度画像及び動きに基づいて、複数の第2解像度画像より解像度が高く、動画において複数の第1解像度画像の間で出力される複数の画像を生成する。制御部110は、複数の第1解像度画像と、複数の第1解像度画像及び複数の画像とを含む動画を生成する。
【0037】
例えば、制御部110は、複数の第2解像度画像の画像内容に基づいて、複数の第2解像度画像における1つ以上の画像領域の動きを複数の第2解像度画像にわたって特定する。制御部110は、複数の第2解像度画像にわたる1つ以上の画像領域の動きに基づいて、複数の第1解像度画像のうちの少なくとも一つの第1解像度画像における1つ以上の画像領域の動きを特定する。制御部110は、複数の第1解像度画像のうちの少なくとも一つの第1解像度画像における1つ以上の画像領域の動きと、複数の第1解像度画像のうちの少なくとも一つの第1解像度画像における1つ以上の画像領域の画像とに基づいて、複数の第1解像度画像の間で出力される複数の画像における1つ以上の画像領域の画像を生成する。
【0038】
具体的には、制御部110は、複数の第2解像度画像にわたる画像領域の動きに基づいて、複数の第1解像度画像のうち複数の第2解像度画像より前に撮像された第1の第1解像度画像における1つ以上の画像領域の動きを予測する。制御部110は、第1の第1解像度画像における1つ以上の画像領域の動きと第1の第1解像度画像における1つ以上の画像領域の画像とに基づいて、複数の第1解像度画像の間で出力される複数の画像における1つ以上の画像領域の画像を生成する。
【0039】
なお、制御部110は、複数の第2解像度画像にわたる画像領域の動きに基づいて、複数の第1解像度画像のうち複数の第2解像度画像より後に撮像された第2の第1解像度画像における1つ以上の画像領域の動きを予測してもよい。制御部110は、第2の第1解像度画像における1つ以上の画像領域の動きと第2の第1解像度画像における1つ以上の画像領域の画像とに基づいて、複数の第1解像度画像の間で出力される複数の画像における1つ以上の画像領域の画像を生成してよい。
【0040】
また、制御部110は、複数の第2解像度画像にわたる画像領域の動きに基づいて、複数の第1解像度画像のうち複数の第2解像度画像より前に撮像された第1の第1解像度画像と、複数の第1解像度画像のうち複数の第2解像度画像より後に撮像された第2の第1解像度画像とにおける1つ以上の画像領域の動きを予測してもよい。制御部110は、第1の第1解像度画像における1つ以上の画像領域の動きと、第1の第1解像度画像の1つ以上の画像領域の画像と、第2の第1解像度画像における1つ以上の画像領域の動きと、第2の第1解像度画像における1つ以上の画像領域の画像とに基づいて、複数の第1解像度画像の間で出力される複数の画像の全領域の画像を生成してよい。
【0041】
複数の第2解像度画像は、複数の第1解像度画像の露光時間より長い露光時間で撮像された画像である。制御部110は、複数の第1解像度画像を用いずに、複数の第2解像度画像の画像内容に基づいて第1解像度画像の撮像タイミングの間における動きを特定する。
【0042】
制御部110は、複数の第2解像度画像を用いて小数画素精度の動き予測を行うことによって、小数画素精度の動きベクトルを算出してよい。制御部110は、小数画素精度の動きベクトルを第1解像度画像の画素数に応じて拡大することによって得られた動きベクトルに基づいて、第1解像度画像の撮像タイミングの間における画像の動きを特定してよい。
【0043】
図2は、イメージセンサ120による動画構成画像の撮像タイミングを模式的に示す。なお、
図2は、制御部110による撮像制御及び動画生成処理を分かり易く説明するための例示的な撮像タイミングを示すものである。動画構成画像の撮像タイミングは、
図2に示されるタイミングに限定されない。
【0044】
制御部110は、イメージセンサ120に、露光時間245、露光時間250、露光時間251、露光時間252、露光時間253、露光時間254、露光時間255、露光時間260、露光時間261の順で露光動作を行わせる。露光時間245、露光時間251、露光時間252、露光時間253、露光時間254、露光時間255、及び露光時間261は、露光時間250及び露光時間260より短い。制御部110は、露光時間250、露光時間251、露光時間252、露光時間253、露光時間254、及び露光時間255を1シーケンスとする露光動作をイメージセンサ120に繰り返し実行させる。これにより、イメージセンサ120は、2つの長時間露光の間に複数回の短時間露光を行う。制御部110は、各露光時間の露光によってイメージセンサ120に蓄積された電荷量を示す情報を含む動画情報をイメージセンサ120から読み出して、動画を構成する画像を生成する。
【0045】
例えば、制御部110は、露光時間250においてイメージセンサ120に蓄積された電荷量をイメージセンサ120から読み出して、第1解像度画像210を生成する。制御部110は、露光時間250より後の露光時間260においてイメージセンサ120に蓄積された電荷量をイメージセンサ120から読み出して、第1解像度画像220を生成する。なお、制御部110は、露光時間250及び露光時間260のそれぞれにおいて、イメージセンサ120の予め定められた第1の画素数の受光素子に蓄積された電荷量を読み出して、第1の画素数の第1解像度画像210及び第1解像度画像220を生成する。
【0046】
また、制御部110は、露光時間245、露光時間251、露光時間252、露光時間253、露光時間254、露光時間255、及び露光時間261のそれぞれにおいてイメージセンサ120に蓄積された電荷量をイメージセンサ120から読み出して、それぞれ第2解像度画像205、第2解像度画像211、第2解像度画像212、第2解像度画像213、第2解像度画像214、第2解像度画像215、及び第2解像度画像221を生成する。なお、制御部110は、露光時間245、露光時間251、露光時間252、露光時間253、露光時間254、露光時間255、及び露光時間261のそれぞれにおいて、イメージセンサ120の予め定められた第2の画素数の受光素子に蓄積された電荷量を読み出して、第2の画素数の第2解像度画像205、第2解像度画像211、第2解像度画像212、第2解像度画像213、第2解像度画像214、第2解像度画像215、及び第2解像度画像221を生成する。
【0047】
第2の画素数は、第1の画素数より少ない。例えば、第1解像度画像210及び第1解像度画像220は、水平3840画素×垂直2160画素の画像(例えば、4K画像)であってよく、第2解像度画像205、第2解像度画像211、第2解像度画像212、第2解像度画像213、第2解像度画像214、第2解像度画像215、及び第2解像度画像221は、水平1920画素×垂直1080画素の画像(例えば2K画像)であってよい。第2解像度画像は、第1解像度画像より短い撮像間隔で撮像される動画構成画像である。例えば、第1解像度画像210及び第1解像度画像220を含む第1解像度画像の撮像レートは30fpsであってよい。第2解像度画像211、第2解像度画像212、第2解像度画像213、第2解像度画像214、第2解像度画像215を含む第2解像度画像の撮像レートは240fpsであってよい。
【0048】
図3は、制御部110のブロック図を示す。制御部110は、動き検出部310と、動きマッピング部320と、画像生成部330とを備える。
【0049】
動き検出部310は、イメージセンサ120から入力された複数の第2解像度画像(低解像度・高フレームレート画像)にわたって画像の動きを検出する機能ブロックである。動き検出部310は、例えばブロックマッチングにより、複数の第2解像度画像にわたって画素毎の動きを検出してよい。なお、動き検出部310は、オプティカルフローを検出することにより、複数の第2解像度画像にわたって動きを検出してよい。オプティカルフローを検出する手法としては、ブロックマッチングの他に、非特許文献1に記載されているKLT(Kanade−Lucas−Tomasi Feature Tracker)法や、非特許文献2に記載されているFlownet等の機械学習を用いた手法等を適用することができる。
【0050】
動きマッピング部320は、複数の第2解像度画像における動きを、イメージセンサ120から入力される第1解像度画像(高解像度・低フレームレート画像)における動きにマッピングする機能ブロックである。画像生成部330は、イメージセンサ120から入力される第1解像度画像における動き及び第1解像度画像の画像内容に基づいて、複数の第1解像度画像の間に出力される第1解像度画像を生成することにより、第2解像度画像より解像度が高い画像(高解像度・高フレームレート画像)を生成する機能ブロックである。
【0051】
図4は、第1解像度画像210と第1解像度画像220との間に出力される第1解像度画像を生成する処理を模式的に示す。
図4において、第1解像度画像210は動画における時刻Tに対応する画像であり、動画における第1解像度画像220は時刻T+1に対応する画像である。なお、
図4において、時刻T及びtは、第1解像度画像を撮像する時間間隔で規格化した時刻を表す。第2解像度画像211は、動画における時刻tに対応する画像である。また、第2解像度画像212、第2解像度画像213、第2解像度画像214、第2解像度画像215は、それぞれ動画における時刻t+0.2、t+0.4、t+0.6、t+0.8に対応する画像である。なお、時刻Tと時刻tとの間には、
図3の露光時間250と露光時間251との間の時間に対応する時間差が存在し得る。
【0052】
制御部110は、第2解像度画像211、第2解像度画像212、第2解像度画像213、第2解像度画像214及び第2解像度画像215から画像の動き情報を検出し、検出した動き情報と第1解像度画像210とに基づいて、第1解像度画像210と第1解像度画像220との間に出力される第1解像度画像411、第1解像度画像412、第1解像度画像413、及び第1解像度画像414を生成する。なお、第1解像度画像411、第1解像度画像412、第1解像度画像413、及び第1解像度画像414は、それぞれ出力される動画における時刻T+0.2、T+0.4、T+0.6、T+0.8に対応する画像である。
【0053】
具体的には、制御部110の動き検出部310は、第2解像度画像211、第2解像度画像212、第2解像度画像213、及び第2解像度画像214、及び第2解像度画像215において、H.264、H.265等の動画圧縮方式で用いられる小数画素精度の動き予測を行うことにより、第2解像度画像211内のブロック431の動き情報441、第2解像度画像212内のブロック432の動き情報442、第2解像度画像213内のブロック433の動き情報443、及び第2解像度画像214内のブロック434の動き情報444を検出する。「小数画素精度」は、整数画素未満の精度のことをいう。小数画素精度としては、例えば1/2画素精度、1/4画素精度等を例示することができる。動き情報441は、ブロック431から、ブロック431にマッチするブロック432への動きベクトルである。動き情報442は、ブロック432から、ブロック432にマッチするブロック433への動きベクトルである。動き情報443は、ブロック433から、ブロック433にマッチするブロック434への動きベクトルである。動き情報444は、ブロック434から、ブロック434にマッチするブロック435への動きベクトルである。なお、ブロック431、ブロック432、ブロック433、ブロック434、及びブロック435は、動き情報を検出する画像領域の一例である。画像領域は、少なくとも1つの画素を含む領域である。
【0054】
制御部110の動きマッピング部320は、第2解像度画像211のブロック431を第2解像度画像及び第1解像度画像の解像度に応じて拡大して、第1解像度画像210におけるブロック460にマッピングする。なお、
図4に示す例では、第2解像度画像211を、第1解像度画像210に対応する撮像タイミングの第2解像度画像として扱う。第1解像度画像210は比較的に長い露光時間で撮像された画像であり、第2解像度画像211は、第1解像度画像210の直後に短い露光時間で撮像された画像である。したがって、第2解像度画像は、第1解像度画像210に対応する撮像タイミングの第2解像度画像211として近似的に適用できる。このように第2解像度画像211を第1解像度画像210に対応する撮像タイミングの第2解像度画像として扱うことにより、同一の露光時間で撮像された第2解像度画像211〜215を用いて動きを検出することができるので、画像の明るさの違いによる動き検出の誤差が生じにくいため、より正確に動きを検出することができる。
【0055】
動きマッピング部320は、動き情報441を解像度に応じて拡大することにより、第1解像度画像における動き情報451にマッピングする。同様に、動きマッピング部320は、動き情報442、動き情報443、及び動き情報444を解像度に応じて拡大することにより、それぞれ第1解像度画像における動き情報452、動き情報453、及び動き情報454にマッピングする。
【0056】
制御部110の画像生成部330は、第1解像度画像210におけるブロック460と、動き情報451とを用いて、第1解像度画像411のブロック461を生成する。同様に、画像生成部330は、第1解像度画像210におけるブロック460と、動き情報451、動き情報452、動き情報453、及び動き情報454を用いて、第1解像度画像412のブロック462、第1解像度画像413のブロック463、及び第1解像度画像414のブロック464の画像を生成する。
【0057】
以上において第2解像度画像211内の特定のブロック431の動き情報に基づいて第1解像度画像411〜414の1つのブロックの画像を生成する処理を説明した。同様の処理により、制御部110は、第2解像度画像211、第2解像度画像212、第2解像度画像213、第2解像度画像214、及び第2解像度画像215に基づいて、第2解像度画像内の複数のブロックの動き情報を検出し、各ブロックの動き情報を第1解像度画像にマッピングする。そして、制御部110は、各ブロックの動き情報と、第1解像度画像210とに基づいて、第2解像度画像211、第2解像度画像212、第2解像度画像213、及び第2解像度画像214、及び第2解像度画像215の各ブロックの画像を生成する。
【0058】
なお、
図4に関連して、第2解像度画像211〜215から検出した動きに基づいて、第2解像度画像211の直前の第1解像度画像210から第1解像度画像411〜414を生成する手法を説明した。この手法によれば、イメージセンサ120から順次に読み出した画像情報を用いて、第1解像度画像411〜414を順次に生成することができる。
【0059】
他の手法として、制御部110は、第2解像度画像211〜215から検出した動きと、第2解像度画像215の直後の第1解像度画像220とに基づいて、第1解像度画像210と第1解像度画像220との間に出力される第1解像度画像を生成してもよい。この場合、制御部110は、第2解像度画像211〜215から検出した動き情報を一時的に保持し、第1解像度画像220を取得した時点で動き情報を用いて逆方向に予測画像を生成することにより、第1解像度画像210と第1解像度画像220との間に出力される第1解像度画像を第1解像度画像220から生成してよい。更に他の手法として、制御部110は、第2解像度画像211〜215から検出した動きと、第1解像度画像210及び第2解像度画像215の双方に基づいて、第1解像度画像210と第1解像度画像220との間に出力される第1解像度画像を生成してもよい。
【0060】
また、
図4に関連して、第2解像度画像211のブロック431を第1解像度画像210におけるブロック460にマッピングする手法を説明した。上述したように、第2解像度画像211と第1解像度画像210との間には厳密には時間差が存在するものの、第1解像度画像210に対応する撮像タイミングの第2解像度画像として第2解像度画像211を近似的に適用できる。他の手法として、制御部110は、第1解像度画像210と第1解像度画像220との間で4個の第2解像度画像を撮像し、第1解像度画像210からサブサンプリング等によって第2解像度画像を生成し、生成した第2解像度画像と、第1解像度画像210と第1解像度画像220との間で撮像した4個の第2解像度画像を用いて、第1解像度画像411〜414に対応する4個の第1解像度画像を生成してよい。この手法によれば、4個の第2解像度画像の撮像タイミングに正確に対応する4個の第1解像度画像を生成することができる。
【0061】
図5は、制御部110が第1解像度画像を生成する処理に関する対比例を説明する図である。対比例として、第1解像度画像210及び第1解像度画像220を用いて、第1解像度画像210と第1解像度画像220との間に出力される第1解像度画像511、第1解像度画像512、第1解像度画像513、及び第1解像度画像514を生成する処理を説明する。
【0062】
まず、ブロックマッチング等の動き探索処理により、時刻Tの第1解像度画像210におけるブロック501と、時刻T+1における第1解像度画像220におけるブロック502との間の動き情報550を検出する。そして、検出した動き情報550と第1解像度画像210とを用いて、時刻T+0.2における第1解像度画像511のブロック561、時刻T+0.4における第1解像度画像512のブロック562、時刻T+0.6における第1解像度画像513のブロック563、及び時刻T+0.8における第1解像度画像514のブロック564を生成する。このようにして第1解像度画像210と第1解像度画像220との間に、第1解像度画像511、第1解像度画像512、第1解像度画像513、第1解像度画像514、及び第1解像度画像220を含む動画を生成することにより、高解像度かつ高フレームレートの動画を生成することができる。
【0063】
この対比例では、第1解像度画像210及び第1解像度画像220を用いて動き情報を検出する。そのため、第1解像度画像210と第1解像度画像220との間で被写体が非線形的な複雑な動きをした場合には、その動きを第1解像度画像511〜514に反映することができない。したがって、フレームレートを増大させることができても、被写体の動きが不自然な動画が生成されてしまう場合がある。
【0064】
これに対し、上述したように制御部110は、第1解像度画像210と第1解像度画像220との間で高フレームレートで撮像した第2解像度画像から動き情報を検出する。そして、露光時間が確保された第1解像度画像210と動き情報とを用いて、第1解像度画像411〜414を生成する。これにより、被写体が非線形的な複雑な動きをした場合であっても、その動きを適切に反映した高画質な第1解像度画像411〜414を生成することができる。
【0065】
図6は、制御部110が実行する方法に関するフローチャートを示す。S610において、制御部110は、イメージセンサ120の読み出し動作により、低フレームレートで撮像された第1解像度画像を取得する。S620において、制御部110は、S610に続いて連続して複数回のイメージセンサ120の読み出し動作を行うことにより、高フレームレートで撮像された複数の第2解像度画像を取得する。
【0066】
S630において、制御部110は、S620で取得した複数の第2解像度画像から動き情報を検出する。S640において、制御部110は、S630で検出した動き情報を、第1解像度画像に対してマッピングする。S650において、制御部110は、S640において第1解像度画像に対してマッピングした動き情報と、S610で取得した第1解像度画像とを用いて、撮像された第1解像度画像の間に出力される複数の第1解像度画像を生成する。具体的には、制御部110は、動画においてS610で取得した第1解像度画像に続いて連続的に表示されるべき第1解像度画像を生成する。S660において、S610で取得した第1解像度画像と、S650で生成した第1解像度画像とを含む動画を出力する。例えば、制御部110は、S610で取得した第1解像度画像及びS650で生成した第1解像度画像に対して予め定められた画像処理を施して、メモリ130に記録する。
【0067】
制御部110は、イメージセンサ120から読み出した連続する第1解像度画像及び複数の第2解像度画像に対して
図6に示すフローチャートの処理を繰り返し実行する。これにより、イメージセンサ120に高解像度かつ高フレームレートの動画をメモリ130に記録する。
【0068】
以上に説明した撮像装置100によれば、比較的に低い撮像レートで撮像した第1解像度画像と比較的に高い撮像レートで第2解像度画像とを用いて、被写体の早い動きが反映され、かつ、フレームレートが高い高解像度動画を生成することができる。
【0069】
上記のような撮像装置100は、移動体に搭載されてもよい。撮像装置100は、
図7に示すような、無人航空機(UAV)に搭載されてもよい。UAV10は、UAV本体20、ジンバル50、複数の撮像装置60、及び撮像装置100を備えてよい。ジンバル50、及び撮像装置100は、撮像システムの一例である。UAV10は、推進部により推進される移動体の一例である。移動体とは、UAVの他、空中を移動する他の航空機などの飛行体、地上を移動する車両、水上を移動する船舶等を含む概念である。
【0070】
UAV本体20は、複数の回転翼を備える。複数の回転翼は、推進部の一例である。UAV本体20は、複数の回転翼の回転を制御することでUAV10を飛行させる。UAV本体20は、例えば、4つの回転翼を用いてUAV10を飛行させる。回転翼の数は、4つには限定されない。また、UAV10は、回転翼を有さない固定翼機でもよい。
【0071】
撮像装置100は、所望の撮像範囲に含まれる被写体を撮像する撮像用のカメラである。ジンバル50は、撮像装置100を回転可能に支持する。ジンバル50は、支持機構の一例である。例えば、ジンバル50は、撮像装置100を、アクチュエータを用いてピッチ軸で回転可能に支持する。ジンバル50は、撮像装置100を、アクチュエータを用いて更にロール軸及びヨー軸のそれぞれを中心に回転可能に支持する。ジンバル50は、ヨー軸、ピッチ軸、及びロール軸の少なくとも1つを中心に撮像装置100を回転させることで、撮像装置100の姿勢を変更してよい。
【0072】
複数の撮像装置60は、UAV10の飛行を制御するためにUAV10の周囲を撮像するセンシング用のカメラである。2つの撮像装置60が、UAV10の機首である正面に設けられてよい。更に他の2つの撮像装置60が、UAV10の底面に設けられてよい。正面側の2つの撮像装置60はペアとなり、いわゆるステレオカメラとして機能してよい。底面側の2つの撮像装置60もペアとなり、ステレオカメラとして機能してよい。複数の撮像装置60により撮像された画像に基づいて、UAV10の周囲の3次元空間データが生成されてよい。UAV10が備える撮像装置60の数は4つには限定されない。UAV10は、少なくとも1つの撮像装置60を備えていればよい。UAV10は、UAV10の機首、機尾、側面、底面、及び天井面のそれぞれに少なくとも1つの撮像装置60を備えてもよい。撮像装置60で設定できる画角は、撮像装置100で設定できる画角より広くてよい。撮像装置60は、単焦点レンズまたは魚眼レンズを有してもよい。
【0073】
遠隔操作装置12は、UAV10と通信して、UAV10を遠隔操作する。遠隔操作装置12は、UAV10と無線で通信してよい。遠隔操作装置12は、UAV10に上昇、下降、加速、減速、前進、後進、回転などのUAV10の移動に関する各種命令を示す指示情報を送信する。指示情報は、例えば、UAV10の高度を上昇させる指示情報を含む。指示情報は、UAV10が位置すべき高度を示してよい。UAV10は、遠隔操作装置12から受信した指示情報により示される高度に位置するように移動する。指示情報は、UAV10を上昇させる上昇命令を含んでよい。UAV10は、上昇命令を受け付けている間、上昇する。UAV10は、上昇命令を受け付けても、UAV10の高度が上限高度に達している場合には、上昇を制限してよい。
【0074】
図8は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ1200の一例を示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、本発明の実施形態に係る装置に関連付けられるオペレーションまたは当該装置の1または複数の「部」として機能させることができる。例えば、コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、制御部110として機能させることができる。または、当該プログラムは、コンピュータ1200に当該オペレーションまたは当該1または複数の「部」の機能を実行させることができる。当該プログラムは、コンピュータ1200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0075】
本実施形態によるコンピュータ1200は、CPU1212、及びRAM1214を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、入力/出力ユニットを含み、それらは入力/出力コントローラ1220を介してホストコントローラ1210に接続されている。コンピュータ1200はまた、ROM1230を含む。CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。
【0076】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブが、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納してよい。ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/またはコンピュータ1200のハードウェアに依存するプログラムを格納する。プログラムが、CR−ROM、USBメモリまたはICカードのようなコンピュータ可読記録媒体またはネットワークを介して提供される。プログラムは、コンピュータ可読記録媒体の例でもあるRAM1214、またはROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ1200の使用に従い情報のオペレーションまたは処理を実現することによって構成されてよい。
【0077】
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、またはUSBメモリのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0078】
また、CPU1212は、USBメモリ等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0079】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0080】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ1200上またはコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0081】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0082】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【解決手段】装置は、予め定められた撮像レートで撮像された第1解像度を持つ複数の第1解像度画像210、411〜414、220と、複数の第1解像度画像の撮像タイミングの間で撮像された第1解像度より低い第2解像度を持つ複数の第2解像度画像211〜215と、を含む動画情報を取得するように構成された回路を備える。回路は、複数の第2解像度画像に基づいて、第1解像度画像の撮像タイミングの間における画像の動きを特定する。回路は、複数の第1解像度画像及び動きに基づいて、複数の第2解像度画像より解像度が高く、動画において複数の第1解像度画像の間で出力される複数の画像を生成する。回路は、複数の第1解像度画像と、複数の第1解像度画像及び複数の画像とを含む動画を生成する。