[実施例1]
(撮像装置のブロック図)
本発明による第1の実施例である光学機器としての撮像装置の構成(ブロック図)について図1を用いて説明する。
100a、100bは第一の画像処理プロセッサと、第二の画像処理プロセッサで、分割して入力された画像データをそれぞれ処理して出力する。
111は操作部である。撮像装置本体の外装部分に設けられた記録開始/終了ボタンやタッチパネル等で構成され、使用者の操作を第一の画像処理プロセッサ100aに伝える。
120は撮像光学系である。変倍光学系121などの光学レンズ群を介して被写体像を撮像素子141の撮像面上に結像する。
131はズームエンコーダである。変倍光学系121の位置(ズーム位置)を検出し、第一の画像処理プロセッサ100aに出力する。
141は撮像素子である。第一の画像処理プロセッサ100aの制御に基づき、撮像面に結像された被写体像を光電変換して撮像信号を生成し、A/D変換して得られた画像データを出力する。
142は分割部である。
第一の画像処理プロセッサ100aの制御に基づき、撮像素子141から出力された画像データから、第一の画像処理プロセッサ100aと第二の画像処理プロセッサ100bの処理範囲をそれぞれ切り出して、出力する。
151は角速度センサである。撮像装置本体に加わる動きを角速度信号として検出し、その角速度信号を第一の画像処理プロセッサ100aに出力する。
ここで、角速度センサ151は、光軸方向をZ軸、鉛直上向き方向をY軸、YとZ両軸方向に直交する方向をX軸とすると、ヨー(Y軸回り)方向、ピッチ(X軸回り)方向、ロール方向(Z軸回り)の角度振れを検出する。
162は表示デバイスである。第二の画像処理プロセッサ100bから出力された表示用の画像データを表示する。
171は記録媒体である。第一の画像処理プロセッサ100aによって記録用の符号化された画像データが記録される。
次に、第一の画像処理プロセッサ100aの内部の構成を説明する。
101aは制御マイコンで、内部に不揮発メモリとワークメモリを備え、不揮発メモリに格納されたプログラムとデータに基づき、ワークメモリに一時的なデータを読み書きしながら、制御バス102aで接続された各ブロックの制御を行う。
102aは制御バスである。
103aは通信部である。制御マイコン101aは通信部103aを介して、第二の画像処理プロセッサ100bと制御情報を通信する。
181aは画像入力部である。分割部142から出力された画像データを受け取る。
182aは第一の画像メモリである。画像入力部181aが受け取った画像データを格納する。
104aは信号処理部である。前段の画像メモリ182aに格納された画像データに対する補正処理や現像処理を行う。
105aは第二の画像メモリである。信号処理部104aが処理した画像データを格納する。
106aは画像変形部である。制御マイコン101aから設定された変形パラメータに基づき、変形後の画像データの画素位置を、画像メモリ105aに格納された画像データの読み出し位置に変換することで、画像データを変形して出力する。
183aは第三の画像メモリである。画像変形部106aが出力した画像データを格納する。
184aは符号化部である。制御マイコン101aからの記録開始/終了の指示に応じて、画像メモリ183aに格納された画像データを符号化して出力する。
185aはデータ受信部である。第二の画像処理プロセッサ100bで符号化された符号データを受け取る。
186aは符号メモリである。符号化部184aから出力された第一の符号化データと、データ受信部185aが受け取った第二の符号化データを格納する。
108aは記録制御部である。制御マイコン101aからの記録開始/終了の指示に応じて、符号メモリ186aに格納された第一の符号化データと第二の符号化データを合成する。そして、記録用データを記録媒体171に記録する。
109aはデータ転送部である。画像メモリ183aに格納された画像データを第二の画像処理プロセッサ100bに送信する。
110aはA/D変換部である。角速度センサ151からの角速度信号をデジタル化して、角速度データとして出力する。
111aは画像変形量演算部である。ズームエンコーダ131の出力を元に、焦点距離を算出する。また、A/D変換部110aからの角速度データと、前記焦点距離を元に、撮像画像に生じている変形量を算出し、画像変形部106aで補正するための変形パラメータを算出する。
次に、第二の画像処理プロセッサ100bの内部の構成について説明する。第二の画像処理プロセッサ100bの構成は、第一の画像処理プロセッサ100aと同じだが、システム構成上、一部のブロックが担う処理内容が異なる。
181b、182b、101b〜106bの各ブロックの処理内容は、第一の画像処理プロセッサ100aの各ブロック181a、181b、101a〜106aと同等である。
185bのデータ受信部は、第一の画像処理プロセッサ100aから、第二の画像データを受け取る。
183bの第三の画像メモリは、画像変形部106bの出力した第一の画像データと、データ受信部185が受け取った第二の画像データを、メモリ上でひとつの画像データに貼り合わせて格納する。
107bは表示処理部である。画像メモリ183bに格納された画像データを読み出す。そして、表示用にリサイズして、制御マイコン101bの指示に基づき、文字やアイコンで構成される表示情報を重畳して、表示用画像データを表示デバイス162に出力する。
184bの符号化部は、制御マイコン101aからの記録開始/終了の指示に応じて、画像メモリ183bに格納された画像データの、画像変形部106bが出力した部分を符号化する。
186bの符号メモリは、符号化部184bの出力した符号データを格納する。
109bのデータ送信部は、符号メモリ186bに格納された符号データを画像処理プロセッサ100aに送信する。
また、第二の画像処理プロセッサ100bには、ズームエンコーダ131と角速度センサ151が接続されず、第一の画像処理プロセッサ100aの110a、111aに相当する各ブロックは利用されない。
代わりに、通信部103bを介して、第一の画像処理プロセッサ100aから変形パラメータなどの制御情報を受け取り、制御マイコン101bが各ブロックの制御を行う。
(撮像画像の分割処理)
次に、図2で撮像画像の分割処理について説明する。
本実施例の撮像装置では、動画撮像時に撮像画像を2つに分割して、2つの画像処理プロセッサ100a、100bでそれぞれの分割画像を処理する。
図2(a)は撮像素子141で撮像された1フレーム分の撮像画像の例である。ここでは、撮像画像の解像度を水平3840x垂直2160画素として、撮像のフレームレートを60fpsとする。
また、本実施例の撮像装置に用いられている2つの画像処理プロセッサ100a、100bは、撮像のデータレートに対して、それぞれ半分強の処理能力しか持たないものとする。
そのため、撮像された画像を同じフレームレートで処理するためには、2つの画像処理プロセッサ100a、100bに処理を分散する必要がある。
図2(b)は前記撮像画像を分割部142で上下に分割した分割画像211と分割画像212である。本実施例の撮像装置では、撮像画像を上下に分割して、画像処理プロセッサ100a、100bにそれぞれ入力する。
各画像処理プロセッサが個別に信号処理と画像変形を行うため、境界部分で画像の連続性が失われないように、それぞれの分割画像は隣接部分にオーバーラップ領域が設けられている。
図2(c)は画像処理プロセッサ100a、100bがそれぞれ分割画像211、212を信号処理および画像変形した信号処理・変形済み画像221、222である。
分割画像211、212のオーバーラップ領域は、画像処理プロセッサ100a、100b内部の画像処理で削られ、信号処理・変形済み画像221、222はオーバーラップ領域を持たずに画像メモリに格納される。
図2(d)は第二の画像処理プロセッサ100bの画像メモリ183bで信号処理・変形済み画像221、222を貼り合わせることで、境界部分の連続性が保たれた画像である。
(撮像画像に生じる変形画像)
次に、図3で撮像画像に生じる変形について、3つの観点で説明する。
1つめの観点は、撮像装置に加えられる角度振れによって発生する撮像画像の変形である。
撮像画像に加えられる角度振れに起因して、撮像画像には図3(a)乃至(f)に示すような、並進(水平・垂直)、あおり(垂直・水平)、回転、拡大縮小、せん断の各成分を組み合わせた幾何学変形が発生する。
例えば、特許文献1では、撮像装置に加わる角度振れによって撮像画像に生じる変形成分としては、拡大縮小、せん断の成分は他と比較して小さいことが開示されている。
そこで、本実施例の撮像装置でも、並進(水平・垂直)、あおり(水平・垂直)、回転を角度振れに対する補正の対象とする。
2つめの観点は、撮像光学系により発生する歪曲収差である。撮像光学系120は、撮像光学系120自体と、その変倍光学系121の位置(ズーム位置)即ち焦点距離に依存する歪曲収差を持つ。
この歪曲収差によって、撮像画像には撮像光学系の中心位置(以下、光学中心)を基準とした像高方向の伸縮が放射状に発生し、図3(g)に示すような、たる型又は糸巻き型の歪曲収差歪みが発生する。
3つめの観点は、撮像素子141の読み出しタイミングに依存するローリングシャッター歪み(以下、RS歪み)である。
CMOSイメージセンサを用いた撮像装置では、CMOSイメージセンサの上部から下部に向かって、ライン毎に蓄積された電荷を読み出す制御を行う。
この読み出し方法はローリングシャッター(以下、RS)方式と呼ばれ、撮像素子の上部と下部とで読み出しタイミングが異なる。
これによって、撮像装置に振れが生じ、撮像面上で被写体の位置が移動したとする。
その場合に、読み出しタイミングが異なることに起因して、撮像画像には図3(h)、(i)、(j)に示すような、RS歪み(水平・垂直・回転)が発生する。
RS歪みはライン毎の水平方向の並進成分、垂直方向の並進成分、回転成分によって構成される。
次に、画像処理プロセッサ100aの画像変形量演算部111aが、前記3つの観点の変形を補正するための変形パラメータを算出する方法について説明する。
1つめの観点について、画像変形量演算部111aは、角速度センサ151の出力をA/D変換した角速度データから、撮像装置に加わったヨー、ピッチ、ロール方向の角度振れを検出する。
また、ズームエンコーダ131の出力から撮像光学系120の焦点距離を算出する。
例えば、特許文献1には前記3方向の角度振れと焦点距離から、撮像画像に生じた変形を補正するための並進(水平・垂直)成分と、あおり(水平・垂直)成分と、回転成分を求める方法について開示されている。
本実施例の画像変形量演算部111aも同様の方法で、撮像画像に生じた変形を補正するための各成分を求め、画像変形部106aに設定する変形パラメータを求める。
画像変形部106aは射影変換により、これらの変形成分の補正を行う。
なお、撮像光学系120がシフトレンズを備える場合についても、前記公知例と同様の方法で、シフトレンズの位置を用いて補正のための各成分を求めることができる。
2つめの観点について、画像変形量演算部111aは、前記焦点距離に対して撮像画像に生じた歪曲収差を補正するための光学中心を基準とした像高方向の伸縮成分を求める。
例えば、特開2008−259076号公報には、光学中心からの距離のn次多項式で、像高方向の伸縮成分を求める方法が開示されている。
本実施例の画像変形量演算部111aも、内部の不揮発メモリに撮像光学系120の焦点距離に対するn次多項式の係数を予め備えていて、焦点距離に応じた伸縮成分を求めるものとする。
なお、撮像光学系120が交換可能に構成されている場合は、制御マイコン101aの制御に基づき、個々の撮像光学系に対する係数データを選択的に用いたり、不揮発メモリの係数データを書き換えたりして用いることができる。
3つめの観点について、画像変形量演算部111aは、撮像画像に生じたRS歪みを補正するためのライン毎の並進(水平・垂直)成分と回転成分を求める。
例えば、特開2014−64143号公報には、撮像画像の読み出し期間に対する前記角速度データの推移と焦点距離から、所定間隔のライン毎に補正量を求め、補間して全ラインのRS歪み補正を行う方法について開示されている。
本実施例の画像変形量演算部111aも、同様の方法でライン毎の並進(水平・垂直)成分と回転成分を求めるものとする。
なお、撮像光学系120がシフトレンズを備える場合についても、前記公知例と同様の方法で、撮像光学系120の光軸と直交する方向にシフト移動するシフトレンズの位置を用いて補正のための各成分を求めることができる。
画像変形量演算部111aは3つの観点で画像変形部106aに設定する変形パラメータを算出する。
制御マイコン101aは画像変形量演算部111aの求めた変形パラメータを画像変形部106aに設定して、画像メモリ105aに格納された画像を補正させる。
第二の画像処理プロセッサ100bについては、制御マイコン101bが通信部103bを介して第一の画像処理プロセッサ100aから受け取った変形パラメータを画像変形部106bに設定して、画像メモリ105bに格納された画像を補正させる。
(分割画像のオーバーラップ領域の拡大)
次に、図4(a)、(b)で変形による分割画像のオーバーラップ領域の拡大について説明する。
画像変形量演算部111aの算出した変形パラメータにより画像変形部106a、106bで分割画像の変形を行うとする。
その場合、分割画像同士の境界部分でも読み出し位置が変動するため、それぞれに大きなオーバーラップ領域を含める必要がある。
例えば、図4(a)は撮像画像に何れの変形も生じていない場合に、画像変形部106aと106bが参照する範囲を破線で示している。
なお、破線の範囲が撮像画像全体より小さいのは、撮像装置に角度振れが加わって撮像画像が変形し、補正のために読み出し位置が変動したとする。
そのときに、撮像画像の範囲を超えないように、上下左右の端部分に変形用の余白を設けているためである。
この図に示す撮像画像を上下に分割した分割画像で必要なオーバーラップ領域は、境界部分で画像の連続性が失われないための最小限の大きさでよい。
例えば、画像変形部106aと106bが各ラインに対して、上3ラインと下3ラインを参照するようなフィルタ処理を内部で行うのであれば、上下の分割画像がそれぞれ3ラインずつのオーバーラップ領域を含んでいればよい。
また、先行して画像処理を行う信号処理部104a、104bでも内部でフィルタ処理を行うとする。
その場合は、その参照範囲も含めたオーバーラップ領域を含めた分割画像を各画像処理プロセッサ100a、100bに入力するように分割部142は分割処理を行う。
信号処理部104a、104bは自身のために設けられたオーバーラップ領域を画像処理後に削る。
その後、画像変形部106a、106bが必要なオーバーラップ領域を残して、分割画像を画像メモリ105a、105bに格納する。
画像変形部106a、106bは自身のために設けられたオーバーラップ領域を画像処理後に削って、記録制御部および表示処理部に変形後の分割画像を出力する。
一方で、図4(b)は撮像画像に回転成分の変形が生じている場合に、画像変形部106aと106bが参照する範囲を破線で示している。
図4(a)に比べて図4(b)では、画像変形部106aと106bの参照範囲が垂直方向に大きくなり、オーバーラップ領域が拡大している。
このように撮像画像の変形量が大きくなると、オーバーラップ領域が拡大する傾向がある。そのため、最大の変形量をもとにオーバーラップ領域を見積もって、撮像画像から分割画像を切り出す範囲を決める必要がある。
ただし、オーバーラップ領域を単純に拡大すると、各画像処理プロセッサ100aと100bが処理する分割画像のサイズが大きくなってしまう。
(撮影画像の利用範囲の変更)
次に、図4(c)、(d)で撮影画像の利用範囲の変更について説明する。
本実施例の画像処理プロセッサ100a、100bは、撮像のデータレートに対して、それぞれ半分強の処理能力しか持たない。そのため、オーバーラップ領域を単純に拡大すると所定のフレームレートでは撮像画像を処理しきれなくなる。
そこで、本実施例の分割部142は、分割画像のオーバーラップ領域を拡大する必要があるとする。その場合、それに応じて撮像画像の利用範囲を狭めて分割画像を切り出し、各画像処理プロセッサ100aと100bはその範囲の分割画像を処理して、記録と表示を行う。
例えば、図4(c)は撮影画像の全面を利用範囲として分割画像を切り出した場合の、画像処理プロセッサ100aの処理範囲と、画像処理プロセッサ100bの処理範囲を示している。
ここでは、オーバーラップ領域を図4(b)のように大きくとっているため、各画像処理プロセッサの処理範囲が大きい。
所定の大きさを超えると、各画像処理プロセッサの信号処理部や画像変形部は、所定のフレームレートで画像を処理しきれなくなってしまう。
一方、図4(d)は撮影画像の利用範囲を狭めて分割画像を切り出した場合の、画像処理プロセッサ100aの処理範囲と、画像処理プロセッサ100bの処理範囲を示している。
オーバーラップ領域が大きくても、上下左右の端部分を非処理範囲として、処理範囲を狭めることにより、各画像処理プロセッサの信号処理部や画像変形部が、所定のフレームレートで画像を処理しきれるようにする。
(分割処理の動作モード)
次に、図5で分割処理の動作モードについて説明する。
本実施例の撮像装置は、撮像装置に加わった角度振れに対する変形と、RS歪みを補正する防振有りモードと、それらを補正しない防振無しモードを備える。
防振有りモードは、撮像者が撮像装置を手に持って撮像したり、歩きながら撮像したりするとする。その際に発生する撮像装置本体の動きが、記録および表示される画像に与える影響を低減することができる。
その半面、撮像画像に変形のための余白領域が必要となるため、記録および表示できる画角が狭まる。
一方、防振無しモードは、撮像装置の振れの影響は低減できないものの、撮像画像の全画角を記録および表示することができ、三脚などに固定しての撮像に適している。
ここでは、第1の動作モードを防振無しモードとして、本モードでは撮像画像に生じる変形のうち、歪曲収差のみを補正するものとする。
一方で防振有りモードは、さらに変倍光学系121の位置(ズーム位置)即ち焦点距離をワイド側からテレ側にかけて3つのゾーンに分けて、第2乃至第4の動作モードとする。
撮像装置に加わる角度振れによって発生する変形のうち、並進(水平・垂直)成分は焦点距離に比例して増加し、あおり(水平・垂直)成分は焦点距離に反比例して減少する。
また、歪曲収差の補正量も焦点距離に依存して変動する。さらに、RS歪みも水平・垂直成分は焦点距離に比例して増加する。
特に、歪曲収差の補正量は、焦点距離に対する変動が非線形なので、これらを組み合わせた最大の変形量の見積もりを簡易化する。
そのため、焦点距離をワイド側からゾーン1、2、3に分けた3つの動作モードで、各焦点距離の範囲に応じた分割処理と変形の補正を行う。
(第1の動作モードにおける分割処理)
次に、図6で第1の動作モードにおける分割処理について説明する。
図6(a)は第1の動作モードで、ある焦点距離で撮像された撮像画像に対して、第一の画像処理プロセッサ100aの画像変形部106aが参照する範囲を、破線で示している。
本実施例では撮像画像の中心が光学中心であって、分割部142は光学中心を通る水平線を境界として撮像画像を上下に分割し、その境界部分にはオーバーラップ領域を設けている。
光学中心を通る水平線上では、歪曲収差による変形は水平方向に変動するだけで読み出し位置は上下には変動しない。
オーバーラップ領域の上下端は、前記水平線から少し離れるが、垂直方向の変形は依然として僅かであり、読み出し位置の上下方向の変動はごく微少である。
例えば、画像変形部106aの内部処理に必要なオーバーラップ領域が境界線から上下に3ライン程度であれば、その上下端の上下方向への変動は最大でも1ラインにも満たない。
このため、本モードにおいて画像変形部106aのためのオーバーラップ領域は1ライン増やして4ラインとすればよい。
図6(b)は図6(a)と同じ条件下で、分割部142が撮像画像を切り出して画像処理プロセッサ100aに入力する範囲を破線で示している。
図6(a)の破線で示した範囲に対して、信号処理部104aの内部処理に必要なライン数をオーバーラップ領域に加えた範囲となっている。
例えば、信号処理部104aの内部処理に上下3ラインが必要であれば、前記4ラインに加えて計7ラインのオーバーラップ領域とする。
本実施例の画像処理プロセッサ100aの処理能力は、撮像のデータレートの半分強であり、撮像の半分の画角に対して、7ライン程度のオーバーラップ領域を加えて処理することは可能であるものとする。
なお、第二の画像処理プロセッサ100bについても、前記画像処理プロセッサ100aに対して処理対象が下半分の分割画像になるだけで、処理内容は同様である。
(第2乃至第4の動作モードにおける分割処理)
次に、図7で第2乃至第4の動作モードにおける分割処理について説明する。
図7(a)は第2の動作モードで、ある焦点距離で撮像された撮像画像に対して、第一の画像処理プロセッサ100aの画像変形部111aが特定の条件下で参照する範囲を破線で示している。
ここで、前記特定の条件とは、画像変形部111aが焦点距離における歪曲収差の補正に加えて、回転、あおり(水平・垂直)、RS歪み(回転)を最大限補正した状態である。
回転、あおり(水平・垂直)、RS歪み(回転)は、何れも補正量が大きいほど、水平・垂直方向に読み出し位置の変動が大きくなる。
並進(水平・垂直)、RS歪み(水平・垂直)を除くこれらの変形成分のうち、歪曲収差の補正は画像変形部106aの参照範囲を曲線状に歪ませ、回転、あおり(水平・垂直)、RS歪み(回転)は前記参照範囲を斜めに傾かせる。
回転やあおり(水平・垂直)と歪曲収差の補正を組み合わせた場合、回転やあおり(水平・垂直)だけの補正よりも参照範囲が小さくなる場合もあり、前記参照範囲の算出は比較的、処理負荷が高い。
例えば、特許5432697号公報には、歪曲収差と回転を組み合わせた補正において、たる型の歪曲収差を補正したとする、その際、参照されなくなる領域が四隅に発生した場合に、その領域を用いて角度振れの回転成分を補正する方法について開示されている。
本実施例の撮像装置では、第2乃至第4の動作モードにおいて、各モードに割り当てられた焦点距離の範囲で、前記特定の条件下において参照範囲が最大どこまで広がるかを予め求めて用いる。
図7(b)は図7(a)で示した前記参照範囲に対して、残る変形成分の並進(水平・垂直)、RS歪み(水平・垂直)の補正に用いる領域を周囲に設け、画像メモリ105aに格納される分割画像を破線で示している。
画像変形量演算部111aはこの領域をはみ出さない範囲で、並進(水平・垂直)、RS歪み(水平・垂直)の補正を行う。
なお、回転、あおり(水平・垂直)、RS歪み(回転)の補正を行った際に、前記参照範囲よりも実際の参照範囲が小さかったとする。その場合には、前記参照範囲の余りも活用して、並進(水平・垂直)、RS歪み(水平・垂直)の補正を行うよう構成しても良い。
RS歪み(水平)については、画像変形部106aの参照範囲の左端、右端を曲線状に歪ませる成分ではあるが、個々のラインに着目すると水平方向に変動するだけである。そのため、図7(a)で示した参照範囲の算出には含めず、並進(水平)と合わせて補正量を算出するものとする。
図7(c)は図7(b)で示した画像メモリ105aの分割画像に対して、信号処理部104aの内部処理に必要なライン数をオーバーラップ領域に加えた画像処理プロセッサ100aの処理範囲を破線で示している。
図6(b)で示した第1の動作モードに比べて、境界部分でも読み出し位置が上下に変動するため、オーバーラップ領域が拡大している。
しかし、図7(c)の破線で示す範囲全体が、画像処理プロセッサ100aの処理能力で所定時間内に処理可能なサイズである必要がある。
本実施例の撮像装置では、画像変形部106aが撮像画像の変形を行う際に、合わせて所定の拡大率で拡大を行うことで、水平・垂直方向に参照領域を狭めて画像処理プロセッサ100aの処理範囲が処理性能に収まるようにしている。
破線で示した画像処理プロセッサ100aの処理範囲と、一点鎖線で示した他の画像処理プロセッサの処理範囲に含まれない非処理範囲は、分割部142によって捨てられる。
なお、第二の画像処理プロセッサ100bについても、前記第一の画像処理プロセッサ100aに対して処理対象が下半分の分割画像になるだけで、処理内容は同様である。
分割部102にて、画像変形処理の変形量が所定値よりも大きい場合の複数の分割画像同士のオーバーラップ量を画像変形処理の変形量が所定値よりも小さい場合の複数の分割画像同士のオーバーラップ量よりも大きくしている。
分割部102にて、撮像光学系の焦点距離に応じて複数の分割画像同士のオーバーラップ量を変更している。
分割部102にて、焦点距離が所定値よりも大きい場合の複数の分割画像同士のオーバーラップ量を焦点距離が所定値よりも小さい場合の複数の分割画像同士のオーバーラップ量よりも小さくしている。
分割部102にて、画像処理手段が単位時間あたりに処理可能な画像サイズに応じて、分割画像の切り出し範囲の大きさを変更している。
分割部102にて、1枚のフレーム画像を水平方向及び垂直方向の少なくとも一方向に2つ以上に分割している。
画像変形処理は、射影変換補正、歪曲収差補正と、ローリングシャッター歪み補正と、円筒変換補正の少なくとも1つから構成される。
そして、複数の分割画像同士の境界部分に対して、画像変形処理による最大の画素位置の移動量を算出して、オーバーラップ量を算出している。
(各動作モードにおける拡大率)
図8で各動作モードにおける拡大率について説明する。
図8(a)は第1の動作モードでの焦点距離に対する拡大率と、画像処理プロセッサ100aの処理する分割画像に含まれるオーバーラップ領域のライン数を示している。
本モードではオーバーラップ領域のライン数は焦点距離に関わらず固定である。そのため、画像処理プロセッサ100aの処理範囲も変動させる必要はなく、拡大率も焦点距離に関わらず1固定である。
図8(b)は第2乃至第4の動作モードでの焦点距離に対する拡大率と、画像処理プロセッサ100aの処理する分割画像に含まれるオーバーラップ領域のライン数を示している。
前述の通り各動作モードにはゾーン1乃至ゾーン3の焦点距離の範囲が割り当てられている。
何れのモードもオーバーラップ領域のライン数は、図8(a)に示した第1の動作モードに比べて大きく、さらに焦点距離がテレ端に近いモードほど段階的にライン数が大きくなっている。
これは、焦点距離に比例する並進(水平・垂直)とRS歪み(水平・垂直)の補正による読み出し位置の変動幅が他の成分に比べて大きくなる。
そのため、図中に破線で示す実際に必要なオーバーラップ領域のライン数は、焦点距離に応じて連続的に増加している。
実際に必要なオーバーラップ領域を下回らないように、各動作モードのオーバーラップ領域は定められている。
テレ端に近いモードほど、オーバーラップ領域のライン数が増えるため、画像処理プロセッサ100aの処理範囲は狭める必要がある。
そこで、図に示す拡大率のように、テレ端に近いモードほど焦点距離に応じて拡大率を線形に増加させている。
この拡大率の変動は、変倍光学系121による焦点距離の変動と連動させて制御することで、使用者に違和感を与えずに行うことができる。
なお、画像処理プロセッサ100bについても、前記画像処理プロセッサ100aと処理内容は同様である。
次に図14のタイミングチャートを用いて、本実施例の撮像装置の動作シーケンスについて説明する。
一番上のパルス信号は撮像垂直同期信号であって、撮像素子と各画像処理プロセッサが同期して、画像データを1フレームずつ連続処理するために分配される。
ただし、図1では撮像垂直同期信号の発信源と分配経路は省略している。ここでAと記載しているパルスは、あるフレームAの撮像に対する同期信号である。このフレームAを基準として、以下の説明にも用いる。
上から二番目に示すパルス信号は垂直ブランキング割り込みであって、撮像素子141からの画像データの読み出しの休止期間が開始するタイミングを制御マイコン101に通知する。
ただし、図1では垂直ブランキング割り込みの発信源と分配経路も省略している。
次は、撮像素子141の駆動タイミングである。
平行四辺形の帯の上端が撮像素子141の先頭ライン、下端が終端ラインであって、左辺が各ラインの電荷蓄積開始タイミング、右辺が各ラインの読み出しタイミングを示す。
フレームAの先頭ラインの電荷蓄積開始は、一つ前の撮像垂直同期信号から、制御マイコン101の指示に基づく電荷蓄積開始タイミングを待った後に行われ、先頭ラインの読み出しは、フレームAの撮像垂直同期信号に同期して行われる。
左辺と右辺の中間に位置するグレー色の破線は、各ラインの電荷蓄積期間の時間軸上の中心を示している。
後述する画像変形量演算部111aの角度データ取得は、この電荷蓄積期間の時間軸上の中心に同期して行われる。
次は分割部142が各画像処理プロセッサの処理範囲を切り出すタイミングである。
上の線は第一の画像処理プロセッサ100aへ画像データを送っているタイミングで、ここで記載しているAuはフレームAの上半分(upper)を意味している。
下の線は第二の画像処理プロセッサ100bへ画像データを送っているタイミングで、ここで記載しているAlはフレームAの下半分(lower)を意味している。
また、薄いグレーの矩形は非処理範囲を捨てているタイミング、濃いグレーの矩形は両方の画像処理プロセッサにオーバーラップ領域を送っているタイミングを示している。
以降の一つめのグレー色の矩形の範囲は第一の画像処理プロセッサ100aの処理である。
最初は画像入力部181aが、各フレームの上半分を処理するタイミングである。Au(フレームAの上半分)の処理タイミングは、分割部142のAuのタイミングと一致している。
次は第一の画像処理プロセッサ100aの信号処理部104aが、各フレームの上半分を処理するタイミングである。
画像入力部181aが第一の画像メモリ182aに格納し始めると同時に、信号処理部104aは処理を開始するが、信号処理部104aは処理速度が低いため、約2倍の処理時間がかかっている。
次は画像変形量演算部111aの角度データ取得タイミングと、変形量算出タイミングである。
上の線は各フレームに対する角度データを取得する期間と、その期間内に複数回(図中ではフレーム毎・等間隔に11回)角度データの取得が行われるタイミングを垂直方向の線分で示している。
各フレームに対する取得期間は、撮像素子141の各ラインの電荷蓄積期間の時間軸上の中心に同期している。
各フレームに対する角度データの取得が終了次第、変形量算出が開始される。
変形量算出にかかる時間は、特に撮像素子141の蓄積時間が短く角度データの取得が撮像データの読み出し終了に近づくほど、全体の映像遅延量に対するボトルネックとなるため、最短の蓄積時間で所望の映像遅延量が満たせるよう処理を行う。
次は画像変形部106aが各フレームの上半分を処理するタイミングである。
画像変形量演算部111aの変形量算出が終了してから、制御マイコン101aのごく僅かなオーバーヘッド(不図示)を経て、処理が開始される。処理にかかる時間は、信号処理部104aとほぼ同等である。
次はデータ送信部109aが第三の画像メモリ183bに格納された各フレームの上半分の画像データを、第二の画像処理プロセッサ100bへ送るタイミングである。画像変形部106aの処理と並行して、転送が行われる。
以降の二つめのグレー色の矩形の範囲は第二の画像処理プロセッサ100bの処理である。
最初の画像入力部181bと、次の信号処理部104bについては、処理対象が各フレームの下半分となるだけで、第一の画像処理プロセッサで示した181a、104aの内容と同等である。
次は、通信部103bが第一の画像処理プロセッサ100の通信部103aから、画像変形量演算部111aで算出された各フレームの画像変形量を受け取るタイミングである。
変形量算出が終了してから、制御マイコン101aのごく僅かなオーバーヘッド(不図示)を経て、通信が開始される。処理にかかる時間は、図に示すようにごく短い。
次は画像変形部106bが各フレームの下半分を処理するタイミングである。通信部103bの通信が終了してから、処理が開始される。
次はデータ受信部186bが各フレームの上半分の画像データを、第一の画像処理プロセッサ100bから受け取って第三の画像メモリ183bに格納するタイミングである。
次は表示処理部107bが各フレームを表示デバイス162に出力するタイミングである。
第三の画像メモリ183bで上下半分が張り合わされ、1枚になった各フレームを読み出して出力する。
動作タイミングは、下に示す表示垂直同期信号に同期して開始される。
ただし、垂直同期信号は、撮像素子141の蓄積時間が最短になったとする。
その場合に、データ受信部186bが各フレームの上半分を受け取り終わるタイミングを、表示処理部107bが各フレームの上半分を読み出し終わるタイミングが、追い抜かさないよう設定する。
図では、データ受信部186bの処理と、表示処理部107bの処理の間に引かれている斜めの破線の横幅が、追い抜かさないためのマージンとなっている。
下に示すパルス信号は既に述べている表示垂直同期信号であり、その次は表示デバイス162が各フレームを表示するタイミングである。
図に示すようにフレームAに対する垂直撮像同期信号と、表示垂直同期信号との差異が、表示の映像遅延量となる。
次に、図15のフローチャートを用いて、画像処理プロセッサ100aが画像データに対する変形を1フレームずつ処理する際の、制御マイコン101aの処理内容について説明する。
ステップS1501では、垂直同期信号が来るのを待つ。
ステップS1502では、信号処理部104が画像データを処理した結果から露出評価を行い、撮像素子141の蓄積時間を決定するAE処理を行う。
ステップS1503では、画像変形量演算部111aからの変形量算出完了の通知を待つ。
ステップS1504では、画像変形量演算部111aが算出した画像変形量を取得する。
ステップS1505では、画像変形部106aに画像変形量を設定する。
ステップS1056では、操作部111の入力内容等を元に防振有無を判別する。
ステップS1507では、画像変形量演算部111aから焦点距離を取得する。
ステップS1508では、図5に示した動作モードと、図8に示したグラフから、拡大率とオーバーラップ量を決定する。
ステップS1509では、画像変形量演算部111aに防振有無を設定する。
ステップS1510では、画像変形量演算部111aに決定した拡大率とオーバーラップ量を設定する。
ステップS1511では、画像変形量演算部111aにAE処理の結果から、角度データ取得タイミングを設定する。
ステップS1512では、垂直ブランキングの割り込みを待つ。
ステップS1513では、AE処理の結果から、撮像素子141の電荷蓄積開始タイミングを設定する。
ステップS1514では、決定した拡大率とオーバーラップ量から、分割部142に各画像処理プロセッサの処理範囲に対する切り出し位置を設定して、ステップS1501に戻る。
次に、図16のフローチャートを用いて、画像変形量演算部111aが画像データのフレーム毎に変形量を算出する処理内容について説明する。
画像変形量演算部111aは図16(a)と図16(b)に示す処理内容を、マルチタスクなどの制御方法で並行して行う。
図16(a)は角度データ取得の処理を行うフローチャートである。
ステップS1601では、制御マイコン101aから設定済みの角度データ取得タイミングを待つ。
ステップS1602では、フレーム毎の初期化を行う。具体的には、角速度センサ151から得られた角速度データの積分値のリセット、内部カウンタの初期化、不要データの解放などを行う。
ステップS1603では、制御マイコン101aから設定済みの角度データ取得タイミングを待つ。
ステップS1604では、角速度センサ151から得た角速度データの積分値から、角度データを取得する。
ステップS1605では、ステップS1604で取得した角度データがフレーム内で最後のデータであったかを判定する。最後でなければ内部カウンタを進めてステップS1603に戻り、次の角度データ取得タイミングを待つ。
ステップS1606では、図16(b)に示す変形量算出処理を起動して、本フローチャートの処理と並行して行う。
ステップS1607では、制御マイコン101に設定された角度データの取得タイミングを取得し、ステップS1601に戻って次のフレームに対する処理に用いる。
図16(b)は変形量算出の処理内容を示すフローチャートで、図16(a)のステップS1606により起動される。
ステップS1610では、制御マイコン101aに設定された防振有無を取得する。
ステップS1611では、制御マイコン101aに設定された拡大率・オーバーラップ量を取得する。
ステップS1612では、取得した防振有無、拡大率・オーバーラップ量や、図16(a)の処理で取得した角度データ、焦点距離などから、変形量を算出する。
ステップS1613では、変形量の算出が完了したことを制御マイコン101aに通知して、処理を終える。
本実施例の撮像装置によれば、入力画像を分割して、複数の画像処理プロセッサで画像処理を行う場合に、所定の画像処理能力の範囲内で、最小限の映像遅延量で、撮像装置の動きにより撮像画像に生じたブレの補正が可能となる。
[実施例2]
次に、本発明による第2の実施例について説明する。本実施例の撮像装置は、撮像画像を上下だけでなく左右にも分割して、4つの画像処理プロセッサで処理する点が第1の実施例と異なる。
本発明による第2の実施例である撮像装置の構成について、図1に示した第1の実施例の撮像装置とは異なる点を、図9を用いて説明する。
(撮像装置のブロック図)
100c、100dは第三の画像処理プロセッサと、第四の画像処理プロセッサで、第二の画像処理プロセッサ100bと同様に、分割して入力された画像データをそれぞれ処理して出力する。
分割部142は、撮像素子141から出力された画像データから、4つの画像処理プロセッサ100a乃至100dの処理範囲をそれぞれ切り出して、出力する。
合成部161は、4つの画像処理プロセッサ100a乃至100dから出力された表示用の画像データを貼り合わせて合成する。
第一の画像処理プロセッサ100aにおいて、制御マイコン101aは通信部103aを介して、第二乃至第四の画像処理プロセッサ100b乃至100dと制御情報を通信する。
また、データ転送部109aは、第二乃至第四の画像処理プロセッサ100b乃至100dで符号化された記録用画像データを受け取り、記録制御部108aに出力する。
第三の画像処理プロセッサ100cおよび第四の画像処理プロセッサ100dの内部の構成と、各ブロックの処理内容は、第二の画像処理プロセッサ100bと同様である。
そのため、本図では以降の説明に用いる画像変形部106c、106d以外の図示を省略している。
(撮像画像の分割処理)
次に、図10で撮像画像の分割処理について説明する。
本実施例の撮像装置では、動画撮像時に撮像画像を4つに分割して、4つの画像処理プロセッサ100a乃至100dでそれぞれの分割画像を処理する。
図10(a)は撮像素子141で撮像された1フレーム分の撮像画像の例である。
ここでは、撮像画像の解像度を水平3840x垂直2160画素として、撮像のフレームレートを120fpsとする。
また、本実施例の撮像装置に用いられている4つの画像処理プロセッサ100a乃至100dは、撮像のデータレートに対して、それぞれ1/4強の処理能力しか持たないものとする。
そのため、撮像された画像を同じフレームレートで処理するためには、4つの画像処理プロセッサ100a乃至100dに処理を分散する必要がある。
図10(b)は、前記撮像画像を分割部142で上下左右に分割した左上の分割画像1011、右上の分割画像1012、左下の分割画像1013、右下の分割画像1014である。
本実施例の撮像装置では、撮像画像を上下左右に分割して、画像処理プロセッサ100a乃至100dにそれぞれ入力する。
各画像処理プロセッサが個別に画像処理を行うため、境界部分で画像の連続性が失われないように、それぞれの分割画像は隣接部分にオーバーラップ領域が設けられている。
図10(c)は画像処理プロセッサ100a乃至100dがそれぞれ分割画像1011乃至1014を処理して出力した表示用画像1021乃至1024である。
分割画像1011乃至1014のオーバーラップ領域は、画像処理プロセッサ100a乃至100d内部の画像処理で削られ、表示用画像1021乃至1022はオーバーラップ領域を持たずに出力される。
図10(d)は合成部161が4つの表示用画像1021乃至1022を合成して、境界部分の連続性が保たれた状態で、表示デバイス162で表示された表示画像である。
次に、図11で変形による分割画像のオーバーラップ領域の拡大と、処理する画角の縮小について説明する。
例えば、図11(a)は撮像画像に何れの変形も生じていない場合に、画像変形部106a乃至106dが参照する範囲を破線で示している。
第1の実施例の図4と同様に、角度振れの変形を補正するために周囲には余白領域が設けられている。
また、各分割画像で必要なオーバーラップ領域は、水平方向および垂直方向の何れも、第1の実施例で説明したように、境界部分で画像の連続性が失われないための最小限の大きさでよい。
一方で、図11(b)は撮像画像に回転成分の変形が生じている場合に、画像変形部106a乃至106dが参照する範囲を破線で示している。
図11(a)に比べて図11(b)では、画像変形部106a乃至106dの参照範囲が水平方向および垂直方向に大きくなり、オーバーラップ領域が拡大している。
本実施例では水平方向にも画像を分割するため、垂直方向に加えて水平方向についても、最大の変形量をもとにオーバーラップ領域を見積もって、撮像画像から分割画像を切り出す範囲を決める必要がある。
(第1の動作モードにおける分割処理)
次に、図12で第1の動作モードにおける分割処理について説明する。第1の実施例と同様に、本実施例でも第1の動作モードでは撮像画像に生じる変形のうち歪曲収差のみを補正する。
図12(a)は第1の動作モードで、ある焦点距離で撮像された撮像画像に対して、第一の画像処理プロセッサ100aの画像変形部106aが参照する範囲を、破線で示している。
本実施例では撮像画像の中心が光学中心であって、分割部142は光学中心を通る水平線および垂直線を境界として撮像画像を上下および左右に分割し、それぞれの境界部分にはオーバーラップ領域が設けている。
上下分割のためのオーバーラップ領域についての考え方は、第1の実施例の説明と同様である。左右分割のためのオーバーラップ領域についても、光学中心を通る垂直線上では、歪曲収差による変形は垂直方向に変動するだけで、読み出し位置は左右には変動しない。
また、左右分割のためのオーバーラップ領域の左右端は、前記垂直線から少し離れるが、水平方向の変形は依然として僅かであり、読み出し位置の左右方向の変動はごく微少である。
例えば、画像変形部106aの内部処理に必要なオーバーラップ領域が前記境界線から左右に3画素程度であれば、その左右端の左右方向への変動は最大でも1画素にも満たない。
このため、本モードにおいて画像変形部106aの左右分割のためのオーバーラップ領域は1画素増やして4画素とすればよい。
図12(b)は図12(a)と同じ条件下で、分割部142が撮像画像を切り出して画像処理プロセッサ100aに入力する範囲を破線で示している。
図12(a)の破線で示した範囲に対して、信号処理部104aの内部処理に必要なライン数をオーバーラップ領域に加えた範囲となっている。
上下分割のためのオーバーラップ領域についての考え方は、第1の実施例の説明と同様である。
左右分割のためのオーバーラップ領域についても、信号処理部104aの内部処理に左右3画素が必要であれば、前記4画素に加えて計7画素のオーバーラップ領域とすればよい。
本実施例の画像処理プロセッサ100aの処理能力は、撮像のデータレートの1/4強であり、撮像の1/4の画角に7画素程度のオーバーラップ領域を加えて処理することは可能であるものとする。
なお、第二乃至第四の画像処理プロセッサ100b乃至100dについても、前記第一の画像処理プロセッサ100aに対して処理対象が下半分の分割画像になるだけで、処理内容は同様である。
(第2乃至第4の動作モードにおける分割処理)
次に、図13で第2乃至第4の動作モードにおける分割処理について説明する。
第1の実施例と同様に、本実施例でも第2乃至第4の動作モードでは、それぞれに割り当てられた焦点距離範囲のゾーンにおいて、角度振れと歪曲収差とRS歪みにより撮像画像に生じる変形を補正する。
図13(a)は第2の動作モードで、ある焦点距離で撮像された撮像画像に対して、第一の画像処理プロセッサ100aの画像変形部111aが特定の条件下で参照する範囲を破線で示している。
ここで、前記特定の条件とは、画像変形部111aが当該焦点距離における歪曲収差の補正に加えて、回転、あおり(水平・垂直)、RS歪み(回転)を最大限補正した状態である。
本実施例でも第1の実施例と同様に、第2乃至第4の動作モードにおいて、各モードに割り当てられた焦点距離の範囲で、前記特定の条件下において参照範囲が最大どこまで広がるかを予め求めて用いる。
図13(b)は図13(a)で示した前記参照範囲に対して、残る変形成分の並進(水平・垂直)、RS歪み(水平・垂直)の補正に用いる領域を周囲に設け、画像メモリ105aに格納される分割画像を破線で示している。
画像変形量演算部111aはこの領域をはみ出さない範囲で、並進(水平・垂直)、RS歪み(水平・垂直)の補正を行う。
図13(c)は図13(b)で示した画像メモリ105aの分割画像に対して、信号処理部104aの内部処理に必要な垂直ライン数および水平画素数をオーバーラップ領域に加えた画像処理プロセッサ100aの処理範囲を破線で示している。
図13(b)で示した第1の動作モードに比べて、境界部分でも読み出し位置が上下および左右に変動するため、オーバーラップ領域が拡大している。
しかし、図13(c)の破線で示す範囲全体が、画像処理プロセッサ100aの処理能力で所定時間内に処理可能なサイズである必要がある。
本実施例の撮像装置も第1の実施例と同様に、画像変形部106aが撮像画像の変形を行う際に、合わせて所定の拡大率で拡大を行うことで、参照領域を水平・垂直方向に狭めて画像処理プロセッサ100aの処理範囲が処理性能に収まるようにしている。
破線で示した画像処理プロセッサ100aの処理範囲と、一点鎖線で示した他の画像処理プロセッサの処理範囲に含まれない非処理範囲は、分割部142によって捨てられる。
なお、第二乃至第四の画像処理プロセッサ100b乃至100dについても、前記第一の画像処理プロセッサ100aに対して処理対象が右上、左下、右下の分割画像になるだけで、処理内容は同様である。
本実施例の撮像装置によれば、上下および左右に入力画像を分割して、複数の画像処理プロセッサで画像処理を行うとする。
その場合に、所定の画像処理能力の範囲内で、最小限の映像遅延量で、撮像装置の動きにより撮像画像に生じたブレの補正が可能となる。
第1および第2の実施例において、何れも光学中心を境界線として分割を行う例を示したが、光学中心を通らない境界線で分割を行っても良い。
一例としては、上下方向に短冊状に4分割してもよいし、左右方向に4分割してもよい。
それらの場合、歪曲収差の補正による読み出し位置の変動が境界線やそのオーバーラップ領域でも大きくなるので、それを考慮してオーバーラップ領域の大きさを求めればよい。
また、第1および第2の実施例において、各画像処理プロセッサの画像変形部は、射影変換による角度振れの補正と、歪曲収差の補正と、RS歪み(水平・垂直・回転)の補正を行っている。
それに加えて、円筒変換などの他の変形を行うよう構成しても良い。その場合は、加えた変形要素を考慮して、分割画像に必要なオーバーラップ領域を求めて処理に用いる。
また、第1の実施例において、焦点距離の範囲を3つのゾーンに分けて、オーバーラップ量や拡大率の算出をしているが、焦点距離が変化する毎に、実際に必要なオーバーラップ量と、その処理に必要な拡大率を求めて用いるように構成しても良い。
また、第1および第2の実施例において、切り出した各分割画像のサイズを同じにしているが、各画像処理プロセッサの処理能力などに応じて、異なるサイズで切り出しても良い。
(他の実施形態)
本発明の目的は以下のようにしても達成できる。すなわち、前述した各実施形態の機能を実現するための手順が記述されたソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給する。
そして、そのシステムまたは装置のコンピュータ(またはCPU、MPU等)が記憶媒体に格納されたプログラムコードを読み出して実行するのである。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体およびプログラムは本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどが挙げられる。
また、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD−R、磁気テープ、不揮発性のメモリカード、ROM等も用いることができる。
また、コンピュータが読み出したプログラムコードを実行可能とすることにより、前述した各実施形態の機能が実現される。
さらに、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した各実施形態の機能が実現される場合も含まれる。
更に、以下の場合も含まれる。まず記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。
その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う。
また、本発明はデジタルカメラのような撮影を主目的とした機器にかぎらず、携帯電話、パーソナルコンピュータ(ラップトップ型、デスクトップ型、タブレット型など)、ゲーム機など、撮像装置を内蔵もしくは外部接続する任意の機器に適用可能である。従って、本明細書における「撮像装置」は、撮像機能を備えた任意の電子機器を包含することが意図されている。