【解決手段】撮像装置10は、撮像画像を生成する撮像素子17と、所定のプログラム23を記憶する記憶部20と、自装置が設置される車両11の車載ネットワーク15を介して情報の入出力を行う通信部19と、プログラム23の処理を実行し、該処理の実行中、通信部19に該処理の履歴情報を車載ネットワーク15へ出力させる処理部21と、
撮像画像を生成する撮像素子と、所定のプログラムを記憶する記憶部と、自装置が設置される車両の車載ネットワークを介して情報の入出力を行う通信部と、前記プログラムの処理を実行し、該処理の実行中、前記通信部に該処理の履歴情報を前記車載ネットワークへ出力させる処理部と、を有する撮像装置と、
前記車載ネットワークに接続して前記履歴情報を取得する接続部と、前記履歴情報に基づく所定の画面を表示させるための表示情報を生成する制御部と、前記表示情報に基づいて前記画面を表示する表示部と、を有する情報処理装置と、
を備える、撮像装置の動作解析システム。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について、図面を参照して説明する。
【0013】
はじめに、
図1を参照して、本発明の第1の実施形態に係る撮像装置10が設置された車両11について説明する。車両11は、撮像装置10と、表示装置12と、を備える。また車両11は、例えばCAN等の車載ネットワークを備える。本実施形態において車両11は1つの撮像装置10を備えるが、任意の数の撮像装置10を備えてもよい。
【0014】
撮像装置10は、例えば車両11の後方周辺領域等を撮像可能となるように、車両11に設置される。また撮像装置10は、車載ネットワークに接続される。撮像装置10は、生成した撮像画像を、例えば専用線を介して表示装置12へ出力する。
【0015】
表示装置12は、例えば液晶ディスプレイや有機ELディスプレイであって、車両11の運転者が視認可能な車両11上の位置に設置される。表示装置12は、撮像装置10から専用線を介して取得した撮像画像を表示する。表示装置12に表示される撮像画像を視認することによって運転者は、例えば車両11が駐車する際に車両11後方の様子を認識可能である。
【0016】
次に
図2を参照して、本実施形態に係る撮像装置10を含む動作解析システム13について説明する。概略として動作解析システム13は、撮像装置10の動作確認作業およびデバッグ作業等のために用いられる。
【0017】
動作解析システム13は、撮像装置10と、情報処理装置14と、を備える。情報処理装置14は、例えば撮像装置10の動作確認作業およびデバッグ作業を行う際に、車載ネットワーク15に接続される。以下、動作解析システム13の各構成要素について具体的に説明する。
【0018】
撮像装置10は、光学系16と、撮像素子17と、AFE18と、通信部19と、記憶部20と、処理部21と、を備える。
【0019】
光学系16は、絞りおよび複数のレンズを含んで構成され、被写体像を結像させる。本実施形態において、光学系16は広い画角を有しており、例えば車両11の周辺領域の被写体像や、車両11内の被写体像を結像可能である。
【0020】
撮像素子17は、例えばCMOS撮像素子であって、光学系16によって結像される被写体像を撮像して、アナログの撮像画像を生成する。ここで撮像素子17は、上述したように光学系16が広い画角を有するので、広角撮影された撮像画像を生成可能である。
【0021】
AFE18は、例えばCDS、AGC、およびADCを含んで構成される。AFE18は、撮像素子17によって生成されたアナログの撮像画像に対し、CDS、ゲイン調整(AGC)、およびA/D変換(ADC)等の所定の前段画像処理を施す。
【0022】
通信部19は、専用線22および車載ネットワーク15を介して情報の入出力を行うインターフェースである。
【0023】
記憶部20は、例えばメモリであって、撮像装置10の動作に必要な種々の情報および種々のプログラムを記憶する。
【0024】
ここで
図3を参照して、記憶部20が記憶する種々のプログラムのうち、本実施形態に係るプログラム23について具体的に説明する。プログラム23は、例えば撮像装置10に実行させる機能毎に、複数のブロックに分割されている。各ブロックには、各ブロックを一意に識別可能なブロックIDが対応付けられている。
【0025】
本実施形態において、プログラム23には、処理部21によるプログラム23の処理の履歴情報を生成するための所定の命令文(以下、履歴生成コードという)24が、任意の箇所に挿入されている。履歴生成コード24が処理されることによって、履歴情報が生成される。
【0026】
具体的には、例えば履歴生成コード24が「tool_print(時刻,処理箇所ID,重要度,ブロックID,変数a,変数b)」と記述されている場合、当該履歴生成コード24が処理されると、時刻,処理箇所ID、重要度、ブロックID、変数aの値、および変数bの値を含む履歴情報が生成される。履歴生成コード24の記述および履歴情報に含まれる情報は、上述のものに限られない。
【0027】
時刻は、履歴生成コード24が処理された時刻を示す情報である。
【0028】
処理箇所IDは、プログラム23において処理が実行された箇所、すなわちプログラム23全体における履歴生成コード24の位置(例えば、当該命令文が記述された行番号等)を示す情報である。
【0029】
重要度パラメータは、履歴生成コード24の処理によって生成される履歴情報の重要度を示す情報である。重要度は、当該所定の命令文よりも前段のコードの内容に応じて、プログラマが予め適宜に設定する。
【0030】
例えば、エラーが発生した場合のみ実行されるコードの直後に挿入された履歴生成コード24が処理されると、例えばエラーが重大である程高い重要度(例えば、重要度が高い順に“A”、“B”、“C”、“D”の何れか1つ)が設定された履歴情報が生成される。
【0031】
一方、プログラム23においてエラーが発生していない場合のみ実行されるコードの直後に挿入された履歴生成コード24が処理されると、最低の重要度(例えば、重要度の値が“E”)が設定された履歴情報が生成される。
【0032】
ブロックIDは、複数のブロックを含むプログラム23において処理が実行されたブロックを示すブロックID、すなわち履歴生成コード24が挿入されているブロックのブロックIDである。
【0033】
変数は、履歴生成コード24が処理された時点における、当該履歴生成コード24で指定された所望の変数の値を示す情報である。
【0034】
ここでプログラム23に含まれる履歴生成コード24は、後述するように撮像装置10の動作態様がデバッグモードであるときにのみ処理されるように予め記述されてもよい。このようにして、撮像装置10の動作態様がデバッグモードであるときにのみ履歴情報が生成される。一方、撮像装置10の動作態様がデバッグモードでないとき、履歴生成コード24は処理されず、履歴情報は生成されない。
【0035】
処理部21は(
図2参照)、記憶部20に記憶されたプログラム23の処理を行う。本実施形態において、処理部21は、画像処理サブ部25と、制御サブ部26と、を含む。画像処理サブ部25および制御サブ部26の何れかまたは両方が、プログラム23の少なくとも一部の処理を行う。
【0036】
画像処理サブ部25は、例えばDSP等の画像処理専用のプロセッサを含む。画像処理サブ部25は、記憶部20に記憶されたプログラム23の一部、例えばプログラム23内の所定のブロックを処理することによって、AFE18によって前段画像処理が施された撮像画像に対して所定の後段画像処理を施す。後段画像処理は、例えば露出調整処理、ホワイトバランス処理、色補間処理、歪み補正処理、視点変換処理、切り出し処理、被写体認識処理、および所定の画像(例えば、車両11後方進行時における進行方向を示すガイド線)を撮像画像に重畳する処理等を含むが、これらに限られない。
【0037】
ここで画像処理サブ部25は、記憶部20に記憶されたプログラム23に含まれる履歴生成コード24を処理すると、履歴情報を生成する。そして画像処理サブ部25は、生成した履歴情報を制御サブ部26に取得させる。ここで画像処理サブ部25は、撮像装置10の動作態様がデバッグモードであるときにのみ、履歴生成コード24を処理する。
【0038】
制御サブ部26は、例えば専用のマイクロプロセッサまたは特定のプログラムを読み込むことによって特定の処理を実行する汎用のCPUである。制御サブ部26は、記憶部20に記憶されたプログラム23の一部、例えばプログラム23内の所定のブロックを処理することによって、撮像装置10全体の動作を制御する。
【0039】
例えば制御サブ部26は、撮像素子17の動作を制御して、周期的に、例えば30fpsで撮像画像を生成させる。また例えば、制御サブ部26は、通信部19の動作を制御して、画像処理サブ部25によって後段画像処理が施された撮像画像を、専用線22を介して表示装置12へ出力させる。
【0040】
また制御サブ部26は、車載ネットワーク15及び通信部19を介して、撮像装置10の動作態様を指定する情報(第1情報)を情報処理装置14から取得する。そして制御サブ部26は、当該指示に応じて撮像装置10の動作態様を決定する。例えば、制御サブ部26は、撮像装置10の動作態様としてデバッグモードを指定する第1情報を取得すると、撮像装置10の動作態様を通常の動作モードからデバッグモードに切り替える。
【0041】
また制御サブ部26は、情報処理装置14から車載ネットワーク15及び通信部19を介して、履歴処理設定を取得すると、当該履歴処理設定を記憶部20に記憶させる。ここで履歴処理設定は、例えば
図4に示すように、出力条件と、記憶条件と、ブロック優先度と、を含む。
【0042】
出力条件は、履歴情報を車載ネットワーク15へ出力するか否かを決定するための条件である。例えば出力条件は、複数のブロックのうち少なくとも一部のブロックを示すブロックID(
図4では「01」、「02」、および「14」)を指定する情報(第2情報)と、重要度パラメータの値(
図4では「A」、「B」、および「C」)を指定する情報(第3情報)と、の少なくとも一方を含む。後述するように、生成された履歴情報に含まれるブロックIDおよび重要度パラメータの何れか(または両方)が出力条件に含まれているとき、当該履歴情報は車載ネットワーク15へ出力される。一方、履歴情報に含まれるブロックIDおよび重要度パラメータの両方(または何れか)が出力条件に含まれていないとき、当該履歴情報の車載ネットワーク15への出力が停止される。
【0043】
記憶条件は、履歴情報を記憶部20に記憶させるか否かを決定するための条件である。例えば記憶条件は、複数のブロックのうち少なくとも一部のブロックを示すブロックID(
図4では「01」、「03」、および「15」)を指定する情報と、重要度パラメータ(
図4では「C」、「D」、および「E」)を指定する情報と、の少なくとも一方を含む。後述するように、生成された履歴情報に含まれるブロックIDおよび重要度パラメータの何れかまたは両方が記憶条件に含まれるとき、当該履歴情報は記憶部20に記憶される。一方、履歴情報に含まれるブロックIDおよび重要度パラメータの両方または何れかが記憶条件に含まれていないとき、当該履歴情報は記憶部20に記憶されることなく破棄される。
【0044】
ブロック優先度は、出力条件に含まれるブロックIDの優先度を定める情報である。例えば
図4において、優先度が高い順に「02」、「14」、「01」のブロックIDが定められている。
【0045】
また制御サブ部26は、記憶部20に記憶されたプログラム23に含まれる履歴生成コード24を処理すると、履歴情報を生成する。ここで制御サブ部26は、後述するように撮像装置10の動作態様がデバッグモードであるときにのみ、履歴生成コード24を処理する。
【0046】
また制御サブ部26は、履歴情報を生成したとき、および画像処理サブ部25から履歴情報を取得したときに、記憶部20が記憶する履歴処理設定に基づいて、当該履歴情報を車載ネットワーク15へ出力させるか否かを決定する。
【0047】
例えば、履歴情報のブロックIDおよび重要度パラメータの何れかまたは両方が、履歴処理設定の出力条件に含まれているとき、すなわち履歴情報が出力条件を満たすときに、制御サブ部26は、通信部19に当該履歴情報を車載ネットワーク15へ出力させる。一方、ブロックIDおよび重要度パラメータの両方または何れかが、履歴処理設定の出力条件に含まれていないときに、制御サブ部26は、当該履歴情報の出力を停止させる。
【0048】
好適には、制御サブ部26は、履歴情報を出力させる際に、通信部19から車載ネットワーク15へのデータ転送レートが所定の閾値未満であるか否かを判定する。データ転送レートが所定値未満であるときに、制御サブ部26は、通信部19に当該履歴情報を車載ネットワーク15へ出力させる。
【0049】
一方、データ転送レートが閾値以上であるとき、例えば短時間に多数の履歴情報が生成され複数の未出力の履歴情報が存在するときに、制御サブ部26は、データ転送レートが所定の目標値を超えない範囲において、当該複数の未出力の履歴情報のうち、履歴処理設定に基づくブロック優先度が高い履歴情報、および重要度が高い履歴情報を優先して、通信部19に当該複数の未出力の履歴情報を車載ネットワーク15へ順次出力させる。
【0050】
また制御サブ部26は、履歴情報の出力可否の決定後に、記憶部20が記憶する履歴処理設定に基づいて、当該履歴情報を記憶部20に記憶させるか否かを決定する。
【0051】
例えば、履歴情報のブロックIDおよび重要度パラメータの何れかまたは両方が、履歴処理設定の記憶条件に含まれているとき、すなわち履歴情報が記憶条件を満たすときに、当該履歴情報を記憶部20に記憶させる。一方、履歴情報のブロックIDおよび重要度パラメータの両方または何れかが、履歴処理設定の記憶条件に含まれていないときに、当該履歴情報を破棄する。
【0052】
また制御サブ部26は、車載ネットワーク15および通信部19を介して、記憶部20に記憶された履歴情報の取得要求を情報処理装置14から取得すると、記憶部20に記憶された履歴情報を通信部19に車載ネットワーク15へ出力させる。ここで制御サブ部26は、出力させた履歴情報を記憶部20から消去させてもよい。
【0053】
情報処理装置14は、接続部27と、操作部28と、記憶部29と、表示部30と、制御部31と、を備える。
【0054】
接続部27は、車載ネットワーク15を介して情報の入出力を行うインターフェースである。接続部27は、例えば撮像装置10の動作確認作業およびデバッグ作業を行う際に、車載ネットワーク15に接続される。
【0055】
操作部28は、例えばキーボードおよびマウス等を含み、情報処理装置14に対するユーザ入力を受け付ける。
【0056】
記憶部29は、例えばメモリであって、情報処理装置14の動作に必要な種々の情報およびプログラムを記憶する。
【0057】
表示部30は、例えば液晶ディスプレイや有機ELディスプレイである。表示部30は、制御部31によって生成された表示情報に基づいて、種々の画面を表示する。
【0058】
制御部31は、例えば専用のマイクロプロセッサまたは特定のプログラムを読み込むことによって特定の処理を実行する汎用のCPUである。制御部31は、情報処理装置14全体の動作を制御する。
【0059】
例えば制御部31は、接続部27および車載ネットワーク15を介して、撮像装置10の動作態様を指定する第1情報を撮像装置10へ出力する。具体的には、制御部31は、操作部28が受け付けたユーザ入力に応じて、撮像装置10の動作態様としてデバッグモードを指定する第1情報を撮像装置10へ出力する。
【0060】
また制御部31は、接続部27および車載ネットワーク15を介して、履歴処理設定を撮像装置10へ出力する。履歴処理設定は、例えば操作部28が受け付けたユーザ入力に基づいて決定される。
【0061】
また制御部31は、接続部27および車載ネットワーク15を介して、撮像装置10の記憶部20に記憶された履歴情報の取得要求を撮像装置10へ出力する。取得要求の出力は、例えば操作部28が受け付けたユーザ入力に応じて行われる。
【0062】
また制御部31は、撮像装置10が車載ネットワーク15へ出力した履歴情報を、接続部27に取得させる。続いて制御部31は、取得された履歴情報に基づく所定の画面(以下、解析画面ともいう)を表示させるための表示情報を生成する。そして制御部31は、生成された表示情報に基づいて、解析画面を表示部30に表示させる。
【0063】
ここで解析画面について説明する。解析画面は、ユーザが撮像装置10の動作履歴を視認するための画面であって、履歴情報に基づく多様な表示を行う。
【0064】
例えば解析画面は、
図5に示すように、履歴情報が生成された時刻(
図5中の「Time」)順に、履歴情報に含まれるブロックIDおよび重要度パラメータと、ログと、をリスト表示する画面である。ログは、例えば履歴情報に含まれる変数の値である。
【0065】
また例えば、解析画面は、
図6に示すように、履歴情報が生成された時間を横軸、履歴情報に含まれるブロックIDを縦軸としてグラフ表示する画面であってもよい。かかる解析画面を見たユーザは、時間変化に応じて何れのブロックの処理が実行されていたかを視覚的に認識可能である。
【0066】
次に
図7に示すフローチャートを参照して、本実施形態に係る撮像装置10および情報処理装置14の動作の例について説明する。本動作は、情報処理装置14の接続部27が車載ネットワーク15に接続された状態で実行される。
【0067】
ステップS100:はじめに情報処理装置14の制御部31は、接続部27および車載ネットワーク15を介して、撮像装置10の動作態様としてデバッグモードを指定する第1情報を撮像装置10へ出力する。
【0068】
ステップS101:次に撮像装置10の制御サブ部26は、ステップS100の第1情報を取得すると、撮像装置10の動作態様を通常の動作モードからデバッグモードに切り替える。
【0069】
ステップS102:次に情報処理装置14の制御部31は、接続部27および車載ネットワーク15を介して、履歴処理設定を撮像装置10へ出力する。
【0070】
ステップS103:次に撮像装置10の制御サブ部26は、ステップS102の履歴処理設定を取得すると、当該履歴処理設定を記憶部20に記憶させる。
【0071】
ステップS104:続いて撮像装置10の処理部21は、プログラム23の処理を開始する。
【0072】
ステップS105:続いて撮像装置10の処理部21は、プログラム23に含まれる履歴生成コード24を処理すると、履歴情報を生成する。
【0073】
ステップS106:続いて撮像装置10の制御サブ部26は、ステップS105の履歴情報が出力条件を満たすか否かを判定する。履歴情報が出力条件を満たすとき(ステップS106−Yes)、ステップS107に進む。一方、履歴情報が出力条件を満たさないとき(ステップS106−No)、ステップS111に進む。
【0074】
ステップS107:ステップS106において履歴情報が出力条件を満たすとき(ステップS106−Yes)、撮像装置10の制御サブ部26は、通信部19から車載ネットワーク15へのデータ転送レートが所定の閾値未満であるか否かを判定する。データ転送レートが閾値未満であるとき(ステップS107−Yes)、ステップS108に進む。一方、データ転送レートが閾値以上であるとき(ステップS107−No)、ステップS109に進む。
【0075】
ステップS108:ステップS107においてデータ転送レートが閾値未満であるとき(ステップS107−Yes)、撮像装置10の制御サブ部26は、通信部19にステップS105の履歴情報を車載ネットワーク15へ出力させ、ステップS111に進む。
【0076】
ステップS109:ステップS107においてデータ転送レートが閾値以上であるとき(ステップS107−No)、撮像装置10の制御サブ部26は、通信部19に、ブロック優先度が高い履歴情報、および重要度が高い履歴情報を優先して車載ネットワーク15へ出力させ、ステップS111に進む。
【0077】
ステップS110:ここで情報処理装置14の制御部31は、車載ネットワーク15および接続部27を介して、ステップS108またはステップS109で出力された履歴情報を取得すると、当該履歴情報に基づく解析画面を表示部30に表示させる。
【0078】
ステップS111:ステップS106において履歴情報が出力条件を満たさないとき(ステップS106−Yes)、ステップS108の後、またはステップS109の後、撮像装置10の制御サブ部26は、ステップS105の履歴情報が記憶条件を満たすか否かを判定する。履歴情報が記憶条件を満たすとき(ステップS111−Yes)、ステップS112に進む。一方、履歴情報が記憶条件を満たさないとき(ステップS111−No)、ステップS113に進む。
【0079】
ステップS112:ステップS111において履歴情報が記憶条件を満たすとき(ステップS111−Yes)、撮像装置10の制御サブ部26は、ステップS105の履歴情報を記憶部20に記憶させ、ステップS114に進む。
【0080】
ステップS113:ステップS111において履歴情報が記憶条件を満たさないとき(ステップS111−No)、撮像装置10の制御サブ部26は、ステップS105の履歴情報を破棄し、ステップS114に進む。
【0081】
ステップS114:ステップS112の後、またはステップS113の後、撮像装置10の制御サブ部26は、プログラム23の処理の終了条件が満たされるか否かを判定する。終了条件は、例えば処理を終了させる指示を情報処理装置14から取得したとき、またはプログラム23の所定のブロックの処理が終了したとき等、任意に定められる条件である。終了条件が満たされるとき(ステップS114−Yes)、撮像装置10は処理を終了する。一方、終了条件が満たされていないとき(ステップS114−No)、ステップS105に戻る。
【0082】
このように、本実施形態に係る撮像装置10は、プログラム23の処理の実行中に、当該処理の履歴情報を車載ネットワーク15へ出力するので、撮像装置10が実行する処理の履歴情報の出力のリアルタイム性が向上される。また、CAN等の車載ネットワーク15に出力するため、解析用の専用ポートを撮像装置10に設けることなく、車両11に設置された状態で撮像装置10の動作解析が実行可能となる。
【0083】
また一般的に、CAN等の車載ネットワーク15は、車両11に設置される多様な装置が、CAN等の車載ネットワーク15を用いて通信を行う。したがって、多様な装置の通信を阻害しないように、撮像装置10から車載ネットワーク15へ出力される情報量は少ないことが望ましい。本実施形態に係る撮像装置10は、自装置の動作態様を指定する第1情報によって指定された動作態様に応じて、動作態様がデバッグモードであるときのみ履歴情報を出力する。このため、常に履歴情報を出力する構成と比較して、車載ネットワーク15へ出力する情報量が抑制される。
【0084】
また撮像装置10は、第2情報によって指定されたブロックIDを含む履歴情報を出力し、当該ブロックIDを含まない履歴情報の出力を停止する。このため、車載ネットワーク15へ出力する情報量が抑制される。
【0085】
また撮像装置10は、第3情報によって指定された値の重要度パラメータを含む履歴情報を出力し、当該値の重要度パラメータを含まない履歴情報の出力を停止する。このため、車載ネットワーク15へ出力する情報量が抑制される。
【0086】
本発明を諸図面や実施形態に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。したがって、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各手段、各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の手段やステップなどを1つに組み合わせたり、あるいは分割したりすることが可能である。
【0087】
例えば上述の実施形態では、撮像装置10の制御サブ部26が、履歴処理設定に含まれる記憶条件に基づいて、生成された履歴情報を記憶部20に記憶させるか否かを決定したが、他の条件に基づいて決定してもよい。例えば制御サブ部26は、履歴処理設定に含まれる出力条件に基づいて車載ネットワーク15への出力が停止された履歴情報を、記憶部20に記憶させてもよい。このようにして、出力が停止された履歴情報のみが記憶部20に記憶されるので、記憶部20に記憶させる情報量が低減する。