以下、発明の実施の形態を通じて本発明を説明するが、以下の実施の形態は特許請求の範囲に係る発明を限定するものではない。また、実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。以下の実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、図面、及び要約書には、著作権による保護の対象となる事項が含まれる。著作権者は、これらの書類の何人による複製に対しても、特許庁のファイルまたはレコードに表示される通りであれば異議を唱えない。ただし、それ以外の場合、一切の著作権を留保する。
本発明の様々な実施形態は、フローチャート及びブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、プログラマブル回路、及び/またはプロセッサによって実装されてよい。専用回路は、デジタル及び/またはアナログハードウェア回路を含んでよい。集積回路(IC)及び/またはディスクリート回路を含んでよい。プログラマブル回路は、再構成可能なハードウェア回路を含んでよい。再構成可能なハードウェア回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、及び他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含んでよい。
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよい。その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
コンピュータ可読命令は、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードの何れかを含んでよい。ソースコードまたはオブジェクトコードは、従来の手続型プログラミング言語を含む。従来の手続型プログラミング言語は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語または同様のプログラミング言語でよい。コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供されてよい。プロセッサまたはプログラマブル回路は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
図1は、無人航空機(UAV)10及び遠隔操作装置300の外観の一例を示す。UAV10は、UAV本体20、ジンバル50、複数の撮像装置60、及び撮像装置100を備える。ジンバル50及び撮像装置100は、撮像システムの一例である。UAV10は、移動体とは、空中を移動する飛行体、地上を移動する車両、水上を移動する船舶等を含む概念である。空中を移動する飛行体とは、UAVの他、空中を移動する他の航空機、飛行船、ヘリコプター等を含む概念である。
UAV本体20は、複数の回転翼を備える。複数の回転翼は、推進部の一例である。UAV本体20は、複数の回転翼の回転を制御することでUAV10を飛行させる。UAV本体20は、例えば、4つの回転翼を用いてUAV10を飛行させる。回転翼の数は、4つには限定されない。また、UAV10は、回転翼を有さない固定翼機でもよい。
撮像装置100は、所望の撮像範囲に含まれる被写体を撮像する撮像用のカメラである。ジンバル50は、撮像装置100を回転可能に支持する。ジンバル50は、支持機構の一例である。例えば、ジンバル50は、撮像装置100を、アクチュエータを用いてピッチ軸で回転可能に支持する。ジンバル50は、撮像装置100を、アクチュエータを用いて更にロール軸及びヨー軸のそれぞれを中心に回転可能に支持する。ジンバル50は、ヨー軸、ピッチ軸、及びロール軸の少なくとも1つを中心に撮像装置100を回転させることで、撮像装置100の姿勢を変更してよい。
複数の撮像装置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は、単焦点レンズまたは魚眼レンズを有してもよい。
遠隔操作装置300は、UAV10と通信して、UAV10を遠隔操作する。遠隔操作装置300は、UAV10と無線で通信してよい。遠隔操作装置300は、UAV10に上昇、下降、加速、減速、前進、後進、回転などのUAV10の移動に関する各種命令を示す指示情報を送信する。指示情報は、例えば、UAV10の高度を上昇させる指示情報を含む。指示情報は、UAV10が位置すべき高度を示してよい。UAV10は、遠隔操作装置300から受信した指示情報により示される高度に位置するように移動する。指示情報は、UAV10を上昇させる上昇命令を含んでよい。UAV10は、上昇命令を受け付けている間、上昇する。UAV10は、上昇命令を受け付けても、UAV10の高度が上限高度に達している場合には、上昇を制限してよい。
図2は、UAV10の機能ブロックの一例を示す。UAV10は、UAV制御部30、メモリ37、通信インタフェース36、推進部40、GPS受信機41、慣性計測装置42、磁気コンパス43、気圧高度計44、温度センサ45、湿度センサ46、ジンバル50、撮像装置60、及び撮像装置100を備える。
通信インタフェース36は、遠隔操作装置300などの他の装置と通信する。通信インタフェース36は、遠隔操作装置300からUAV制御部30に対する各種の命令を含む指示情報を受信してよい。メモリ37は、UAV制御部30が、推進部40、GPS受信機41、慣性計測装置(IMU)42、磁気コンパス43、気圧高度計44、温度センサ45、湿度センサ46、ジンバル50、撮像装置60、及び撮像装置100を制御するのに必要なプログラム等を格納する。メモリ37は、コンピュータ読み取り可能な記録媒体でよく、SRAM、DRAM、EPROM、EEPROM、USBメモリ、及びソリッドステートドライブ(SSD)等のフラッシュメモリの少なくとも1つを含んでよい。メモリ37は、UAV本体20の内部に設けられてよい。UAV本体20から取り外し可能に設けられてよい。
UAV制御部30は、メモリ37に格納されたプログラムに従ってUAV10の飛行及び撮像を制御する。UAV制御部30は、CPUまたはMPU等のマイクロプロセッサ、MCU等のマイクロコントローラ等により構成されてよい。UAV制御部30は、通信インタフェース36を介して遠隔操作装置300から受信した命令に従って、UAV10の飛行及び撮像を制御する。推進部40は、UAV10を推進させる。推進部40は、複数の回転翼と、複数の回転翼を回転させる複数の駆動モータとを有する。推進部40は、UAV制御部30からの命令に従って複数の駆動モータを介して複数の回転翼を回転させて、UAV10を飛行させる。
GPS受信機41は、複数のGPS衛星から発信された時刻を示す複数の信号を受信する。GPS受信機41は、受信された複数の信号に基づいてGPS受信機41の位置(緯度及び経度)、つまりUAV10の位置(緯度及び経度)を算出する。IMU42は、UAV10の姿勢を検出する。IMU42は、UAV10の姿勢として、UAV10の前後、左右、及び上下の3軸方向の加速度と、ピッチ、ロール、及びヨーの3軸方向の角速度とを検出する。磁気コンパス43は、UAV10の機首の方位を検出する。気圧高度計44は、UAV10が飛行する高度を検出する。気圧高度計44は、UAV10の周囲の気圧を検出し、検出された気圧を高度に換算して、高度を検出する。温度センサ45は、UAV10の周囲の温度を検出する。湿度センサ46は、UAV10の周囲の湿度を検出する。
撮像装置100は、撮像部102及びレンズ部200を備える。レンズ部200は、レンズ装置の一例である。撮像部102は、イメージセンサ120、撮像制御部110、メモリ130、及び測距センサを有する。イメージセンサ120は、CCDまたはCMOSにより構成されてよい。イメージセンサ120は、複数のレンズ210を介して結像された光学像を撮像し、撮像された画像を撮像制御部110に出力する。撮像制御部110は、イメージセンサ120から読み出した画素情報に基づいて画像処理を行うことによって記録用の画像を生成して、メモリ130に記録する。撮像制御部110は、CPUまたはMPUなどのマイクロプロセッサ、MCUなどのマイクロコントローラなどにより構成されてよい。撮像制御部110は、UAV制御部30からの撮像装置100の動作命令に応じて、撮像装置100を制御してよい。撮像制御部110は、回路の一例である。メモリ130は、コンピュータ可読可能な記録媒体でよく、SRAM、DRAM、EPROM、EEPROM、USBメモリ、及びソリッドステートドライブ(SSD)などのフラッシュメモリの少なくとも1つを含んでよい。メモリ130は、撮像制御部110がイメージセンサ120などを制御するのに必要なプログラム等を格納する。メモリ130は、撮像装置100の筐体の内部に設けられてよい。メモリ130は、撮像装置100の筐体から取り外し可能に設けられてよい。
測距センサは、被写体までの距離を測距する。測距センサは、赤外線センサ、超音波センサ、ステレオカメラ、TOF(Time Of Flight)センサなどでよい。
レンズ部200は、複数のレンズ210、複数のレンズ駆動部212、及びレンズ制御部220を有する。複数のレンズ210は、ズームレンズ、バリフォーカルレンズ、及びフォーカスレンズとして機能してよい。複数のレンズ210の少なくとも一部または全部は、光軸に沿って移動可能に配置される。レンズ部200は、撮像部102に対して着脱可能に設けられる交換レンズでよい。レンズ駆動部212は、カム環などの機構部材を介して、複数のレンズ210の少なくとも一部または全部を光軸に沿って移動させる。レンズ駆動部212は、アクチュエータを含んでよい。アクチュエータは、ステッピングモータを含んでよい。レンズ制御部220は、撮像部102からのレンズ制御命令に従って、レンズ駆動部212を駆動して、機構部材を介して1または複数のレンズ210を光軸方向に沿って移動させる。レンズ制御命令は、例えば、ズーム制御命令、及びフォーカス制御命令である。
レンズ部200は、メモリ222、位置センサ214をさらに有する。レンズ制御部220は、撮像部102からのレンズ動作命令に応じてレンズ駆動部212を介して、レンズ210の光軸方向への移動を制御する。レンズ210の一部または全部は、光軸に沿って移動する。レンズ制御部220は、レンズ210の少なくとも1つを光軸に沿って移動させることで、ズーム動作及びフォーカス動作の少なくとも一方を実行する。位置センサ214は、レンズ210の位置を検出する。位置センサ214は、現在のズーム位置またはフォーカス位置を検出してよい。
レンズ駆動部212は、振れ補正機構を含んでよい。レンズ制御部220は、振れ補正機構を介して、レンズ210を光軸に沿った方向、または光軸に垂直な方向に移動させることで、振れ補正を実行してよい。レンズ駆動部212は、ステッピングモータにより振れ補正機構を駆動して、振れ補正を実行してよい。なお、振れ補正機構は、ステッピングモータにより駆動されて、イメージセンサ120を光軸に方向に沿った方向、または光軸に垂直な方向に移動させることで、振れ補正を実行してよい。
メモリ222は、レンズ駆動部212を介して移動する複数のレンズ210の制御値を記憶する。メモリ222は、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリなどのフラッシュメモリの少なくとも1つを含んでよい。
図3は、イメージセンサ120及び撮像制御部110のブロック構成を示す。撮像制御部110は、制御部112と、画像処理部114と、符号化部116とを備える。
イメージセンサ120は、画素アレイ122、垂直選択回路124、水平選択回路126、及びカラム処理部128を備える。画素アレイ122は、受光した光量に応じた電荷を生成して蓄積する光電変換部を有する複数の画素を含む。複数の画素は、行列状に配置されている。具体的には、複数の画素は、行方向(水平方向)及び列方向(垂直方向)に2次元に配置されている。
画素アレイ122は、画素の行に対応する複数の画素駆動線125を介して垂直選択回路124と接続される。画素駆動線125は、画素から画素信号を読み出すための駆動信号を伝送する。
垂直選択回路124は、シフトレジスタ及びアドレスデコーダ等を備えて構成される。垂直選択回路124は、画素アレイ122の各画素を行単位で駆動する。垂直選択回路124は、撮像制御部110の制御部112と共に、 画素アレイ122の各画素の動作を制御する駆動部を構成する。
垂直選択回路124は、読み出し走査及び掃き出し走査を行う。垂直選択回路124は、読み出し走査において、 画素アレイ122の各画素を行単位で順に選択して走査する。垂直選択回路124は、掃き出し走査において、読み出し走査が行われる読み出し行に対して、その読み出し走査よりも露光時間分だけ先行して掃き出し走査を行う。垂直選択回路124は、読み出し走査及び掃き出し走査を行うことで、いわゆる電子シャッタを実行する。
垂直選択回路124によって走査された行の各画素から出力された信号は、列毎に垂直信号線129を介してカラム処理部128に入力される。カラム処理部128は、 画素アレイ122の列毎に、選択された行の各画素から垂直信号線129を介して出力される信号に対して予め定められた信号処理を行い、各画素の電気信号を出力する。
カラム処理部128は、信号処理として、ノイズ除去処理を行う。ノイズ除去処理としては、CDS(相関二重サンプリング)処理、DDS(Double Data Sampling)処理等を例示することができる。CDS処理が実行されることで、リセットノイズなどが除去される。
水平選択回路126は、シフトレジスタ及びアドレスデコーダ等を備えて構成される。カラム処理部128の列に対応する回路部分を順番に選択して走査する。水平選択回路126による走査により、カラム処理部128で列ごとに信号された各画素の画素情報としての電気信号が順番に出力される。
画像処理部114は、カラム処理部128から出力される画素情報が入力される。画像処理部114は、デモザイク処理、ビニング処理、YC分離処理等の画像処理を行う。符号化部116は、画像処理部114により画像処理が施された画像情報を予め定められた符号化して、記録用の画像データを生成する。符号化部116は、生成した画像データをメモリ130に記録する。
画像処理部114には、予め定められた数の画素から構成される画素群単位で画素情報を入力可能である。一般に、イメージセンサ120の各行に配置された画素数分の画素データを画像処理部に入力可能であることが望ましい。例えば、画素アレイ122が行方向に6000画素を有し、列方向に4000の画素を有する場合、画像処理部は、一行分の6000画素の画素情報を入力する能力を有することが望ましい。具体的には、6000画素分の画素情報を一時的に保存することができる容量のキャッシュを備えることが望ましい。しかし、本実施形態において、画像処理部114は、6000画素分未満の容量のキャッシュを備えるものとする。すなわち、本実施形態において、画像処理部114は、画素アレイ122の一行に配置された画素数より少ない数の画素から構成される画素群単位で画素情報を入力可能であるが、一行に配置された画素数以上の画素から構成される画素群の画素情報を一度に入力することはできない。
制御部112は、イメージセンサ120から画像処理部114への画素情報の出力を制御して、画素アレイ122が備える全ての画素の画素情報を画像処理部114に処理させる。具体的には、制御部112は、イメージセンサ120から、行列の行毎に、予め定められた数の画素から構成される画素群単位で複数回に分けて画素情報をイメージセンサ120から出力させる。例えば、画像処理部114が備えるキャッシュが、1000画素分の画素情報を一時的に保存することができる容量を持つ場合、制御部112は、一行の6000画素の画素情報を、1000画素から構成される6個の画素群単位に分割して、6回に分けて画素情報をカラム処理部128から出力させる。他の例として、画像処理部114が備えるキャッシュが、3000画素分の画素情報を一時的に保存することができる容量を持つ場合、制御部112は、一行の6000画素の画素情報を、3000画素から構成される2つの画素群単位に分割して、2回に分けて画素情報をカラム処理部128から出力させる。
制御部112は、イメージセンサ120から複数回に分けて出力された画素情報に基づいて、行列の各行の画素情報を画像処理部114に構築させる。例えば、制御部112は、6回に分けてカラム処理部128から出力させた6000画素分の画素情報を、一行分の画素情報として画像処理部114に処理させる。
制御部112は、同一行において行方向に連続して配置された予め定められた数の画素から構成される第1の画素群の画素情報を画像処理部114へ出力させた後、第1の画素群と同一行において行方向に連続して配置された予め定められた数の画素から構成される第2の画素群の画素情報を画像処理部114へ出力させる。例えば、制御部112は、第1の画素群の画素情報を画像処理部114へ出力させた後、画像処理部114が第1の画素群の画素情報を処理するための予め定められた時間待機した後、第2の画素群の画素情報を画像処理部114へ出力させる。
制御部112は、同一行において行方向に連続して配置された予め定められた数の画素から構成される第1の画素群の画素情報を、複数の行について順次に画像処理部114へ出力させた後、第1の画素群と同一行において行方向に連続して配置された予め定められた数の画素から構成される第2の画素群の画素情報を、複数の行について順次に画像処理部114へ出力させてもよい。
制御部112は、行列の一行に配置された画素数が予め定められた数の倍数でない場合に、行列の一行に配置された画素数の予め定められた数による剰余の数を予め定められた数から減算した数の画素情報を、行列の一行に配置された画素の画素情報に付加することによって、予め定められた数の画素から構成される画素群単位で複数回に分けて行列の一行に配置された全ての画素の画素情報をイメージセンサ120から出力させる。例えば、画像処理部114が1028画素分の画素情報を保持できる場合、5回目までに5140画素分の画素情報が出力されたことになり、各行につき860画素分の画素情報が余る。この場合、制御部112は、余りの860画素分の画像情報に、(1028−860)画素分のダミーの画素情報を付加して、1028画素分の画像情報として画像処理部114に出力する。
図4及び図5は、画素アレイ122が備える画素の画素情報を2回に分けて読み出す場合を示す。画像処理部114が3000画素分の画素情報を保存するキャッシュを有する場合、画像処理部114は、一度に入力可能な画素数として「3000」を示す入力幅情報を制御部112に出力する。
制御部112は、画像処理部114から入力幅情報を受信すると、垂直選択回路124によって一行目の6000個の画素を選択した状態で、水平選択回路126を制御して3000個の画素群単位で順次に駆動して、3000個の画素群の画像情報を2回に分けてカラム処理部128から出力させる。具体的には、制御部112は、3000個の画素から構成される第1の画素群4001を対象に、水平選択回路126を用いて画素情報を出力させる画素を列方向に順次に選択して、カラム処理部128から順次に出力させる。そして、制御部112は、第1の画素群4001の3000個の画素分の画素情報を画像処理部114が処理するための時間だけ待機して、画素群4001に続いて一行目に配置されている画素群4002を対象に、水平選択回路126を用いて画素情報を出力させる画素を列方向に順次に選択して、カラム処理部128から順次に出力させる。
続いて、制御部112は、垂直選択回路124によって二行目の6000個の画素を選択した状態で、3000個の画素から構成される第1の画素群4003を対象に、水平選択回路126を用いて画素情報を出力させる画素を列方向に順次に選択して、カラム処理部128から順次に出力させる。そして、制御部112は、第1の画素群4003の3000個の画素分の画素情報を画像処理部114が処理するための時間だけ待機して、画素群4003に続いて二行目に配置されている画素群4004を対象に、水平選択回路126を用いて画素情報を出力させる画素を列方向に順次に選択して、カラム処理部128から順次に出力させる。
制御部112は、三行目以降の各行について同様の動作を繰り返すことによって、60000×4000画素の画素情報をカラム処理部128から画像処理部114へと出力させる。
これにより、画像処理部114には、3000個の画素から構成される画素群の画素情報が8000回入力される。画像処理部114は、3000個の画素から構成される画素群の画素情報を8000回処理して、横3000×縦8000の画素情報を生成する。制御部112は、画像処理部114により処理された横3000×縦8000の画素情報から、横6000×縦4000の画素情報を持つ画像を構築して、符号化部116に符号化させる。
図6から図9に、上述した処理を分かり易く説明するための図を示す。図6は、画素アレイ122に「A」の文字の光学像が形成された場合の画素の出力を示す模式図である。分かり易く説明するため、画素アレイ122の画素配列を12×8個の画素で簡易的に表すものとする。図7は、各行の6000個の画素を3000個の画素から構成される画素群に分割して出力することを示す模式図である。
制御部112が垂直選択回路124及び水平選択回路126を制御することにより、一行目の第1の画素群4001、1行目の第2の画素群4002、二行目の第1の画素群4003、二行目の第2の画素群4004・・・の順でカラム処理部128から画像処理部114に出力される。制御部112は、第1の画素群4001、第2の画素群4002、第1の画素群4003、及び第2の画素群4004のそれぞれの画素群の画素情報を出力させる毎に、画像処理部114が画素情報を処理するための予め定められた時間だけ待機する。
図8は、画像処理部114における画像処理によって、横3000×縦8000の画素情報が出力される様子を示す模式図である。画像処理部114は、画像処理を適用後の画素情報をメモリ130に出力する。制御部112は、第1の画素群4001及び第2の画素群4002で一行目の画素情報を構成し、第1の画素群4003及び第2の画素群4004で二行目の画素情報を構成するよう画像処理部114を制御する。これにより、図9に示されるように、横6000×縦4000の画素情報から構成される画像情報900がメモリ130内に構築される。制御部112は、メモリ130内に構築された横6000×縦4000画素の画像情報を、符号化部116に符号化させて、記録用の画像データを生成させる。
図10は、画像処理部114に画素情報を出力する順序の変形例を示す。図4に例示した順序とは異なり、制御部112は、一行目の第1の画像群4001の画素情報を画像処理部114へ出力させると、続いて、二行目の第1の画像群4003の画素情報を画像処理部114へ出力させる。制御部112は、三行目以降も同様に第1の画像群の画素情報を画像処理部114へ順次に出力させる。最終行の第1の画像群の画素情報を画像処理部114へ出力させると、一行目の第2の画像群4002の画素情報を画像処理部114へ出力させ、続いて、二行目の第2の画像群4004の画素情報を画像処理部114へ出力させる。制御部112は、三行目以降も同様に第2の画像群の画素情報を画像処理部114へ順次に出力させる。このように、制御部112は、全行の第1の画像群を、全行の第2の画像群より先に画像処理部114へ出力させてよい。
以上に説明では、一行あたり6000個の画素を持つ画素アレイ122の画素情報を、2分割又は6分割して画像処理部114に出力させる場合を取り上げて、制御部112による画素情報の出力制御方法を説明した。一般には、一行あたりH個の画素を持つ画素アレイを対象とする場合、画像処理部114に一度に入力可能な画素数をNとし、画像群の分割数をn(nは1以上の整数)とすると、N<H<dNを満たすに画素アレイの画素情報を画像処理部で処理することが可能になる。
図11は、画像群画素アレイ122が一行あたりに備える画素数Hが画像処理部114に一度に入力可能な画素数Nの整数倍でない場合を模式的に示す。図12は、画像処理部114へ出力させる画素情報を模式的に示す。図12に示されるように、制御部112は、第2画像群のそれぞれの末尾に、ダミーの画素情報1100を付加する。これにより、画像処理部114のロジックを変更することなく、HがNの整数倍でない場合に対応することができる。一般に、付加するダミーの画素情報の数は、HのNによる剰余をMとして、(N−M)である。制御部112は、最終列の画素情報と同一の画素情報を(N−M)回繰り返して画像処理部114へ出力させてよい。なお、画像処理部114は、図9に示すような画像情報を構築する場合には、付加した画素情報を除外する。
なお、制御部112は、画像処理部114が画素アレイ122から逐次に出力される画素情報を処理している最中に、画像処理部114により処理された画素情報に基づいて表示画像を逐次に生成して、ライブビュー画像等として表示させてよい。
以上に説明したように、制御部112による画素情報の出力制御によれば、画像処理部114が画素情報を一時的に保持するキャッシュの容量が小さい場合等のように、画像処理部114が一度に処理できる画素情報のデータ量が少ない場合でも、画素アレイ122が有する全画素の画素情報を処理することができる。これにより、画像処理部114へ出力する画素を間引く等の処理をすることによって一部の列の画素情報を破棄する場合に比べて、画素数の多い画像を生成することができる。なお、イメージセンサから出力される画素情報を外部メモリに転送するためのアダプタチップを追加して、外部メモリに転送された画素情報を画像処理部が処理する方法によっても、全画素の画素情報を処理することが可能になる。しかし、この方法では、アダプタチップを動作させるための消費電力量が増大してしまう。上述したように、制御部112による画素情報の出力制御によれば、アダプタチップを追加することなく、画素アレイ122が有する全画素の画素情報を処理することができるので、消費電力の増加を抑制することができる。
上記の実施形態では、撮像装置100は、UAV10に搭載される撮像装置である。しかし、撮像装置100は、UAV10等の移動体に搭載される撮像装置でなくてもよい。例えば、撮像装置100は、手持ちジンバルに支持される撮像装置であってよい。また、撮像装置100は、UAV10や手持ちジンバルに支持されない撮像装置であってよい。例えば、撮像装置100は、ユーザが手持ちで支持可能な撮像装置であってよい。撮像装置100は、監視カメラ等のように、固定的に設置される撮像装置であってよい。
図13は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ1200の一例を示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、本発明の実施形態に係る装置に関連付けられるオペレーションまたは当該装置の1または複数の「部」として機能させることができる。または、当該プログラムは、コンピュータ1200に当該オペレーションまたは当該1または複数の「部」を実行させることができる。当該プログラムは、コンピュータ1200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
本実施形態によるコンピュータ1200は、CPU1212、及びRAM1214を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、入力/出力ユニットを含み、それらは入力/出力コントローラ1220を介してホストコントローラ1210に接続されている。コンピュータ1200はまた、ROM1230を含む。CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブが、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納してよい。ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/またはコンピュータ1200のハードウェアに依存するプログラムを格納する。プログラムが、CR−ROM、USBメモリまたはICカードのようなコンピュータ可読記録媒体またはネットワークを介して提供される。プログラムは、コンピュータ可読記録媒体の例でもあるRAM1214、またはROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ1200の使用に従い情報のオペレーションまたは処理を実現することによって構成されてよい。
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、またはUSBメモリのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
また、CPU1212は、USBメモリ等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ1200上またはコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。