(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、近年の撮像装置では、手振れ補正機能など、撮影を支援(サポート)する機能が備えられてきている。このため、近年の撮像装置では、固体撮像装置が撮像する撮像領域の全体に対して画像処理を行うのではなく、手振れによって固体撮像装置が被写体を撮像する位置(以下、「撮影位置」という)が撮像領域内で振れることを考慮して、撮像領域の一部を切り出した領域に対して画像処理を行うことが一般的に行われている。
【0008】
図7は、従来の撮像装置において手振れによる領域の変化と画像処理に要する時間との関係の一例を説明する図である。撮像装置によって撮影したとき、
図7(a)および
図7(b)に示した矢印の方向に手振れが発生すると、1枚の撮影画像を生成するために画像処理を行う必要がある一部の領域(以下、「処理領域」という)は、
図7(a)および
図7(b)に示した処理領域Zのように、手振れが発生した方向と反対方向に移動することになる。なお、手振れの量や方向は、撮像装置が撮影するフレーム毎に異なるため、画像処理を行う処理領域の切り出し位置も、撮像装置が撮影するフレーム毎に異なることになる。
【0009】
このため、手振れが発生している状態で、特許文献1のように固体撮像装置が撮像する撮像領域を単純に2等分すると、
図7(c)および
図7(d)に示したように、領域Xと領域Yとのそれぞれに含まれる処理領域Zの大きさ(面積)が均等ではなくなってしまう。これにより、画像処理回路Xと画像処理回路Yとのそれぞれに割り当てられる画像処理の割り当て量が均等ではなくなってしまう。
【0010】
そして、画像処理回路Xと画像処理回路Yとのそれぞれに割り当てられる画像処理の割り当て量が均等でないと、画像処理回路Xと画像処理回路Yとのそれぞれが対応する領域Xまたは領域Yに対して行う画像処理の処理時間が、
図7(e)に示したように異なってしまう。
図7(e)には、
図7(d)に示したように画像処理回路Xと画像処理回路Yとのそれぞれに処理領域Zの範囲に対する画像処理を割り当てた場合において、画像処理回路Xの処理時間と画像処理回路Yの処理時間とを比較した一例を示している。
【0011】
図7(e)に示したように、画像処理回路Xと画像処理回路Yとの処理時間が異なると、撮像装置では、画像処理の割り当て量が多い方の画像処理回路Xが画像処理を完了するまでの時間、すなわち、画像処理回路Xの処理時間が、1フレームの画像処理に要する時間となる。これをそれぞれのフレームに対する画像処理の観点から見た場合には、撮像装置の処理性能としての、フレームレートの低下に繋がってしまう、という問題がある。
【0012】
本発明は、上記の課題認識に基づいてなされたものであり、撮像装置に複数の画像処理回路を備え、それぞれの画像処理回路で分割した領域の画像処理を並列に行う場合に、それぞれの画像処理回路における画像処理の処理時間を均等にすることができる撮像装置および撮像方法を提供することを目的としている。
【課題を解決するための手段】
【0013】
上記の課題を解決するため、本発明の撮像装置は、入射された被写体光に応じた画素信号を出力する固体撮像装置を具備し、該固体撮像装置が出力した前記画素信号に応じた撮像画像を出力する撮像処理部と、前記撮像処理部から出力された前記撮像画像から切り出した処理領域内の対応する領域に対して画像処理を行った撮影画像を生成する複数の画像処理回路と、前記固体撮像装置が被写体を撮像する撮影位置の該固体撮像装置の撮像領域内での移動を検出し、該検出した移動後の撮影位置に応じて、複数の前記画像処理回路によって前記撮影画像を生成するために前記撮像画像から切り出す前記処理領域を決定し、該決定した処理領域を分割して複数の前記画像処理回路のそれぞれに割り当てる分割位置決定部と、を備えることを特徴とする。
【0014】
また、本発明の前記分割位置決定部は、複数の前記画像処理回路のそれぞれが画像処理を行う処理量が均等になるように、前記処理領域を分割する分割位置を決定し、該決定した分割位置で分割した前記処理領域内のそれぞれの領域を表す分割領域情報を、対応する複数の前記画像処理回路のそれぞれに出力し、複数の前記画像処理回路のそれぞれは、前記分割位置決定部から入力された対応する前記分割領域情報に示された前記処理領域内の領域に対して画像処理を行い、対応する領域の撮影画像を生成する、ことを特徴とする。
【0015】
また、本発明の前記分割位置決定部は、前記撮像処理部から1つ前に出力された前記撮像画像に含まれる被写体と、現在の前記撮像画像に含まれる被写体とに基づいて、該被写体が移動した距離や方向を算出し、該算出した被写体の移動量に基づいて、前記撮影位置の移動を検出する、ことを特徴とする。
【0016】
また、本発明の前記分割位置決定部は、前記撮像画像に含まれる撮影時の光学系の歪みを含めて、複数の前記画像処理回路のそれぞれが画像処理を行う処理量が均等になるように、前記処理領域を分割する前記分割位置を変更する、ことを特徴とする。
【0017】
また、本発明の前記分割位置決定部は、前記被写体を撮影する際の当該撮像装置の姿勢に応じた歪みを含めて、複数の前記画像処理回路のそれぞれが画像処理を行う処理量が均等になるように、前記処理領域を分割する前記分割位置を変更する、ことを特徴とする。
【0018】
また、本発明の前記分割位置決定部は、動きを検出する動き検出センサーが検出した当該撮像装置自体の動きに基づいて、前記撮影位置の移動を検出する、ことを特徴とする。
【0019】
また、本発明の撮像方法は、入射された被写体光に応じた画素信号を出力する固体撮像装置が出力した前記画素信号に応じた撮像画像を出力する撮像ステップと、前記固体撮像装置が被写体を撮像する撮影位置の該固体撮像装置の撮像領域内での移動を検出し、該検出した移動後の撮影位置に応じて、複数の画像処理回路によって撮影画像を生成するために前記撮像画像から切り出す処理領域を決定し、該決定した処理領域を分割して複数の前記画像処理回路のそれぞれに割り当てる分割位置決定ステップと、前記撮像ステップによって出力された前記撮像画像から切り出した前記処理領域から分割されたそれぞれの領域に対して、対応する複数の前記画像処理回路で画像処理を行った前記撮影画像を生成する画像処理ステップと、を含むことを特徴とする。
【発明の効果】
【0020】
本発明によれば、撮像装置に複数の画像処理回路を備え、それぞれの画像処理回路で分割した領域の画像処理を並列に行う場合に、それぞれの画像処理回路における画像処理の処理時間を均等にすることができるという効果が得られる。
【発明を実施するための形態】
【0022】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の説明においては、撮像装置に2つの画像処理回路を備え、動画を撮影する場合の一例について説明する。撮像装置が静止画の撮影を行う場合であっても、同様に考えることができる。
【0023】
図1は、本実施形態における撮像装置の概略構成を示したブロック図である。
図1に示した撮像装置10は、イメージセンサ100と、撮像処理部200と、分割位置決定部300と、2つの画像処理回路401および画像処理回路402と、表示処理部500と、表示デバイス501と、メモリ600と、を備えている。
【0024】
撮像装置10内の撮像処理部200、分割位置決定部300、画像処理回路401および画像処理回路402、表示処理部500、およびメモリ600は、データバス700を介してそれぞれ接続され、例えば、DMA(Direct Memory Access)転送によって、メモリ600へのデータの格納(書き込み)、およびメモリ600からのデータの取得(読み出し)を行う。
【0025】
イメージセンサ100は、不図示のレンズによって結像された被写体の光学像を光電変換するCCD(Charge Copled Device:電荷結合素子)イメージセンサや、CMOS(Complementary Metal−Oxide Semiconductor:相補型金属酸化膜半導体)イメージセンサに代表される固体撮像装置である。イメージセンサ100は、被写体光に応じた画素信号を撮像処理部200に出力する。撮像装置10が動画の撮影を行う場合、イメージセンサ100は、被写体光に応じた各フレームの画素信号を順次、撮像処理部200に出力する。
【0026】
撮像処理部200は、イメージセンサ100から入力された画素信号に対して、例えば、A/D(アナログ/デジタル)変換、画素欠陥補正、シェーディング補正、暗電流補正などの各種の処理を施し、画素信号に応じた画像データ(以下、「撮像画像」という)をメモリ600に格納する(書き込む)。撮像装置10が動画の撮影を行う場合、撮像処理部200は、イメージセンサ100から入力された各フレームの画素信号に応じたそれぞれのフレームの撮像画像に対して順次、各種の処理を施して、メモリ600に格納する(書き込む)。
【0027】
分割位置決定部300は、撮像装置10が撮影している最中に発生する手振れなどによって撮影位置が移動した距離や方向(以下、「振れ量」という)を算出し、画像処理回路401および画像処理回路402のそれぞれが画像処理を行う撮像画像の範囲を表す情報を、画像処理回路401および画像処理回路402のそれぞれに出力する。分割位置決定部300は、振れ量算出部310と、分割位置算出部320と、を備えている。
【0028】
振れ量算出部310は、撮像処理部200によってメモリ600に格納された撮像画像に基づいて、撮影位置の振れ量を算出する。例えば、振れ量算出部310は、撮影位置の振れ量の算出を行う現在のフレームの撮像画像と、1フレーム前の撮像画像とを比較した差分から、撮影位置の振れ量を算出する。より具体的には、振れ量算出部310は、現在のフレームの撮像画像と1フレーム前の撮像画像とに含まれる主要被写体などの特徴部分の位置や大きさ、または色などを、例えば、ブロックマッチングなどを利用して比較することによって撮影位置の移動を検出し、検出した撮影位置の移動量に基づいて振れ量を算出する。そして、振れ量算出部310は、算出した振れ量の情報を、分割位置算出部320に出力する。
【0029】
なお、振れ量算出部310が撮影位置の振れ量を算出する方法は、上述したメモリ600に格納された撮像画像に基づいた方法、つまり、2つの撮像画像を比較する方法に限定されるものではなく、撮像装置10の撮影位置が移動した距離や方向を検出することができれば、他の様々な方法を用いてもよい。例えば、ジャイロセンサーなど、角度によって撮像装置10自体の動きを検出する動き検出センサーが検出した情報を、撮影位置の振れ量として分割位置算出部320に出力する構成であってもよい。
【0030】
分割位置算出部320は、振れ量算出部310から入力された撮影位置の振れ量に基づいて、撮像画像、つまり、イメージセンサ100の撮像領域の全体から一部を切り出して1フレームの撮影画像を生成するための画像処理を行う処理領域の切り出し位置と大きさとを決定する。そして、分割位置算出部320は、決定した処理領域の切り出し位置と大きさとに基づいて、処理領域を画像処理回路401および画像処理回路402のそれぞれが並列に画像処理を行う2つの領域に分割するための分割位置を決定する。このとき、分割位置算出部320は、画像処理回路401と画像処理回路402とがそれぞれ実行する画像処理の処理量が均等になるように、例えば、画像処理回路401と画像処理回路402とのそれぞれに割り当てる処理領域が均等の大きさになる位置を、処理領域を分割する分割位置とする。これにより、画像処理回路401と画像処理回路402とにおける画像処理の処理時間が均等になる。
【0031】
そして、分割位置算出部320は、決定した処理領域の切り出し位置および大きさの情報と分割位置の情報とに基づいて、画像処理回路401と画像処理回路402とのそれぞれが画像処理を行う領域の情報(以下、「分割領域情報」という)を、画像処理回路401と画像処理回路402とのそれぞれに出力する。なお、分割位置算出部320が処理領域の切り出し位置、大きさ、および分割位置に関する詳細な説明は、後述する。
【0032】
撮像装置10が動画の撮影を行う場合、分割位置決定部300は、イメージセンサ100から入力されたそれぞれのフレーム毎に、振れ量の算出と、処理領域の切り出し位置、大きさ、および分割位置の決定とを順次行い、それぞれのフレーム毎の分割領域情報を画像処理回路401と画像処理回路402とのそれぞれに順次出力する。
【0033】
画像処理回路401および画像処理回路402のそれぞれは、メモリ600に格納されている撮像画像を取得し(読み出し)、取得した撮像画像に対して、三板化処理(例えば、ベイヤー→YCまたはRGB変換など)、歪み補正処理、リサイズ処理などの現像処理や、ノイズ低減処理、フィルタ処理、輪郭協調処理などの高画質化処理などの画像処理を施した画像データ(以下、「撮影画像」という)を生成する。このとき、画像処理回路401および画像処理回路402のそれぞれは、メモリ600に格納されている撮像画像の内、分割位置決定部300内の分割位置算出部320から入力された対応する分割領域情報に示された処理領域の撮像画像を取得して(読み出して)、画像処理を施した撮影画像を生成する。
【0034】
そして、画像処理回路401および画像処理回路402のそれぞれは、生成した撮影画像を再びメモリ600に格納する(書き込む)。なお、画像処理回路401および画像処理回路402のそれぞれが実行する画像処理は、画像処理を行う領域が分割領域情報に示された領域である以外は、従来の撮像装置における処理と同様であるため、詳細な説明は省略する。
【0035】
撮像装置10が動画の撮影を行う場合、それぞれのフレームに対応して入力された分割領域情報に基づいて、画像処理回路401および画像処理回路402のそれぞれが、対応する処理領域の撮像画像に対する画像処理を順次実行し、画像処理後の撮影画像を順次メモリ600に格納する(書き込む)。
【0036】
表示処理部500は、メモリ600に格納されている画像処理回路401および画像処理回路402のそれぞれが画像処理した撮影画像を取得し(読み出し)、取得した撮影画像を表示デバイス501が表示することができる画像の大きさへのリサイズ(縮小)処理や、OSD(On−Screen Display)表示用のデータを重畳する重畳処理などの表示処理を施して、表示デバイス501に出力する。
【0037】
撮像装置10が動画の撮影を行う場合、表示処理部500は、メモリ600に格納されているそれぞれのフレームの撮影画像を順次取得し、取得した撮影画像に対して表示処理を施して表示デバイス501に順次出力する。
【0038】
表示デバイス501は、TFT(Thin Film Transistor:薄膜トランジスター)−LCD(Liquid Crystal Display:液晶ディスプレイ)や、有機EL(Electro Luminescence)ディスプレイなどの表示装置であり、表示処理部500から出力された表示処理後の撮影画像に応じた画像を表示する。
【0039】
なお、表示デバイス501は、EVF(Electronic View Finder:電子ビューファインダ)などの表示デバイスや、テレビなどの外部ディスプレイであってもよい。また、
図1においては、表示デバイス501も撮像装置10の構成要素としているが、表示デバイス501は、撮像装置10に着脱可能な構成であってもよい。
【0040】
メモリ600は、撮像装置10に備えたそれぞれの構成要素からアクセスされるDRAM(Dynamic Random Access Memory)などのメモリである。メモリ600は、撮像装置10内のそれぞれの構成要素の処理過程における様々なデータを一時記録する。
【0041】
なお、
図1では、撮像装置10内の各構成要素がデータバス700を介してメモリ600にアクセスする構成を示しているが、例えば、不図示のメモリコントローラによってメモリ600に対するアクセス制御がされる構成であってもよい。この場合には、撮像装置10内の各構成要素が、例えば、DMA転送によるメモリ600へのアクセス要求をメモリコントローラに対して出力し、メモリコントローラが、各構成要素から入力されたDMA転送でのメモリ600へのアクセス要求に応じて、接続されているメモリ600へのデータの格納(書き込み)、およびメモリ600からのデータの取得(読み出し)の制御を行うことになる。
【0042】
また、画像処理回路401および画像処理回路402のそれぞれによってメモリ600に格納された撮影画像は、例えば、不図示の記録処理部によって取得され(読み出され)、例えば、SDメモリカード(SD Memory Card)やコンパクトフラッシュ(CompactFlash:CF(登録商標))など、撮像装置10に着脱可能な不図示の記録媒体に記録される。このとき、撮影画像は、例えば、画像処理回路401および画像処理回路402の一方、または両方の画像処理回路によって、JPEG圧縮処理などの画像処理が施させる。
【0043】
このような構成によって、撮像装置10は、イメージセンサ100によって撮影された被写体の画像を、撮像装置10が撮影している最中に発生する手振れなどによって撮影位置が移動したことを考慮して、画像処理回路401および画像処理回路402のそれぞれが並列に画像処理を行う。なお、撮像装置10内のそれぞれの構成要素は、例えば、CPU(Central Processing Unit)などの不図示の制御部によって制御される。
【0044】
次に、撮像装置10内の分割位置決定部300に備えた分割位置算出部320が決定する処理領域の切り出し位置、大きさ、および分割位置について説明する。
図2は、本実施形態の撮像装置10においてそれぞれの画像処理回路が画像処理を実行する領域の分割方法の一例を模式的に示した図である。以下の説明では、イメージセンサ100の撮像領域の全体、つまり、撮像装置10の撮像画像から、1フレームの撮影画像を生成するために一部の処理領域を切り出して画像処理を行う場合において、撮像装置10に備えた2つの画像処理回路401と画像処理回路402とが、水平方向に2つの領域に分割されたそれぞれの処理領域を並列に画像処理する場合について説明する。また、以下の説明においては、説明を容易にするため、一方向に手振れなどが発生した場合について説明する。
【0045】
図2(a)には、1フレーム前の撮像画像(fn−1)と、この撮像画像(fn−1)における処理領域(fn−1)との関係を示している。なお、
図2(a)に示した状態は、手振れなどによって撮影位置が移動していない基準の位置における撮像画像と処理領域との関係を示している。このとき、振れ量算出部310は、撮影位置が振れていないことを表す振れ量の情報を分割位置算出部320に出力し、分割位置算出部320は、撮像画像の中央部分をfn−1フレームの処理領域(fn−1)とし、処理領域(fn−1)を水平方向に2等分する位置を分割位置(fn−1)とした分割領域情報を、画像処理回路401と画像処理回路402とのそれぞれに出力する。これにより、画像処理回路401と画像処理回路402とのそれぞれは、対応する処理領域(fn−1)内の撮像画像に対して画像処理を行い、撮像装置10は、処理領域(fn−1)に対応したfn−1フレームの撮影画像fn−1を生成する。ここでは、例えば、画像処理回路401が、
図2(a)に示した処理領域1(fn−1)内の撮像画像に対して画像処理を行い、画像処理回路402が、
図2(a)に示した処理領域2(fn−1)内の撮像画像に対して画像処理を行って、撮影画像fn−1を生成する。
【0046】
その後、次のフレームの撮像画像(fn)において、
図2(b)に示した矢印のように、水平左方向に発生した手振れなどによって撮影位置が移動すると、手振れが発生した方向と反対の水平右方向に、処理領域(fn)が移動する。このとき、振れ量算出部310は、撮影位置が水平左方向に振れたことを表す振れ量(fn−1→fn)の情報を分割位置算出部320に出力し、分割位置算出部320は、振れ量(fn−1→fn)に応じてfn−1フレームの処理領域(fn−1)を水平右方向に移動した領域を、fnフレームの処理領域(fn)に決定する。そして、分割位置算出部320は、
図2(b)に示したように、処理領域(fn)を水平方向に2等分する位置を分割位置(fn)に決定し、決定した処理領域(fn)および分割位置(fn)の情報に基づいた分割領域情報を、画像処理回路401と画像処理回路402とのそれぞれに出力する。これにより、画像処理回路401と画像処理回路402とのそれぞれは、対応する処理領域(fn)内の撮像画像に対して画像処理を行い、撮像装置10は、処理領域(fn)に対応したfnフレームの撮影画像fnを生成する。ここでは、例えば、画像処理回路401が、
図2(b)に示した処理領域1(fn)内の撮像画像に対して画像処理を行い、画像処理回路402が、
図2(b)に示した処理領域2(fn)内の撮像画像に対して画像処理を行って、撮影画像fnを生成する。
【0047】
次に、撮像装置10における画像処理の処理手順について説明する。
図3は、本実施形態の撮像装置10における画像処理の処理手順を示したフローチャートである。
図3には、撮像装置10が動画の撮影を行う場合における分割位置決定部300による振れ量の算出と、処理領域の切り出し位置、大きさ、および分割位置の決定と、画像処理回路401および画像処理回路402による画像処理との処理手順を示している。
【0048】
以下の説明においては、
図2に示した画像処理を行う領域の分割方法の一例を参照し、撮像装置10が動画の撮影を行う場合において、撮像装置10に備えた2つの画像処理回路401と画像処理回路402とが、水平方向に2つの領域に分割されたそれぞれの処理領域を並列に画像処理する場合の動作を、処理を順に説明する。なお、上述したように、撮像装置10における処理では、例えば、CPUなどの制御部によって制御されたそれぞれの構成要素が動作することによって画像処理が行われるが、以下の説明においては、
図1に示した撮像装置10内のそれぞれの構成要素の動作に注目して説明を行う。
【0049】
撮像装置10のユーザ(撮影者)が動画撮影の開始を指示すると、撮像装置10は、
図3に示した画像処理の処理手順を開始する。撮像装置10による動画撮影が開始されると、まず、ステップS1において、撮像処理部200は、イメージセンサ100から入力された画素信号に対して各種の処理を施した最初のフレームの撮像画像(
図2に示した撮像画像(fn−1))をメモリ600に格納する(書き込む)。
【0050】
続いて、ステップS2において、分割位置決定部300は、メモリ600に格納された撮像画像が最初(1枚目)のフレームの撮像画像であるか否かを判定する。そして、ステップS2による判定の結果、メモリ600に格納された撮像画像が最初のフレームの撮像画像である場合(ステップS2の“Yes”)には、ステップS3に進み、ステップS2による判定の結果、メモリ600に格納された撮像画像が最初のフレームの撮像画像でない場合(ステップS2の“No”)には、ステップS4に進む。ここでは、最初のフレームの撮像画像(fn−1)をメモリ600に格納している(書き込んでいる)ため、ステップS3に進む
【0051】
ステップS2において、メモリ600に格納された撮像画像が最初のフレームの撮像画像である場合には、ステップS3において、振れ量算出部310は、撮影位置が振れていないことを表す振れ量(例えば、振れ量=0)の情報を分割位置算出部320に出力する。
【0052】
続いて、ステップS5において、分割位置算出部320は、振れ量算出部310から入力された撮影位置の振れ量(=0)に基づいて、最初のfn−1フレームの撮影画像fn−1を生成するための画像処理を行う処理領域(fn−1)の切り出し位置と大きさとを決定する。その後、分割位置算出部320は、決定した処理領域(fn−1)を画像処理回路401と画像処理回路402とのそれぞれが並列に画像処理を行うために2等分した分割位置(fn−1)を決定する。そして、分割位置算出部320は、決定した処理領域(fn−1)の切り出し位置および大きさの情報と分割位置(fn−1)の情報とに基づいた分割領域情報を、画像処理回路401と画像処理回路402とのそれぞれに出力する。
【0053】
続いて、ステップS6において、画像処理回路401と画像処理回路402とのそれぞれは、分割位置決定部300から入力された対応する分割領域情報に示された処理領域(fn−1)の撮影画像をメモリ600から取得する(読み出す)。そして、画像処理回路401と画像処理回路402とのそれぞれは、並列に画像処理を施して生成した撮影画像を、それぞれメモリ600に格納する(書き込む)。
【0054】
続いて、ステップS7において、動画撮影が終了であるか否かを判定する。より具体的には、撮像装置10のユーザ(撮影者)から動画撮影の終了の指示がされているか否かを判定する。そして、ステップS7による判定の結果、動画撮影が終了である場合(ステップS7の“Yes”)には、撮像装置10は、
図3に示した画像処理の処理手順を終了する。また、ステップS7による判定の結果、動画撮影が終了でない場合(ステップS7の“No”)には、ステップS1に戻って、次のフレームに対する画像処理を開始する。
【0055】
次のフレームに対する画像処理では、ステップS1において、撮像処理部200は、イメージセンサ100から入力された画素信号に対して各種の処理を施した次のフレームの撮像画像(
図2に示した撮像画像(fn))を、現在のfnフレームの撮像画像(fn)としてメモリ600に格納する(書き込む)。
【0056】
続いて、ステップS2において、分割位置決定部300は、メモリ600に格納された撮像画像が最初(1枚目)のフレームの撮像画像であるか否かを判定する。ここでは、次のfnフレームの撮像画像(fn)をメモリ600に格納している(書き込んでいる)ため、ステップS4に進む。
【0057】
ステップS2において、メモリ600に格納された撮像画像が最初のフレームの撮像画像でない場合には、ステップS4において、振れ量算出部310は、1フレーム前の撮像画像(fn−1)と現在のfnフレームの撮像画像(fn)とをメモリ600から取得する(読み出す)。そして、取得した像画像(fn−1)と撮像画像(fn)とに基づいて、撮影位置の振れ量を算出し、算出した振れ量の情報を分割位置算出部320に出力する。
【0058】
続いて、ステップS5において、分割位置算出部320は、振れ量算出部310から入力された撮影位置の振れ量に基づいて、現在のfnフレームの撮影画像fnを生成するための画像処理を行う処理領域(fn)の切り出し位置と大きさとを決定する。その後、分割位置算出部320は、決定した処理領域(fn)を画像処理回路401と画像処理回路402とのそれぞれが並列に画像処理を行うために2等分した分割位置(fn)を決定する。そして、分割位置算出部320は、決定した処理領域(fn)の切り出し位置および大きさの情報と分割位置(fn)の情報とに基づいた分割領域情報を、画像処理回路401と画像処理回路402とのそれぞれに出力する。
【0059】
続いて、ステップS6において、画像処理回路401と画像処理回路402とのそれぞれは、分割位置決定部300から入力された対応する分割領域情報に示された処理領域(fn)の撮影画像をメモリ600から取得する(読み出す)。そして、画像処理回路401と画像処理回路402とのそれぞれは、並列に画像処理を施して生成した撮影画像を、それぞれメモリ600に格納する(書き込む)。
【0060】
続いて、ステップS7において、動画撮影が終了であるか否かを判定する。以降、ステップS7による判定の結果が、動画撮影が終了(ステップS7の“Yes”)となるまで、ステップS1〜ステップS7までの処理を繰り返す。
【0061】
このように、本実施形態の撮像装置10では、振れ量算出部310が、1フレーム前の撮像画像と現在のフレームの撮像画像とに基づいて、撮影位置の移動を検出する。そして、分割位置算出部320が、振れ量算出部310から入力された撮影位置の振れ量の情報に基づいて、処理領域の切り出し位置と大きさとを決定し、画像処理回路401と画像処理回路402とのそれぞれに割り当てる処理領域が均等の大きさになるように、決定した処理領域を分割する分割位置を決定する。これにより、
図2(a)と
図2(b)とを見てわかるように、処理領域の位置に関わらず、常に処理領域を水平方向に2等分することができる。このことにより、画像処理回路401と画像処理回路402とが対応する処理領域内の撮像画像に対してそれぞれ実行する画像処理の処理量が均等になり、画像処理回路401と画像処理回路402とにおける画像処理の処理時間を均等にすることができる。
【0062】
また、振れ量算出部310は、撮像装置10が撮影する毎、すなわち、イメージセンサ100からイメージセンサ100から入力されたそれぞれのフレーム毎に、振れ量の算出し、それぞれのフレーム毎の振れ量の情報を分割位置算出部320に順次出力する。そして、分割位置算出部320は、振れ量算出部310からそれぞれのフレーム毎に入力された振れ量の情報に基づいて、処理領域の切り出し位置、大きさ、および分割位置の決定を順次行って、それぞれのフレーム毎の分割領域情報を画像処理回路401と画像処理回路402とのそれぞれに順次出力する。これにより、画像処理回路401と画像処理回路402とにおける画像処理の処理時間を、撮像装置10が撮影している期間中、常に均等にすることができる。
【0063】
なお、撮像装置10においては、撮像装置10内に画像処理回路401と画像処理回路402との2つの画像処理回路を備え、分割位置算出部320が、処理領域を水平方向に2等分するように分割位置を決定する場合について説明した。しかし、撮像装置10において分割位置算出部320が分割する処理領域は、それぞれの画像処理回路が実行する画像処理の処理量が均等になるように分割する。従って、上述した例のように、撮像装置10に備えた画像処理回路の数分だけ等分する位置に限定されるものではない。ここで、分割位置算出部320が分割するそれぞれの処理領域が等分ではない、すなわち、撮像装置10に備えた画像処理回路のそれぞれに割り当てる処理領域が均等の大きさではない場合について説明する。
【0064】
一般的にカメラの光学系、すなわち、撮像装置10に備えたレンズにおいては、光学系の歪みが存在する。この場合、イメージセンサ100から入力された画素信号に応じて撮像処理部200がメモリ600に格納する(書き込む)それぞれのフレームの撮像画像は、レンズによる光学系の歪みを持った撮像画像になってしまう。
図4は、本実施形態の撮像装置10においてそれぞれの画像処理回路が画像処理を実行する領域の分割方法の別の一例を模式的に示した図である。
図4は、撮像装置10に備えたレンズに、光学中心から外周に向かって行くにしたがって大きくなる樽型の歪みがある場合における処理領域の分割方法の一例である。
【0065】
撮像装置10に備えたレンズに樽型の歪みがあると、撮像処理部200がメモリ600に格納した(書き込んだ)撮像画像は、
図4(a)に示したような樽型の歪みBを含んだものとなる。この場合、撮像装置10に備えたそれぞれの画像処理回路では、画像処理する撮像画像が外周に行くほど、実行する画像処理の処理量が増大する。
【0066】
ここで、水平左方向に発生した手振れなどによって、
図4(b)に示したように撮影位置が移動した場合を考える。上述したように、分割位置算出部320が、画像処理回路401と画像処理回路402とのそれぞれに割り当てる処理領域が均等の大きさになる分割位置(o)の位置を、処理領域を分割する分割位置に決定すると、画像処理回路401と画像処理回路402とがそれぞれ対応する処理領域内の撮像画像は同じ量であるが、画像処理回路401または画像処理回路402のいずれか一方が画像処理する処理領域にのみ歪みBを含んでいる。ここでは、例えば、画像処理回路401が、
図4(b)に示した分割位置(o)の左側の処理領域内の撮像画像に対して画像処理を行い、画像処理回路402が、
図4(b)に示した分割位置(o)の右側の処理領域内の撮像画像に対して画像処理を行うものとする。
【0067】
この場合、画像処理回路401と画像処理回路402とのそれぞれが並列に画像処理を行うと、歪みBを含んでいる右側の処理領域に対して画像処理を行う画像処理回路402の方が、画像処理の処理量が多いため、画像処理回路401と画像処理回路402とにおける画像処理の処理時間が異なってしまう。より具体的には、画像処理回路402の処理時間の方が、画像処理回路401の処理時間よりも長くなってしまう。これは、画像処理した結果として得られる撮影画像の大きさが同じであった場合、歪みが大きい外周部と歪みが小さい光学中心付近とでは、歪みが大きい外周部を処理する方が、歪み補正処理により多くの撮像画像(画像データ)を要するためである。
【0068】
そこで、分割位置算出部320は、画像処理回路401または画像処理回路402のいずれか一方が画像処理する処理領域に光学系の歪みを含んでいる場合には、画像処理回路401と画像処理回路402とがそれぞれ実行する画像処理の処理量が均等になるように、分割するそれぞれの処理領域の大きさを等分にせず、それぞれの処理領域内に含まれる歪みが大きい領域の割合に応じて分割位置を変更する。すなわち、分割の比率を1:1にせず、歪みが大きい領域の割合に応じて分割の比率が不均等な位置に、分割位置を決定する。
【0069】
より具体的には、
図4(b)に示したように、分割位置(o)の位置を歪みが大きい外周部の方向に移動させた分割位置(n)の位置にすることによって、画像処理回路401が画像処理する左側の処理領域の大きさを大きくし、画像処理回路402が画像処理する右側の処理領域の大きさを小さくする。これにより、画像処理回路401に割り当てられた、
図4(b)に示した分割位置(n)の左側の処理領域の大きさと、画像処理回路402に割り当てられた、
図4(b)に示した分割位置(n)の右側の処理領域の大きさとが均等にはならないが、画像処理回路401と画像処理回路402とがそれぞれ実行する画像処理の処理量は均等になり、画像処理回路401と画像処理回路402とにおける画像処理の処理時間が均等になる。
【0070】
なお、この考え方は、例えば、光学中心から外周に向かって行くにしたがって大きくなる糸巻き型の歪みやその他の光学系の歪みが撮像装置10に備えたレンズに存在する場合においても、同様に適用することができる。
【0071】
なお、撮像装置10において分割位置算出部320が画像処理回路のそれぞれに割り当てる処理領域を均等な大きさにしない場合は、光学系の歪みによるもののみではなく、撮像装置10が撮影している最中に発生する手振れなどによる撮像装置10の撮影姿勢によっても、分割の比率が不均等な位置に分割位置を決定することもある。ここで、分割位置算出部320が、撮像装置10の撮影姿勢に応じて、それぞれの処理領域を不均等にする場合について説明する。
【0072】
一般的にカメラによる撮影中の手振れなどによる撮影位置の移動は、水平方向、垂直方向、または水平方向と垂直方向との組み合わせに対して並行に移動するもののみではない。例えば、回転方向の手振れなどが発生した場合には、奥行き方向にも撮影位置が移動する。この場合、イメージセンサ100から入力された画素信号に応じて撮像処理部200がメモリ600に格納する(書き込む)それぞれのフレームの撮像画像は、台形の歪みを持った撮像画像になってしまう場合がある。
図5は、本実施形態の撮像装置10においてそれぞれの画像処理回路が画像処理を実行する領域の分割方法のさらに別の一例を模式的に示した図である。
図5は、撮像装置10における回転方向の手振れで撮影位置の一方が奥行き方向に移動したことにより、台形の歪みがある場合における処理領域の分割方法の一例である。
【0073】
撮像装置10に回転方向の手振れなどが発生すると、
図5(a)および
図5(b)に示したように、イメージセンサ100の撮像面上に結像された被写体の光学像は、台形の歪みを含んでしまうことがある。そして、イメージセンサ100に結像された被写体の光学像に台形の歪みがあると、撮像処理部200がメモリ600に格納した(書き込んだ)撮像画像は、
図5(c)に示したような台形の歪みTを含んだものとなる。これにより、撮像装置10に備えたそれぞれの画像処理回路では、対応する処理領域内に含まれる撮像画像(画像データ)の量に応じて、実行する画像処理の処理量が異なる。
【0074】
ここで、回転方向に発生した手振れなどによって、
図5(b)に示した歪みTの領域に対する画像処理の処理量を考える。なお、分割位置算出部320が、画像処理回路401と画像処理回路402とのそれぞれに割り当てる処理領域は、矩形の領域であるため、分割位置算出部320は、
図5(c)に示した処理領域Rに基づいて分割位置を決定することになる。上述したように、分割位置算出部320が、画像処理回路401と画像処理回路402とのそれぞれに割り当てる処理領域が均等の大きさになる分割位置(o)の位置を、処理領域Rを分割する分割位置に決定すると、画像処理回路401と画像処理回路402とがそれぞれ対応する処理領域R内の撮像画像の量は、画像処理回路401または画像処理回路402のいずれか一方が少なくなる。ここでは、例えば、画像処理回路401が、
図5(c)に示した分割位置(o)の左側の処理領域R内の撮像画像に対して画像処理を行い、画像処理回路402が、
図5(c)に示した分割位置(o)の右側の処理領域R内の撮像画像に対して画像処理を行うものとする。
【0075】
この場合、画像処理回路401と画像処理回路402とのそれぞれが並列に画像処理を行うと、歪みTにおける台形の下底を含んでいる右側の処理領域R内に含まれる撮像画像の量の方が、歪みTにおける台形の上底を含んでいる左側の処理領域R内に含まれる撮像画像の量よりも多い。言い換えれば、右側の処理領域R内に含まれる歪みTの領域の面積の方が、左側の処理領域R内に含まれる歪みTの領域の面積よりも大きい。このことから、画像処理した結果として得られる撮影画像の大きさが同じであった場合、右側の処理領域Rに対して画像処理を行う画像処理回路402の方が、左側の処理領域Rに対して画像処理を行う画像処理回路401よりも、画像処理の処理時間をより多く要してしまう。
【0076】
そこで、分割位置算出部320は、画像処理回路401および画像処理回路402のそれぞれが画像処理する歪みTの領域の面積が均等になるように、すなわち、画像処理回路401と画像処理回路402とがそれぞれ実行する画像処理の処理量が均等になるように、分割するそれぞれの処理領域Rの大きさを等分にせず、それぞれの処理領域R内に含まれる歪みTの領域の面積の割合に応じて分割位置を変更する。すなわち、分割の比率を1:1にせず、歪みTの領域の面積の割合に応じて分割の比率が不均等な位置に、分割位置を決定する。
【0077】
より具体的には、
図5(c)に示したように、分割位置(o)の位置を歪みTにおける台形の下底を含んでいる方向に移動させた分割位置(n)の位置にすることによって、画像処理回路401が画像処理する左側の処理領域Rの大きさを大きくし、画像処理回路402が画像処理する右側の処理領域Rの大きさを小さくする。これにより、画像処理回路401に割り当てられた、
図5(c)に示した分割位置(n)の左側の処理領域R内に含まれる歪みTの領域の面積と、画像処理回路402に割り当てられた、
図5(c)に示した分割位置(n)の右側の処理領域R内に含まれる歪みTの領域の面積とが均等になり、画像処理回路401と画像処理回路402とがそれぞれ実行する画像処理の処理量が均等になる。そして、画像処理回路401と画像処理回路402とにおける画像処理の処理時間が均等になる。
【0078】
なお、実際の画像処理では、
図5(d)に示したように、台形の歪みTの領域を含んだ撮像画像から矩形の処理領域R内の撮像画像を取得し、取得した処理領域R内の撮像画像を拡大するリサイズ処理を行って、台形の歪みTを補正した撮影画像を生成する処理を、一連の画像処理として実行することが考えられる。このとき、拡大のリサイズ処理では、歪みTにおける台形の上底を含んでいる左側の処理領域Rの方が、歪みTにおける台形の下底を含んでいる右側の処理領域Rよりもより大きく拡大することになる。このため、リサイズ処理においては、左側の処理領域Rに対して画像処理を行う画像処理回路401の方が、右側の処理領域Rに対して画像処理を行う画像処理回路402よりも、画像処理の処理時間をより多く要してしまう。つまり、画像処理回路401と画像処理回路402とがそれぞれ実行する画像処理の処理量の関係が、上述した歪みTの領域の面積の割合に応じて分割位置を決定する場合と逆の関係である。そのため、分割位置算出部320は、それぞれの処理領域R内に含まれる歪みTの領域の面積の割合のみではなく、処理領域R内に台形の上底または下底のいずれを含んでいるかも考慮して、すなわち、一連の画像処理によって実行されるリサイズ処理も考慮して、画像処理回路401と画像処理回路402とがそれぞれ実行する画像処理の処理量が均等になるように、分割位置を変更することが望ましい。
【0079】
なお、この考え方は、例えば、イメージセンサ100の撮像面上に結像された被写体の光学像におけるその他の歪みの場合においても、同様に適用することができる。
【0080】
上記に述べたとおり、本発明を実施するための形態によれば、撮像装置内に複数の画像処理回路を備え、固体撮像装置の撮像領域の全体から一部を切り出して1フレームの撮影画像を生成する処理領域に対する画像処理の処理量が均等になるように、それぞれの画像処理回路に割り当てる処理領域を分割する。これにより、本発明を実施するための形態では、撮像装置内に備えたそれぞれの画像処理回路が並列して実行する画像処理の処理時間を均等にすることができる。
【0081】
また、本発明を実施するための形態によれば、固体撮像装置が出力するフレーム毎に、一部を切り出して撮影画像を生成する処理領域を分割する位置を順次決定する。これにより、本発明を実施するための形態では、撮像装置で撮影している最中に発生する手振れや、撮像装置における光学系の歪みなどによって、それぞれのフレーム毎に変化する処理領域の位置に関わらず、それぞれの画像処理回路に割り当てた処理領域に対する画像処理の処理量を常に均等にすることがきる。このことにより、本発明を実施するための形態では、撮像装置によって撮像してから撮影画像を生成するために行う画像処理が完了するまでのスループットを常に均等にし、従来の撮像装置よりも高速化の効果を十分に得ることができる。
【0082】
なお、本実施形態においては、撮像装置で動画を撮影する場合の例について説明した。しかし、撮像装置内に備えた複数の画像処理回路で並列に実行する画像処理は、本発明を実施するための形態において説明した動画の撮影画像を生成する場合に限定されるものではない。例えば、撮像装置において撮影する被写体を確認するための画像を表示デバイスに表示する、いわゆる、ライブビュー表示や、撮像装置で静止画の撮影を行う場合において、撮像装置内に備えた複数の画像処理回路で画像処理を並列に実行する場合であっても、本発明の考え方を適用することができる。
【0083】
また、本実施形態においては、2つの画像処理回路401および画像処理回路402を備え、分割位置算出部320が処理領域を水平方向に2つの領域に分割するように分割位置を決定する場合について説明した。しかし、撮像装置内に備える画像処理回路の数や、処理領域を分割する方向は、本発明を実施するための形態に限定されるものではない。例えば、撮像装置に2つの画像処理回路を備えた場合において、垂直方向に2つの領域に分割するように分割位置を決定することもできる。また、例えば、撮像装置にさらに多くの画像処理回路を備えた場合において、撮像装置内に備えた画像処理回路の数に応じて、水平方向、垂直方向、または水平方向と垂直方向とに分割したブロック状に分割することによって、分割された処理領域に対応するそれぞれの画像処理回路が実行する画像処理の処理量が均等になるように分割位置を決定する構成にすることもできる。
【0084】
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。