(57)【特許請求の範囲】
【請求項１】
個々のフレームが奇数フィールド及び偶数フィールドを各々備え、フレームレートが同一でかつ非同期に入力される複数の映像信号について、フィールドを単位とする前記映像信号の入力開始タイミング及び入力終了タイミングの少なくとも一方を各々通知する通知部と、
前記通知部により前記複数の映像信号について各々通知された前記タイミングに基づいて、前記複数の映像信号の各々の対応するフレームの取得タイミングのずれが前記フレームレートの周期の１／２未満になるように、前記複数の映像信号の各々の対応するフレームのフレーム構造を、奇数フィールド、偶数フィールドの順に組み合わせた第１のフレーム構造と、偶数フィールド、奇数フィールドの順に組み合わせた第２のフレーム構造と、の何れにするかを各々判定すると共に、前記複数の映像信号の各々の対応するフレームの前記映像信号を単位とする取得順序を判定する判定部と、
前記判定部で判定された前記フレーム構造及び前記映像信号を単位とする取得順序に従って取得された、前記複数の映像信号の各々の対応するフレームを出力するか、又は、前記複数の映像信号の各々の対応するフレームを出力するための処理を行う出力部と、
を含む映像取得装置。
【請求項２】
前記複数の映像信号のうちの互いに異なる前記映像信号に対応する複数のバッファが設けられたバッファメモリと、
個々の前記映像信号に対応して各々設けられ、対応する前記映像信号を複数の前記バッファのうちの対応する前記バッファに格納させると共に、前記判定部で判定された前記フレーム構造の１フレーム分の前記映像信号が対応する前記バッファに格納される度に取得完了通知を出力する複数の書込処理部と、
複数の前記書込処理部から、前記判定部で判定された前記映像信号を単位とする取得順序における最後の映像信号に対応する前記取得完了通知が入力される度に、同期完了通知を出力する完了通知部と、
を更に備え、
前記出力部は、前記完了通知部から前記同期完了通知が出力される度に、前記複数のバッファから、前記複数の映像信号の各々の対応するフレームを読み出して出力するか、又は、前記複数の映像信号の各々の対応するフレームを出力するための処理を行う請求項１記載の映像取得装置。
【請求項３】
前記複数のバッファには、１フレーム分の前記映像信号を格納するためのバッファ領域が各々３個以上設けられており、
個々の前記書込処理部は、対応する前記映像信号を、対応する前記バッファの３個以上のバッファ領域のうち書込用に設定された２個のバッファ領域に各々格納させ、
個々の前記映像信号に対応して各々設けられ、対応する前記バッファの３個以上のバッファ領域のうちの２個のバッファ領域を書込用に設定すると共に、対応する映像信号について、フィールドを単位とする前記入力開始タイミング又は前記入力終了タイミングが前記通知部により通知される度に、書込用に設定した２個のバッファ領域のうち最新の２個のフィールドの映像信号が格納されたバッファ領域に代えて、書込用に設定していない待機中のバッファ領域を書込用に設定することで、書込対象のバッファ領域を切替える複数のバッファ管理部を更に備えた請求項２記載の映像取得装置。
【請求項４】
前記複数のバッファには、１フレーム分の前記映像信号を格納するためのバッファ領域が各々４個以上設けられており、
個々の前記バッファ管理部は、前記完了通知部から前記同期完了通知が出力される度に、対応する前記バッファの４個以上のバッファ領域のうち、最新の２個のフィールドの映像信号が格納されたバッファ領域を出力用に設定し、
前記出力部は、前記完了通知部から前記同期完了通知が出力される度に、前記複数の映像信号の各々の対応するフレームを、個々の前記映像信号に対応する個々の前記バッファ管理部によって出力用に設定されたバッファ領域から各々読み出して出力するか、又は、前記複数の映像信号の各々の対応するフレームを、個々の前記映像信号に対応する個々の前記バッファ管理部によって出力用に設定されたバッファ領域から各々読み出して出力するための処理を行う請求項３記載の映像取得装置。
【請求項５】
フレームレートが同一でかつ非同期に入力される複数の映像信号について、フレームを単位とする前記映像信号の入力開始タイミング及び入力終了タイミングの少なくとも一方を各々通知する通知部と、
前記通知部により前記複数の映像信号について各々通知された前記タイミングに基づいて、前記複数の映像信号の各々の対応するフレームの取得タイミングのずれが前記フレームレートの１周期未満になるように、前記複数の映像信号の各々の対応するフレームの前記映像信号を単位とする取得順序を判定する判定部と、
前記判定部で判定された前記映像信号を単位とする取得順序に従って取得された、前記複数の映像信号の各々の対応するフレームを出力するか、前記複数の映像信号の各々の対応するフレームを出力するための処理を行う出力部と、
を含む映像取得装置。
【請求項６】
前記複数の映像信号のうちの互いに異なる前記映像信号に対応する複数のバッファが設けられたバッファメモリと、
個々の前記映像信号に対応して各々設けられ、対応する前記映像信号を複数の前記バッファのうちの対応する前記バッファに格納させると共に、対応する前記バッファに１フレーム分の前記映像信号が格納される度に取得完了通知を出力する複数の書込処理部と、
複数の前記書込処理部から、前記判定部で判定された前記映像信号を単位とする取得順序における最後の映像信号に対応する前記取得完了通知が入力される度に、同期完了通知を出力する完了通知部と、
を更に備え、
前記出力部は、前記完了通知部から前記同期完了通知が出力される度に、前記複数のバッファから、前記複数の映像信号の各々の対応するフレームを読み出して出力するか、前記複数の映像信号の各々の対応するフレームを読み出して出力するための処理を行う請求項５記載の映像取得装置。
【請求項７】
前記複数のバッファには、１フレーム分の前記映像信号を格納するためのバッファ領域が各々２個以上設けられており、
個々の前記書込処理部は、対応する前記映像信号を、対応する前記バッファの２個以上のバッファ領域のうち書込用に設定された１個のバッファ領域に格納させ、
個々の前記映像信号に対応して各々設けられ、対応する前記バッファの２個以上のバッファ領域のうちの１個のバッファ領域を書込用に設定すると共に、対応する映像信号について、フレームを単位とする前記入力開始タイミング又は前記入力終了タイミングが前記通知部により通知される度に、書込用に設定した１個のバッファ領域に代えて、書込用に設定していない待機中のバッファ領域を書込用に設定することで、書込対象のバッファ領域を切替える複数のバッファ管理部を更に備えた請求項６記載の映像取得装置。
【請求項８】
前記複数のバッファには、１フレーム分の前記映像信号を格納するためのバッファ領域が各々３個以上設けられており、
個々の前記バッファ管理部は、前記完了通知部から前記同期完了通知が出力される度に、対応する前記バッファの３個以上のバッファ領域のうち、最新のフレームの映像信号が格納されたバッファ領域を出力用に設定し、
前記出力部は、前記完了通知部から前記同期完了通知が出力される度に、前記複数の映像信号の各々の対応するフレームを、個々の前記映像信号に対応する個々の前記バッファ管理部によって出力用に設定されたバッファ領域から各々読み出して出力するか、又は、前記複数の映像信号の各々の対応するフレームを、個々の前記映像信号に対応する個々の前記バッファ管理部によって出力用に設定されたバッファ領域から各々読み出して出力するための処理を行う請求項７記載の映像取得装置。
【請求項９】
個々の前記バッファ領域には物理アドレスが各々付与されており、
前記バッファ管理部は、前記書込用及び前記出力用を含む個々のバッファ領域の用途を表す識別情報と、各用途に割り当てられたバッファ領域の物理アドレスと、を対応付けて管理し、前記書込処理部及び前記出力部から書き込み対象又は読み出し対象として指定された前記バッファ領域の前記識別情報を、当該バッファ領域の物理アドレスに変換して書き込み又は読み出しを行わせる請求項４又は請求項８記載の映像取得装置。
【請求項１０】
前記映像取得装置に前記複数の映像信号を入力する撮像部は、移動体の互いに異なる位置に、前記移動体の周囲を各々撮像する向きで各々設けられている請求項１〜請求項９の何れか１項記載の映像取得装置。
【請求項１１】
個々のフレームが奇数フィールド及び偶数フィールドを各々備え、フレームレートが同一でかつ非同期に入力される複数の映像信号について、フィールドを単位とする前記映像信号の入力開始タイミング及び入力終了タイミングの少なくとも一方を各々通知する通知ステップと、
前記通知ステップにより前記複数の映像信号について各々通知された前記タイミングに基づいて、前記複数の映像信号の各々の対応するフレームの取得タイミングのずれが前記フレームレートの周期の１／２未満になるように、前記複数の映像信号の各々の対応するフレームのフレーム構造を、奇数フィールド、偶数フィールドの順に組み合わせた第１のフレーム構造と、偶数フィールド、奇数フィールドの順に組み合わせた第２のフレーム構造と、の何れにするかを各々判定すると共に、前記複数の映像信号の各々の対応するフレームの前記映像信号を単位とする取得順序を判定する判定ステップと、
前記判定ステップで判定された前記フレーム構造及び前記映像信号を単位とする取得順序に従って取得された、前記複数の映像信号の各々の対応するフレームを出力する出力ステップと、
を含む映像取得方法。
【請求項１２】
フレームレートが同一でかつ非同期に入力される複数の映像信号について、フレームを単位とする前記映像信号の入力開始タイミング及び入力終了タイミングの少なくとも一方を各々通知する通知ステップと、
前記通知ステップにより前記複数の映像信号について各々通知された前記タイミングに基づいて、前記複数の映像信号の各々の対応するフレームの取得タイミングのずれが前記フレームレートの１周期未満になるように、前記複数の映像信号の各々の対応するフレームの前記映像信号を単位とする取得順序を判定する判定ステップと、
前記判定ステップで判定された前記映像信号を単位とする取得順序に従って取得された、前記複数の映像信号の各々の対応するフレームを出力する出力ステップと、
を含む映像取得方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は映像取得装置及び映像取得方法に関する。
【背景技術】
【０００２】
従来より、複数の撮像部により各々撮像されて並列に入力される複数の映像信号の各フレームを各々取得し、取得した各フレームに対して所定の画像処理、例えば物体との距離の測定や複数の映像を合成した映像の生成等の処理を行う技術が知られている。この技術において、複数の撮像部による撮像は、互いに同期させることも可能であるが、この場合、構成が複雑化すると共に個々の撮像部のコストも嵩む。このため、複数の撮像部による撮像を非同期に行わせ、非同期に入力される複数の映像信号の各フレームを順次取得し、複数の映像信号毎に１フレームを各々取得した時点で所定の画像処理を行うことを繰り返す構成が採用されることが多い。これにより、構成が簡単になり撮像部のコストも抑制される。
【０００３】
また、上記に関連して、複数台のカメラから非同期でメモリ内に取り込まれた動画像群の映像タイミングについて、フレーム時間以上の時間ずれを検出するために、映像間の輝度変化の量からずれの発生を検出する技術も知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−５２０５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記のように複数の映像信号が非同期に入力される場合、同一の画像処理に用いられる複数の映像信号の対応するフレームが撮像されて取得されるタイミングに、最大でフレームレートの１周期分のずれが生ずるという課題がある。そして、複数の映像信号の対応するフレームの撮像・取得タイミングのずれは、例えば所定の画像処理として測距を行う場合、測定距離の誤差として現れる。また、所定の画像処理として複数の映像の合成を行う場合、合成した映像の各フレームが、撮像タイミングのずれたフレームを合成した画像となることで、合成した映像の正確性が低下することになる。
【０００６】
以下、所定の画像処理として測距を行う場合を例に、複数の映像信号の対応するフレームの撮像・取得タイミングのずれが測距結果に及ぼす誤差の大きさについて、具体例を挙げて説明する。図２１に示すように、車両等の移動体に搭載され非同期に動作する２台の撮像部３００,３０２から各々出力される映像信号を用い、映像中に被写体として写っている対象物３０４との距離を測定するステレオ測距を行う場合を考える。
【０００７】
ステレオ測距は、間隔を空けて設置した２台の撮像部３００,３０２によって被写体が同時に撮影されることを前提に、撮像部３００,３０２によって撮影された２つの画像中に被写体として各々写っている物体との距離を三角測量の原理で測定するものである。説明を簡単にするために、図２１において、撮像部３００,３０２は、撮像部３００,３０２を結ぶ基線に対して光軸が直交するように配置されているものとし(平行ステレオ)、移動体は基線と平行な方向に移動するものとする。撮像部３００,３０２の焦点距離をｆ、撮像部３００,３０２の基線長をｂ、撮像部３００,３０２から出力される２つの映像信号のうち対応するフレーム上での対象物３０４の投影位置の差(視差)をｄ(＝ｘ１−ｘ２)とする。この場合、対象物３０４までの奥行距離Ｚは次の(１)式で与えられる(図２１(Ａ)も参照)。
Ｚ＝ｆ×ｂ／ｄ  …(１)
【０００８】
ここで、２台の撮像部３００,３０２から出力される２つの映像信号のうちの対応するフレームの撮像・取得タイミングにフレームレートの１周期分(フレームレートが30フレーム／秒とすると33ｍｓ)のずれがある場合を考える。具体的には、例えば撮像部３００から出力される映像信号の或るフレームに対し、撮像部３０２から出力される映像信号の対応するフレームがフレームレートの１周期分遅れて撮像される場合を考える。
【０００９】
この場合、図２１(Ｂ)に示すように、撮像部３００が或るフレームの撮像を行ってから、撮像部３０２が移動体の移動方向に沿ってフレームレートの１周期分に相当する距離だけ移動した後に、対応するフレームの撮像が撮像部３０２で行われる。フレームレートの１周期分の時間が経過する間の移動体の移動量をΔｂとすると、撮像部３０２は、撮像部３００から、基線長ｂよりもΔｂだけ大きいｂ’だけ隔てた位置で撮像を行っていることになる。これに伴い、撮像部３０２で撮像された対応するフレーム上での対象物３０４の投影位置はｘ２'となり、演算に用いられる視差もｄ'(＝ｘ１−ｘ２')となる。このため、正確な奥行距離Ｚは、
Ｚ＝ｆ×ｂ'／ｄ'  （＝ｆ×(ｂ＋Δｂ)／ｄ'、ｄ'＝ｘ１−ｘ２')
となる。
【００１０】
しかしながら、ステレオ測距では通常、対応するフレームの撮像タイミングのずれは考慮しないため、奥行距離Ｚとしては、次の(２)式で表す奥行距離ＺＮＧが算出される。
ＺＮＧ＝ｆ×ｂ／ｄ'  …(２)
従って、奥行距離Ｚの測定結果に測距誤差ΔＺ(＝ＺＮＧ−Ｚ)が加わる。誤差率ΔＺ／Ｚは以下で求められる。
ΔＺ／Ｚ＝(Ｚ−ＺＮＧ)／Ｚ
＝(Ｚ−ｆ×ｂ／ｄ')／Ｚ
＝(Ｚ−ｂ／(ｂ＋Δｂ)×ｆ×ｂ／ｄ)／Ｚ
＝１−ｂ／（ｂ＋Δｂ）
＝Δｂ／（ｂ＋Δｂ）
【００１１】
Δｂはフレームレートの１周期分の時間が経過する間の移動体の移動量であるから、例えば移動体の移動速度が比較的低速な20ｋｍ／ｈでは、フレームレートの１周期が33ｍｓ(30フレーム／秒)であるとするとΔｂ＝20ｃｍ程度となる。また、基線長ｂは移動体が車両の場合、長くても50cm程度である。従って、測距の誤差率ΔＺ／Ｚは、20／(50＋20)＝0.3程度となり、フレームレートの１周期分の時間のずれであっても約30％の測距誤差が発生することになる。
【００１２】
なお、前述のように、映像間の輝度変化の量からフレーム時間以上の時間ずれの発生を検出する技術では、複数の映像の対応するフレームの撮像・取得タイミングのずれを小さくすることはできない。
【００１３】
開示の技術は、非同期に入力される複数の映像信号の各々の対応するフレームの取得タイミングのずれを小さくすることが目的である。
【課題を解決するための手段】
【００１４】
開示の技術は、個々のフレームが奇数フィールド及び偶数フィールドを各々備え、フレームレートが同一の複数の映像信号が非同期に入力される。通知部は、複数の映像信号について、フィールドを単位とする映像信号の入力開始タイミング及び入力終了タイミングの少なくとも一方を各々通知する。また判定部は、通知部により複数の映像信号について各々通知されたタイミングに基づいて、複数の映像信号の各々の対応するフレームのフレーム構造を判定すると共に、複数の映像信号の各々の対応するフレームの映像信号を単位とする取得順序を判定する。なお、判定部による判定は、複数の映像信号の各々の対応するフレームの取得タイミングのずれがフレームレートの周期の１／２未満になるように行われる。また、フレーム構造の判定では、奇数フィールド、偶数フィールドの順に組み合わせた第１のフレーム構造と、偶数フィールド、奇数フィールドの順に組み合わせた第２のフレーム構造と、の何れにするかが判定される。そして出力部は、判定部で判定されたフレーム構造及び映像信号を単位とする取得順序に従って取得された、複数の映像信号の各々の対応するフレームを出力する。
【００１５】
また、開示の技術は、フレームレートが同一でかつ非同期に入力される複数の映像信号について、フレームを単位とする映像信号の入力開始タイミング及び入力終了タイミングの少なくとも一方が通知部によって各々通知される。また判定部は、通知部により複数の映像信号について各々通知されたタイミングに基づいて、複数の映像信号の各々の対応するフレームの映像信号を単位とする取得順序を判定する。なお、判定部による判定は、複数の映像信号の各々の対応するフレームの取得タイミングのずれがフレームレートの１周期未満になるように行われる。そして出力部は、判定部で判定された映像信号を単位とする取得順序に従って取得された、複数の映像信号の各々の対応するフレームを出力する。
【発明の効果】
【００１６】
開示の技術は、非同期に入力される複数の映像信号の各々の対応するフレームの取得タイミングのずれを小さくすることができる、という効果を有する。
【図面の簡単な説明】
【００１７】
【図１】第１実施形態に係る映像処理装置の構成を示す概略図である。
【図２】第１実施形態に係る映像取得装置の機能ブロック図である。
【図３】物理メモリ上の各フィールドの書込領域を示すイメージ図である。
【図４】第１実施形態に係るバッファ循環テーブルの内容を示す図表である。
【図５】第１実施形態に係る論理バッファ物理メモリ対応表の内容を示す図表である。
【図６】取得順序及びフレーム構造を最適化する原理について説明するためのタイミングチャートである。
【図７】第１実施形態に係る映像取得装置のタイミング判定部によるタイミング判定処理を示すフローチャートである。
【図８】第１実施形態に係る映像取得装置の取り込み処理部による取り込み処理の流れを示すフローチャートである。
【図９】インタレース映像信号の各フィールドのデータを、循環的に選択された２個の書込用バッファ領域に各々書き込む処理を説明するためのタイミングチャートである。
【図１０】第１実施形態に係る映像取得装置の完了通知部による同期取得完了通知の出力を説明するためのタイミングチャートである。
【図１１】第１実施形態に係る映像取得装置の取り込み処理部による映像出力処理の流れを示すフローチャートである。
【図１２】画像処理装置から映像取得要求通知を受信した場合の待機用のバッファ領域と出力用のバッファ領域の入れ替えを説明するためのタイミングチャートである。
【図１３】個々の取り込み処理部から出力される対応するフレームの時間ずれを説明するためのタイミングチャートである。
【図１４】第２実施形態に係る映像取得装置の機能ブロック図である。
【図１５】第２実施形態に係るバッファ循環テーブルの内容を示す図表である。
【図１６】第２実施形態に係る論理バッファ物理メモリ対応表の内容を示す図表である。
【図１７】第２実施形態に係る映像取得装置のタイミング判定部によるタイミング判定処理を示すフローチャートである。
【図１８】第２実施形態に係る映像取得装置の取り込み処理部による取り込み処理の流れを示すフローチャートである。
【図１９】第２実施形態において、個々の取り込み処理部から出力される対応するフレームの時間ずれを説明するためのタイミングチャートである。
【図２０】第３実施形態に係る映像処理装置の構成を示す概略図である。
【図２１】従来の技術において、複数の映像の対応するフレームの撮像・取得タイミングのずれがステレオ測距に及ぼす影響を説明するための概略図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
【００１９】
〔第１実施形態〕
図１には第１実施形態に係る映像処理装置１０が示されている。映像処理装置１０は、ｎ(ｎ≧２)台の撮像部２８から出力された映像信号を取得する映像取得装置１２と、画像処理装置１４と、メインメモリ１６と、これらを相互に接続するためのメイン・バス１８と、を備えている。なお、ｎ台の撮像部２８は、移動体(例えば車両)の互いに異なる位置に、前記移動体の周囲を撮像する向きで各々設けられており、互いに非同期に動作する。また、ｎ台の撮像部２８は、フレームレートが互いに同一で、個々のフレームが奇数フィールド及び偶数フィールドを各々備えたインタレース形式の映像信号(以下、インタレース映像信号と称する)を各々出力する。
【００２０】
映像取得装置１２は、バッファメモリ２０と、バスＩ／Ｆ(インタフェース)２２と、ｎ台の撮像部２８に各々接続された映像入力制御部２４と、これらを相互に接続するためのローカル・バス２６とを備えている。バッファメモリ２０は、ｎ台の撮像部２８から各々入力された映像信号をデータとして格納するためのメモリである。バスＩ／Ｆ２２は、メイン・バス１８とローカル・バス２６との間に設けられており、メイン・バス１８を介しての映像取得装置１２と画像処理装置１４との通信を司る。映像入力制御部２４は、ｎ台の撮像部２８から映像信号を取得し、各映像信号のデータをバッファメモリ２０に格納させる。また、映像入力制御部２４は、画像処理装置１４からの要求に応じて、バッファメモリ２０に格納された各映像信号のデータを、対応するフレームを単位として読み出して画像処理装置１４へ送信する。
【００２１】
画像処理装置１４は、ローカル・バス２６、バスＩ／Ｆ２２、メイン・バス１８を通じて映像取得装置１２から対応するフレームを単位として各映像信号のデータを受信し、受信したデータをメインメモリ１６に格納する。画像処理装置１４は、メインメモリ１６に格納した各映像信号のデータに基づき、各映像信号の対応するフレームのデータを単位として、例えばステレオ測距処理や、複数の映像信号が表す映像を合成した映像の生成等の画像処理を行う。
【００２２】
映像取得装置１２は、例えば複数の電子回路で実現される。図２に示すように、映像取得装置１２は、ｎ台の撮像部２８に対応して各々設けられたｎ個の取り込み処理部３０と、タイミング判定部３２及び完了通知部３４を備えている。タイミング判定部３２は開示の技術における判定部の一例であり、完了通知部３４は開示の技術における完了通知部の一例である。
【００２３】
ｎ個の取り込み処理部３０は、対応する撮像部２８から非同期に出力されるインタレース映像信号を各々取り込む。本実施形態では、バッファメモリ２０の記憶領域が、ｎ個の取り込み処理部３０のうちの互いに異なる取り込み処理部３０に対応するｎ個の記憶領域(バッファ)に分割されている。個々の取り込み処理部３０は、取り込んだインタレース映像信号のデータを、バッファメモリ２０に設けられたｎ個のバッファのうちの対応するバッファに格納させる。なお、ｎ個のバッファには、インタレース映像信号の１フレーム分のデータを記憶可能なバッファ領域が各々４個設けられており、インタレース映像信号のデータは、４個のバッファ領域のうち書込用に設定された２個のバッファ領域に各々格納される(詳細は後述)。
【００２４】
また、個々の取り込み処理部３０は、取り込んだインタレース映像信号の各フィールド毎の入力開始タイミングを検出すると共に、入力が開始されるフィールドが奇数フィールドか偶数フィールドかを検出し、検出結果をタイミング判定部３２に各々通知する。また、個々の取り込み処理部３０は、インタレース映像信号のデータとして、タイミング判定部３２から通知されたフレーム構造(後述)の１フレーム分のデータをバッファメモリ２０の対応するバッファに格納させる度に、完了通知部３４へ取得完了通知を出力する。更に、個々の取り込み処理部３０は、画像処理装置１４から映像取得要求通知を受信すると、対応するバッファから１フレーム分の映像信号のデータを読み出し、画像処理装置１４へ各々送信する。
【００２５】
タイミング判定部３２は、映像信号の取り込み開始が指示されると、ｎ個のインタレース映像信号の各フィールド毎の入力開始タイミング及び入力フィールドの種別(奇数／偶数フィールド)の検出結果をｎ個の取り込み処理部３０から各々取得する。また、タイミング判定部３２は、ｎ個の取り込み処理部３０から取得した前記検出結果に基づいて、ｎ個のインタレース映像信号の対応するフレームの取得タイミングのずれが最小になるように、個々の映像信号毎の取得順序及びフレーム構造を判定する。なお、上記のフレーム構造には、フレームを奇数フィールド、偶数フィールドの順に組み合わせた第１のフレーム構造と、フレームを偶数フィールド、奇数フィールドの順に組み合わせた第２のフレーム構造と、があり、その何れであるかが判定される。そして、タイミング判定部３２は、判定したフレーム構造に従い、ｎ個の取り込み処理部３０の各々に対し、第１のフレーム構造と判定した場合は「偶数完了時通知設定」を、第２のフレーム構造と判定した場合は「奇数完了時通知設定」を出力する。また、タイミング判定部３２は、個々の映像信号毎の取得順序の判定結果を完了通知部３４へ通知する。
【００２６】
完了通知部３４は、個々の取り込み処理部３０からの取得完了通知の入力を監視する。そして完了通知部３４は、タイミング判定部３２から通知された個々の映像信号毎の取得順序における最後の映像信号に対応する取得完了通知が入力される度に、画像処理装置１４へ同期取得完了通知を送信する。
【００２７】
ｎ個の取り込み処理部３０は、入力部３６、奇偶通知部３８、バッファ管理部４０、書込処理部４２及び映像出力部４４を各々備えている。なお、奇偶通知部３８は開示の技術における通知部の一例であり、バッファ管理部４０は開示の技術におけるバッファ管理部の一例であり、書込処理部４２は開示の技術における書込処理部の一例であり、映像出力部４４は開示の技術における出力部の一例である。
【００２８】
入力部３６は、対応する撮像部２８から出力されるインタレース映像信号を取得し、取得したインタレース映像信号がＮＴＳＣなどのアナログ信号であればデジタル信号に変換した後に、奇偶通知部３８に出力する。
【００２９】
奇偶通知部３８は、入力部３６から入力されたインタレース映像信号の各フィールド毎の入力開始タイミングを検出すると共に、入力が開始されるフィールドが奇数フィールドか偶数フィールドかを検出する。そして、検出結果をバッファ管理部４０(のバッファ切替部５０)、書込処理部４２及びタイミング判定部３２に各々通知する。また、入力部３６から入力されたインタレース映像信号を書込処理部４２へ出力する。
【００３０】
書込処理部４２は、奇偶通知部３８から入力されたインタレース映像信号のデータを、１フィールドを単位として、バッファ管理部４０によって書込用に設定された２個のバッファ領域に、バッファ管理部４０を通じて各々書き込む処理を行う。なお、個々のバッファ領域に対応する物理メモリは、例えば図３(Ａ)に示すように、奇数フィールド書込領域と、偶数フィールド書込領域がフィールド単位で順に設けられていてもよい。また、例えば図３(Ｂ)に示すように、奇数フィールド書込領域と、偶数フィールド書込領域と、が１ライン毎に交互に設けられていてもよい。書込処理部４２は、書込対象のデータが奇数フィールドの場合は当該データを奇数フィールド書込領域に書き込み、書込対象のデータが偶数フィールドの場合は当該データを偶数フィールド書込領域に書き込む。
【００３１】
また、書込処理部４２は、タイミング判定部３２から「偶数完了時通知設定」が入力されていた場合は、書込用のバッファ領域に偶数フィールドのデータの書き込みが完了したタイミングで、完了通知部３４へ取得完了通知を出力する。一方、書込処理部４２は、タイミング判定部３２から「奇数完了時通知設定」が入力されていた場合は、書込用のバッファ領域に奇数フィールドのデータの書き込みが完了したタイミングで、完了通知部３４へ取得完了通知を出力する。
【００３２】
映像出力部４４は、画像処理装置１４から取得要求を受信すると、バッファ管理部４０に対して出力用のバッファ領域の設定を要求する出力バッファ設定要求を出力する。また映像出力部４４は、出力バッファ設定要求に従ってバッファ管理部４０により出力用のバッファ領域が設定されると、出力用に設定されたバッファ領域から１フレーム分のインタレース映像信号のデータをバッファ管理部４０を通じて読み出す。そして映像出力部４４は、読み出した１フレーム分のインタレース映像信号のデータを画像処理装置１４へ送信する。
【００３３】
バッファ管理部４０は、単一の取り込み処理部３０に対応するバッファに設けられた４個のバッファ領域に対し、書込用／出力用／待機用の何れかの用途を設定すると共に、用途の設定を適宜変更し、かつ各バッファ領域の論理アドレスを管理する。バッファ管理部４０は、バッファ循環テーブル記憶部４６、バッファ番号算出部４８、バッファ切替部５０、論理バッファ物理メモリ対応表記憶部５２及び物理メモリ番号算出部５４を備えている。
【００３４】
バッファ循環テーブル記憶部４６は、一例として図４に示すようなバッファ循環テーブルを記憶している。バッファ循環テーブルは、バッファ領域の状態番号が各値(本第１実施形態では１〜３)の場合について、４個のバッファ領域の各々の用途を規定する情報が登録されたテーブルである。図４に示すように、本第１実施形態では、４個のバッファ領域のうちの２個のバッファ領域が書込用に設定され、残りの２個のバッファ領域のうちの一方が待機用に、他方が出力用に設定される。また、バッファ循環テーブルに設定されている「バッファ１」〜「バッファ４」は、４個のバッファ領域に各々付与された論理アドレスである。論理アドレスが{バッファ４}のバッファ領域は、バッファ領域の状態番号の遷移に拘わらず常に出力用に設定され、論理アドレスが{バッファ１}〜{バッファ３}のバッファ領域は、バッファ領域の状態番号の遷移に伴って書込用又は待機用に設定される。
【００３５】
バッファ番号算出部４８はバッファ領域の現在の状態番号を保持しており、バッファ切替部５０からバッファ領域の状態番号の遷移が指示される度に、保持している状態番号が１→２→３→１→…と循環するように状態番号を変更する。また、バッファ番号算出部４８は、書込処理部４２から書込用のバッファ領域へのデータの書き込みが指示されると、バッファ循環テーブルを参照し、保持しているバッファ領域の状態番号で書込用に設定されている２個のバッファ領域の論理アドレスを認識する。そして、認識した２個のバッファ領域の論理アドレスを物理メモリ番号算出部５４へ出力する。
【００３６】
また、バッファ番号算出部４８は、映像出力部４４から出力バッファの設定が要求されると、バッファ循環テーブルを参照し、保持しているバッファ領域の状態番号で待機用又は出力用に設定されている２個のバッファ領域の論理アドレスを認識する。そして、認識した２個のバッファ領域の論理アドレスを物理メモリ番号算出部５４へ出力し、それぞれのバッファ領域の入れ替えを指示する。更に、バッファ番号算出部４８は、映像出力部４４より出力用バッファからのデータの読み出しが指示されると、出力用に設定されているバッファ領域の論理アドレス{バッファ４}を物理メモリ番号算出部５４へ出力し、データの読み出しを指示する。
【００３７】
バッファ切替部５０は、入力部３６から入力が開始されるインタレース映像信号のフィールドが奇数フィールドか偶数フィールドかの検出結果が奇偶通知部３８から入力される度に、バッファ番号算出部４８に対してバッファ領域の状態番号の遷移を指示する。
【００３８】
論理バッファ物理メモリ対応表記憶部５２は、一例として図５の各行に示すような論理バッファ物理メモリ対応表を記憶している。論理バッファ物理メモリ対応表は、４個のバッファ領域に各々付与された論理アドレス{バッファ１}〜{バッファ４}と、４個のバッファ領域の各々の物理アドレスを対応付けるテーブルである。
【００３９】
物理メモリ番号算出部５４は、バッファ番号算出部４８から書込用の２個のバッファ領域の論理アドレスが入力されると、論理バッファ物理メモリ対応表を参照し、書込用の２個のバッファ領域の物理アドレスを認識する。そして、書込処理部４２から入力された書込対象のデータを、物理アドレスを認識した２個のバッファ領域に各々書き込む。また、物理メモリ番号算出部５４は、バッファ番号算出部４８から２個のバッファ領域の論理アドレスが入力されて入れ替えが指示されると、前記２個のバッファ領域に付与されている論理アドレスが入れ替わるように論理バッファ物理メモリ対応表を更新する。更に、物理メモリ番号算出部５４は、バッファ番号算出部４８から出力用のバッファ領域の論理アドレスが入力されてデータの読み出しが指示されると、論理バッファ物理メモリ対応表を参照し、出力用のバッファ領域の物理アドレスを認識する。そして、物理アドレスを認識した出力用のバッファ領域から１フレーム分のデータを読み出し、読み出したデータを映像出力部４４へ出力させる。
【００４０】
次に、本第１実施形態の作用を説明する。複数の映像信号が非同期に入力される場合、前述のように、同一の画像処理に用いられる複数の映像信号の対応するフレームの撮像・取得タイミングに、最大でフレームレートの１周期分のずれが生ずる。一方、本実施形態において、ｎ台の撮像部２８から各々入力されるインタレース映像信号は、各フレームが奇数フィールド及び偶数フィールドを有する映像であり、通常、奇数フィールド→偶数フィールドの順で合成することで１フレーム分の画像が形成される。
【００４１】
ここで、非同期に入力される複数の映像信号から奇数フィールド→偶数フィールドの順で合成して１フレーム分の画像を各々形成する場合にも、複数の映像信号の取得順序を変更設定することで、対応するフレームのずれを小さくできる可能性がある。すなわち、図６の例において「フレーム単位での最小時間ずれ」と表記して示すように、映像信号の取得順序を映像信号３→映像信号４→映像信号１→映像信号２の順とすれば、映像信号の対応するフレームの撮像(入力)タイミングの時間ずれが最小となる。この場合、複数の映像信号の対応するフレームの時間ずれを、最大でもフレームレートの１周期の±１／２(＝１フィールド時間であり、30フレーム／秒であれば16.7ｍｓ)未満、すなわちフレームレートの１周期未満に短縮することが可能となる。
【００４２】
また、１フレーム分の画像を形成する２つのフィールドは、奇数フィールドの方が先に入力されることに限られるものではなく、偶数フィールドの方が先に入力された２つのフィールドでも１フレーム分の画像を形成可能である。すなわち、時刻ｔに入力されたｉ番目のフレームの偶数フィールドと、時刻ｔ＋α(αはフレームレートの周期の1/2)に入力されたｉ＋１番目のフレームの奇数フィールドを合成しても１フレーム分の画像を形成可能である。このため、複数の映像信号の取得順序を変更設定すると共に、個々の映像信号から１フレーム分の画像を形成するための境界として、個々の映像信号のフィールド単位の境界の中から選択的に設定すれば、複数の映像信号の対応するフレームのずれは更に小さくなる。
【００４３】
すなわち、図６の例において「フィールド単位での最小時間ずれ」と表記して示すように、映像信号の取得順序を映像信号２→３→４→１の順にすると共に、１フレーム分の画像を、映像信号１,３,４は奇→偶の順に、映像信号２は偶→奇の順に取得する。なお、映像信号の取得順序を映像信号２→３→４→１の順にすると共に、１フレーム分の画像を、映像信号１,３,４は偶→奇の順に、映像信号２は奇→偶の順に取得してもよい。これにより、映像信号の対応するフレームの撮像(入力)タイミングの時間ずれが更に小さくなり、最大でもフレームレートの１周期の±１／４(＝１フィールド時間の１／２であり、30フレーム／秒であれば8.4ｍｓ)未満、すなわちフレームレートの１周期の１／２未満に短縮することが可能となる。なお、１フレーム分の画像を奇→偶のフィールド順に取得することは、前記画像のフレーム構造を、開示の技術における第１のフレーム構造にすることの一例である。また、１フレーム分の画像を偶→奇のフィールド順に取得することは、前記画像のフレーム構造を、開示の技術における第２のフレーム構造にすることの一例である。
【００４４】
本第１実施形態では、タイミング判定部３２が、以下で説明するタイミング判定処理を行うことで、各映像信号の対応するフレームの時間ずれが最小になるように、各映像信号の取得順序及び各映像信号の対応するフレームのフレーム構造が最適化される。
【００４５】
すなわち、利用者が操作部（図示省略）を操作して映像処理装置１０の作動を開始させると、ｎ台の撮像部２８が撮像を開始し、ｎ台の撮像部２８からは、撮影した映像を表すインタレース映像信号が非同期で出力される。また、画像処理装置１４から映像取得装置１２に映像取り込み開始通知が与えられ、この映像取り込み開始通知をトリガとして、映像取得装置１２のタイミング判定部３２によって、図７に示すタイミング判定処理が実行される。
【００４６】
タイミング判定処理のステップ１００において、タイミング判定部３２は、ｎ台の撮像部２８から非同期で入力されるｎ個のインタレース映像信号の対応するフレームの各々の時間ずれの最小値を表す変数ｄｔ_ｍｉｎに、初期値として大きな値を設定する。また、ステップ１０２において、タイミング判定部３２は、ｎ個の取り込み処理部３０に対してインタレース映像信号の取り込み開始を指示する。これにより、ｎ個の取り込み処理部３０の各々から、インタレース映像信号の各フィールドの入力開始タイミングの検出結果及び各フィールドの奇偶の判定結果が繰り返し出力される。
【００４７】
次のステップ１０４において、タイミング判定部３２は、先頭(基準)とするインタレース映像信号に対する判定対象のフィールドとして奇数フィールドを設定する。ステップ１０６において、タイミング判定部３２は、先頭(基準)とするインタレース映像信号を識別するための変数ｉに初期値として１を設定する。
【００４８】
ステップ１０８において、タイミング判定部３２は、先頭(基準)とするインタレース映像信号に対し、判定対象のフィールドとして奇数フィールドが設定されているか否かを判定する。先頭(基準)とするインタレース映像信号に対し、判定対象のフィールドとして奇数フィールドが設定されている場合、ステップ１０８の判定が肯定されてステップ１１０へ移行する。
【００４９】
ステップ１１０において、タイミング判定部３２は、先頭(基準)とするインタレース映像信号Ａｉを取り込む取り込み処理部３０により、インタレース映像信号Ａｉの奇数フィールドの入力開始タイミングが検出されるまで待機する。インタレース映像信号Ａｉの奇数フィールドの入力開始タイミングが検出されると、ステップ１１０からステップ１１６へ移行し、タイミング判定部３２はタイマを０にリセットする。
【００５０】
一方、先頭(基準)とするインタレース映像信号Ａｉに対し、判定対象のフィールドとして偶数フィールドが設定されている場合、ステップ１０８の判定が否定されてステップ１１２へ移行する。ステップ１１２において、タイミング判定部３２は、先頭(基準)とするインタレース映像信号Ａｉを取り込む取り込み処理部３０により、インタレース映像信号Ａｉの偶数フィールドの入力開始タイミングが検出されるまで待機する。インタレース映像信号Ａｉの偶数フィールドの入力開始タイミングが検出されると、ステップ１１２からステップ１１４へ移行し、タイミング判定部３２はタイマを０にリセットする。
【００５１】
次のステップ１１８において、タイミング判定部３２は、残りのインタレース映像信号を取り込むｎ−１個の取り込み処理部３０の各々により、残りのインタレース映像信号の最初のフィールドの入力開始タイミングが各々検出されるまで待機する。残りのｎ−１個のインタレース映像信号について、最初のフィールドの入力開始タイミングが各々検出されると、ステップ１１８からステップ１２０へ移行し、タイミング判定部３２は、ずれ時間ｄｔとしてタイマから時間を取得する。
【００５２】
次のステップ１２２において、タイミング判定部３２は、ｎ−１個の取り込み処理部３０によって最初のフィールドの入力開始タイミングが検出された順序に基づき、フィールドの入力開始タイミングが最後に検出されたインタレース映像信号の番号Ｓを取得する。また、タイミング判定部３２は、先頭(基準)とするインタレース映像信号Ａｉを含むｎ個のインタレース映像信号の各々の最初のフィールドが奇数フィールドか偶数フィールドかを表す奇偶リストｆｌｉｓｔを取得する。
【００５３】
次のステップ１２４において、タイミング判定部３２は、ステップ１２０で取得したずれ時間ｄｔが変数ｄｔ_ｍｉｎより小さいか否か判定する。ずれ時間ｄｔが変数ｄｔ_ｍｉｎ以上の場合、ステップ１２４の判定が否定されて後述のステップ１２８へ移行する。一方、ずれ時間ｄｔが変数ｄｔ_ｍｉｎよりも小さい場合、タイミング判定部３２は、ずれ時間の最小値が更新された(ずれ時間の新たな最小値が得られた)と判断し、ステップ１２６へ移行する。
【００５４】
ステップ１２６において、タイミング判定部３２は、新たに得られたずれ時間の最小値を変数ｄｔ_ｍｉｎに設定すると共に、ずれ時間の最小値が得られるときの先頭のインタレース映像信号の番号を表す変数ｉ_ｍｉｎに、変数ｉの現在の値を設定する。また、タイミング判定部３２は、ずれ時間の最小値が得られるときの最後のインタレース映像信号の番号を表す変数Ｓ_ｍｉｎに、先のステップ１２２で取得した番号Ｓ(フィールドの入力開始タイミングが最後に検出されたインタレース映像信号の番号)を設定する。更に、タイミング判定部３２は、ずれ時間の最小値が得られるときの奇偶リストｆｌｉｓｔ_ｍｉｎに、先のステップ１２２で取得した奇偶リストｆｌｉｓｔを設定する。
【００５５】
次のステップ１２８において、タイミング判定部３２は、変数ｉを１だけインクリメントする。ステップ１３０において、タイミング判定部３２は、変数ｉがインタレース映像信号の総数ｎ以下であるか否か判定する。変数ｉが総数ｎ以下の場合は、ステップ１３０の判定が肯定されてステップ１０８へ戻り、ステップ１３０の判定が否定される迄ステップ１０８〜ステップ１３０が繰り返される。これにより、判定対象のフィールドが奇数フィールドの場合に、ずれ時間ｄｔが最小となるときの、先頭(基準)とするインタレース映像信号の番号ｉ_ｍｉｎ、最後のインタレース映像信号の番号Ｓ_ｍｉｎ、奇偶リストｆｌｉｓｔ_ｍｉｎが求まる。
【００５６】
また、変数ｉが総数ｎより大きくなると、ステップ１３０の判定が否定されてステップ１３２へ移行する。ステップ１３２において、タイミング判定部３２は、奇数フィールド及び偶数フィールドを判定対象のフィールドに各々設定して上記処理を行ったか否か判定する。ステップ１３２の判定が否定された場合はステップ１３４へ移行し、タイミング判定部３２は、先頭(基準)とするインタレース映像信号に対する判定対象のフィールドとして、偶数フィールドを設定する。ステップ１３４の処理を行うとステップ１０６に戻り、ステップ１３２の判定が肯定される迄、ステップ１０６〜ステップ１３４を繰り返す。そしてステップ１３２の判定が肯定されると、タイミング判定部３２はタイミング判定処理を終了する。
【００５７】
これにより、判定対象のフィールドが奇数／偶数のフィールドの各場合を含めてずれ時間ｄｔが最小となるときの、先頭(基準)とするインタレース映像信号の番号ｉ_ｍｉｎ、最後のインタレース映像信号の番号Ｓ_ｍｉｎ、奇偶リストｆｌｉｓｔ_ｍｉｎが求まる。タイミング判定部３２は、タイミング判定処理が終了すると、インタレース映像信号の最適な取得順序として、最終的に得られた最後の(最後に取得する)インタレース映像信号の番号Ｓ_ｍｉｎを完了通知部３４に出力する。
【００５８】
また、タイミング判定部３２は、最終的に得られた奇偶リストｆｌｉｓｔ_ｍｉｎに基づいて、ｎ個の取り込み処理部３０の書込処理部４２に対し、「奇数完了時通知設定」又は「偶数完了時通知設定」を出力する。例えば、或る取り込み処理部３０で取得されるインタレース映像信号について、最初のフィールドとして奇数フィールドが設定されている場合、タイミング判定部３２は、当該取り込み処理部３０の書込処理部４２に対して「偶数完了時通知設定」を出力する。また、或る取り込み処理部３０で取得されるインタレース映像信号について、最初のフィールドとして偶数フィールドが設定されている場合、タイミング判定部３２は、当該取り込み処理部３０の書込処理部４２に対して「奇数完了時通知設定」を出力する。
【００５９】
また、タイミング判定部３２によってタイミング判定処理が行われ、ｎ個の取り込み処理部３０の書込処理部４２に「奇数完了時通知設定」又は「偶数完了時通知設定」が出力されると、個々の取り込み処理部３０でインタレース映像信号の取り込みが行われる。以下、図８を参照し、個々の取り込み処理部３０によるインタレース映像信号の取り込みにおける処理の流れを説明する。
【００６０】
ステップ１４０において、取り込み処理部３０の入力部３６は、対応する撮像部２８からインタレース映像信号を取り込み、取り込んだインタレース映像信号がアナログ信号であればデジタル信号に変換した後に奇偶通知部３８に出力する処理を開始する。ステップ１４２において、奇偶通知部３８は、インタレース映像信号の任意のフィールドの入力が開始されるタイミングを検出したか否か判定し、判定が肯定される迄ステップ１４２を繰り返す。
【００６１】
奇偶通知部３８がインタレース映像信号の任意のフィールドの入力開始タイミングを検出すると、ステップ１４２の判定が肯定されてステップ１４４へ移行する。ステップ１４４において、奇偶通知部３８は、インタレース映像信号のうち入力が開始されるフィールドが奇数フィールドか偶数フィールドかを検出し、検出結果をバッファ管理部４０(のバッファ切替部５０)及び書込処理部４２に各々通知する。
【００６２】
ステップ１４６において、入力が開始されるフィールドの奇偶の検出結果が奇偶通知部３８から通知されたバッファ管理部４０のバッファ切替部５０は、バッファ管理部４０のバッファ番号算出部４８に対してバッファ領域の状態番号の遷移を指示する。状態番号の遷移が指示されると、バッファ番号算出部４８は、自身が保持している状態番号を１だけインクリメントすると共に、インクリメント後の状態番号が３よりも大きい場合は状態番号を１に戻すことで、バッファ領域の状態番号を遷移させる。これにより、図４に示すように、書込用の２個のバッファ領域のうち書込用第１バッファが待機用バッファ(フレーム確定バッファ)に、書込用第２バッファが書込用第１バッファに、待機用バッファが書込用第２バッファに切り替わることになる。
【００６３】
次のステップ１４８において、書込処理部４２は、奇偶通知部３８によって入力開始タイミングが検出されたフィールド(書込対象のフィールド)のデータを書込用バッファ領域へ書き込むようバッファ管理部４０へ指示する。ステップ１５０において、データの書き込みが指示されたバッファ管理部４０のバッファ番号算出部４８は、バッファ循環テーブル記憶部４６に記憶されているバッファ循環テーブルを参照する。そしてバッファ番号算出部４８は、現在保持しているバッファ領域の状態番号で書込用に設定されている２個のバッファ領域の論理アドレスを取得し、取得した２個のバッファ領域の論理アドレスを物理メモリ番号算出部５４へ出力し、データの書き込みを指示する。
【００６４】
ステップ１５２において、物理メモリ番号算出部５４は、論理バッファ物理メモリ対応表記憶部５２に記憶されている論理バッファ物理メモリ対応表を参照する。そして物理メモリ番号算出部５４は、バッファ番号算出部４８より入力された論理アドレスに基づいて、２個の書込用バッファ領域の物理アドレスを認識する。次のステップ１５４において、物理メモリ番号算出部５４は、物理アドレスを認識した２個の書込用バッファ領域に、書込対象のフィールドのデータを書き込む。
【００６５】
２個の書込用バッファ領域への書込対象のフィールドのデータの書き込みが完了すると、次のステップ１５６において、書込処理部４２は、書込対象のフィールドが書込完了時に通知する完了時通知フィールドか否か判定する。この判定は、タイミング判定部３２から書込処理部４２に「奇数完了時通知設定」が入力されていた場合には、書込対象のフィールドが奇数フィールドの場合に肯定され、書込対象のフィールドが偶数フィールドの場合に否定される。また、ステップ１５６の判定は、タイミング判定部３２から書込処理部４２に「偶数完了時通知設定」が入力されていた場合には、書込対象のフィールドが偶数フィールドの場合に肯定され、書込対象のフィールドが奇数フィールドの場合に否定される。
【００６６】
ステップ１５６の判定が否定された場合はステップ１６０へ移行する。また、ステップ１５６の判定が肯定された場合はステップ１５８へ移行し、ステップ１５８において、書込処理部４２は、完了通知部３４へ取得完了通知を出力する。またステップ１６０において、取り込み処理部３０は、インタレース映像信号の入力が終了したか否か判定する。判定が否定された場合はステップ１４２に戻り、インタレース映像信号の入力が継続されている間、ステップ１４２〜ステップ１６０が繰り返される。そして、インタレース映像信号の入力が終了すると上述した一連の処理を終了する。
【００６７】
上述した処理について、図９を参照して更に説明する。図９に示すように、個々の取り込み処理部３０に入力されたインタレース映像信号は、各フィールドのデータが、論理アドレスが{バッファ１}〜{バッファ３}のバッファ領域のうち、入力開始時点で書込用に設定された２個のバッファ領域に各々書き込まれる。また、図９に示すように、入力されたインタレース映像信号の各フィールド毎に、３個のバッファ領域のうち書込用に設定された２個のバッファ領域が循環的に切り替わる。
【００６８】
例えば、図９において、最初に入力された奇数フィールドのデータは、当該奇数フィールドの入力開始時点で書込用に設定されている論理アドレス{バッファ１、バッファ２}のバッファ領域に各々書き込まれる。また、最初の奇数フィールドのデータの書き込みが完了し、２番目のフィールド(偶数フィールド)のデータの入力が開始される時点では書込用のバッファ領域が切り替わる。従って、図９において、２番目のフィールド(偶数フィールド)のデータは、当該フィールドの入力開始時点で書込用に設定されている論理アドレス{バッファ２、バッファ３}のバッファ領域に各々書き込まれる。また、２番目のフィールド(偶数フィールド)のデータの書き込みが完了した時点で、論理アドレス｛バッファ２｝のバッファ領域は、直前の奇数フィールド→偶数フィールドの順に各フィールドのデータを合成した１フレーム分のデータが格納された状態となる。
【００６９】
また、２番目のフィールド(偶数フィールド)のデータの書き込みが完了し、３番目のフィールド(奇数フィールド)のデータの入力が開始される時点では書込用のバッファ領域が更に切り替わる。従って、図９において、３番目のフィールド(奇数フィールド)のデータは、当該フィールドの入力開始時点で書込用に設定されている論理アドレス{バッファ３、バッファ１}のバッファ領域に各々書き込まれる。また、３番目のフィールド(奇数フィールド)のデータの書き込みが完了した時点で、論理アドレス{バッファ３}のバッファ領域は、直前の偶数フィールド→奇数フィールドの順に各フィールドのデータを合成した１フレーム分のデータが格納された状態となる。
【００７０】
また、３番目のフィールド(奇数フィールド)のデータの書き込みが完了し、４番目のフィールド(偶数フィールド)のデータの入力が開始される時点では書込用のバッファ領域が更に切り替わる。従って、図９において、４番目のフィールド(偶数フィールド)のデータは、当該フィールドの入力開始時点で書込用に設定されている論理アドレス{バッファ１、バッファ２}のバッファ領域に各々書き込まれる。また、４番目のフィールド(偶数フィールド)のデータの書き込みが完了した時点で、論理アドレス{バッファ１}のバッファ領域は、直前の奇数フィールド→偶数フィールドの順に各フィールドのデータを合成した１フレーム分のデータが格納された状態となる。
【００７１】
このように、本実施形態において、取り込み処理部３０は、論理アドレス{バッファ１}〜{バッファ３}の３個のバッファ領域の中から書込用のバッファ領域として２個のバッファ領域を循環的に選択し、各フィールドのデータを２個のバッファ領域に各々書き込む。また、３個のバッファ領域のうち最新のデータが格納されているバッファ領域も循環的に切り替わり、当該バッファ領域に格納されている１フレーム分のデータも、奇数→偶数フィールドの順のデータと偶数→奇数フィールドの順のデータとに循環的に切り替わる。
【００７２】
また、書込処理部４２に「奇数完了時通知設定」が入力されていた場合、図９に「奇数完了時通知設定の場合」と表記して示すように、奇数フィールドのデータの書き込みが完了したタイミングで書込処理部４２から完了通知部３４へ取得完了通知が出力される。一方、書込処理部４２に「偶数完了時通知設定」が入力されていた場合、図９に「偶数完了時通知設定の場合」と表記して示すように、偶数フィールドのデータの書き込みが完了したタイミングで書込処理部４２から完了通知部３４へ取得完了通知が出力される。
【００７３】
図８に示す処理は個々の取り込み処理部３０で各々行われるが、個々の取り込み処理部３０にはインタレース映像信号が非同期に入力されるので、図１０に示すように、個々の取り込み処理部３０の書込処理部４２からも取得完了通知が非同期に出力される。完了通知部３４は、任意の取り込み処理部３０から取得完了通知が入力される度に、取得完了通知の入力元が、タイミング判定部３２から入力された最後に取得するインタレース映像信号の番号Ｓ_ｍｉｎに対応する取り込み処理部３０か否か判定する。
【００７４】
完了通知部３４は、取得完了通知の入力元が、最後に取得するインタレース映像信号の番号Ｓ_ｍｉｎに対応する取り込み処理部３０でない場合には、何も処理を行わない。また、取得完了通知の入力元が、最後に取得するインタレース映像信号の番号Ｓ_ｍｉｎに対応する取り込み処理部３０である場合、完了通知部３４は、画像処理装置１４へ同期取得完了通知を送信する。
【００７５】
図１０は、最初の(最初に取得する)インタレース映像信号が映像信号２、最後の(最後に取得する)インタレース映像信号が映像信号１で、映像信号１に対応する取り込み処理部３０から取得完了通知が入力されると同期取得完了通知が送信される例を示している。このように、完了通知部３４は、最後に取得するインタレース映像信号に対応する取り込み処理部３０から取得完了通知が入力される度に同期取得完了通知を送信することを、インタレース映像信号の１フレーム毎に繰り返す。
【００７６】
画像処理装置１４は、映像取得装置１２の完了通知部３４から受信した同期取得完了通知に応答して、ｎ個のインタレース映像信号の各々の対応するフレームのデータを１フレーム分取得するために、映像取得装置１２へ映像取得要求通知を送信する。映像取得装置１２は、画像処理装置１４から映像取得要求通知を受信すると、受信した映像取得要求通知をｎ個の取り込み処理部３０の映像出力部４４に各々分配する。これにより、個々の取り込み処理部３０で１フレーム分のインタレース映像信号のデータの出力が行われる。以下、図１１を参照し、個々の取り込み処理部３０による１フレーム分のインタレース映像信号のデータの出力における処理の流れを説明する。
【００７７】
ステップ１７０において、映像出力部４４は、画像処理装置１４から映像取得要求通知を受信したか否か判定し、判定が肯定される迄ステップ１７０を繰り返す。画像処理装置１４から映像取得要求通知を受信すると、ステップ１７０の判定が肯定されてステップ１７２へ移行する。ステップ１７２において、映像出力部４４は、バッファ管理部４０に対して出力バッファの設定を要求する。
【００７８】
出力バッファの設定が要求されると、次のステップ１７４において、バッファ管理部４０のバッファ番号算出部４８は、バッファ循環テーブル記憶部４６に記憶されているバッファ循環テーブルを参照する。また、バッファ番号算出部４８は、現在保持しているバッファ領域の状態番号で出力用又は待機用に設定されている２個のバッファ領域の論理アドレスをバッファ循環テーブルから取得する。そしてバッファ番号算出部４８は、取得した２個のバッファ領域の論理アドレスを物理メモリ番号算出部５４へ出力し、それぞれのバッファ領域の論理アドレスの入れ替えを指示する。
【００７９】
ステップ１７６において、バッファ管理部４０の物理メモリ番号算出部５４は、論理バッファ物理メモリ対応表記憶部５２に記憶されている論理バッファ物理メモリ対応表を参照する。そして、物理メモリ番号算出部５４は、バッファ番号算出部４８から論理アドレスが入力された２個のバッファ領域の物理アドレスを認識する。また、ステップ１７８において、物理メモリ番号算出部５４は、物理アドレスを認識した２個のバッファ領域の論理アドレスが入れ替わるように論理バッファ物理メモリ対応表を更新する。具体的には、出力用に設定されていたバッファ領域の論理アドレスを、待機用に設定されていたバッファ領域の論理アドレスへ変更し、待機用に設定されていたバッファ領域の論理アドレスを、出力用に設定されていたバッファ領域の論理アドレスへ変更する。これにより、出力用のバッファ領域と待機用のバッファ領域の物理メモリが入れ替わり、出力バッファの設定が完了する。
【００８０】
続いてステップ１８０において、映像出力部４４は、バッファ管理部４０に対して出力バッファからのデータ出力を要求する。次のステップ１８２において、バッファ番号算出部４８は、バッファ循環テーブルを参照し、現在保持しているバッファ領域の状態番号で出力用に設定されているバッファ領域の論理アドレスをバッファ循環テーブルから取得する。そしてバッファ番号算出部４８は、取得した論理アドレスを物理メモリ番号算出部５４へ出力し、出力用のバッファ領域からのデータの読み出しを指示する。
【００８１】
ステップ１８４において、物理メモリ番号算出部５４は、論理バッファ物理メモリ対応表を参照し、バッファ番号算出部４８から論理アドレスが入力された出力用のバッファ領域の物理アドレスを認識する。次のステップ１８６において、物理メモリ番号算出部５４は、物理アドレスを認識した出力用のバッファ領域から１フレーム分のデータを読み出し、読み出したデータを映像出力部４４へ出力する。そして、映像出力部４４へ出力された１フレーム分のデータは、映像出力部４４から画像処理装置１４へ送信される。
【００８２】
上述した処理について、図１２を参照して更に説明する。なお、図１２は例として、書込処理部４２に「奇数完了時通知設定」が入力されており、書込用のバッファ領域に奇数フィールドのデータの書き込みが完了したタイミングで完了通知部３４へ取得完了通知が出力される取り込み処理部３０における動作を示す。
【００８３】
まず、論理アドレス{バッファ３}のバッファ領域に対し、偶数フィールド→奇数フィールドの順に１フレーム分のデータの書き込みが完了した時点(図１２の(1)参照)で、取り込み処理部３０の書込処理部４２から完了通知部３４に取得完了通知が出力される。前述のように、完了通知部３４は、最後に取得するインタレース映像信号に対応する取り込み処理部３０から取得完了通知が入力される度に、画像処理装置１４へ同期取得完了通知を送信する。画像処理装置１４は、映像取得装置１２から同期取得完了通知を受信すると、映像取得装置１２へ映像取得要求通知を送信する(図１２の(2)参照)。
【００８４】
映像取得装置１２の取り込み処理部３０は、画像処理装置１４から映像取得要求通知を受信すると、映像出力部４４がバッファ管理部４０に対して出力バッファの設定を要求する。ここで、画像処理装置１４から映像取得要求通知を受信したタイミングでは、論理アドレス{バッファ３}のバッファ領域が待機用、論理アドレス{バッファ４}のバッファ領域が出力用に設定されている(図４に示す状態番号＝１の状態)。
【００８５】
このため、出力バッファの設定要求に伴い、図５の「初期」から「Ｃ1」への遷移として示すように、論理アドレス{バッファ３}のバッファ領域と論理アドレス{バッファ４}のバッファ領域の論理アドレスが入れ替わる(図１２の(3)参照)。これにより、元々は論理アドレス{バッファ３}が割り当てられ、偶数フィールド→奇数フィールドの順に１フレーム分のデータ(図１２では「データ１」と表記)が格納されていたバッファ領域が、論理アドレス{バッファ４}に変更されて出力用のバッファ領域になる。そして、映像出力部４４がバッファ管理部４０に対して出力バッファからのデータ出力を要求すると、出力用のバッファ領域に入れ替わったバッファ領域から最新の１フレーム分のデータ(図１２で「データ１」と表記したデータ)が読み出されることになる。
【００８６】
また、論理アドレス{バッファ２}のバッファ領域に対し、偶数フィールド→奇数フィールドの順に１フレーム分のデータの書き込みが完了した時点(図１２の(4)参照)でも、取り込み処理部３０の書込処理部４２から完了通知部３４に取得完了通知が出力される。その後、映像取得装置１２の取り込み処理部３０は、画像処理装置１４から映像取得要求通知を受信すると(図１２の(5)参照)、映像出力部４４がバッファ管理部４０に対して出力バッファの設定を要求する。ここで、画像処理装置１４から映像取得要求通知を受信したタイミングでは、論理アドレス{バッファ２}のバッファ領域が待機用、論理アドレス{バッファ４}のバッファ領域が出力用に設定されている(図４に示す状態番号＝３の状態)。
【００８７】
このため、出力バッファの設定要求に伴い、図５の「Ｃ1」から「Ｃ2」への遷移として示すように、論理アドレス{バッファ２}のバッファ領域と論理アドレス{バッファ４}のバッファ領域の論理アドレスが入れ替わる(図１２の(6)参照)。これにより、元々は論理アドレス{バッファ２}が割り当てられ、偶数フィールド→奇数フィールドの順に１フレーム分のデータ(図１２では「データ２」と表記)が格納されていたバッファ領域が、論理アドレス{バッファ４}に変更されて出力用のバッファ領域になる。そして、映像出力部４４がバッファ管理部４０に対して出力バッファからのデータ出力を要求すると、出力用のバッファ領域に入れ替わったバッファ領域から最新の１フレーム分のデータ(図１２で「データ２」と表記したデータ)が読み出されることになる。
【００８８】
更に、論理アドレス{バッファ１}のバッファ領域に対し、偶数フィールド→奇数フィールドの順に１フレーム分のデータの書き込みが完了した時点(図１２の(7)参照)でも、取り込み処理部３０の書込処理部４２から完了通知部３４に取得完了通知が出力される。その後、映像取得装置１２の取り込み処理部３０は、画像処理装置１４から映像取得要求通知を受信すると(図１２の(8)参照)、映像出力部４４がバッファ管理部４０に対して出力バッファの設定を要求する。ここで、画像処理装置１４から映像取得要求通知を受信したタイミングでは、論理アドレス{バッファ１}のバッファ領域が待機用、論理アドレス{バッファ４}のバッファ領域が出力用に設定されている(図４に示す状態番号＝２の状態)。
【００８９】
このため、出力バッファの設定要求に伴い、図５の「Ｃ2」から「Ｃ3」への遷移として示すように、論理アドレス{バッファ１}のバッファ領域と論理アドレス{バッファ４}のバッファ領域の論理アドレスが入れ替わる(図１２の(9)参照)。これにより、元々は論理アドレス{バッファ１}が割り当てられ、偶数フィールド→奇数フィールドの順に１フレーム分のデータ(図１２では「データ３」と表記)が格納されていたバッファ領域が、論理アドレス{バッファ４}に変更されて出力用のバッファ領域になる。そして、映像出力部４４がバッファ管理部４０に対して出力バッファからのデータ出力を要求すると、出力用のバッファ領域に入れ替わったバッファ領域から最新の１フレーム分のデータ(図１２で「データ３」と表記したデータ)が読み出されることになる。
【００９０】
図１１に示す処理及び図１２に示す動作は個々の取り込み処理部３０で各々行われる。このため、映像取得装置１２が画像処理装置１４から映像取得要求通知を受信する度に、個々の取り込み処理部３０からは、図１３に示すように、タイミング判定部３２で判定されたフレーム構造で最新の１フレーム分のデータが画像処理装置１４へ各々送信される。画像処理装置１４は、映像取得装置１２の個々の取り込み処理部３０から受信した対応するフレームのデータに基づいて、ステレオ測距処理や、複数の映像信号が表す映像をフレーム単位で合成した映像の生成等の画像処理を行う。そして、画像処理装置１４は、ステレオ測距処理を行った場合には、距離測定対象の物体迄の距離を測定した結果を出力し、映像の生成処理を行った場合には、生成した映像をフレーム単位で表示部に表示させる等の処理を行う。
【００９１】
このように、第１実施形態では、非同期に入力されるｎ個のインタレース映像信号の対応するフレームの時間ずれが最小となるように、各インタレース映像信号の取得順序及び各インタレース映像信号の対応するフレームのフレーム構造を判定している。そして、判定したフレーム構造のデータの書き込みが完了したことが、判定した取得順序の順に個々の取り込み処理部３０から通知されると、個々の取り込み処理部３０から対応するフレームのデータを出力させている。これにより、図１３にも示すように、ｎ個のインタレース映像信号の対応するフレームの時間ずれが最大でも±１／２フィールド時間(フレームレートの周期の±１／４)未満、すなわち１フィールド時間(フレームレートの周期の１／２)未満に抑制される。従って、画像処理装置１４で行われる画像処理の処理精度を向上させることができ、例えばステレオ測距処理については、フレームレートの１周期分の時間ずれがある場合と比較して、測距誤差を削減することができる。
【００９２】
また、第１実施形態では、個々の映像信号に対応して各々４個のバッファ領域を設け、そのうちの１個を出力用に設定し、残りの３個のバッファ領域のうちの２個を書込用に、１個を待機用に設定している。また、２個の書込用のバッファ領域に同一フィールドのデータを各々書き込むと共に、書込用の２個のバッファ領域を、各フィールドの入力が開始されるタイミングで循環するように切替えている。そして、画像処理装置１４から映像取得要求通知を受信した場合に、最新のデータが格納されている待機用のバッファ領域と出力用のバッファ領域を入れ替えている。これにより、４個のバッファ領域の間でデータを複写する処理が不要となり、画像処理装置１４からの映像取得要求通知に対し、最新の１フレームのデータを短時間で出力することができる。
【００９３】
〔第２実施形態〕
次に開示の技術の第２実施形態を説明する。なお、第１実施形態と同一の部分には同一の符号を付し、説明を省略する。第２実施形態は第１実施形態と比較して、バッファメモリ２０のバッファ領域に書き込む１フレーム分のデータのフレーム構造が固定されている(例えば１フレーム分の画像を奇→偶のフィールド順に取得するフレーム構造に固定されている)点が主に相違している。
【００９４】
図１４に示すように、第２実施形態に係る映像取得装置１２は、ｎ台(ｎは２以上の整数)の撮像部２８に対応して設けられたｎ個の取り込み処理部２３０、タイミング判定部２３２及び完了通知部３４を備えている。なお、タイミング判定部２３２は、開示の技術における判定部の一例である。
【００９５】
ｎ個の取り込み処理部２３０は、ｎ台の撮像部２８のうち対応する撮像部２８から入力されるインタレース映像信号を各々取り込む。本第２実施形態では、バッファメモリ２０の記憶領域が個々の取り込み処理部２３０に対応するｎ個の記憶領域(バッファ)に分割され、ｎ個のバッファには、インタレース映像信号の１フレーム分のデータを記憶可能なバッファ領域が各々３個設けられている。個々の取り込み処理部２３０は、取り込んだインタレース映像信号のデータを書き込むバッファ領域をフレーム単位で切り替えながら、フレーム構造が固定された１フレーム分のデータを何れか１つのバッファ領域に書き込む。そして取り込み処理部２３０は、画像処理装置１４から映像取得要求通知を受信する度に、バッファ領域に格納されている最新の１フレーム分のデータを読み出して画像処理装置１４へ送信する。
【００９６】
タイミング判定部２３２は、画像処理装置１４から映像取得装置１２に映像取り込み開始通知が与えられると、ｎ個のインタレース映像信号の各々の対応するフレームのインタレース映像信号を単位とする最適な取得順序を判定する。この最適な取得順序は、ｎ台の撮像部２８から非同期に入力されるｎ個のインタレース映像信号に対して個々の取り込み処理部２３０で各々検出されたフレーム開始タイミングに基づき、ｎ個の映像信号の対応するフレームの時間ずれが最小になるように判定される。また、タイミング判定部２３２は、インタレース映像信号を単位とする最適な取得順序の判定結果を完了通知部３４に出力する。
【００９７】
ｎ個の取り込み処理部２３０の各々は、入力部３６、フレーム通知部２３４、バッファ管理部４０、書込処理部２３６及び映像出力部４４を備えている。なお、フレーム通知部２３４は開示の技術における通知部の一例である。
【００９８】
フレーム通知部２３４は、入力部３６から入力されたインタレース映像信号のフレームを単位とする入力開始タイミングを検出し、検出結果をバッファ管理部４０(のバッファ切替部５０)及びタイミング判定部３２に各々通知する。またフレーム通知部２３４は、入力部３６から入力されたインタレース映像信号を書込処理部２３６へ出力する。
【００９９】
書込処理部２３６は、フレーム通知部２３４から入力されたインタレース映像信号のデータを、１フレームを単位として、バッファ管理部４０によって書込用に設定された単一のバッファ領域に、バッファ管理部４０を通じて書き込む。そして書込処理部２３６は、書込用のバッファ領域への１フレーム分のデータの書き込みが完了する度に、完了通知部３４へ取得完了通知を出力する。
【０１００】
バッファ管理部４０は、バッファメモリ２０の単一の取り込み処理部３０に対応するバッファに設けられた３個のバッファ領域に対し、書込用／出力用／待機用の用途を設定すると共に、用途の設定を適宜変更し、かつ各バッファ領域の論理アドレスを管理する。バッファ管理部４０は、第１実施形態と同様に、バッファ循環テーブル記憶部４６、バッファ番号算出部４８、バッファ切替部５０、論理バッファ物理メモリ対応表記憶部５２及び物理メモリ番号算出部５４を備えている。
【０１０１】
バッファ循環テーブル記憶部４６は、一例として図１５に示すようなバッファ循環テーブルを記憶している。バッファ循環テーブルは、バッファ領域の状態番号が各値(本第２実施形態では１,２)の場合について、３個のバッファ領域の各々の用途を規定する情報が登録されたテーブルである。
【０１０２】
図１５に示すように、本第２実施形態では、３個のバッファ領域のうちの１個のバッファ領域が書込用に、別の１個のバッファ領域が待機用に、残りの１個のバッファ領域が出力用に設定される。また、バッファ循環テーブルに設定されている「バッファ１」〜「バッファ３」は、３個のバッファ領域に対して各々設定される論理アドレスである。論理アドレスが{バッファ３}のバッファ領域は、バッファ領域の状態番号の遷移に拘わらず常に出力用に設定され、論理アドレスが{バッファ１},{バッファ２}のバッファ領域は、バッファ領域の状態番号の遷移に伴って書込用又は待機用に設定される。
【０１０３】
バッファ番号算出部４８はバッファ領域の現在の状態番号を保持しており、バッファ切替部５０からバッファ領域の状態番号の遷移が指示される度に、保持している状態番号が１→２→１→２→…と循環するように変更する。また、バッファ番号算出部４８は、書込処理部４２から書込用のバッファ領域へのデータの書き込みが指示されると、バッファ循環テーブルを参照し、保持しているバッファ領域の状態番号で書込用に設定されている１個のバッファ領域の論理アドレスを認識する。そして、認識した１個のバッファ領域の論理アドレスを物理メモリ番号算出部５４へ出力する。
【０１０４】
また、バッファ番号算出部４８は、映像出力部４４から出力バッファ設定要求が入力されると、バッファ循環テーブルを参照し、保持しているバッファ領域の状態番号で待機用又は出力用に設定されている２個のバッファ領域の論理アドレスを認識する。そして、認識した２個のバッファ領域の論理アドレスを物理メモリ番号算出部５４へ出力し、それぞれのバッファ領域の入れ替えを指示する。更に、バッファ番号算出部４８は、映像出力部４４より出力用のバッファ領域からのデータの読み出しが指示されると、出力用に設定されているバッファ領域の論理アドレス{バッファ３}を物理メモリ番号算出部５４へ出力し、データの読み出しを指示する。
【０１０５】
バッファ切替部５０は、入力部３６からインタレース映像信号の１フレームの入力が開始されるタイミングの検出結果がフレーム通知部２３４から入力される度に、バッファ番号算出部４８に対してバッファ領域の状態番号の遷移を指示する。
【０１０６】
論理バッファ物理メモリ対応表記憶部５２は、一例として図１６の各行に示すような論理バッファ物理メモリ対応表を記憶している。論理バッファ物理メモリ対応表は、論理アドレス{バッファ１}〜{バッファ３}が割り当てられた３個のバッファ領域について、各々の物理アドレスが登録されたテーブルである。
【０１０７】
物理メモリ番号算出部５４は、バッファ番号算出部４８から書込用の１個のバッファ領域の論理アドレスが入力されると、論理バッファ物理メモリ対応表を参照し、書込用の１個のバッファ領域の物理アドレスを認識する。そして、書込処理部４２から入力された書込対象のデータを、物理アドレスを認識した１個の書込用のバッファ領域に書き込む。また、物理メモリ番号算出部５４は、バッファ番号算出部４８から２個のバッファ領域の論理アドレスが入力されて入れ替えが指示されると、前記２個のバッファ領域に付与されている論理アドレスが入れ替わるように論理バッファ物理メモリ対応表を更新する。更に、物理メモリ番号算出部５４は、バッファ番号算出部４８から出力用のバッファ領域の論理アドレスが入力されてデータの読み出しが指示されると、論理バッファ物理メモリ対応表を参照し、出力用のバッファ領域の物理アドレスへ認識する。そして、物理アドレスを認識した出力用のバッファ領域から１フレーム分のデータを読み出し、読み出したデータを映像出力部４４へ出力させる。
【０１０８】
次に本第２実施形態の作用を説明する。複数の映像信号が非同期に入力される場合、前述のように、同一の画像処理に用いられる複数の映像信号の対応するフレームが撮像されて取得されるタイミングに、最大でフレームレートの１周期分のずれが生ずる。これに対し、図６を用いて第１実施形態で説明したように、非同期に入力される複数の映像信号から１フレーム毎に一定のフレーム構造のデータを取得する場合にも、複数の映像信号の取得順序を変更設定することで、対応するフレームの時間ずれを小さくできる。例えば図６の例では、映像信号の取得順序を映像信号３→映像信号４→映像信号１→映像信号２の順とすれば、複数の映像信号の対応するフレームの時間ずれが、フレームレートの１周期の±１／２(30フレーム／秒であれば16.7ｍｓ)未満、すなわちフレームレートの１周期未満に短縮される。
【０１０９】
上記に基づき、本第２実施形態では、タイミング判定部２３２により、以下で説明するタイミング判定処理が行われることで、インタレース映像信号の対応するフレームの時間ずれが最小になるように、インタレース映像信号の取得順序が最適化される。
【０１１０】
すなわち、利用者が操作部（図示省略）を操作して映像処理装置１０の作動を開始させると、ｎ台の撮像部２８が撮像を開始し、ｎ台の撮像部２８からは、撮影した映像を表すインタレース映像信号が非同期で出力される。また、画像処理装置１４から映像取得装置１２に映像取り込み開始通知が与えられ、この映像取り込み開始通知をトリガとして、映像取得装置１２のタイミング判定部２３２によって、図１７に示すタイミング判定処理が実行される。
【０１１１】
タイミング判定処理のステップ１００において、タイミング判定部２３２は、ｎ台の撮像部２８から非同期で入力されるｎ個のインタレース映像信号の対応するフレームの時間ずれの最小値を表す変数ｄｔ_ｍｉｎに、初期値として大きな値を設定する。また、ステップ１０２において、タイミング判定部２３２は、ｎ個の取り込み処理部２３０に対してインタレース映像信号の取り込み開始を指示する。これにより、ｎ個の取り込み処理部２３０の各々から、フレーム入力開始タイミングの検出結果が繰り返し出力される。ステップ１０６において、タイミング判定部２３２は、先頭(基準)とするインタレース映像信号を識別するための変数ｉに初期値として１を設定する。
【０１１２】
次のステップ２６０において、タイミング判定部２３２は、先頭(基準)とするインタレース映像信号Ａｉを取り込む特定の取り込み処理部２３０により、インタレース映像信号Ａｉのフレームの入力開始タイミングが検出される迄待機する。インタレース映像信号Ａｉのフレームの入力開始タイミングが検出されると、ステップ２６０からステップ１１６へ移行し、タイミング判定部２３２はタイマを０にリセットする。
【０１１３】
次のステップ２６２において、タイミング判定部２３２は、残りのインタレース映像信号を取り込むｎ−１個の取り込み処理部２３０の各々により、残りのインタレース映像信号のフレームの入力開始タイミングが各々検出されるまで待機する。残りのｎ−１個のインタレース映像信号について、フレームの入力開始タイミングが各々検出されると、ステップ２６２からステップ２６４へ移行し、タイミング判定部２３２は、ずれ時間ｄｔとしてタイマから時間を取得する。
【０１１４】
次のステップ２６６において、タイミング判定部２３２は、ｎ−１個の取り込み処理部２３０によってフレームの入力開始タイミングが検出された順序に基づき、フレームの入力開始タイミングが最後に検出されたインタレース映像信号の番号Ｓを取得する。ステップ１２４において、タイミング判定部２３２は、ステップ２６４で取得したずれ時間ｄｔが変数ｄｔ_ｍｉｎより小さいか否か判定する。ずれ時間ｄｔが変数ｄｔ_ｍｉｎ以上の場合、ステップ１２４の判定が否定されて後述のステップ１２８へ移行する。一方、ずれ時間ｄｔが変数ｄｔ_ｍｉｎよりも小さい場合、タイミング判定部２３２は、ずれ時間の最小値が更新された(ずれ時間の新たな最小値が得られた)と判断し、ステップ２６８へ移行する。
【０１１５】
ステップ２６８において、タイミング判定部２３２は、新たに得られたずれ時間の最小値を変数ｄｔ_ｍｉｎに設定すると共に、ずれ時間の最小値が得られるときの先頭のインタレース映像信号の番号を表す変数ｉ_ｍｉｎに変数ｉの現在の値を設定する。また、タイミング判定部２３２は、ずれ時間の最小値が得られるときの最後のインタレース映像信号の番号を表す変数Ｓ_ｍｉｎに、先のステップ２６６で取得した番号Ｓ(フレームの入力開始タイミングが最後に検出されたインタレース映像信号の番号)を設定する。
【０１１６】
次のステップ１２８において、タイミング判定部２３２は、変数ｉを１だけインクリメントする。ステップ１３０において、タイミング判定部２３２は、変数ｉが、インタレース映像信号の総数ｎ以下であるか否かを判定する。変数ｉが総数ｎ以下の場合は、ステップ１３０の判定が肯定されてステップ２６０へ戻り、ステップ１３０の判定が否定される迄ステップ２６０,１１６,２６２〜２６６,１２４,２６８,１２８が繰り返される。これにより、ずれ時間ｄｔが最小となるときの、先頭(基準)とするインタレース映像信号の番号ｉ_ｍｉｎ、最後のインタレース映像信号の番号Ｓ_ｍｉｎが求まる。また、変数ｉが総数ｎより大きくなるとステップ１３０の判定が否定され、タイミング判定部２３２はタイミング判定処理を終了する。
【０１１７】
これにより、ずれ時間ｄｔが最小となるときの、先頭(基準)とするインタレース映像信号の番号ｉ_ｍｉｎ、最後のインタレース映像信号の番号Ｓ_ｍｉｎが求まる。タイミング判定部２３２は、タイミング判定処理が終了すると、インタレース映像信号の最適な取得順序として、最終的に得られた最後の(最後に取得する)インタレース映像信号の番号Ｓ_ｍｉｎを完了通知部３４に出力する。
【０１１８】
また、タイミング判定部２３２によってタイミング判定処理が行われると、個々の取り込み処理部２３０でインタレース映像信号の取り込みが行われる。以下、図１８を参照し、個々の取り込み処理部２３０によるインタレース映像信号の取り込みにおける処理の流れを説明する。
【０１１９】
ステップ２７０において、取り込み処理部２３０の入力部３６は、対応する撮像部２８からインタレース映像信号を取り込み、取り込んだインタレース映像信号がアナログ信号であればデジタル信号に変換した後にフレーム通知部２３４に出力する処理を開始する。ステップ２７２において、フレーム通知部２３４は、インタレース映像信号の任意のフレームの入力が開始されるタイミングを検出したか否か判定し、判定が肯定される迄ステップ２７２を繰り返す。フレーム通知部２３４は、インタレース映像信号の任意のフレームの入力開始タイミングを検出すると、フレームの入力開始タイミングの検出結果をバッファ管理部４０(のバッファ切替部５０)及び書込処理部２３６に各々通知する。これにより、ステップ２７２の判定が肯定されてステップ２７４へ移行する。
【０１２０】
ステップ２７４において、フレームの入力開始タイミングの検出結果がフレーム通知部２３４から通知されたバッファ管理部４０のバッファ切替部５０は、バッファ管理部４０のバッファ番号算出部４８に対してバッファ領域の状態番号の遷移を指示する。状態番号の遷移が指示されると、バッファ番号算出部４８は、自身が保持している状態番号を１だけインクリメントすると共に、インクリメント後の状態番号が２よりも大きい場合は状態番号を１に戻すことで、バッファ領域の状態番号を遷移させる。これにより、図１５に示すように、書込用のバッファ領域が待機用バッファ(フレーム確定バッファ)に、待機用バッファが書込用バッファに入れ替わることになる。
【０１２１】
次のステップ２７６において、書込処理部２３６は、フレーム通知部２３４によって入力開始タイミングが検出されたフレーム(書込対象のフレーム)のデータを書込用バッファ領域へ書き込むようバッファ管理部４０へ指示する。ステップ２７８において、データの書き込みが指示されたバッファ管理部４０のバッファ番号算出部４８は、バッファ循環テーブル記憶部４６に記憶されているバッファ循環テーブルを参照する。そしてバッファ番号算出部４８は、現在保持しているバッファ領域の状態番号で書込用に設定されているバッファ領域の論理アドレスを取得し、取得したバッファ領域の論理アドレスを物理メモリ番号算出部５４へ出力し、データの書き込みを指示する。
【０１２２】
ステップ２８０において、物理メモリ番号算出部５４は、論理バッファ物理メモリ対応表記憶部５２に記憶されている論理バッファ物理メモリ対応表を参照する。そして物理メモリ番号算出部５４は、バッファ番号算出部４８より入力された論理アドレスに基づいて、書込用バッファ領域の物理アドレスを認識する。次のステップ２８２において、物理メモリ番号算出部５４は、物理アドレスを認識した書込用バッファ領域に、書込対象のフレームのデータを書き込む。
【０１２３】
書込用バッファ領域への書込対象のフレームのデータの書き込みが完了すると、ステップ２８４において、書込処理部２３６は、完了通知部３４へ取得完了通知を出力する。また、次のステップ２８６において、取り込み処理部２３０は、インタレース映像信号の入力が終了したか否か判定する。判定が否定された場合はステップ２７２に戻り、インタレース映像信号の入力が継続されている間、ステップ２７２〜ステップ２８６が繰り返される。そして、インタレース映像信号の入力が終了すると上述した一連の処理を終了する。
【０１２４】
図１８に示す処理は個々の取り込み処理部２３０で各々行われるが、各取り込み処理部２３０にはインタレース映像信号が非同期に入力されるので、図１９に示すように、各取り込み処理部２３０の書込処理部４２からも取得完了通知が非同期に出力される。完了通知部３４は、任意の取り込み処理部２３０から取得完了通知が入力される度に、取得完了通知の入力元が、タイミング判定部２３２から入力された最後に取得するインタレース映像信号の番号Ｓ_ｍｉｎに対応する取り込み処理部２３０か否か判定する。
【０１２５】
完了通知部３４は、取得完了通知の入力元が、最後に取得するインタレース映像信号の番号Ｓ_ｍｉｎに対応する取り込み処理部２３０でない場合には、何も処理を行わない。また、取得完了通知の入力元が、最後に取得するインタレース映像信号の番号Ｓ_ｍｉｎに対応する取り込み処理部２３０である場合、完了通知部３４は、画像処理装置１４へ同期取得完了通知を送信する。
【０１２６】
図１９は、最初の(最初に取得する)インタレース映像信号が映像信号３、最後の(最後に取得する)インタレース映像信号が映像信号２で、映像信号２に対応する取り込み処理部３０から取得完了通知が入力されると同期取得完了通知を送信する例を示している。このように、完了通知部３４は、最後に取得するインタレース映像信号に対応する取り込み処理部２３０から取得完了通知が入力される度に同期取得完了通知を送信することを、インタレース映像信号の１フレーム毎に繰り返す。
【０１２７】
なお、同期取得完了通知を受信した画像処理装置１４における処理、及び、画像処理装置１４から送信された映像取得要求通知を受信した個々の取り込み処理部２３０における処理は、それぞれ第１実施形態と同じであるので、説明を省略する。
【０１２８】
このように、第２実施形態では、非同期に入力されるインタレース映像信号の各々の対応するフレームの時間ずれが最小となるように、インタレース映像信号の最適な取得順序を決定している。また、１フレーム分のデータの書き込みが完了したことが、判定した取得順序の順に個々の取り込み処理部２３０から通知されると、個々の取り込み処理部２３０から対応するフレームのデータを出力させている。
【０１２９】
これにより、図１９に示す「映像信号３基準での映像間の時間ずれ」を「映像信号１基準での映像間の時間ずれ」と比較しても明らかなように、ｎ個のインタレース映像信号の対応するフレームの時間ずれを小さくすることができる。具体的には、ｎ個のインタレース映像信号の対応するフレームの時間ずれが最大でも±１フィールド時間(フレームレートの周期の±１／２)未満、すなわち２フィールド時間(フレームレートの１周期)未満に抑制される。従って、画像処理装置１４で行われる画像処理の処理精度を向上させることができ、例えばステレオ測距処理については、フレームレートの１周期分の時間ずれがある場合と比較して、測距誤差を削減することができる。
【０１３０】
また、第２実施形態では、個々の映像信号に対応して各々３個のバッファ領域を設け、そのうちの１個を出力用に、別の１個を書込用に、残り１個を待機用に設定している。また、書込用のバッファ領域と待機用のバッファ領域を、各フレームの入力が開始されるタイミングで入れ替えている。そして、画像処理装置１４から映像取得要求通知を受信した場合に、最新のデータが格納されている待機用のバッファ領域と出力用のバッファ領域を入れ替えている。これにより、第１実施形態と同様に、３個のバッファ領域の間でデータを複写する処理が不要となり、画像処理装置１４からの映像取得要求通知に対し、最新の１フレームのデータを短時間で出力することができる。
【０１３１】
なお、第２実施形態では、インタレース方式の映像信号を取得する場合を例に説明したが、これに限定されるものではなく、フレーム単位で分割された他の形式の映像信号を取得するようにしてもよい。
【０１３２】
〔第３実施形態〕
次に、開示の技術の第３実施形態を説明する。なお、第１実施形態と同一の部分には同一の符号を付し、説明を省略する。第３実施形態は第１実施形態と比較して、入力されたインタレース映像信号が書き込まれるバッファメモリが、映像処理装置２９０のメインメモリ１６内に設けられている点が相違している。
【０１３３】
図２０に示すように、本第３実施形態に係る映像処理装置２９０は、映像入力制御部２４、画像処理装置１４、メインメモリ１６、及び、これらを相互に接続するためのメイン・バス１８を備えている。
【０１３４】
映像入力制御部２４は、移動体に搭載されたｎ(ｎ≧２)台の撮像部２８から出力されたインタレース映像信号を各々取り込む。また、映像入力制御部２４は、ｎ個のインタレース映像信号の各々対応するフレームの時間ずれが最小になるように、ｎ個のインタレース映像信号の取得順序及び各映像信号の各々の対応するフレームのフレーム構造を判定する処理を行う。続いて映像入力制御部２４は、撮像部２８から取り込んだインタレース映像信号のデータをフィールド単位でメインメモリ１６内に設けられたバッファメモリに順に書き込む。
【０１３５】
なお、メインメモリ１６内のバッファメモリには、個々のインタレース映像信号に対応して各々４個のバッファ領域が設けられている。映像入力制御部２４は、ｎ個のインタレース映像信号の各々に対し、４個のバッファ領域のうち書込用に設定された２個のバッファ領域に、同一フィールドのデータを各々書き込むと共に、書込用のバッファ領域がフィールド単位で循環するように切替える。更に映像入力制御部２４は、ｎ個のインタレース映像信号の各々の対応するフレームのデータをバッファメモリに各々書き込むと、画像処理装置１４へ同期取得完了通知を送信することを、１フレーム毎に繰り返す。
【０１３６】
画像処理装置１４は、映像入力制御部２４から同期取得完了通知を受信すると、映像入力制御部２４へ映像取得要求通知を出力する。映像入力制御部２４は、画像処理装置１４から映像取得要求通知を受信すると、ｎ個のインタレース映像信号毎に、最新の１フレームのデータを格納しているバッファ領域(待機用のバッファ領域)に対応する物理メモリを、アクセス可能な状態に設定する。これにより、画像処理装置１４は、バッファメモリのうちアクセス可能な状態に設定された物理メモリにアクセスし、ｎ個のインタレース映像信号の各々の最新の１フレームのデータを読み出す。そして画像処理装置１４は、読み出したデータを用いてステレオ測距処理等の画像処理を行う。
【０１３７】
なお、第３実施形態に係る映像処理装置２９０の他の構成及び作用については、第１実施形態と同様であるため、説明を省略する。
【０１３８】
なお、上記第３実施形態では、バッファメモリが映像処理装置２９０のメインメモリ１６内に設けられた構成において、第１実施形態と同様に、ｎ個のインタレース映像信号の取得順序及び各映像信号の各々の対応するフレームのフレーム構造を最適化している。しかし、これに限定されるものではなく、上記構成において、第２実施形態と同様に、一定のフレーム構造のデータをバッファに書き込み、ｎ個のインタレース映像信号の取得順序のみを最適化するようにしてもよい。
【０１３９】
また、第１,第３実施形態では、インタレース映像信号の各フィールドの入力開始タイミングを検出し、各映像信号の取得順序及び各映像信号の各々の対応するフレームのフレーム構造を最適化していたが、これに限定されるものではない。例えば、第１,第３実施形態において、各映像信号の各フィールドの入力終了タイミングを検出し、各映像信号の取得順序及び各映像信号の各々の対応するフレームのフレーム構造を最適化するようにしてもよい。また、第２実施形態では、インタレース映像信号の各フレームの入力開始タイミングを検出して、各映像信号の取得順序を最適化していたが、これに限定されるものではない。例えば、第２実施形態についても、各映像信号の各フィールドの入力終了タイミングを検出し、各映像信号の取得順序を最適化するようにしてもよい。
【０１４０】
また、第１実施形態では、映像信号の各々の対応するフレームの時間ずれが最小となるように、タイミング判定部３２が映像信号毎のフレームの構造又は映像信号の取得順序を判定する態様を説明したが、これに限定されるものではない。例えば、映像信号の各々の対応するフレームの時間ずれがフレームレートの周期の±１／４未満、すなわちフレームレートの周期の１／２未満になる解(映像信号毎のフレームの構造又は映像信号の取得順序)が複数存在する場合に、複数の解のうちフレームの時間ずれが最小とならない解を選択してもよい。また、第２実施形態では、映像信号の各々の対応するフレームの時間ずれが最小となるように、タイミング判定部２３２が映像信号の取得順序を判定する態様を説明したが、これに限定されるものではない。例えば、映像信号の各々の対応するフレームの時間ずれがフレームレートの周期の±１／２未満、すなわちフレームレートの１周期未満になる解(映像信号の取得順序)が複数存在する場合に、複数の解のうちフレームの時間ずれが最小とならない解を選択してもよい。
【０１４１】
更に、第１実施形態では、１つの映像信号当り４個のバッファ領域を設け、そのうちの１個のバッファ領域を待機用、別の１個のバッファ領域を出力用とし、映像取得要求通知を受信すると、待機用と出力用のバッファ領域を入れ替える態様を説明した。しかし、これに限定されるものではなく、出力用バッファを省略し、映像取得要求通知を受信すると、待機用バッファ領域(フレーム確定バッファ)に書き込まれている１フレーム分のデータを予め設定されたメモリ領域に複写するようにしてもよい。また、第２実施形態についても、１つの映像信号当り３個のバッファ領域を設け、そのうちの１個のバッファ領域を待機用、別の１個のバッファ領域を出力用とし、映像取得要求通知を受信すると、待機用と出力用のバッファ領域を入れ替えている。しかし、これに限定されるものではなく、出力用バッファを省略し、映像取得要求通知を受信すると、待機用バッファ領域(フレーム確定バッファ)に書き込まれている１フレーム分のデータを予め設定されたメモリ領域に複写するようにしてもよい。
【０１４２】
また、上記では個々の取り込み処理部３０(又は取り込み処理部２３０)が、画像処理装置１４から映像取得要求通知を受信すると、出力用バッファから１フレーム分のデータを読み出して画像処理装置１４へ送信する態様を説明した。しかし、これに限定されるものではなく、出力用バッファからデータを読み出して送信する処理に代えて、画像処理装置１４が出力用バッファからデータを読み出し可能とするための処理を行うようにしてもよい。画像処理装置１４が出力用バッファからデータを読み出し可能とするための処理としては、例えば画像処理装置１４がバスＩ／Ｆ２２を介して出力用バッファにアクセスできるようにバスマッピングを行う処理が挙げられる。また、画像処理装置１４がバスＩ／Ｆ２２を介して出力用バッファに直接アクセス可能な構成において、出力用バッファのアドレスを画像処理装置１４へ通知する処理であってもよい。これらの処理は開示の技術における「複数の映像信号の各々の対応するフレームを出力するための処理」の一例である。
【０１４３】
また、上記では１つの映像信号当り３又は４個のバッファ領域に論理アドレスを付与し、バッファ循環テーブルによって個々のバッファ領域の用途と論理アドレスを対応付け、論理バッファ物理メモリ対応表によって論理アドレスと物理メモリを対応付けている。しかしながら、これに限定されるものではなく、個々のバッファ領域の用途(書込用／待機用／出力用)と対応する物理メモリとをテーブルによって直接対応付けるようにしてもよい。
【０１４４】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【符号の説明】
【０１４５】
１０  映像処理装置
１２  映像取得装置
１４  画像処理装置
２０  バッファメモリ
２４  映像入力制御部
２８  撮像部
３０，２３０  取り込み処理部
３２，２３２  タイミング判定部
３４  完了通知部
３８  奇偶通知部
４０  バッファ管理部
４２，２３６  書込処理部
４４  映像出力部
４６  バッファ循環テーブル記憶部
４８  バッファ番号算出部
５０  バッファ切替部
５２  論理バッファ物理メモリ対応表記憶部
５４  物理メモリ番号算出部
２３４  フレーム通知部
２９０  映像処理装置
【図１】
0005849724.tif 000002
【図２】
0005849724.tif 000003
【図３】
0005849724.tif 000004
【図４】
0005849724.tif 000005
【図５】
0005849724.tif 000006
【図６】
0005849724.tif 000007
【図７】
0005849724.tif 000008
【図８】
0005849724.tif 000009
【図９】
0005849724.tif 000010
【図１０】
0005849724.tif 000011
【図１１】
0005849724.tif 000012
【図１２】
0005849724.tif 000013
【図１３】
0005849724.tif 000014
【図１４】
0005849724.tif 000015
【図１５】
0005849724.tif 000016
【図１６】
0005849724.tif 000017
【図１７】
0005849724.tif 000018
【図１８】
0005849724.tif 000019
【図１９】
0005849724.tif 000020
【図２０】
0005849724.tif 000021
【図２１】
0005849724.tif 000022