(57)【要約】【課題】  情報処理システム、情報処理装置、およびプログラムを提供すること。【解決手段】  本発明の情報処理システム１００は、所定の時刻において被写体までの距離を与えるステレオカメラ１０１と、所定の時刻において情報処理システムの運動に関するデータを取得するセンサ１０４と、被写体までの距離を与えるステレオカメラ１０１からの画像データを受領して、画像データを所定の時刻を示すタイムスタンプに基づいてセンサ１０４が取得したデータに対応付けて出力データを生成するデータ処理装置１１０とを含んでいる。【選択図】  図１
2018031592.tif 000002
【特許請求の範囲】
【請求項１】
画像データに対して画像処理を行う情報処理システムであって、
所定の時刻における被写体までの距離を与える測距手段と、
前記所定の時刻において前記情報処理システムの運動に関するデータを取得するセンサ手段と、
被写体までの距離を与える測距手段からの画像データを受領する受領手段と、
前記受領手段が受領した前記画像データに前記所定の時刻を示すタイムスタンプを付加するための時刻付加手段と、
前記タイムスタンプを付加した前記画像データに対してデータ処理を適用するデータ処理手段と、
前記タイムスタンプが追加された前記画像データに対して、前記タイムスタンプに基づいて前記センサ手段が取得した前記データに対するアクセスを制御するデータ制御手段と、
前記画像データを、前記タイムスタンプに基づいて前記データに対応付けて出力データを生成する出力制御手段と
を含む、情報処理システム。
【請求項２】
前記データ処理手段は、時系列的に連続する複数の区間で測定された複数の前記画像データを並列処理する、請求項１に記載の情報処理システム。
【請求項３】
前記受領手段は、取得した前記タイムスタンプを格納する時刻蓄積手段を含む、請求項１または２に記載の情報処理システム。
【請求項４】
前記データ制御手段は、前記タイムスタンプに測定された前記データを、前記タイムスタンプをインデックスとして先に登録されたデータから検索可能とする、データ蓄積手段を備える、請求項１〜３のいずれか１項に記載の情報処理システム。
【請求項５】
前記出力データを構成する前記画像データが、前記タイムスタンプを含む、請求項１〜４のいずれか１項に記載の情報処理システム。
【請求項６】
前記画像データを取得した時のタイムスタンプと、前記出力データを出力した時の第２タイムスタンプとから前記出力データを処理して出力するまでの遅延時間を生成する遅延時間生成手段を含む、請求項１〜５のいずれか1項に記載の情報処理システム。
【請求項７】
画像データに対して画像処理を行うための情報処理装置であって、、
被写体までの距離を与える測距手段からの画像データを受領する受領手段と、
前記受領手段が受領した前記画像データに所定の時刻を示すタイムスタンプを付加するための時刻付加手段と、
前記タイムスタンプを付加した前記画像データに対してデータ処理を適用するデータ処理手段と、
前記タイムスタンプが追加された前記画像データに対して、前記タイムスタンプに基づいて前記情報処理装置の運動に関するデータを取得するセンサ手段が取得した前記データに対するアクセスを制御するデータ制御手段と、
前記画像データを、前記タイムスタンプに基づいて前記データに対応付けて出力データを生成する出力制御手段と
を含む、情報処理装置。
【請求項８】
前記データ処理手段は、時系列的に連続する複数の区間で測定された複数の前記画像データを並列処理する、請求項７に記載の情報処理装置。
【請求項９】
前記受領手段は、取得した前記タイムスタンプを格納する時刻蓄積手段を含む、請求項７または８に記載の情報処理装置。
【請求項１０】
前記データ制御手段は、前記タイムスタンプに測定された前記データを、前記タイムスタンプをインデックスとして先に登録されたデータから検索可能とする、データ蓄積手段を備える、請求項７〜９のいずれか１項に記載の情報処理装置。
【請求項１１】
情報処理装置を、
所定の時刻における被写体までの距離を与える測距手段からの画像データを受領する受領手段、
前記受領手段が受領した前記画像データに前記所定の時刻を示すタイムスタンプを付加するための時刻付加手段、
前記タイムスタンプを付加した前記画像データに対してデータ処理を適用するデータ処理手段、
前記タイムスタンプが追加された前記画像データに対して、前記タイムスタンプに基づいて前記情報処理装置の運動に関するデータを取得するセンサ手段が取得した前記データに対するアクセスを制御するデータ制御手段、
前記画像データを、前記タイムスタンプに基づいて前記データに対応付けて出力データを生成する出力制御手段
として機能させる装置実行可能なプログラム。
【請求項１２】
前記データ処理手段は、時系列的に連続する複数の区間で測定された複数の前記画像データを並列処理し、前記受領手段は、取得した前記タイムスタンプを格納する時刻蓄積手段を含む、請求項１１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
これまで、テレオカメラおよびレーザーレーダー、IMU（Inertial Measurement Unit：慣性計測装置）など複数の測定部を備えた測距装置、測位装置が知られている。また、これらの測定結果を用いて対象物までの距離を測定したり、自身の位置・姿勢を推定したりする技術も既に知られている。
【０００３】
しかし、従来の複数の測定部を持つ測距・測位装置は、複数の測定部それぞれの測定にかかる時間およびその後のデータ処理にかかる時間は、各機能部をアセンブリ化することに依存してまちまちであった。このため、複数測定部の測定データをセットにして記録メディアに保存したり、後段のシステムで利用したりする場合、厳密に同時刻に測定したデータであることを保障することが出来ないという問題があった。
【０００４】
上述の問題は、測定時に移動体を停止させるか、移動速度を極端に遅くすることで、上記問題が実害のない程度に抑制することで解決していた。しかしながら、無人航空機や自動車など高速で移動するアプリケーションで測距・測位を利用する要請が高まり、わずかな測定タイミングの違いで測定対象（周辺物、自己位置等）が変化してしまうという問題があった。
【０００５】
従来から、距離および位置測定の精度を高める検討は行われており、例えば、特開２００９−１２１９４５号公報（特許文献１）には、複数の測定部での測定結果を取得し、後段でデータを組み合わせ、数値演算によって測定精度を高める技術が開示されている。しかしながら、複数の測定部で取得した測定値を同時刻に取得したものであることを保障するものではない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、複数の測定機能から得られた測定データの時刻同期性を改善する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明によれば、画像データに対して画像処理を行う情報処理システムであって、
画像データに対して画像処理を行う情報処理システムであって、
所定の時刻における被写体までの距離を与える測距手段と、
前記所定の時刻において前記情報処理システムの運動に関するデータを取得するセンサ手段と、
被写体までの距離を与える測距手段からの画像データを受領する受領手段と、
前記受領手段が受領した前記画像データに前記所定の時刻を示すタイムスタンプを付加するための時刻付加手段と、
前記タイムスタンプを付加した前記画像データに対してデータ処理を適用するデータ処理手段と、
前記タイムスタンプが追加された前記画像データに対して、前記タイムスタンプに基づいて前記センサ手段が取得した前記データに対するアクセスを制御するデータ制御手段と、
前記画像データを、前記タイムスタンプに基づいて前記データに対応付けて出力データを生成する出力制御手段と
を含む、情報処理システム
が提供できる。
【発明の効果】
【０００８】
本発明によれば、複数の測定機能から得られた測定データの時刻同期性を改善する技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の情報処理システム１００の概略図。
【図２】本実施形態のデータ処理装置１１０のハードウェアブロック２００を示す。
【図３】本実施形態における画像データに対するパイプライン処理を説明するタイミングチャート３００を示す図。
【図４】図３に示したパイプライン処理において、データ処理の遅延が発生した場合の態様を示す図。
【図５】本実施形態のデータ処理装置１１０の機能ブロック５００を示す図。
【図６】本実施形態におけるデータ処理装置１１０の情報処理を、生成されるデータ構造とともに示したタイミングチャート６００を示す図。
【図７】本実施形態のデータ処理装置１１０が実行する情報処理方法のフローチャート。
【図８】本実施形態において区間２のデータ処理（２）においてパイプライン処理が破たんした場合の実施形態を説明するタイミングチャート８００を示す図
【図９】本実施形態の情報処理方法の第２の実施形態のフローチャート。
【図１０】本実施形態のデータ処理装置１１０の第２実施形態の機能ブロック１０００を示す図。
【図１１】本実施形態において遅延時間を決定する際のフローチャート。
【発明を実施するための形態】
【００１０】
以下、本発明を、実施形態をもって説明するが、本発明は実施形態に限定されるものではない。図１は、本実施形態の情報処理システム１００の概略図である。図１に示す情報処理システム１００は、例えば車両、飛翔体その他の移動体に搭載される測位・測距システムとして利用することができ、距離測定のためのステレオカメラ１０１、Ｔｉｍｅ  ｏｆ  Ｆｌｉｇｈｔ法で距離を測定するためのＴＯＦシステム１０２および専ら画像を撮影するための撮像カメラ１０３とを含んでいる。
【００１１】
ステレオカメラ１０１は、被写体までの距離を測定するための画像データを与える本実施形態の測距手段に相当し、ＴＯＦシステム１０２は、本実施形態の第２測距手段に相当する。また、撮像カメラは、本実施形態の撮像手段に相当し、センサ１０４は、ＩＭＵ（Ｉｎｔｅｒｎａｌ  Ｍｅａｓｕｒｅｍｅｎｔ  Ｕｎｉｔ）として参照することができ、本実施形態のセンサ手段に相当する。
【００１２】
センサ１０４は、移動体の位置、加速度、角速度などを測定し、情報処理システム１００が、被写体までの距離に加え、移動体の位置および姿勢情報を取得することができるようにされている。ステレオカメラ１０１、ＴＯＦシステム１０２、撮像カメラ１０３およびセンサ１０４は、本実施形態における情報処理装置に相当するデータ処理装置１１０に接続されていて、それぞれが取得したデータをデータ処理装置１１０に送付し、各種の処理を行い、対象物との間の距離、移動体の姿勢、移動体付近の画像などの情報を出力データ１１５として生成する。生成された出力データ１１５は、下流側に接続される、姿勢制御装置、運転制御装置、操縦装置などの下流側システム１２０へと送付され、各種の制御のために使用されている。
【００１３】
図２は、本実施形態のデータ処理装置１１０のハードウェアブロック２００を示す。データ処理装置１１０は、制御ボード、パーソナル・コンピュータ、ワークステーションまたは専用の集積回路（ＡＳＩＣ）として実装することができる。データ処理装置１１０は、システムバス２０５により相互接続されたＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３および通信装置２０４を含んで構成されている。システムバス２０５には、ＰＣＩ、ＰＣＩＥｘｐｒｅｓｓなどのバスブリッジ２０６を介してＩ／Ｏバス２０７が接続されている。
【００１４】
また、Ｉ／Ｏバス２０７には、適切なプロトコルを介して、表示装置２０８、ＨＤＤ、ＳＤカード、ＥＥＰＲＯＭといった持続性の記憶装置２０９、ステレオカメラ１０１、ＴＯＦシステム１０２、撮像カメラ１０３、およびセンサ１０４が接続されている。データ処理装置の記憶装置２０９には、ＯＳ、各種ドライバ、各種アプリケーションなどが記録されており、ＣＰＵ２０１の制御に応答してプログラムをＲＡＭ２０２内に読み込んでプログラムを実行させることにより、本実施形態の機能手段をデータ処理装置上に実現させている。
【００１５】
他の実施形態においては、特に記憶装置２０９を設けることなく、ＲＯＭ２０３内に、ＢＩＯＳのほか、記憶装置２０９が記録するべきプログラムを全部実装し、最小限の集積回路でデータ処理装置１１０を実装することができる。また、さらに他の実施形態では、データ処理装置１１０は、ＡＳＩＣ、ＡＳＳＰ、ＦＰＧＡなどの専用集積回路として提供することができ、この場合には、ＲＯＭ２０３は、各プログラムのオブジェクトファイルを格納する。
【００１６】
データ処理装置１１０が使用するＣＰＵとしては、より具体的には、例えば、ＰＥＮＴＩＵＭ（登録商標）〜ＰＥＮＴＩＵＭ  ＩＶ（登録商標）、ＡＴＯＭ(登録商標）、ＣＯＲＥ２ＤＵＯ（登録商標）、ＣＯＲＥ２ＱＵＡＤ（登録商標）、ＣＯＲＥｉ（登録商標）シリーズなどの他、ＰＥＮＴＩＵＭ（登録商標）互換ＣＰＵ、ＰＯＷＥＲ  ＰＣ（登録商標）、ＭＩＰＳなどを挙げることができる。
【００１７】
使用するオペレーティング・システム（ＯＳ）としては、ＭａｃＯＳ（商標）、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、ＣＨＲＯＭＥ（登録商標）、ＡＮＤＲＯＩＤ（登録商標）またはそれ以外の適切なＯＳを挙げることができる。ＣＰＵ２０１がシステムとして実装される場合には、組み込み専用のＯＳである、ＶｘＷｏｒｋｓ（登録商標）、ＯＳ−９（登録商標）ＱＮＸ（登録商標）などを使用することができることは言うまでもない。また、ＯＳは、好ましい実施形態では、パイプライン処理を可能とするか、またはパイプライン処理ととともにマルチコアによりデータの並列処理を制御することができる。
【００１８】
また、データ処理装置１１０がＦＰＧＡなどで実装される場合、ＨＤＬなどが動作可能とされていてもよい。さらに、データ処理装置１１０は、上述したＯＳ上で動作する、アセンブラ言語、Ｃ、Ｃ＋＋、Ｖｉｓｕａｌ  Ｃ＋＋、ＶｉｓｕａｌＢａｓｉｃ、Ｊａｖａ（登録商標）、Ｐｅｒｌ、Ｒｕｂｙなどのプログラミング言語により記述されたアプリケーション・プログラムを格納し、実行することができる。
【００１９】
データ処理装置１１０における各種処理は、データ処理装置１１０が実装するＣＰＵ２０１が、ＲＡＭ２０２や記憶装置２０９に記憶されている各種プログラムを実行することにより情報処理装置上に実現される。
【００２０】
（画像データのパイプライン処理の概要）
以下、画像データのパイプライン処理について概略的に説明する。説明に際して使用する用語を、説明する。
【００２１】
（用語の定義）
用語「データ処理装置」とは、ステレオカメラが取得した画像データに対してデータ処理を適用し、当該画像データを取得した時刻のＩＭＵデータを、出力データに対して付加して出力する情報処理装置を意味する。
用語「区間Ｎ」は、測定開始タイミング（例えばＶＳＹＮＣ信号）に同期して規定され、タイミングチャート３００上での各種データの計測およびデータ処理のＮ番目の区間を意味する（Ｎは、自然数である）。
【００２２】
用語「画像データ」とは、ステレオカメラ１０１が時系列的に取得した画像データを意味する。用語「タイムスタンプ付き画像データ」とは、本実施形態に従い、画像データが取得されたときのタイムスタンプを付された画像データを意味する。用語「第１被処理データＮ」とは、従来のデータ処理装置において区間Ｎでデータ処理（１）を適用した画像データを意味する。用語「第２被処理データＮ」とは、データ処理装置１１０において区間Ｎでデータ処理（２）を適用した画像データを意味する。
【００２３】
用語「高解像度画像データＮ」とは、区間Ｎで測定が開始され、取得された撮像カメラ１０３が取得した画像データを意味する。用語「ＴＯＦデータＮ」とは、ＴＯＦシステムがＴＯＦ法による距離測定のために区間Ｎで取得した画像データを意味する。用語「ＩＭＵデータＮ（ＩＭＵＮ）」とは、センサ１０４が区間Ｎで測定した測定データまたは複数の測定データの平均値を意味する。ＩＭＵデータＮが平均値として生成される場合、そのために使用したデータを、測定データＮａ〜測定データＮｎ（ｎは、自然数である。）とする。
【００２４】
用語「タイムスタンプＮ（ＴＳＮ）」とは、区間Ｎが開始される所定の時刻を示すデータであり、各データが測定された時刻は共通するタイムスタンプＮで参照される。区間Ｎは、画像データの撮影タイミング信号を受領した時のデータ処理装置１１０のＯＳが管理する時刻、例えばシステム時刻、または画像データを受領した時のデータ処理装置１１０が管理する時刻を意味し、時刻情報の他、日付情報、西暦情報を含むことができるデータである。用語「出力データＮ」とは、区間Ｎで取得した画像データに対して各種の処理を適用した後の出力画像データを意味し、この出力データＮが後段側システムに提供される。タイムスタンプＮは、適切な記憶手段に、例えばＦＩＦＯ方式を使用して格納しておくことができる。
【００２５】
以下、同様のタイミングチャートにおいて使用する同一の用語は同一の意義を有するため、都度説明は省略する。
【００２６】
（パイプライン処理）
図３は、本実施形態における画像データに対するパイプライン処理を説明するタイミングチャート３００を示す。タイミングチャート３００についてさらに説明すると、ステレオカメラ１０１は、区間１で、画像データ１を測定し、区間２で、画像データ２を測定し、以後区間Ｎで画像データＮを測定する。データ処理装置は、時系列的に入力される画像データに対してパイプライン処理を適用して並列処理を実行させている。このパイプライン処理は、画像データ１の取得が完了すると、歪み補正を適用し、歪み補正が終了すると、データ処理（１）を適用し、データ処理（１）が終了するとデータ処理（２）を適用し、出力データ１を出力するというように進行する。この出力データ１は、例えばデータ処理装置の出力制御部が管理する記憶手段に一時的に保持させておくことができる。
【００２７】
一方、撮像カメラは、区間１で高解像度画像データ１の取得を開始し、図示する態様では、２区間で、高解像度画像データ１の取得を終了させ、次いで高解像度画像データ２、高解像度画像データ３を取得する。さらに、ＴＯＦシステムは、区間１で、ＴＯＦデータ１を、区間２で、ＴＯＦデータ２を取得し、以後順次ＴＯＦデータＮが取得される。
【００２８】
ＩＭＵデータは、図３に示す態様では、区間Ｎで、３データＮａ〜Ｎｃ測定され、区間２の開始までに平均されて、ＩＭＵデータＮが生成され、例えば、ＩＭＪ制御部が管理する記憶手段に一時的に保持させておくことができる。図３には、これらの処理のパイプライン処理の進行態様を、垂直ライン３０１〜３０４として示している。
【００２９】
出力データＮが出力される場合には、出力データＮに対して対応するＩＭＵデータＮおよびタイムスタンプＴＳＮが、各記憶手段からＦＩＦＯ方式で読み出され、出力データＮに対応付けられて出力される。
【００３０】
図３に示すタイミングチャート３００では、データ処理（１）およびデータ処理（２）には、遅延はなく、パイプライン処理が不都合なく進行しているので、各記憶手段からＦＩＦＯ方式またはタイムスタンプをインデックスとした読み出しを行い、出力データの対応付けることで、画像データが取得された時刻を出力データに関連付けることが可能となる。
【００３１】
図４は、図３に示したパイプライン処理において、データ処理の遅延が発生した場合の態様を示す。図４に示すタイミングチャート４００では、区間２のデータ処理（２）に遅延が発生し、以後のパイプライン処理が破たんし、区間３のデータ処理（１）が適用された第２画像データが失われ、その結果、出力データ３が失われている。ところで、計測自体は不都合なく進んでいるのでタイムスタンプＮは、正常に記憶手段に格納される。このため、単純なＦＩＦＯ方式でＩＭＵＮやタイムスタンプＮを読み出して出力データＮに付すると、出力データ４以降のＩＭＵデータおよびタイムスタンプがＩＭＵ（Ｎ−１）、タイムスタンプ（Ｎ−１）となり、正確な情報を対応付けることができないという不都合が発生する。
【００３２】
ここで、データ処理に遅延が生じる要因としては、処理遅延が発生する要因としては、（１）特徴点抽出など画像によって処理時間が前後するアルゴリズムで、特徴点が沢山検出されるなど、処理時間が多くかかる画像が入ってきた場合：（２）データ処理がＣＰＵによるソフトウェアによって実現されていて、他の通信などのタスクとマルチタスクで実行されていた場合で、他のタスクにＣＰＵリソースが撮られてしまった場合：（３）データ保持部（ＤＲＡＭなど）が帯域ギリギリで、他のデータ転送と競合してしまい、データ転送待ちが発生した場合などを挙げることができる。
【００３３】
上述した（１）〜（３）のデータ処理遅延は、その発生タイミングおよび遅延量が予測できないので、データ処理遅延が発生したとしても、出力データのＩＭＵデータおよびタイムスタンプを保証することが要求される。とりわけ、移動体の制御のために画像データを使用する態様においては、リアルタイム性が高度に要求されるため、データ処理の遅延に伴う測定データのずれが生じることは好ましくない。
【００３４】
また、従来の方式では、画像データを、その測定された時刻に対応付けて処理する機能手段はなく、図４の出力データ４を事後的にＩＭＵ４、ＴＳ４に対応付けることはできない。
【００３５】
本実施形態は、データ処理における遅延が発生し、パイプライン処理が破たんした状況においても、データ損失を最小限とし、出力データの精度を改善するものである。本実施形態では、パイプライン処理が破たんした場合にでもステレオカメラが画像データを取得した時刻を判断できるように、画像データにタイムスタンプを付加する手段、すなわち時刻付加手段を設ける。そして、データ処理装置１１０は、タイムスタンプＮを読み出し鍵としてＩＭＵデータＮおよびタイムスタンプＮを読み出す。
【００３６】
このため、データ処理の遅延が発生し、画像データが失われた場合にでも、失われた画像データ以後の画像データに対して正確な測定データおよびタイムスタンプを追加することが可能なる。以下、パイプライン方式を使用した本実施形態を詳細に説明する。
（パイプライン処理の破たんを処理する第１実施形態）
【００３７】
図５は、本実施形態のデータ処理装置１１０の機能ブロック５００を示す。なお、図５には、データ処理装置１１０の機能以外にもステレオカメラ１０１の機能部５０１、ＩＭＵデータの取得を可能とするセンサ１０４の機能部５０４も説明の便宜上、図示するが、機能部５０１および５０４は、データ処理装置１１０の機能ブロック５００を構成するものではない。
【００３８】
データ処理装置１１０は、ステレオカメラＩ／Ｆ５１０と、センサＩ／Ｆ５１６と、ＩＭＵ制御部５１７と、データ整列部５１３とを含んでいる。ステレオカメラＩ／Ｆ５１０は、本実施形態の受領手段に相当し、ステレオカメラ（ＳＴ）制御部５１０ａと、時刻付加部５１０ｂと、タイムスタンプ（ＴＳ）・スタック５１２とを含んでいる。ＳＴ制御部５１０ａは、撮像手段制御手段に相当し、ステレオカメラ機能部５０１から送付された視差を含む画像データ（左右画像データそれぞれまたは視差の差分画像データ）を受領し、いったんバッファメモリに格納する。
【００３９】
時刻付加部５１０ｂは、本実施形態の時刻付加手段に相当し、画像データに対してデータ整列部５１３が確定した、撮像タイミングを外部から受領することで確定される所定の時刻に相当するタイムスタンプを受け取り、タイムスタンプ・スタック５１２に格納する機能を提供する。タイムスタンプ・スタック５１２は、本実施形態の時刻蓄積手段に相当する。
【００４０】
さらに本実施形態にステレオカメラＩ／Ｆ５１０は、画像データに対してタイムスタンプを付加する処理を実行する。画像データに対してタイムスタンプを付加するタイミングは、画像処理部５１９に送付される前のいかなる時点でもよいが、画像処理部５１９が例えば独立したＡＩＳＣやＦＰＧＡなどで構成される場合には、画像処理部５１９自体ではデータ遅延は想定されないので、例えばデータ処理部５２０に画像データが送付される時点までタイムスタンプの付加処理を遅延させることができる。
【００４１】
本実施形態における時刻付加方法は、被限定的な例示において、（１）先頭画素にタイムスタンプ値を上書きする方法：（２）画像先頭にデータ付与用に１ライン追加して、タイムスタンプ値を書き込みする方法：（３）画像末尾にデータ付与用に１ライン追加して、タイムスタンプ値を書き込みする方法を挙げることができるがこれらに限定されるものではない。
【００４２】
センサＩ／Ｆ５１６は、本実施形態のセンサ制御手段に相当し、センサ機能部５０４から送付される各種データを受領し、ＩＭＵ制御部５１７に各種データを渡す機能を提供する。ＩＭＵ制御部５１７は、各種データの平均値または中央値を取得し、データ整列部５１３から送付されるタイムスタンプと対応付けて、データス・タック５１８に格納する機能を提供する。データ・スタック５１８が本実施形態のデータ蓄積手段に相当する。タイムスタンプ・スタック５１２は、例えばＦＩＦＯ方式のメモリとして実装することができる。
【００４３】
一方、本実施形態のＩＭＵ制御部５１７は、本実施形態のデータ制御手段に相当し、データ・スタック５１８に対してＦｉｒｓｔＩｎ方式で書き込みを行ない、タイムスタンプをインデックスとして検索可能として、メモリアクセスを制御する方式を採用することができる。そしてＩＭＵ制御部５１７は、読み取りに成功した場合、読み出し効率を改善するため、読み取りに成功したデータより前に格納したデータを削除するメモリ管理方式を採用することができる。
【００４４】
データ整列部５１３は、本実施形態におけるデータ整列手段に相当し、外部から受領する撮像タイミング信号を受領するとＯＳが管理する時刻を読み出し、これをタイムスタンプとして確定し、ステレオカメラＩ／Ｆ５１０およびセンサＩ／Ｆ５１６に通知する機能を有する。その他、撮像カメラ１０３、ＴＯＦシステム１０２に対しても共通のタイムスタンプを通知する。
【００４５】
ＴＯＦシステム１０３および撮像カメラ１０３については、本実施形態の要旨とするものではないので、より詳細な説明は省略する。なお、データ整列部５１３が撮像タイミング信号を受領する外部装置としては例えばステレオカメラ１０１を挙げることができるが、これに限定されることなく車載コンピュータ、ＴＯＦシステム１０２、撮像カメラ１０３、デスクトップ・コンピュータ、スマートホンなど、さらに他の情報処理装置とすることもできる。
【００４６】
データ処理装置１１０は、さらに画像処理部５１９と、データ処理部５２０と、データ保持部５１４とを含んでいる。画像処理部５１９は、本実施形態の画像処理手段に相当し、ステレオカメラ機能部５０１から受領した画像データに対して、歪み補正、視差演算などの画像処理を専ら適用する機能部である。また、データ処理部５２０は、本実施形態におけるデータ処理手段に相当し、例えば画像データ中の特徴点を抽出し、処理を施すなどの処理を伴う情報処理を実行する処理部であり、ＣＰＵ処理負荷を要求する機能部である。
【００４７】
データ保持部５１４は、本実施形態におけるデータ保持手段に相当し、データ処理部５２０による処理後の画像データを格納するバッファ手段、またステレオカメラＩ／Ｆ５１０から画像処理部５１９に送付されるまでのバッファ手段として機能する。この機能を提供するため、データ保持部５１４は、本実施形態における画像蓄積手段に相当する画像スタック５１５を含んでおり、ステレオカメラＩ／Ｆ５１０と画像処理部５１９との間、およびデータ処理部５２０と出力制御部５２１との間の処理速度の相違を調整する。なお、画像スタックは、ＦＩＦＯ方式として構成することができる。出力制御部５２１が、本実施形態の出力制御手段に相当する。
【００４８】
さらにデータ処理装置１１０は、出力制御部５２１を含んでおり、出力制御部５２１は、画像データに追加されたタイムスタンプを検索鍵として第１実施形態では、画像スタック５１５から画像データを、データス・タック５１８からＩＭＵデータをそれぞれ読み出して、画像データに対してタイムスタンプに対応するＩＭＵデータを付加して出力データを生成する。出力制御部５２１は、生成した出力データを、出力Ｉ／Ｆ５２２を介して後段側システム（図示せず）に提供させている。なお、出力Ｉ／Ｆ５２２は、後段側システムが対応可能な限り、いかなる適切なインタフェースとすることができる。
【００４９】
図６は、本実施形態におけるデータ処理装置１１０の情報処理を、生成されるデータ構造とともに示したタイミングチャート６００を示す。なお、図６のタイミングチャート６００は、本実施形態に関係ないＴＯＦシステム１０２および撮像カメラ１０３のタイミングについては省略して示している。これに代えて、タイムスタンプ・スタック５１２およびデータ・スタック５１８のデータ構造を示している。また、パイプライン処理の進行態様を、垂直ライン６０１〜６０４として示している。
【００５０】
図６に示すタイミングチャート６００では、パイプライン処理に破たんを生じていない、すなわち、データ処理（２）において、処理遅延が生じていない状態を示しているので出力データＮには、ＩＭＵデータＮが追加されて生成されている点は、図３で示したのと同様である。しかしながら、出力データには、本実施形態に従い、画像データ中にタイムスタンプが追加されているのが示されている。
【００５１】
以下、データ・スタック５１８およびタイムスタンプ・スタック５１２のデータ・アクセス制御についてより詳細に説明する。図６の実施形態では、ステレオカメラ１０１による撮像から、データ処理（２）まで、２区間を要するものとし、前区間で生成されたタイムスタンプは、当該区間でタイムスタンプ・スタック５１２およびデータ・スタック５１８に格納され、ＩＭＵデータ（図中、データ・スタック５１８中のハッチングした矩形）は、直後の区間で、データ・スタック５１８に格納されるものとして説明する。
【００５２】
区間１では、タイムスタンプ１が決定されて、ＩＭＵデータ１ａ、１ｂ、１ｃが測定され、タイムスタンプ・スタック５１２およびデータ・スタック５１８にそれぞれ区間１のタイムスタンプ１が登録される。区間２では、タイムスタンプ２が決定されて、ＩＭＵデータ２ａ、２ｂ、２ｃが測定され、タイムスタンプ・スタック５１２およびデータ・スタック５１８にそれぞれ区間２のタイムスタンプ２が追加登録される。また、区間２では、区間１で測定されたＩＭＵデータ１ａ、１ｂ、１ｃの平均値または中間値としてＩＭＵデータ２が決定され、データ・スタック５１８のタイムスタンプ１に対応付けて登録される。
【００５３】
一方、区間２では、データ処理（１）が開始されており、画像データには、データ処理（１）が開始される前に時刻付加部５１０ｂが、タイムスタンプ・スタックからタイムスタンプ１を読み出して画像データ１にタイムスタンプ１を追加している。図６の実施形態では、説明の便宜上、先頭画素にタイムスタンプ値を上書きする方法でタイムスタンプを追加するものとして説明する。その後、タイムスタンプ・スタック５２１から、タイムスタンプ１が削除される。
【００５４】
区間３では、新たにタイムスタンプ３が決定されて、タイムスタンプ・スタック５１２およびデータ・スタック５１８に追加される。一方、区間３では、区間２で測定されたＩＭＵデータ２ａ、２ｂ、２ｃの平均値または中間値としてＩＭＵデータ２が決定され、データ・スタック５１８のタイムスタンプ２に対応付けて登録される。以後、タイムスタンプ・スタック５１２には、ステレオカメラ１０１の撮像と、データ処理（１）開始までの区間数の分だけ、タイムスタンプが蓄積されて処理が進行する。なお、ステレオカメラ１０１の撮像と、データ処理（１）開始までの区間数はさらに増える場合には、より多くのタイムスタンプがタイムスタンプ・スタック５１２に追加されることになるが、スタック深さについては特定の用途に応じて適宜設定することができることは言うまでもないことである。
【００５５】
区間４では、タイムスタンプ・スタック５１２およびデータ・スタック５１８のデータ追加処理については同様にして行われる。しかしながら、図６に示す実施形態では、区間４で出力制御部５２１による出力データの生成処理が開始されている。出力データの生成処理は、第１の実施形態では、出力制御部５２１が、データ保持部５１４から画像データ１を読み出し、そのタイムスタンプを読み取る。次いで、データ・スタック５１８に対して読み取ったタイムスタンプ１を検索鍵としてＩＭＵ制御部５１７に渡し、データ・スタック５１８を検索させる。この場合、タイムスタンプ１で参照されるＩＭＵデータ１が見いだされるので、ＩＭＵ制御部５１７は、出力制御部５２１に対しＩＭＵデータ１を送付する。
【００５６】
出力制御部５２１、受領したＩＭＵデータ１を画像データ１に付加して出力データを生成する。生成した出力データは図５で説明した通り、データ処理装置１１０の外部へと送出される。区間４では、データ・スタック５１８のタイムスタンプ１に相当するデータにアクセスされたため、タイムスタンプ1に対応する行が削除され、データスタック５１８内のデータ構造は、区間５で示す通りとなる。なお、データ・スタック５１８のスタック深さについても特に制限はなく、特定の実施形態に応じて適宜変更することができる。パイプライン処理に支障がない場合、図６に示した処理に従い処理が進んでゆく。
【００５７】
図７は、本実施形態のデータ処理装置１１０が実行する情報処理方法のフローチャートを示す。図７の処理は、ステップＳ７００から開始し、ステップＳ７０１でステレオカメラ１０１から画像または視差画像データを取得し、ステップＳ７０２で画像データまたは視差画像データを画像処理部５１９に送付し、歪み補正、視差計算などを実行させ、ステップＳ７０３でデータ処理部５２０に送付前の適切な時点で、タイムスタンプを読み出して付加する。なお、説明する実施形態では、画像データの先頭画素のＧＢＲ深度（３２ビット）を削除し、タイムスタンプを書き込む方法を採用することができる。
【００５８】
ステップＳ７０４で画像処理部５１９の処理後、データ処理部５２０に画像データを送付し、データ処理完了後、画像データをデータ保持部に格納する。ステップＳ７０５では、出力制御部５２１がデータ保持部から画像データを読み込み、ステップＳ７０６で、画像データに付されたタイムスタンプを確認する。ステップＳ７０７では、ＩＭＵ制御部５１７にタイムスタンプを渡し、データ・スタック５１８の最先に登録された行から検索を行う。ステップＳ７０８でタイムスタンプが存在するか否かを判断し、存在する場合（ｙｅｓ）、ＩＭＵ制御部５１７は、データ・スタック５１８から対応するＩＭＵデータを読み込んで出力制御部５２１に渡す。
【００５９】
一方、ステップＳ８０８でデータ・スタック５１８にタイムスタンプが存在しない場合（ｎｏ）、検索業を次行に設定し、処理をステップＳ８０８に戻し、次行にタイムスタンプが存在するか否かを検索し、検索に成功するまで、処理を反復させる。なお図８で説明する実施形態では次行の検索において検索に成功することとなるが、詳細については後述する。
【００６０】
ステップＳ７１０では、出力制御部５１２において画像データと、ＩＭＵデータとをセットにして出力データを生成し、出力データとして出力する。その後、データ・スタック５１８から、ヒットしたタイムスタンプ以前のタイムスタンプの行を削除し、ステップＳ７１１で処理を終了する。
【００６１】
図８は、本実施形態において区間２のデータ処理（２）においてパイプライン処理が破たんした場合の実施形態を説明するタイミングチャート８００を示す。図８に示す実施形態では、区間４で開始するデータ処理（２）が処理遅延を生じ、ハッチングで示すように、本来区間５で終了するべきところ、区間６まで遅延して処理が終了している。画像データ３は、本来区間５で、データ処理（１）からデータ処理（２）へと送付されるが、データ処理（２）のための入力バッファは満杯で、画像データ３は、失われてしまう。
【００６２】
一方、画像データ２は、その処理終了後、出力制御部５２１へと送られ、タイムスタンプの確認が実行される。出力制御部５２１は、確認したタイムスタンプをＩＭＵ制御部５１７に送付して、データ・スタック５１８の検索を実行する。この場合、図８の区間７に示すように、ＩＭＵ制御部５１７の検索は、データ・スタック５１８の２行目で成功し、対応するＩＭＵデータ４の読み出しが行われる。ＩＭＵ制御部５１７は、読み出したＩＭＵデータを出力制御部５２１に送付して、画像データ４に対してＩＭＵデータ４を追加し、出力データを生成し、後段側システムへとデータを送付する。なお、他の実施形態では、ＩＭＵ制御部５１７は、検索に失敗した場合、再度検索を開始する前に、ミスヒットした行を削除した後、データ・スタックの先頭行のタイムスタンプを検査する処理を用いることができる。この実施形態では、検索に成功するまでに残される無駄な行をなくすことができ、例えば画像データの条件が良くなく、データ処理の遅延が頻発するような環境において、より効率的なＩＭＵデータ処理が可能とされる。
【００６３】
図８に示すように、本実施形態では、パイプライン処理の破たんに伴うデータの喪失を最小限にとどめ、かつデータ精度を低下させることなく、出力データを生成することが可能となる。
【００６４】
図９は、本実施形態の情報処理方法の第２の実施形態のフローチャートを示す。図９の処理は、データ保持部５１４を、出力バッファとしてではなく、ステレオカメラ１０１との間の入力バッファとして使用する実施形態に相当する。図９の処理は、ステップＳ９００から開始し、ステップＳ９０１でステレオカメラ１０１から画像または視差画像データを取得し、ステップＳ９０２で画像データまたは視差画像データをデータ保持部５１４に格納する。ステップＳ９０３では、画像処理部５１９がデータ保持部５１４から画像データを読み出し、歪み補正、視差計算などを実行させ、ステップＳ９０４でデータ処理部５２０に送付前の適切な時点で、タイムスタンプを読み出して付加する。なお、説明する実施形態では、画像データの先頭画素のＧＢＲ深度（３２ビット）を削除し、タイムスタンプを書き込む方法を採用することができる。
【００６５】
ステップＳ９０４でタイムスタンプを付加後、ステップＳ９０５では、データ処理部５２０は、出力制御部５２１へと画像データを送付し、出力制御部５２１の適切な記憶手段に保持させる。ステップＳ９０６で、画像データに付されたタイムスタンプを確認する。ステップＳ９０７では、ＩＭＵ制御部５１７にタイムスタンプを渡し、データ・スタック５１８の最先に登録された行から検索を行う。ステップＳ９０８でタイムスタンプが存在するか否かを判断し、存在する場合（ｙｅｓ）、ＩＭＵ制御部５１７は、データ・スタック５１８から対応するＩＭＵデータを読み込んで出力制御部５２１に渡す。
【００６６】
一方、ステップＳ８０８でデータ・スタック５１８にタイムスタンプが存在しない場合（ｎｏ）、検索業を次行に設定し、処理をステップＳ８０８に戻し、次行にタイムスタンプが存在するか否かを検索し、検索に成功するまで、処理を反復させる。なお図８で説明する実施形態では次行の検索において検索に成功することとなる。
【００６７】
ステップＳ９１０では、出力制御部５２１において画像データと、ＩＭＵデータとをセットにして出力データを生成し、出力データとして出力する。その後、データ・スタック５１８から、ヒットしたタイムスタンプ以前のタイムスタンプの行を削除し、ステップＳ９１１で処理を終了する。
【００６８】
図９に示した実施形態の処理は、ステレオカメラ１０１からの画像データの送付間隔が短く、データ処理装置１１０の処理に時間を要する場合などに好ましく使用することができ、移動体による測位・測距処理をより高精度化することができる。
【００６９】
（第２実施形態）
図１０は、本実施形態のデータ処理装置１１０の第２実施形態の機能ブロック１０００を示す。図１０に示したデータ処理装置１１０は、データ処理装置１１０が、ステレオカメラ１０１から画像データなどを取得した後、出力するまでに要した時間を出力データの追加データとして生成し、後段側システムに送付する実施形態である。図１０に示したデータ処理装置１１０の機能ブロック１０００では、計時処理部５２３と、データ処理時間判断部５２４が追加されており、その他は、図５に示した第１実施形態と同様である。データ処理時間判断部５２４が、本実施形態の遅延時間生成手段に相当する。
【００７０】
図１０に示した機能ブロック１０００の計時処理部５２３は、ステレオカメラ１０１から画像データを取得した時刻（タイムスタンプ）および出力データの出力Ｉ／Ｆ５２２からの出力完了の時の第２時刻（出力時の時刻：第２タイムスタンプ）を取得する。そして、下記式（１）を使用して遅延時間Ｔを計算する。
【００７１】
【数１】
2018031592.tif 000003
【００７２】
図１１は、本実施形態において遅延時間を決定する際のフローチャートを示す。処理は、ステップＳ１１００から開始し、ステップＳ１１０１で出力するべき画像データのタイムスタンプを取得する。ステップＳ１１０２で出力データを出力した時刻を第２タイムスタンプとして取得する。ステップＳ１１０３では、遅延時間を、式（１）を称して計算し、遅延時間をＴを、後続側システムに対し、フィードバック情報として送付する。その後、遅延時間を後続側システムのフィードバック情報として制御し、ステップＳ１１０５で処理を終了する。なお、後続側システムは、例えば自己位置推定機能を有するいかなるシステムを挙げることができる。また、後続側システムは、フィードバック情報に基づいて、測距時の位置を推定し、さらに遅延時間中のＩＭＵの情報を使用して測距時から実時間までに移動した距離を推定し、補正を行い、実時間における自己位置を推定することができる。
【００７３】
図１１に示した実施形態は、データ処理装置１１０によるデータ遅延を後続側システムで使用することが可能となり、より高精度の測位・測距システムを提供することが可能となる。
【００７４】
これまで本発明を、実施形態をもって説明してきたが、本発明は、実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００７５】
１００    ：情報処理システム
１０１    ：ステレオカメラ
１０２    ：ＴＯＦシステム
１０３    ：撮像カメラ
１０４    ：センサ
１１０    ：データ処理装置
１１５    ：出力データ
１２０    ：下流側システム
２００    ：ハードウェアブロック
２０１    ：ＣＰＵ
２０２    ：ＲＡＭ
２０３    ：ＲＯＭ
２０４    ：通信装置
２０５    ：システムバス
２０６    ：バスブリッジ
２０７    ：Ｉ／Ｏバス
２０８    ：表示装置
２０９    ：記憶装置
３００    ：タイミングチャート
３０１    ：垂直ライン
４００    ：タイミングチャート
５００    ：機能ブロック
５０１    ：ステレオカメラ機能部
５０４    ：センサ機能部
５１０    ：ステレオカメラＩ／Ｆ
５１０ａ  ：ＳＴ制御部
５１０ｂ  ：時刻付加部
５１２    ：タイムスタンプ・スタック
５１３    ：データ整列部
５１４    ：データ保持部
５１５    ：画像スタック
５１６    ：センサＩ／Ｆ
５１７    ：ＩＭＵ制御部
５１８    ：データ・スタック
５１９    ：画像処理部
５２０    ：データ処理部
５２１    ：出力制御部
５２２    ：出力Ｉ／Ｆ
５２３    ：計時処理部
５２４    ：データ処理時間判断部
【先行技術文献】
【特許文献】
【００７６】
【特許文献１】特開２００９−１２１９４５号公報
【図１】
2018031592.tif 000004
【図２】
2018031592.tif 000005
【図３】
2018031592.tif 000006
【図４】
2018031592.tif 000007
【図５】
2018031592.tif 000008
【図６】
2018031592.tif 000009
【図７】
2018031592.tif 000010
【図８】
2018031592.tif 000011
【図９】
2018031592.tif 000012
【図１０】
2018031592.tif 000013
【図１１】
2018031592.tif 000014