(58)【調査した分野】(Int.Cl.,DB名)
上記画像センサのフレーム周期が、規定の時間単位でのみ設定可能であり、上記時間差演算手段は、上記トリガ信号の受信ごとにその直前のトリガ信号受信時点からの時間を計測するトリガ周期計測手段と、上記画像センサからの画像データの受信開始ごとにその直前の画像データの受信開始時点からの時間を計測するフレーム周期計測手段と、上記トリガ周期とフレーム周期との周期差を演算する周期差演算手段と、その周期差演算手段によりフレームごとに演算された周期差を累積する周期差累積手段とを含み、その周期差演算手段により演算された周期差の累積値を時間差情報として用いるとともに、上記フレーム周期設定手段は、上記周期差の累積値としきい値とを比較し、その比較結果を上記画像センサのフレーム周期の設定変更の一条件として用いることを特徴とする請求項1に記載の撮像装置の制御装置。
上記画像センサからの画像データを一時的に蓄積するバッファと、上記バッファへの書き込み制御手段と、上記バッファからの読み出し制御手段とを備え、上記書き込み制御手段は、上記画像センサの画像データ出力のタイミングで上記バッファへの書き込みを行うとともに、上記読み出し制御手段は、上記トリガ信号を基準として上記画像データの出力開始までの時間差が最大の状態での上記書き込みのタイミングよりも後のタイミングで、上記バッファからの画像データの読み出しを行うことを特徴とする請求項1または2に記載の撮像装置の制御装置。
【背景技術】
【0002】
CMOSセンサ等の画像センサを用いた撮像装置からの画像データを、表示装置に動画として表示する場合、表示装置における画像のフレーム表示のタイミングに同期して画像センサからの画像データを取得することが望ましい。画像センサと表示装置のフレーム周期が異なる場合、表示装置の内部または表示装置と画像センサとの間にメモリ(フレームバッファ)とメモリ制御回路を配置して、画像センサからのフレームデータ(1フレーム分の画像データ)を一旦メモリ内に格納し、表示装置のフレーム表示のタイミングで、つまり表示装置の表示動作に同期するようにフレームデータを出力する方法が知られている(例えば特許文献1参照)。
【0003】
しかしながら、この方法では、1フレームないしは数フレーム分の画像データをメモリに記憶する必要があり、大容量のメモリが必要となって装置構成が大型化するばかりでなく、複雑な回路が必要となってコストが増大するという問題がある。また、メモリ(フレームバッファ)に対する書き込みや読み出し動作に掛かる時間に起因する表示遅延の発生という問題もある。
【0004】
さらに、同じ画像を複数の画像センサで取得する場合、複数の画像センサの画像取得タイミング(フレームタイミング)を同期させることが望ましいのであるが、上記の方法では難しい。
ここで、画像センサのなかには、画像センサ内部の固定タイミングによる内部フレーム同期動作(VIDEOモード)のほかに、外部トリガモードと称されるモードを備えたものがあり、この外部トリガモードでは、外部トリガによる同期動作を行うことができるため、上記のようなフレームメモリは不要となる。
【0005】
しかしながら、一部の画像センサには、外部トリガモードを備えていないものや、外部トリガモードを備えるものの、その機能が制限(例えば露光と前のフレームの画像出力を同時に行うオーバーラップができないために高速化できない等)されているものがある。このような画像センサは、性能がよくても内部フレーム同期動作(VIDEOモード)で使用しなければならず、フレームバッファとメモリ制御を用いて同期を取り直す必要があった。
【0006】
また、フレームバッファを使用しない方法として、従来、外部機器側のフレーム同期信号の周期と、1フレームに必要なクロック数とから、画像センサの動作用クロックの周波数を決定して生成する方法、つまり、画像センサの動作用クロックを外部機器のフレーム周期に応じた周波数とする方法が知られている(例えば特許文献2参照)。しかし、画像センサによっては、性能を良好なものとするために推奨の周波数のクロック入力が求められているデバイスがあり、そのような画像センサに対してはこのような手法を適用することができない。
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は上記した従来の各技術が有する諸問題を解決し、外部トリガモードを有さない、あるいは外部トリガモードを実質的に適用できない画像センサであっても、フレームバッファやその制御回路等の複雑な回路を使用することなく、また、画像センサの動作用クロックの周波数をその画像センサの推奨周波数としながらも、画像センサを外部機器からのフレーム周期に同期させることのできる撮像装置の制御装置の提供をその課題としている。
【課題を解決するための手段】
【0009】
上記の課題を解決するため、本発明の撮像装置の制御装置は、画像データを出力する画像センサを備えた撮像装置の制御装置であって、表示装置や記録装置などの画像データを出力すべき外部機器からのトリガ信号を受信する外部トリガ信号受信手段と、上記画像センサからの画像データを受信する画像データ受信手段と、上記外部トリガ受信手段および画像データ受信手段によるそれぞれの受信結果に基づき、フレームごとに上記トリガ信号を基準として上記画像センサが画像データの出力を開始する時点までの時間差情報を演算する時間差演算手段と、上記画像センサのフレーム周期を設定するフレーム周期設定手段を有し、そのフレーム周期設定手段は、上記時間差演算手段により演算された時間差情報に基づき、当該時間差が一定の範囲内に収まるように上記画像センサのフレーム周期の設定を行うように構成されていることによって特徴づけられる。
【0010】
ここで、本発明においては、画像センサのフレーム周期が、規定の時間単位でのみ設定可能であり、上記時間差演算手段は、上記トリガ信号の受信ごとにその直前のトリガ信号受信時点からの時間を計測するトリガ周期計測手段と、上記画像センサからの画像データの受信開始ごとにその直前の画像データの受信開始時点からの時間を計測するフレーム周期計測手段と、上記トリガ周期とフレーム周期との周期差を演算する周期差演算手段と、その周期差演算手段によりフレームごとに演算された周期差を累積する周期差累積手段を含み、その周期差演算手段により演算された周期差の累積値を時間差情報として用いるとともに、上記フレーム周期設定手段は、上記周期差の累積値としきい値とを比較し、その比較結果を上記画像センサのフレーム周期の設定変更の一条件として用いる構成を採用することができる。
【0011】
また、本発明においては、上記画像センサからの画像データを一時的に蓄積するバッファと、そのバッファへの書き込み制御手段と、上記バッファからの読み出し制御手段を備え、上記書き込み制御手段は、上記画像センサの画像データ出力のタイミングで上記バッファへの書き込みを行うとともに、上記読み出し制御手段は、上記トリガ信号を基準として上記画像データの出力開始までの時間差が最大の状態での上記書き込みのタイミングよりも後のタイミングで、上記バッファからの画像データの読み出しを行う構成を採用することもできる。
【0012】
本発明は、外部機器からのトリガ信号と、画像センサからの画像データとを受信し、トリガ信号を基準として、画像センサからの画像データ出力開始タイミングまでの時間差をフレームごとにモニタリングし、その時間差が一定の範囲内に収まるように、画像センサのフレーム周期を自動的に設定することで、課題を解決しようとするものである。
【0013】
すなわち、画像センサのフレーム周期を当初設定した周期に固定せず、フレームごとに外部機器からのトリガ信号に対する画像データの出力開始時点の時間差をモニタリングして、その時間差が一定範囲内に収まるように、必要に応じて画像センサのフレーム周期の設定を変更する。これにより、トリガ信号に対して多少のばらつきはあるものの、一定の時間範囲内に画像データの出力が開始されることになり、外部トリガモードを備えていない画像センサであっても、実質的に外部トリガ同期を実現することができる。
【0014】
ここで、画像センサのフレーム周期の設定は、通常、規定時間単位、例えば1ライン周期(画像の横方向1ライン分の画像データを転送する周期)に相当する時間単位で可能となっていることが多く、外部トリガ信号の周期と画像センサのフレーム周期を完全に一致させることができない。そのため、フレーム周期設定動作の具体的手法としては、トリガ周期とフレーム周期との周期差をフレームごとに演算して求め、さらにその周期差を累積し、その累積値がトリガ信号と画像データ出力開始時点との時間差に相当することを利用して、その累積値とあらかじめ設定されているしきい値を比較して、周期設定変更の一条件とする手法を採用することができる。
すなわち、画像センサのフレーム周期は、1ライン周期相当の時間単位でしか設定できないので、フレーム周期とトリガ周期とにはどうしても若干の長短が生じ、トリガ信号に対する画像データ出力開始点との時間差がフレームごとに次第にずれていく。これを両周期の周期差の累積値で把握し、その累積値がある一定の限度を越えた時点で、フレーム周期の設定変更を実行して、そのずれを戻す動作を繰り返す。これにより、トリガ信号に対する画像データの出力開始時点との時間差を数ライン周期相当時間程度の範囲内に収めることができる。
【0015】
また、上記したように、本発明によって、トリガ信号に対する画像センサからの画像データの出力開始までの時間差は、多少のばらつきはあるものの一定の範囲内に収めることができるが、トリガ信号に対する画像データの出力タイミングのばらつきが許されない場合には、以下の構成を採用すればよい。
すなわち、画像データを蓄積するバッファと、その書き込みおよび読み出し制御手段を追加し、バッファへの画像データの書き込みは画像センサのタイミングで行い、バッファからの画像データの読み出しは、上記のトリガ信号に対する画像データの出力開始タイミングが最も遅くなるタイミングよりさらに遅い、トリガ信号に対して一定の時間差を有したタイミングで行う。これにより、トリガ信号に対して安定したタイミングで画像データを出力することができる。なお、このバッファは、トリガ信号に対して画像データの出力開始時点までの最長時間、前記した例では数ライン相当分のデータを記憶できる容量があれば足りる。
【発明の効果】
【0016】
本発明によれば、外部機器からのトリガ信号に対する画像センサからの画像データの出力開始までの時間差をフレームごとにモニタリングし、その時間差が一定の範囲に収まるように画像センサのフレーム周期の設定変更を逐次行うので、外部機器からのトリガ信号に対する画像データの出力開始までの時間差に多少のばらつきがあるものの、外部機器からのトリガ信号に対して実質的に同期した画像データの出力が可能となる。すなわち、外部トリガモードを有さない画像センサを用いた場合にも、フレームバッファを設けることなく、かつ、画像センサの動作用クロックの周波数を特に変更することなく、外部トリガ同期を実現することができる。
【0017】
また、トリガ信号に対して画像データの出力タイミングのばらつきが許されない場合には、数ライン分の画像データを蓄積できるメモリと、その書き込みおよび読み出し制御手段を設けて、画像センサのタイミングで画像データを書き込み、かつ、トリガ信号に対する画像データの出力開始の時間差が最大となる状態よりもさらに遅いタイミングで画像データを読み出して外部機器に送信することで、トリガ信号に対して安定したタイミングで画像データを出力することができる。
【発明を実施するための形態】
【0019】
以下、図面を参照しつつ本発明の実施の形態について説明する。
図1は本発明の実施の形態の撮像装置の構成を示すブロック図で、表示装置や録画装置などの外部機器に接続した状態で示している。
【0020】
撮像装置1は、CMOSセンサなどの画像センサ11と、その画像センサ11の受光面に被写体像を結像させるための光学レンズ12、画像センサ11を制御するためのセンサ制御部13、およびこのセンサ制御部13に基準クロックを供給する水晶発振器14を主体として構成されている。
【0021】
外部機器2は表示装置もしくは録画装置(記録装置)であって、この外部機器2と撮像装置1との間はカメラリンク等の画像データ転送用のケーブルによって接続されている。また、表示タイミングまたは記録タイミングに対して画像センサを同期させるために、外部機器2から各画像出力(フレーム出力)の開始タイミングを示すトリガ信号がセンサ制御部13に供給される。
【0022】
画像センサ11は2次元の撮像素子のほかにA−D変換器を含み、撮像素子の受光面に結像した被写体像情報をデジタルデータとして送信する。画像センサ11内では、蓄積容量のリセット、電荷の蓄積、サンプリング、A−D変換がライン単位で制御され、また、各ラインの画像データの出力は画素単位で制御が行われる。これらの制御は、後述するセンサ制御部13から供給されるクロックを基準に画像センサ11内で水平同期信号や垂直同期信号などのタイミング信号を生成して、そのタイミング信号に基づいて動作を行う。なお、出力する画像データは、垂直同期信号や水平同期信号からなるタイミング信号を伴ってセンサ制御部13に送られる。
【0023】
画像センサ11へのクロックは上記したようにセンサ制御部13から供給される。画像センサ11に供給されるクロックおよびセンサ制御部13の内部回路を動作させるクロックは、センサ制御部13に接続された水晶発振器14によって生成される。なお、この実施の形態では、センサ制御部13から画像センサ11にクロックを供給しているが、水晶発振器14から直接画像センサ11にクロックを供給してもよい。
【0024】
画像センサ11とセンサ制御部13との間は通信信号で結ばれ、この通信信号は画像センサ11のタイミング等の設定を行うために使用される。このタイミング設定には、フレーム周期の設定が含まれており、画像センサ11は設定されたフレーム周期のタイミングで各フレームの画像データの出力を行う。
【0025】
センサ制御部13では、以下に詳述するように、フレームごとに外部機器2から入力したトリガ信号のタイミングを基準に画像センサ11からの画像データの出力開始のタイミングまでの時間差をモニタリングし、時間差が一定の範囲内になるように画像センサ11のフレーム周期の設定を行う。この制御により、トリガ信号に対して画像データの出力開始までの時間差が、フレームごとに多少のばらつきがあるものの一定の範囲内に収まるようになる。すなわち、実質的に外部トリガ同期に対応した制御が可能となる。この実施の形態では、さらに、画像センサ11のタイミングで画像データをメモリに書き込み、かつ、トリガ信号に対して最も遅いタイミングで画像出力開始を行ったフレームのタイミングよりもさらに遅いタイミングでメモリの読み出しを行う対策を講じることにより、トリガ信号に対して安定したタイミングで画像データを外部機器2に向けて出力することを可能としている。
【0026】
図2にセンサ制御部13の構成例をブロック図で示す。センサ制御部13は、トリガ同期制御部21、画像入力部22、画像出力部23、通信制御部24、およびCPU25から構成されている。
【0027】
画像入力部22は画像センサ11からの画像データを受信する。この画像入力部22には数ライン分の画像データを蓄積可能なメモリが搭載されており、入力された画像データを画像センサ11からのタイミングで蓄積し、トリガ信号を基準にして蓄積した画像データを当該画像入力部22で生成したタイミングで読み出して出力する。なお、この画像入力部22の具体的な構成例は後述する。
【0028】
画像入力部22から出力された画像データは画像出力部23に入力される。画像出力部23は、画像データを
図1の外部機器2へ出力するためのインターフェースによって構成され、入力した画像データを例えばカメラリンク信号形式および信号レベルに変換して出力する。なお、
図2の例では、画像入力部22と画像出力部23が直接接続されているが、画像入力部22と画像出力部23の間に画像処理部を設け、γ補正、欠損補正等の画像処理を行ってもよい。
【0029】
通信制御部24はCPU25と接続されており、CPU25から画像センサ11へのアクセス要求に応じて、画像センサ11の設定レジスタへのアクセスを行う。具体的には、CPU25から送られてくる画像センサ11へのレジスタアドレス、ライトまたはリード要求にそれぞれ対応した動作を行う。ライト要求時はライトデータを受信し、画像センサ11のアクセス方式(この例ではSPIバス)に応じた信号の生成を行って出力する。なお、リード要求時は、画像センサ11から送られてくるリードデータを受信し、CPU25にリードデータの出力を行う。
【0030】
トリガ同期制御部21は、外部機器2からのトリガ信号が入力され、また、画像センサ11から画像データとともに送られてくるタイミング信号である有効区間信号が入力される。また、CPU25とはバス接続され、CPU25がトリガ同期制御部21で演算した結果をリードできるようにしている。さらに、CPU25に割込信号を出力し、演算が終了したタイミングをCPU25に通達することが可能となっている。そして、以下に示すように、外部機器2から入力されたトリガ信号と、画像センサ11のフレームデータの出力開始タイミングをモニタリングし、トリガ信号から画像データ出力開始タイミングまでの時間差(クロック数)の演算をフレームごとに行う。
【0031】
図3にトリガ同期制御部21の構成例を示すブロック図を、
図4にそのトリガ同期制御部21の動作を示すタイムチャートを示す。
【0032】
外部機器2からのトリガ信号(
図4(b))は、トリガ周期カウント部31に入力される。トリガ周期カウント部31ではトリガ信号の立ち上がりエッジを検出し、前回の立ち上がりエッジからの周期(クロック数)をカウントし、その結果をトリガ周期として
図4(c)に示す時間領域において出力する。具体的には、トリガ信号の立ち上がりタイミングの検出を行い、検出した場合は現在のカウンタ値を保持し、出力後にそのカウンタ値をクリアする。また、検出しない場合、カウンタは最大値(この例ではカウンタは24bitのためOxffffff)にならない限り、クロックの立ち上がりでカウントアップする。なお、この例におけるトリガ信号はハイアクティブ信号である。また、トリガ信号は外部機器2にて生成されるため、当該トリガ同期制御部21を構成するFPGAの内部クロックとは非同期である。そのため、トリガ信号は内部クロック同期化回路(図示略)によってメタステーブルの対策を行い、内部クロックに同期させた後の信号を使用する。
【0033】
画像センサ11から出力された有効区間信号(
図4(d))は、センサ周期カウント部32に入力される。センサ周期カウント部32では有効区間信号の立ち上がりエッジを検出し、前回の立ち上がりエッジからの周期(クロック数)をカウントし、その結果をセンサ周期として
図4(g)に示す時間領域において出力する。具体的には、有効区間信号の立ち上がり検出を行い、検出した場合は現在のカウント値を保持し、出力後にクリアする。また、検出しない場合、カウンタは最大値(この例ではカウンタは24bitであるためOxffffff)にならない限り、クロックの立ち上がりでカウントアップする。また、有効区間信号の立ち上がりを検出したときのみアサートする出力開始信号(
図4(f))を出力する。なお、この例における有効区間信号はハイアクティブの信号であり、立ち上がりエッジは、画像センサ11の出力開始タイミングを示している。また、有効区間信号は画像センサ11にて生成されるため、画像センサ11のクロックに同期しており、トリガ同期制御部21を構成するFPGAの内部クロックとは非同期である。そのため、有効区間信号は内部クロック同期化回路(図示略)にてメタステーブルの対策を行い、内部クロックに同期させた後の信号を使用する。
【0034】
以上のように計測されたトリガ周期とセンサ周期は、周期差演算部33に入力される。周期差演算部33では、トリガ周期からセンサ周期を減算して、その値を直近フレームの周期差として
図4(h)に示す時間領域において出力する。この周期差は負の場合もある。
【0035】
直近フレームの周期差は周期差累積演算部34に入力され、上記した出力開始信号(
図4(f))がアサートしたときのみ、内部で保持している周期差の累積値に加算し、トリガ周期とセンサ周期の周期差の累積値として
図4(i)に示す時間領域においてCPU25に出力する。この周期差の累積値は負の場合もある。そしてこの周期差の累積値は、直近フレームのトリガ信号のタイミングとセンサ出力開始のタイミングの時間差を表す情報となる。
【0036】
割込信号生成部35は、周期差累積値の演算の終了をCPU25に通達するため、出力開始信号がアサートしたタイミングで割込信号(
図4(j))をアサートし、CPU25に通知する。
【0037】
CPU25はトリガ同期制御部21からの割込信号を受信した場合に、トリガ同期制御部21から出力された周期差の累積値を読み出し、あらかじめ設定されている値と比較して画像センサ11のフレーム周期の設定値を決定し、画像センサ11のフレーム周期の設定値を更新する。
図5に割込信号を受信した場合のCPU25の動作フローを示す。ここで、この例における画像センサ11のフレーム周期は、1ライン周期相当分の時間単位で設定可能であるものとする。
【0038】
CPU25には、あらかじめ周期差累積値のしきい値T
hと、画像センサ11のフレーム周期設定最大値T
maxと最小値T
minが設定されている。また現在のフレーム周期設定値T
nowにはフレーム周期の初期値が設定されている。また画像センサ11のフレーム周期のレジスタにも同じ値が設定されている。しきい値T
hはクロック単位であって正の値であり、フレーム周期設定最大値T
maxと最小値T
min、現在のフレーム周期設定値T
nowは画像センサ11の1ライン周期単位であっていずれも正の値である。これらの各値は後述する初期動作時に設定される。
【0039】
さて、
図5に示すように、CPU25が割込信号を受信すると、CPU25はトリガ同期制御部21から出力されたフレーム周期差累積値T
totalをリードする。そして、フレーム周期差累積値T
totalとしきい値T
hとを比較し、しきい値T
h以上であれば、画像センサ11の現在のフレーム周期設定値T
nowとフレーム周期設定最大値T
maxを比較する。現在のフレーム周期設定値T
nowが最大値T
maxを超えていない場合は、フレーム周期設定値T
nowを1ライン分(設定可能な1単位分)の時間だけ増加させる。フレーム周期差累積値T
totalがしきい値T
hより小さい場合、または現在のフレーム周期設定値T
nowが最大値T
max以上の場合は、次いでフレーム周期差累積値T
totalとしきい値T
hに−1を乗じた値と比較し、しきい値−T
h以下であれば、フレーム周期設定値T
nowとフレーム周期設定最小値T
minと比較する。フレーム周期設定値T
nowが最小値T
minより大きい場合は、フレーム周期設定値T
nowを1ライン分の時間だけ減少させる。フレーム周期差累積値T
totalがしきい値T
hに−1を乗じた値より大きい場合、もしくはフレーム周期設定値T
nowが最小値T
min以下の場合は、フレーム周期設定値T
nowの値をそのまま用いる。その後、以上のように決定したフレーム周期設定値T
nowを、通信制御部24を通じて画像センサ11のフレーム周期のレジスタに書き込む。レジスタへの書き込みが完了した後は、再び割り込みの発生を待つ。
【0040】
割込信号は、各フレームの先頭の画像データが入力されるごとに発生するため、フレームごとに画像センサ11のフレーム周期の設定を行うことになる。
【0041】
図6に実際の同期制御の設定と動作の一例を示す。以下、
図6の表を参照しつつ説明する。この例では、外部機器2のフレームレートが60fpsであるため、トリガ信号は16.666msごとにアサートされる。画像センサ11の1ラインの周期は、センサの仕様により15.72μsに固定されており、トリガ同期制御部21を構成するFPGAのクロック周波数は100MHzである。そのため、FPGAのクロック数に変換すると、画像センサ11の1ライン周期は1572クロックとなり、トリガ周期は1,666,667クロックとなる。なお、実際にはトリガ信号はFPGAのクロックに同期していないため、フレームによって値が前後することもあるが、説明を簡単にするために、トリガの周期は1,666,667クロックで固定されるものとする(「トリガ周期」欄参照)。
【0042】
同期制御の初期設定動作として、トリガ信号の周期を画像センサ11の1ラインの周期で除算し、画像センサ11のフレーム周期設定値T
nowの初期値とする。具体的には、1,666,667クロック÷1572クロック=1060ライン(小数点以下切捨て)を、画像センサ11の初期値(フレーム設定値T
now)として記憶するとともに、画像センサ11のフレーム周期のレジスタに書き込む。なお、フレーム周期設定のレジスタ内容を更新した場合、画像センサ11では更新後の次のフレーム時において新しいフレーム周期の設定値が反映される。また、フレーム周期設定最大値T
maxには、上記のフレーム周期設定値T
nowの初期値に1を加算した値(1060+1=1061)を代入し、フレーム周期設定最小値T
minにはフレーム周期設定値T
nowをそのまま代入する。また、しきい値T
hとして画像センサ11の1ラインの周期を8で除した値(1572÷8=196)を代入する。
【0043】
そして、上記の設定を行った後に外部トリガ動作を開始する。最初の第1フレームは、画像センサ11のフレーム周期設定値T
nowの初期値が1060ラインであるため、センサ周期は1060ライン×1572クロック=1,666,320クロック(「フレーム番号1:センサ周期」欄参照)。そのため、トリガ周期とセンサ周期との差は1,666,667クロック−1,666,320クロック=347クロック(「フレーム番号1:周期差」欄参照)となる。第1フレームであるため、フレーム周期差累積値T
totalは、そのまま347クロック(「フレーム番号1:累積周期差」欄参照)となる。このフレーム周期差累積値T
totalは、しきい値T
hよりも大きく、また、フレーム周期設定値T
nowは最大値T
maxよりも小さいため、画像センサ11のフレーム周期設定値T
nowを1増加させて、レジスタの内容を更新する。
【0044】
第2フレームは、第1フレームで更新したフレーム周期設定値T
nowが次のフレームの動作時にしか反映されないため、まだ更新結果は反映されておらず、画像センサ11のフレーム周期に変わりはなく周期差は第1フレームと同じになる。したがって、フレーム周期差累積値T
totalは693クロック(「フレーム番号2:累積周期差」欄参照)となり、しきい値T
hよりは大きいものの、フレーム周期設定値T
nowが最大値T
maxよりも小さくならないため、フレーム周期設定値T
nowはそのままとなる。
【0045】
第3フレームでは、第1フレームで設定したフレーム周期設定値T
nowが反映されるため、1061ライン×1572クロック=1667,892クロック(「フレーム番号3:センサ周期」欄参照)となり、周期差は1,666,667クロック−1,667,892クロック=−1,225クロック(「フレーム番号3:周期差」欄参照)となる。周期差累積値T
totalは−532クロック(「フレーム番号3:累積周期差」欄参照)となり、しきい値T
hに−1を乗じた値より小さく、また、フレーム周期設定最小値T
minより大きいため、フレーム周期設定値T
nowを1減少させてレジスタ設定を行う。
【0046】
以上の動作を第4フレーム以降も同様に行う。
図6の全25フレームの結果が示すように、フレーム周期差累積値T
totalが一定の範囲内になるように制御が行われている。このフレーム周期差累積値T
totalが、トリガ信号を基準とした画像センサ11のフレーム出力開始タイミングまでの時間差を表す情報となり、フレーム周期差累積値T
totalが一番大きい値のときのフレームが、画像センサ11の出力タイミングが早いときを示し、一番小さい値のときのフレームが画像センサ11の出力タイミングが遅いときを示す。そのため、周期差累積値の最大値から最小値を引いた値が、トリガ信号を基準とした画像センサ11のフレーム出力タイミングまでの時間差のばらつきの最大値を示すことになる。この例では、画像センサ11の1ラインの周期が1572クロックであるため、3ライン内のばらつきに収まっていることが確認できる。
【0047】
上記のトリガ同期制御部21とCPU25および通信制御部24の動作により、画像表示装置ないしは画像録画装置などの外部機器2からのトリガ信号に対して、ある程度の時間範囲内に画像センサ11の画像データ出力開始を行う外部トリガ同期を行うことが可能となる。そして、この実施の形態では、画像入力部22内へさらにメモリを設けることで、画像センサ11からの画像データを、外部機器2からのトリガ信号に対して安定したタイミングで出力できるようにしている。
【0048】
図7に画像入力部22の構成例をブロック図で示す。この例では、バッファとしてデュアルポートのSRAM41を用い、そのライト専用ポートに書き込み制御部42を接続し、その書き込み制御部42に画像センサ11からの画像データとタイミング信号を入力するとともに、SRAM41のリード専用ポートには読み出し制御部43を介して画像出力部23が接続される。
【0049】
書き込み制御部42では、入力されたタイミング信号に応じて、SRAM41のライトアドレス、ライト制御信号、ライトデータの生成を行う。具体的には、画像センサ11からの有効区間信号のアサート時に、画像データをSRAMライトデータとして出力し、SRAM41のライト制御信号をアサートし、書き込みを行うたびにSRAM41のライトアドレスを増加する。このように、SRAM41には画像センサ11のタイミングで画像データが書き込まれていく。
【0050】
画像表示装置または画像録画装置などの外部機器2から出力されたトリガ信号は、タイミング信号生成部44に入力される。このタイミング信号生成部44では、トリガ信号を基準に、外部機器2の仕様に合わせたタイミング信号の生成を行う。生成されたタイミング信号は読み出し制御部43に入力され、この読み出し制御部43では入力されたタイミング信号に応じて、SRAM41のリードアドレス、リード信号の生成を行う。具体的には、タイミング信号がアサートしたときに、SRAM41のリード制御信号をアサートし、リードデータを受信し、リード要求を行うたびにSRAM41のリードアドレスを増加する。このように、SRAM41に格納されたデータが外部機器2からのトリガ信号に基づいて読み出され、タイミング信号とともに出力される。
【0051】
図8に画像入力部22の動作のタイミングチャートを示す。外部機器2からのトリガ信号を基準に画像センサ11から各フレームの画像データが入力される。外部トリガ同期動作により、トリガ信号からフレームの画像データ出力開始までの時間差には前記したようにばらつきがあり、
図8(a)のトリガ信号に対して最も早く出力されたフレームの信号を
図8(b),(c)に示し、また、最も遅く出力されたフレームの信号を
図8(e),(f)に示し、これらの各場合についての信号処理について以下に説明する。
【0052】
SRAM41への書き込みは、上記の通り各フレームの画像センサ11のタイミングに応じて行う。すなわち、最も早く出力されたフレームの場合の書き込みは
図8(d)に示すタイミングであり、最も遅く出力されたフレームの場合には
図8(g)のタイミングで書き込みを行う。タイミング信号生成部44は、
図8(h)に示すように、トリガ信号を基準に画像センサ11が最も遅く出力したフレームの画像出力開始タイミングよりもさらに遅いタイミングで、外部機器2用のタイミング信号を開始する。この信号により、SRAM41に格納された画像データをリードして出力する。このタイミング信号の開始は、トリガ信号から常に一定のタイミングである。そのため、外部機器2には、トリガ信号に対して安定したタイミングで画像データを送信することができる。なお、デュアルポートSRAM41の容量は、トリガ信号に対する画像センサ11の出力開始までの時間差のばらつき(最も早く出力したフレームの出力開始から最も遅く出力したフレームの出力開始までの時間)に相当するデータ量以上の蓄積量を必要とする。
図6に示した例では、ばらつきを3ライン分以下に抑えているので、この例においては3〜4ライン分のデータを蓄積できる容量があれば足りることになる。
【0053】
以上の本発明の実施の形態によると、画像表示装置または画像録画装置などの外部機器2からのトリガ信号を基準に、画像センサ11からの画像データの出力開始タイミングまでの時間差をモニタリングし、時間差が一定の範囲内となるように画像センサ11のフレーム周期設定を行うことにより、トリガ信号に対する画像データの出力開始までの時間差に多少のばらつきがあるものの、一定の範囲内に収めることができ、外部トリガ同期に対応した制御が可能となる。
【0054】
さらに、画像データを一時的格納するメモリ(SRAM41)とその書き込み制御部42と読み出し制御部43の回路を設けて、画像センサ11のタイミングで画像データのメモリへの書き込みを行い、トリガ信号に対して最も遅く画像出力開始を行ったフレームのタイミングよりもさらに遅い一定のタイミングでメモリの読み出しを行うことにより、トリガ信号に対して安定したタイミングで画像データを出力することができる。
【0055】
なお、以上の実施の形態では、CPU25を搭載してトリガ同期制御の一部の動作をプログラムにより実現するようにしたが、その部分を同様の演算を行うハードウエアで実現してもよい。
【0056】
また、以上の例では、画像センサの画像出力の周期を画像データのタイミング信号をモニタリングして演算するようにしたが、画像センサ11の既知の1ラインの周期とフレーム周期設定値の積算から演算することもできる。
【0057】
また、トリガ信号を基準に画像センサ11からの画像データの出力開始タイミングまでの時間差を、それぞれの周期差の累積値から演算するようにしたが、フレームごとにトリガ信号から画像データ出力開始までの時間を計測するようにしてもよい。