(57)【要約】  本開示は、信号処理を停止することなく故障検出することができるようにする信号処理装置、および信号処理方法、並びにプログラムに関する。信号処理部の前段と後段との信号のトグル率を計算し、その差分が所定の閾値よりも大きい場合、信号処理部に故障に起因するエラーが発生しているものとみなす。本開示は、車両の運転支援装置に適用することができる。
2017145818.tif 000002
【特許請求の範囲】
【請求項１】
デジタル信号からなる入力信号を順次処理する信号処理部と、
入力信号のトグル率を第１のトグル率として計算する第１のトグル率計算部と、
前記信号処理部により信号処理された信号のトグル率を第２のトグル率として計算する第２のトグル率計算部と、
前記第１のトグル率と、前記第２のトグル率との差分と、所定の閾値とを比較し、比較結果に応じてエラーの発生を検出するエラー検出部と
を含む信号処理装置。
【請求項２】
前記第１のトグル率計算部、および前記第２のトグル率計算部は、いずれも、所定のクロック数に対する、前記デジタル信号の各桁の数値の変化する回数の割合の、全ての前記桁の平均を前記トグル率として計算する
請求項１に記載の信号処理装置。
【請求項３】
前記入力信号は、バイナリデータからなる画像信号であり、
前記第１のトグル率計算部、および前記第２のトグル率計算部は、いずれも、１フレーム分のビット毎のトグル率の平均値を、前記信号処理部の前段の平均トグル率、および後段の平均トグル率として計算する
請求項１に記載の信号処理装置。
【請求項４】
前記入力信号は、バイナリデータからなる画像信号であり、
前記第１のトグル率計算部、および前記第２のトグル率計算部は、いずれも、１フレーム分の各ビットのトグル率の平均値を計算し、さらに、それらの全ビットの平均値を、前記信号処理部の前段の平均トグル率、および後段の平均トグル率として計算する
請求項１に記載の信号処理装置。
【請求項５】
前記入力信号は、バイナリデータからなる画像信号であり、
前記エラー検出部は、前記第１のトグル率と、前記第２のトグル率との差分が、第１の閾値からなるエラー閾値より大きい場合、前記信号処理部のエラーの発生を検出する
請求項１に記載の信号処理装置。
【請求項６】
前記信号処理部は、複数段にシリーズに接続されており、さらに、それぞれの前記信号処理部の間にトグル率計算部が設けられており、それぞれの前記信号処理部の前段の前記トグル率計算部が、前記第１のトグル率計算部であり、それぞれの前記信号処理部の後段の前記トグル率計算部が、前記第２のトグル率計算部であり、
前記エラー検出部は、それぞれの複数の前記信号処理部について、前記第１のトグル率と、前記第２のトグル率との差分が、前記エラー閾値より大きい場合、前記信号処理部のエラーの発生を検出し、前記信号処理部のエラーの発生を検出したとき、前記エラーが検出された前記信号処理部の段数を通知する
請求項５に記載の信号処理装置。
【請求項７】
最前段の前記第１のトグル率計算部は、前記入力信号のトグル率を入力トグル率として計算し、
前記入力トグル率が、所定の閾値よりも小さい場合、前記エラー検出部は、前記エラー閾値を、前記第１の閾値よりも小さな第２の閾値に設定し、それぞれの複数の前記信号処理部について、前記第１のトグル率と、前記第２のトグル率との差分が、前記エラー閾値より大きいとき、前記信号処理部のエラーの発生を検出し、前記信号処理部のエラーの発生を検出したとき、前記エラーが検出された前記信号処理部の段数を通知する
請求項６に記載の信号処理装置。
【請求項８】
前記画像信号を撮像する複数の撮像部をさらに含み、
前記複数の前記撮像部のそれぞれに複数段の前記信号処理部が設けられ、
前記信号処理部は、複数段にシリーズに接続されており、さらに、それぞれの前記信号処理部の間に前記トグル率計算部が設けられており、それぞれの前記信号処理部の前段の前記トグル率計算部が、前記第１のトグル率計算部であり、それぞれの前記信号処理部の後段の前記トグル率計算部が、前記第２のトグル率計算部であり、
前記入力トグル率が、所定の閾値よりも小さい場合、前記エラー検出部は、前記エラー閾値を、前記第１の閾値よりも小さな第２の閾値に設定し、それぞれの複数の前記信号処理部について、前記第１のトグル率と、前記第２のトグル率との差分が、前記エラー閾値より大きいとき、並びに、前記撮像部のそれぞれについて、前記複数の前記信号処理部のうち、最終段の、前記第２のトグル率間の差分が所定の閾値よりも大きいとき、前記信号処理部のエラーの発生を検出し、前記信号処理部のエラーの発生を検出したとき、前記エラーが検出された前記信号処理部の段数を通知する
請求項６に記載の信号処理装置。
【請求項９】
前記信号処理部の信号処理結果に基づいて、車両に設けられる駆動部分の動作を制御して運転を支援する支援部と、
前記車両の制御情報を表示する表示部とをさらに含み、
前記エラー検出部によりエラーが検出された場合、前記支援部は、前記信号処理部の信号処理結果に基づいた、車両に設けられる駆動部分の動作を制御した運転の支援を停止する
請求項１に記載の信号処理装置。
【請求項１０】
デジタル信号からなる入力信号を順次処理し、
入力信号のトグル率を第１のトグル率として計算し、
前記信号処理部により信号処理された信号のトグル率を第２のトグル率として計算し、
前記第１のトグル率と、前記第２のトグル率との差分と、所定の閾値とを比較し、比較結果に応じてエラーの発生を検出する
ステップを含む信号処理方法。
【請求項１１】
デジタル信号からなる入力信号を順次処理する信号処理部と、
入力信号のトグル率を第１のトグル率として計算する第１のトグル率計算部と、
前記信号処理部により信号処理された信号のトグル率を第２のトグル率として計算する第２のトグル率計算部と、
前記第１のトグル率と、前記第２のトグル率との差分と、所定の閾値とを比較し、比較結果に応じてエラーの発生を検出するエラー検出部と
してコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、信号処理装置、および信号処理方法、並びにプログラムに関し、特に、信号処理を停止することなく故障検出できるようにした信号処理装置、および信号処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
画像信号、および音声信号等を含む信号の処理を行う複数の信号処理部からなる信号処理装置において、いずれかの信号処理部において、故障が発生しているか否かを検出するには、一般的に、信号処理を停止して、テストパターンなどの既知の信号を処理させて、既知の処理結果が出力されるか否かに基づいて判断する必要があった。【０００３】
より具体的には、一般的に、信号処理を継続動作する回路において故障を判別するには、一旦画像出力を止めてテストパターンを流し、予め作成している期待値と比較することで故障の有無を検出する技術が提案されている（特許文献１参照）。【０００４】
また、ブランク期間中にテスト画像を挿入し、期待値と比較することで故障の有無を検出する技術が提案されている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２４６８０３号公報
【特許文献２】特開２００９−１１１５４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１，２の技術においては、いったん信号処理を停止させたうえで故障を検出する必要があった。【０００７】
また、全ての故障を検出するには全回路を活性化させる必要があるが、そのためには多くのテスト画像や、パラメータを用意してテスト実行しなければできないにも関わらず、従来においては、特定の演算対象データ（テスト画像に依存）や、一意に設定した演算パラメータで活性化する一部の回路の故障の有無を検出することしかできなかった。【０００８】
本開示は、このような状況に鑑みてなされたものであり、特に、リアルタイムで、かつ、特定の演算対象データ（テスト画像に依存）や、一意に設定した演算パラメータを用いることなく、信号処理装置の故障検出を実現できるようにするものである。
【課題を解決するための手段】
【０００９】
本開示の一側面の信号処理装置は、デジタル信号からなる入力信号を順次処理する信号処理部と、入力信号のトグル率を第１のトグル率として計算する第１のトグル率計算部と、前記信号処理部により信号処理された信号のトグル率を第２のトグル率として計算する第２のトグル率計算部と、前記第１のトグル率と、前記第２のトグル率との差分と、所定の閾値とを比較し、比較結果に応じてエラーの発生を検出するエラー検出部とを含む信号処理装置である。【００１０】
前記第１のトグル率計算部、および前記第２のトグル率計算部には、いずれも、所定のクロック数に対する、前記デジタル信号の各桁の数値の変化する回数の割合の、全ての前記桁の平均を前記トグル率として計算させるようにすることができる。【００１１】
前記入力信号は、バイナリデータからなる画像信号とすることができ、前記第１のトグル率計算部、および前記第２のトグル率計算部には、いずれも、１フレーム分のビット毎のトグル率の平均値を、前記信号処理部の前段の平均トグル率、および後段の平均トグル率として計算させるようにすることができる。【００１２】
前記入力信号は、バイナリデータからなる画像信号とすることができ、前記第１のトグル率計算部、および前記第２のトグル率計算部には、いずれも、１フレーム分の各ビットのトグル率の平均値を計算させ、さらに、それらの全ビットの平均値を、前記信号処理部の前段の平均トグル率、および後段の平均トグル率として計算させるようにすることができる。【００１３】
前記入力信号は、バイナリデータからなる画像信号とすることができ、前記エラー検出部には、前記第１のトグル率と、前記第２のトグル率との差分が、第１の閾値からなるエラー閾値より大きい場合、前記信号処理部のエラーの発生を検出させる。【００１４】
前記信号処理部には、複数段にシリーズに接続されており、さらに、それぞれの前記信号処理部の間にトグル率計算部が設けられており、それぞれの前記信号処理部の前段の前記トグル率計算部が、前記第１のトグル率計算部であり、それぞれの前記信号処理部の後段の前記トグル率計算部が、前記第２のトグル率計算部であり、前記エラー検出部には、それぞれの複数の前記信号処理部について、前記第１のトグル率と、前記第２のトグル率との差分が、前記エラー閾値より大きい場合、前記信号処理部のエラーの発生を検出し、前記信号処理部のエラーの発生を検出したとき、前記エラーが検出された前記信号処理部の段数を通知させるようにすることができる。【００１５】
最前段の前記第１のトグル率計算部には、前記入力信号のトグル率を入力トグル率として計算し、前記入力トグル率が、所定の閾値よりも小さい場合、前記エラー検出部には、前記エラー閾値を、前記第１の閾値よりも小さな第２の閾値に設定させ、それぞれの複数の前記信号処理部について、前記第１のトグル率と、前記第２のトグル率との差分が、前記エラー閾値より大きいとき、前記信号処理部のエラーの発生を検出させ、前記信号処理部のエラーの発生を検出したとき、前記エラーが検出された前記信号処理部の段数を通知させるようにすることができる。【００１６】
前記画像信号を撮像する複数の撮像部をさらに含ませるようにすることができ、前記複数の前記撮像部のそれぞれに複数段の前記信号処理部が設けられ、前記信号処理部は、複数段にシリーズに接続されており、さらに、それぞれの前記信号処理部の間に前記トグル率計算部が設けられており、それぞれの前記信号処理部の前段の前記トグル率計算部が、前記第１のトグル率計算部であり、それぞれの前記信号処理部の後段の前記トグル率計算部が、前記第２のトグル率計算部であり、前記入力トグル率が、所定の閾値よりも小さい場合、前記エラー検出部には、前記エラー閾値を、前記第１の閾値よりも小さな第２の閾値に設定させ、それぞれの複数の前記信号処理部について、前記第１のトグル率と、前記第２のトグル率との差分が、前記エラー閾値より大きいとき、並びに、前記撮像部のそれぞれについて、前記複数の前記信号処理部のうち、最終段の、前記第２のトグル率間の差分が所定の閾値よりも大きいとき、前記信号処理部のエラーの発生を検出させ、前記信号処理部のエラーの発生を検出したとき、前記エラーが検出された前記信号処理部の段数を通知させるようにすることができる。【００１７】
前記信号処理部の信号処理結果に基づいて、車両に設けられる駆動部分の動作を制御して運転を支援する支援部と、前記車両の制御情報を表示する表示部とがさらに設けられ、前記エラー検出部によりエラーが検出された場合、前記支援部には、前記信号処理部の信号処理結果に基づいた、車両に設けられる駆動部分の動作を制御した運転の支援を停止させるようにすることができる。【００１８】
本技術の一側面の信号処理方法は、デジタル信号からなる入力信号を順次処理し、入力信号のトグル率を第１のトグル率として計算し、前記信号処理部により信号処理された信号のトグル率を第２のトグル率として計算し、前記第１のトグル率と、前記第２のトグル率との差分と、所定の閾値とを比較し、比較結果に応じてエラーの発生を検出するステップを含む信号処理方法である。【００１９】
本技術の一側面のプログラムは、デジタル信号からなる入力信号を順次処理する信号処理部と、入力信号のトグル率を第１のトグル率として計算する第１のトグル率計算部と、前記信号処理部により信号処理された信号のトグル率を第２のトグル率として計算する第２のトグル率計算部と、前記第１のトグル率と、前記第２のトグル率との差分と、所定の閾値とを比較し、比較結果に応じてエラーの発生を検出するエラー検出部としてコンピュータを機能させるためのプログラム。【００２０】
本開示の一側面においては、デジタル信号からなる入力信号により順次処理する、入力信号のトグル率が第１のトグル率として計算され、信号処理された信号のトグル率が第２のトグル率として計算され、前記第１のトグル率と、前記第２のトグル率との差分と、所定の閾値とを比較し、比較結果に応じてエラーの発生が検出される。
【発明の効果】
【００２１】
本開示の一側面によれば、リアルタイムで、かつ、特定の演算対象データ（テスト画像に依存）や、一意に設定した演算パラメータを用いることなく、信号処理装置の故障検出を実現することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】本開示を適用した車載カメラシステムの構成例を示す図である。
【図２】全ビットの平均トグル率を説明する図である。
【図３】図１の車載カメラシステムにおけるエラー判定処理を説明するフローチャートである。
【図４】図１の車載カメラシステムにおけるエラー判定処理を説明する図である。
【図５】図１の車載カメラシステムにおけるその他のエラー判定処理を説明するフローチャートである。
【図６】図５のフローチャートによるエラー判定処理を説明する図である。
【図７】図５のフローチャートによるエラー判定処理を説明する図である。
【図８】本開示を適用した車載ステレオカメラシステムの構成例を示す図である。
【図９】図８の車載ステレオカメラシステムにおけるエラー判定処理を説明するフローチャートである。
【図１０】汎用のパーソナルコンピュータの構成例を説明する図である。
【図１１】車両制御システムの概略的な構成の一例を示すブロック図である。
【図１２】車外情報検出部及び撮像部の設置位置の一例を示す説明図である。
【発明を実施するための形態】
【００２３】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２４】
また、以下の順序で説明を行う。
１．第１の実施の形態
２．変形例
３．第２の実施の形態
４．第１の応用例
５．第２の応用例
【００２５】
＜＜１．第１の実施の形態＞＞
＜本開示の信号処理装置を適用した車載カメラシステムの第１の構成例＞
図１は、本開示の信号処理装置を適用した車載カメラシステムの第１の構成例を示している。
【００２６】
図１の車載カメラシステムは、例えば、車両のフロントウィンドウ、リアウィンドウ、およびサイドウィンドウ等のそれぞれに搭載されるイメージセンサにより撮像された画像を信号処理し、信号処理結果に基づいて、車両のステアリング、ブレーキ、およびライト等の動作を制御し、車両の運転を支援するものである。
【００２７】
しかしながら、車載カメラシステムが、故障等により信号処理結果に何らかのエラーが発生するような場合、そのような信号処理結果に基づいて、ステアリング、ブレーキ、およびライト等を制御すると、車両の挙動に危険な状況を生じさせる恐れがある。
【００２８】
そこで、車載カメラシステムは、信号処理におけるエラーを検出した場合には、信号処理結果に基づいた運転の支援を停止させると共に、ユーザであるドライバ（運転者）に車載カメラシステムによる運転の支援が停止されたことを速やかに通知して、ドライバの意志による運転を実施するように促すものである。
【００２９】
より詳細には、図１の車載カメラシステム１１は、イメージセンサ３１、画像処理ブロック３２、後段LSI３３を備えており、処理結果を表示部１２に出力する。
【００３０】
イメージセンサ３１は、CMOS（Complementary Metal Oxide Semiconductor）などからなり、車載カメラシステム１１が搭載された車両の前方、後方、および側面方向の画像を撮像し、例えば、16ビットの画素信号からなる画像を画像処理ブロック３２に出力する。尚、画素信号のビット数については、16ビット以外のビット数でもよいものであり、12ビットや10ビット等であってもよいものであるが、ここでは、一例として16ビットであるものとして説明を進めるものとする。
【００３１】
画像処理ブロック３２は、イメージセンサ３１により撮像された16ビットの画素信号からなる画像を信号処理し、信号処理結果を後段LSI３３に出力する。尚、ここでは、画像処理ブロック３２が、16ビットの画素信号を信号処理して、やはり16ビットの画素信号として出力する例について説明するものとするが、これは一例であり、16ビットの画素信号を信号処理して、12ビットや20ビットなど、他のビット数の画素信号として出力するようにしてもよいものである。
【００３２】
画像処理ブロック３２は、トグル率計算部５１−０乃至５１−４、信号処理部５２−１乃至５２−４、および判定部５３を備えている。
【００３３】
トグル率計算部５１−０は、信号処理部５２−１の前段の入力信号である画像を構成する16ビットからなる画素信号のそれぞれについて、１フレーム毎の平均トグル率を計算し、判定部５３に供給する。
【００３４】
ここで、トグル率とは、画素信号の各ビットにおける０から１、および１から０へと変化する活性化率であり、このトグル率が所定の割合以上であれば、入力されてくる画像は自然画像であることを示すものである。すなわち、全面が黒画素からなる画像などの場合、例えば、ラスタスキャン順に画素信号の各ビットの値は、いずれも同じであるから、画素信号を構成する各ビットの平均トグル率は、略ゼロとなる。
【００３５】
また、トグル率計算部５１−１乃至５１−４は、基本的にトグル率計算部５１−０と同様の処理をするものであるが、信号処理部５２−１乃至５２−４のそれぞれの後段のトグル率を計算する。
【００３６】
尚、トグル率計算部５１−０乃至５１−４、および信号処理部５２−１乃至５２−４は、それぞれ特に区別する必要がない場合、単に、トグル率計算部５１、および信号処理部５２と称するものとする。
【００３７】
また、トグル率計算部５１−０は、信号処理部５２−１の前段に設けられたものであり、以降においては、第０段のトグル率計算部５１とも称するものとする。さらに、信号処理部５２−１乃至５２−４は、それぞれ第１段乃至第４段の信号処理部５２とも称するものとし、トグル率計算部５１−１乃至５１−４は、それぞれ第１段乃至第４段の信号処理部５２の後段の第１段乃至第４段のトグル率計算部５１とも称する。
【００３８】
より詳細には、トグル率計算部５１−０は、入力画像における各画素信号を、例えば、ラスタスキャン順に読み出し、16ビットのそれぞれの画素信号のトグル率を計算し、その平均を平均トグル率として計算する。
【００３９】
より具体的には、例えば、図２で示されるような16ビットの画素信号が、ラスタスキャン順に読み出されると、トグル率計算部５１は、各ビットのトグル率を計算する。図２においては、最下段のクロック信号に同期して、上からbit[15]乃至bit[0]で示される16ビット分の画素信号の時系列の変化が示されており、５クロック分のトグル率が示されている。
【００４０】
図２においては、例えば、16ビット目の信号となるbit[15]については、０から１への変化が1回であるので、トグル率計算部５１は、20%であり、bit[14]については、０から１への変化が1回であり、１から０への変化が1回の合計2回であるので、トグル率は、40%である。
【００４１】
また、bit[2]については、０から１への変化が2回であり、１から０への変化が1回の合計3回であるので、トグル率は、60%であり、bit[1]については、０から１への変化が2回であり、１から０への変化が3回の合計5回であるので、トグル率は、100%であり、bit[0]については、０から１への変化が3回であり、１から０への変化が2回の合計5回であるので、トグル率は、100%である。
【００４２】
すなわち、ここでいうトグル率は、所定のクロック数に対する、各ビット（各桁）の数値が変化する回数の割合である。尚、ここでは、バイナリデータからなるデジタル信号を対象としているので、所定クロック数に対する各ビットの数値の変化の回数、すなわち、各桁の数値の変化の回数の割合がトグル率となる。したがって、バイナリデータ、すなわち、２進数以外の表現を用いたデジタル信号に対しても、所定のクロック数に対する、各桁における数値の変化の回数の割合をトグル率として定義することができる。
【００４３】
トグル率計算部５１は、このように求められた16ビット分のトグル率の1フレーム分であって、かつ、16ビット分の平均値を平均トグル率として算出する。
【００４４】
判定部５３は、トグル率計算部５１−０乃至５１−４より供給されてくるトグル率に基づいて、信号処理部５２−１乃至５２−４のいずれにおいて故障等に起因するエラーが発生しているのか否かを判定し、判定結果を後段LSI３３に通知する。
【００４５】
後段LSI（Large Scale Integrated circuit）３３は、画像処理ブロック３２の画像処理結果（信号処理結果）に基づいて、図示せぬ車両のステアリング、ブレーキ、およびライト等の動作を制御してドライバの運転を支援すると共に、信号処理結果に対応する情報をインストルメントパネル等からなる表示部１２に出力して表示する。
【００４６】
より詳細には、画像処理ブロック３２より信号処理部５２−１乃至５２−４のいずれかに異常が発生していることを示す情報が供給されてきた場合、後段LSI３３は、画像処理ブロック３２の処理結果を利用した、図示せぬ車両のステアリング、ブレーキ、およびライト等の動作を制御してドライバの運転の支援を停止して、その旨をドライバに認識できるように表示部１２に表示する。
【００４７】
すなわち、信号処理部５２−１乃至５２−４の後段における画像のフレーム単位の平均トグル率は、所定値以上で維持されていれば、信号処理部５２−１乃至５２−４は、正常に機能しているとみなすことができる。逆に、信号処理部５２−１乃至５２−４のいずれかでエラーが発生すると、信号処理部５２−１乃至５２−４における平均トグル率が大きく変化する。例えば、その後段の画像信号が黒画像などの同一色の画像となってしまうような状態になると、後段以降の信号処理部５２−１乃至５２−４における平均トグル率がほぼ０に近い値で変化しない状態となる。
【００４８】
そこで、判定部５３は、トグル率計算部５１−０乃至５１−４の計算結果である平均トグル率の、信号処理部５２−１乃至５２−４の前段および後段のそれぞれの比較により、どの信号処理部５２で故障が発生しエラーが生じているのかを特定し、エラーが発生している場合、その情報を後段LSI３３に出力する。
【００４９】
また、トグル率計算部５１−０のトグル率は、入力される画像そのものに異常が発生している場合、すなわち、例えば、全体が黒画像であるような場合、以降においてフレーム単位でのトグル率の変化は期待できず、異常の発生を検出できなくなる恐れがある。そこで、このような場合、判定部５３は、信号処理部５２−１乃至５２−４の前後のトグル率の比較結果とは無関係に異常が発生していないものとみなす。すなわち、この場合、入力画像の異常であって、信号処理部５２−１乃至５２−４の異常とはみなさない。
【００５０】
＜図１の車載カメラシステムによる全ビットの平均トグル率を用いたエラー判定処理＞
次に、図３のフローチャートを参照して、図１の車載カメラシステムによる全ビットの平均トグル率を用いたエラー判定処理について説明する。
【００５１】
ステップＳ１１において、判定部５３は、トグル率計算部５１−Ｎおよび信号処理部５２−Ｎの段数を区別するカウンタＮを０に初期化する。尚、信号処理部５２には、第０段目は存在しないので、カウンタＮが０である場合には、トグル率計算部５１−０のみが設定されることになる。
【００５２】
ステップＳ１２において、第Ｎ段のトグル率計算部５１−Ｎ（５１−０）は、入力画像からなる１フレーム分の各画素信号の全ビットの平均トグル率（Ｎ）を計算し、判定部５３に出力すると共に、入力画像の画素信号を順次信号処理部５２−１に出力する。すなわち、ここでは、入力画像に対する信号処理前の１フレーム分の画像の平均トグル率（０）が計算される。より詳細には、ラスタスキャン順の各画素の画素信号における１ビット目の平均トグル率、２ビット目の平均トグル率、・・・１６ビット目の平均トグル率が求められ、これらの各ビットの平均トグル率の平均が、入力画像の１フレーム分の平均トグル率（０）として算出される。
【００５３】
ステップＳ１３において、判定部５３は、平均トグル率（０）が所定の閾値ｔｈ０よりも高いか否かを判定する。すなわち、ここで、閾値ｔｈ０は、入力画像の各画素間に変化があり、この処理により、黒画像や灰色画像といった画像の全体にわたってほぼ均一な画素値からなる何らかのエラー画像が入力されてきているか否かが判定される。ステップＳ１３において、平均トグル率（０）が所定の閾値ｔｈ０よりも高く、正常な画像が供給されてきているような場合、処理は、ステップＳ１４に進む。
【００５４】
ステップＳ１４において、判定部５３は、以降の後段の平均トグル率の信号処理部５２の前後の差分における異常を検出するための閾値ｔｈ１を通常閾値に設定する。
【００５５】
尚、ここで設定される閾値ｔｈ１については、信号処理される対象の画素信号の特性に応じて、適切な値が設定されることが望ましい。すなわち、閾値ｔｈ１が不要に高すぎるとエラーが発生してもエラーを適切に検出し難くなり、逆に、低すぎるとエラーを起こしていないのに誤検出してしまうことがあるため、例えば、統計的に適切な値を設定するといった手法を取ることが望ましい。
【００５６】
一方、ステップＳ１３において、平均トグル率（０）が所定の閾値ｔｈ０よりも小さく、入力画像が黒画像や灰色画像といった画像の全体にわたってほぼ均一な画素値からなる何らかのエラー画像が入力されてきているとみなされた場合、処理は、ステップＳ１５に進む。
【００５７】
ステップＳ１５において、判定部５３は、以降の後段の平均トグル率の信号処理部５２の前後の差分における異常を検出するための閾値ｔｈ１を通常閾値よりも十分に低い値に設定する。すなわち、入力画像がエラー画像である可能性が高いので、以降において、同様な画像が入力されてくる可能性があり、以降の信号処理部５２−１乃至５２−４の前後の平均トグル率（Ｎ）変化がない状態であっても、信号処理部５２−１乃至５２−４の異常ではない可能性があるため、閾値ｔｈ１を十分に小さくして変化がないような場合でも異常ではないものとみなすようにする。
【００５８】
ステップＳ１６において、判定部５３は、トグル率計算部５１−Ｎおよび信号処理部５２−Ｎの段数を区別するカウンタＮを１インクリメントする。
【００５９】
ステップＳ１７において、第Ｎ段の信号処理部５２−Ｎは、第Ｎ段目の信号処理を実行し、後段のトグル率計算部５１−Ｎに出力する。
【００６０】
ステップＳ１８において、トグル率計算部５１−Ｎは、第Ｎ段目の信号処理部５２−Ｎの信号処理結果における１フレーム分の全ビットの平均トグル率（Ｎ）を計算し、判定部５３に出力する。
【００６１】
ステップＳ１９において、判定部５３は、第Ｎ段目の信号処理部５２−Ｎの後段の平均トグル率（Ｎ）と前段の平均トグル率（Ｎ−１）との差分絶対値が所定の閾値ｔｈ１よりも大きいか否かを判定する。
【００６２】
ステップＳ１９において、例えば、平均トグル率（Ｎ−１）と平均トグル率（Ｎ）との差分絶対値が所定の閾値ｔｈ１よりも大きく、平均トグル率に大きな変化があり、第Ｎ段目の信号処理部５２−Ｎにエラーがあるとみなされた場合、処理は、ステップＳ２０に進む。
【００６３】
ステップＳ２０において、判定部５３は、第Ｎ段目の信号処理部５２−Ｎにエラーが発生していることを記憶する。
【００６４】
一方、ステップＳ１９において、例えば、平均トグル率（Ｎ−１）と平均トグル率（Ｎ）との差分絶対値が所定の閾値ｔｈ１よりも小さく、平均トグル率に大きな変化がない場合、第Ｎ段目の信号処理部５２−Ｎにエラーがないとみなされた場合、ステップＳ２０の処理はスキップされる。
【００６５】
ステップＳ２１において、判定部５３は、トグル率計算部５１−Ｎおよび信号処理部５２−Ｎを区別するためのカウンタＮが４であるか、すなわち、４段全ての信号処理部５２についてエラーの有無を確認したか否かを確認する。ステップＳ２１において、カウンタＮが４ではない場合、処理は、ステップＳ１６に戻り、カウンタＮが４になるまで、すなわち、信号処理部５２−１乃至５２−４の全てにわたってエラーの発生の有無が確認されるまで、ステップＳ１６乃至Ｓ２１の処理が繰り返される。
【００６６】
そして、信号処理部５２−１乃至５２−４の全てにわたってエラーの発生の有無が確認され、カウンタＮが４であるとみなされた場合、処理は、ステップＳ２２に進む。
【００６７】
ステップＳ２２において、判定部５３は、信号処理部５２−１乃至５２−４のエラーの発生の有無を判定し、エラーが発生していた場合、処理は、ステップＳ２３に進む。
【００６８】
ステップＳ２３において、判定部５３は、エラーの発生していた信号処理部５２を特定する情報を後段LSI３３に出力する。
【００６９】
この処理により、後段LSI３３は、エラーが発生していることを示す情報と共に、信号処理部５２を特定する情報を表示部１２に表示し、処理は、ステップＳ２４に進む。
【００７０】
ステップＳ２４において、後段LSI３３は、信号処理部５２−１乃至５２−４の処理結果を利用した、図示せぬ車両のステアリング、ブレーキ、およびライト等の動作の制御による運転支援を停止して、その旨をドライバに認識できるように表示部１２に表示し、処理は、ステップＳ２５に進む。
【００７１】
一方、ステップＳ２２において、エラーが発生していないとみなされた場合、処理は、ステップＳ２６に進む。
【００７２】
ステップＳ２６において、判定部５３は、閾値ｔｈ１が通常より小さく設定されているか、すなわち、入力画像のエラーが発生しているか否かを判定する。ステップＳ２６において、閾値ｔｈ１が通常より小さく設定されており、入力画像が、例えば、黒画像などであり、適切な画像処理が困難であるとき、処理は、ステップＳ２４に進む。
【００７３】
すなわち、この場合、入力画像が黒画像などによるものであるので、信号処理部５２−１乃至５２−４にエラー等が発生しているのかの判断はできないが、信号処理部５２−１乃至５２−４の信号処理結果を用いた運転支援については、適切に実行できない恐れがあるので、運転支援のみが停止され、その旨のみが表示部１２に表示される。
【００７４】
また、ステップＳ２６において、閾値ｔｈ１が通常より小さく設定されておらず、適切に処理ができる正常な状態であるとき、処理は、ステップＳ２５に進む。
【００７５】
すなわち、この場合、入力画像も黒画像などではなく、また、エラーもないものとみなされるので、後段LSI３３は、信号処理部５２−１乃至５２−４のそれぞれの信号処理結果に基づいて、図示せぬ車両のステアリング、ブレーキ、およびライト等の動作を制御してドライバの運転の支援を継続する。
【００７６】
ステップＳ２５において、判定部５３は、次の画像、すなわち、次のフレームの入力があるか否かを判定し、次のフレームの入力がある場合、処理は、ステップＳ１１に戻り、それ以降の処理が繰り返される。そして、ステップＳ２５において、次のフレームの入力がない場合、処理は終了する。
【００７７】
以上の処理により、例えば、図４の左部で示されるように、信号処理部５２−１前段のトグル率計算部５１−０により計算される平均トグル率（０）が、時系列に上から１５％、１４％、および１５％と推移しているような場合、正常な画像が入力されているものとみなされて、閾値ｔｈ１は、通常閾値が設定される。これにより、後段の例えば、図２で示される第４段目となる信号処理部５２−４の後段の平均トグル率（４）が、時系列に１３％、１４％、および１３％と推移しているような場合、正常な信号処理結果が出力されているものとみなされエラーは検出されない。
【００７８】
一方、図４の右部で示されるように、第０段目のトグル率（０）は、時系列に１５％、１４％、１５％と変移し、第１段目のトグル率（１）は、時系列に１４％、１２％、１４％と変移し、第２段目のトグル率（２）は、時系列に１３％、１１％、１３％と変移し、第３段目のトグル率（３）は、時系列に１２％、１０％、１％と変移し、第４段目のトグル率（４）は、時系列に１２％、１０％、１％と変移している場合、３番目のタイミングにおいては、信号処理部５２−３にエラーが発生することで、信号処理部５２−４においても平均トグル率が低下する。
【００７９】
結果として、このような場合、図４の右側における時系列の３番目のタイミングにおいて、信号処理部５２−３にエラーが発生していることが通知されて、以降において、信号処理結果が利用されない状態となる。
【００８０】
尚、図示しないが、入力画像が黒色画像であるような場合、入力画像における平均トグル率（０）については、略０となり、当然のことながら平均トグル率（Ｎ−１）と平均トグル率（Ｎ）との差分絶対値も略０となり、この場合、信号処理部５２−１乃至５２−４のいずれかにおいてエラー等が発生していても、エラー等の発生は確認できないので、この場合の処理については、信号処理結果に基づいた図示せぬ車両のステアリング、ブレーキ、およびライト等の動作の制御による運転支援を中止して、その旨をドライバに認識できるように表示部１２に表示する。
【００８１】
この処理により、ドライバは、画像に対応した運転を支援する機能が停止していることを認識し、自らが運転に注力しなければならないことを適切に認識させることが可能となり、突然、運転を支援する機能がなくなったことで、ドライバの運転に対する意識が低下しているようなことで生じる事故の発生を低減させることが可能となる。
【００８２】
また、以上の処理においては、閾値ｔｈ１を、信号処理部５２−Ｎの全てについて同一の値として設定する例について説明してきたが、信号処理部５２−Ｎのそれぞれの機能などに応じて異なる値に設定するようにしてもよい。
【００８３】
すなわち、信号処理部５２−Ｎは、それぞれ平均トグル率を変化させるような処理を行うこともあるので、閾値ｔｈ１は、信号処理部５２−Ｎのそれぞれの機能によって適切な値が設定されることが望ましい。
【００８４】
例えば、特定の信号処理部５２が、ゲイン処理の様に掛け算を行うような機能を備えているような場合、他の信号処理部５２に対して、平均トグル率が上昇する傾向を示す可能性がある。逆に、例えば、特定の信号処理部５２が、明るすぎる画像を暗く調整するような処理では、他の信号処理部５２に対して、平均トグル率が下がるような傾向を示す可能性がある。
【００８５】
従って、信号処理部５２−Ｎの平均トグル率は、処理内容に応じた、それぞれ個別に異なる傾向を示す可能性があるので、閾値ｔｈ１についても、個別に設定するようにしてもよい。
【００８６】
例えば、信号処理部５２−Ｎのそれぞれについて、閾値ｔｈ１に代えて、閾値ｔｈ１１（＝閾値ｔｈ１×ｋＮ）が、設定されるようにしてもよい。ここで、ｋＮは、ブロック固有係数であり、例えば、Ｎ段目の信号処理部５２−Ｎに応じて、ブロック固有係数ｋＮを閾値ｔｈ１に乗じることにより、信号処理部５２−Ｎの機能や特性に応じて補正された閾値ｔｈ１に対応する閾値ｔｈ１１を設定する。このように、信号処理部５２−Ｎの個別の特性に応じて、閾値ｔｈ１が補正された閾値ｔｈ１１を設定することにより、信号処理部５２の故障の有無を、より高精度に検出することができる。
【００８７】
以上の処理により、リアルタイムで、かつ、特定の演算対象データ（テスト画像に依存）や、一意に設定した演算パラメータを用いることなく、画像処理装置の故障検出を信号処理部の単位で実現することが可能となる。
【００８８】
また、画像を利用した運転支援を実現する機能を実現するにあたって、リアルタイムでエラーの発生を検出して、運転支援における誤動作の発生を抑制すると共に、ドライバに対して運転支援が停止したことを適切に提示することが可能となる。
【００８９】
＜＜２．変形例＞＞
以上においては、画像信号の全ビットの平均トグル率が求められて、第Ｎ段目の信号処理部５２−Ｎのエラーの発生の有無を検出する例について説明してきたが、ビット毎に平均トグル率を求めて、信号処理部５２−Ｎのビット単位でのエラーの発生の有無を検出し、より高精度なエラー検出を実現するようにしてもよい。
【００９０】
尚、ビット毎に平均トグル率を求めて、信号処理部５２−Ｎのビット単位でのエラーの発生の有無を検出するようにした車載カメラシステムの基本的な構成については、図１と同様であるので、その説明は省略するものとする。
【００９１】
ただし、トグル率計算部５１−０乃至５１−４については、画像信号のビット毎に平均トグル率を計算して判定部５３に供給する。判定部５３は、トグル率計算部５１−０乃至５１−４を用いて、画像信号のビット毎の平均トグル率を計算して、ビット単位での信号処理部５２−１乃至５２−４のエラーの有無を検出する。
【００９２】
＜図１の車載カメラシステムによるビット毎の平均トグル率を用いたエラー判定処理＞
次に、図５のフローチャートを参照して、図１の車載カメラシステムによるビット毎の平均トグル率を用いたエラー判定処理について説明する。
【００９３】
ステップＳ５１において、判定部５３は、トグル率計算部５１−Ｎおよび信号処理部５２−Ｎの段数を区別するカウンタＮと、画素信号におけるビット位置を区別するカウンタＭとを０に初期化する。尚、信号処理部５２には、第０段目は存在しないので、ここでは、トグル率計算部５１−０のみが設定されることになる。
【００９４】
ステップＳ５２において、第Ｎ段のトグル率計算部５１−Ｎ（５１−０）は、入力画像からなる１フレーム分の各画素信号のＭビット目の平均トグル率（Ｎ，Ｍ）を計算し、判定部５３に出力すると共に、入力画像の画素信号を順次信号処理部５２−１に出力する。すなわち、ここでは、入力画像に対する信号処理前の１フレーム分の画像のＭビット目の平均トグル率（Ｎ，Ｍ）（＝（０，Ｍ））が計算される。
【００９５】
ステップＳ５３において、判定部５３は、平均トグル率（Ｎ，Ｍ）が所定の閾値ｔｈＭ０よりも高いか否かを判定する。ステップＳ５３において、Ｍビット目の平均トグル率（０，Ｍ）が所定の閾値ｔｈＭ０よりも高く、正常な画像が供給されてきているような場合、処理は、ステップＳ５４に進む。
【００９６】
ステップＳ５４において、判定部５３は、Ｍビット目の以降の後段の平均トグル率の信号処理部５２の前後の差分におけるエラーを検出するための閾値ｔｈＭ１を通常閾値に設定する。
【００９７】
一方、ステップＳ５３において、Ｍビット目の平均トグル率（０，Ｍ）が所定の閾値ｔｈＭ０よりも小さく、エラー画像が入力されてきているとみなされた場合、処理は、ステップＳ５５に進む。
【００９８】
ステップＳ５５において、判定部５３は、以降の後段のＭビット目の平均トグル率の信号処理部５２の前後の差分におけるエラーを検出するための閾値ｔｈＭ１を通常閾値よりも十分に低い値に設定する。すなわち、入力画像がエラー画像である可能性が高いので、以降において、同様な画像が入力されてくる可能性があり、以降の信号処理部５２−１乃至５２−４の前後の平均トグル率（Ｎ，Ｍ）の変化がない状態であっても、信号処理部５２−１乃至５２−４のエラーではない可能性があるため、閾値ｔｈＭ１を十分に小さくして変化がないような場合でもエラーではないものとみなすものとする。
【００９９】
ステップＳ５６において、判定部５３は、ビット位置を区別するカウンタＭが１５になっているか否かを判定する。すなわち、全ビットについて、それぞれ閾値ｔｈＭ１が設定されたか否かを判定し、全てのビットについて、それぞれの閾値ｔｈＭ１が設定されていない場合、処理は、ステップＳ５７に進む。
【０１００】
ステップＳ５７において、判定部５３は、ビット位置を区別するカウンタＭを１インクリメントし、処理は、ステップＳ５２に戻る。
【０１０１】
すなわち、各ビットについて、閾値ｔｈＭ１が設定されるまで、ステップＳ５２乃至Ｓ５６の処理が繰り返される。そして、ステップＳ５６において、全ビットについて、閾値ｔｈＭ１が設定された場合、処理は、ステップＳ５８に進む。
【０１０２】
ここで、各ビットに設定される閾値ｔｈＭ１については、信号処理される対象の画素信号の特性に応じて、適切な値が設定されることが望ましい。さらに、ビット毎に適切な閾値が設定されることが望ましい。すなわち、画素信号は、上位ビット程、平均トグル率が低く、下位ビット程、トグル率が高い。すなわち、上位ビットは、大きな変動がないと変化しないが、下位ビットは、小さな変動の影響を受け易い。このため、各ビットに設定される閾値ｔｈＭ１は、ビット位置に応じて適切な値とすることが望ましく、例えば、統計処理などに基づいて、適切な値が設定されることが望ましい。
【０１０３】
ステップＳ５８において、判定部５３は、ビット位置を区別するカウンタＭを０に初期化する。
【０１０４】
ステップＳ５９において、判定部５３は、トグル率計算部５１−Ｎおよび信号処理部５２−Ｎの段数を区別するカウンタＮを１インクリメントする。
【０１０５】
ステップＳ６０において、第Ｎ段の信号処理部５２−Ｎは、第Ｎ段目の信号処理を実行し、後段のトグル率計算部５１−Ｎに出力する。
【０１０６】
ステップＳ６１において、トグル率計算部５１−Ｎは、第Ｎ段目の信号処理部５２−Ｎの信号処理結果における１フレーム分のＭビット目の平均トグル率（Ｎ，Ｍ）を計算し、判定部５３に出力する。
【０１０７】
ステップＳ６２において、判定部５３は、第Ｎ段目のＭビット目の信号処理部５２−Ｎの後段の平均トグル率（Ｎ，Ｍ）と前段の平均トグル率（Ｎ−１，Ｍ）との差分絶対値が所定の閾値ｔｈＭ１よりも大きいか否かを判定する。
【０１０８】
ステップＳ６２において、例えば、平均トグル率（Ｎ−１，Ｍ）と平均トグル率（Ｎ，Ｍ）との差分絶対値が所定の閾値ｔｈＭ１よりも大きく、平均トグル率に大きな変化があり、第Ｎ段目の信号処理部５２−Ｎの第Ｍビット目にエラーが発生しているとみなされた場合、処理は、ステップＳ６３に進む。
【０１０９】
ステップＳ６３において、判定部５３は、第Ｎ段目の信号処理部５２−Ｎの第Ｍビット目にエラーが発生していることを記憶する。
【０１１０】
一方、ステップＳ６２において、例えば、平均トグル率（Ｎ−１）と平均トグル率（Ｎ）との差分絶対値が所定の閾値ｔｈＭ１よりも小さく、平均トグル率に大きな変化がなく、第Ｎ段目の信号処理部５２−ＮのＭビット目にエラーが発生していないとみなされた場合、ステップＳ６３の処理はスキップされる。
【０１１１】
ステップＳ６４において、判定部５３は、ビット位置を区別するためのカウンタＭが１５であるか、すなわち、全てのビットについてエラーの有無が判定されたか否かを判定し、全てのビットについてエラーの有無が判定されていない場合、処理は、ステップＳ６５に進む。
【０１１２】
ステップＳ６５において、判定部５３は、カウンタＭを１インクリメントし、処理は、ステップＳ６１に戻る。
【０１１３】
すなわち、第Ｎ段目の信号処理部５２−Ｎの全ビットについてエラーの有無が判定されるまで、ステップＳ６０乃至Ｓ６５の処理が繰り返される。そして、ステップＳ６４において、判定部５３は、第Ｎ段目の全ビットについてエラーの有無が判定された後、処理は、ステップＳ６６に進む。
【０１１４】
ステップＳ６６において、判定部５３は、トグル率計算部５１−Ｎおよび信号処理部５２−Ｎを区別するためのカウンタＮが４であるか、すなわち、４段全ての信号処理部５２についてエラーの有無を確認したか否かを確認する。ステップＳ６６において、カウンタＮが４ではない場合、処理は、ステップＳ５９に戻り、カウンタＮが４になるまで、すなわち、信号処理部５２−１乃至５２−４の全ビットにわたってエラーの発生の有無が確認されるまで、ステップＳ５９乃至Ｓ６６の処理が繰り返される。
【０１１５】
そして、ステップＳ６６において、信号処理部５２−１乃至５２−４の全てにわたって、全ビットのエラーの発生の有無が確認され、カウンタＮが４であるとみなされた場合、処理は、ステップＳ６７に進む。
【０１１６】
ステップＳ６７において、判定部５３は、信号処理部５２−１乃至５２−４の各ビットについて、エラーの発生の有無を判定し、エラーが発生していた場合、処理は、ステップＳ６８に進む。
【０１１７】
ステップＳ６８において、判定部５３は、エラーの発生していた信号処理部５２のビット位置を特定する情報を後段LSI３３に出力する。
【０１１８】
この処理により、後段LSI３３は、エラーが発生していることを示す情報と共に、信号処理部５２を特定する情報を表示部１２に表示し、処理は、ステップＳ６９に進む。
【０１１９】
ステップＳ６９において、後段LSI３３は、信号処理部５２−１乃至５２−４の処理結果を利用した、図示せぬ車両のステアリング、ブレーキ、およびライト等の動作の制御による運転支援を停止して、その旨をドライバに認識できるように表示部１２に表示し、処理は、ステップＳ７０に進む。
【０１２０】
一方、ステップＳ６７において、エラーが発生していないとみなされた場合、処理は、ステップＳ７１に進む。
【０１２１】
ステップＳ７１において、判定部５３は、閾値ｔｈＭ１が通常より小さく設定されているか、すなわち、入力画像のエラーが発生しているか否かを判定する。ステップＳ７１において、閾値ｔｈＭ１が通常より小さく設定されており、入力画像が、例えば、黒画像などであり、適切な画像処理が困難であるとき、処理は、ステップＳ６９に進む。
【０１２２】
すなわち、この場合、入力画像が黒画像などによるものであるので、信号処理部５２−１乃至５２−４にエラー等が発生しているのかの判断はできないが、信号処理部５２−１乃至５２−４の信号処理結果を用いた運転支援については、適切に実行できない恐れがあるので、運転支援のみが停止され、その旨のみが表示部１２に表示される。
【０１２３】
また、ステップＳ７１において、閾値ｔｈＭ１が通常より小さく設定されておらず、適切に処理ができる正常な状態であるとき、処理は、ステップＳ７０に進む。
【０１２４】
すなわち、この場合、入力画像も黒画像などではなく、また、エラーもないものとみなせるので、後段LSI３３は、信号処理部５２−１乃至５２−４のそれぞれの各ビットの信号処理結果に基づいて、図示せぬ車両のステアリング、ブレーキ、およびライト等の動作を制御し、ドライバの運転の支援を継続する。
【０１２５】
ステップＳ７０において、判定部５３は、次の画像、すなわち、次のフレームの入力があるか否かを判定し、次のフレームの入力がある場合、処理は、ステップＳ５１に戻り、それ以降の処理が繰り返される。そして、ステップＳ７０において、次のフレームの入力がない場合、処理は終了する。
【０１２６】
以上の処理により、例えば、図６の左部で示されるように、自然画像が入力されている場合、信号処理部５２−１前段のトグル率計算部５１−０により計算される上位３ビット（MSBから３ビット）と、下位５ビット（LSBから５ビット）の各ビットについて、平均トグル率（０，Ｍ）が、図中上から５％、５％、６％、８％、８％、１３％、１４％、および１５％と推移している。このような場合、正常な画像が入力されているものとみなされて、閾値ｔｈＭ１は、通常閾値が設定される。
【０１２７】
ここで、MSBに近いビット位置における閾値ｔｈＭ１は、平均トグル率が小さくなることにより、設定される閾値ｔｈＭ１も低めに設定される。これに対して、LSBに近いビット位置における閾値ｔｈＭ１は、平均トグル率が高くなるので、設定される閾値ｔｈＭ１も高く設定される。
【０１２８】
また、第３段目の信号処理部５２−３の後段における各ビットの平均トグル率（３，Ｍ）は、図６の左部の場合、図中上から３％、５％、９％、８％、７％、１２％、１４％、および１８％と推移している。さらに、第４段目の信号処理部５２−４の後段における各ビットの平均トグル率（４，Ｍ）は、図６の左上部の場合、図中上から４％、４％、６％、７％、７％、１４％、１１％、および２０％と推移している。
【０１２９】
すなわち、図６の左部で示されるような場合、各ビットについて、平均トグル率の差分が所定の閾値ｔｈＭ１よりも大きいので、エラーの発生はないものとみなされる。
【０１３０】
これに対して、例えば、図６の右部で示されるような場合、第３段目の信号処理部５２−３の後段の下位２番目のビット位置（Ｍ＝１）については、平均トグル率（３，１）が０％となり、以降、第４段目の信号処理部５２−４の下位２番目のビット位置については、平均トグル率（４，１）が０％となっている。
【０１３１】
同様に、図６の右部で示されるように、第４段目の信号処理部５２−４の後段の上位の１３ビット目については、平均トグル率（４，１３）が０％となっている。
【０１３２】
結果として、図６の右部で示されるような場合、信号処理部５２−３における第１ビット目、および、信号処理部５２−４における第１３ビット目にエラーが発生しているものとみなせる状態となる。
【０１３３】
このように、何段目の信号処理部５２における、どのビット位置にエラーが発生しているのかを正確に検出することが可能となる。
【０１３４】
さらに、暗闇などの黒画像が入力画像であるような場合、例えば、図７の左部で示されるように、信号処理部５２−１前段のトグル率計算部５１−０により計算される上位３ビット（MSBから３ビット）と、下位５ビット（LSBから５ビット）の各ビットについては、平均トグル率（０，Ｍ）が、図中上から０％、０％、１％、０％、１％、１％、０％、および１％と推移している。このような場合、正常な画像が入力されているものとはみなされないので、閾値ｔｈＭ１は、通常閾値よりも十分に低い値が設定される。
【０１３５】
これにより、第３段目の信号処理部５２−３の後段における各ビットの平均トグル率（３，Ｍ）は、図７の左部の場合、図中上から１％、０％、１％、０％、１％、１％、０％、および１％と推移している。さらに、第４段目の信号処理部５２−４の後段における各ビットの平均トグル率（４，Ｍ）は、図７の左部の場合、図中上から０％、０％、０％、１％、０％、１％、０％、および１％と推移している。
【０１３６】
図７の左部で示されるような場合、各ビットについて、平均トグル率の差分が十分に小さい所定の閾値ｔｈＭ１が設定され、エラーの発生はないものとみなされる。
【０１３７】
これに対して、例えば、図７の右部で示されるような場合、第３段目の信号処理部５２−３の後段の下位２番目のビット位置（Ｍ＝１）については、平均トグル率（３，１）が０％となり、以降、第４段目の信号処理部５２−４の下位２番目のビット位置については、平均トグル率（４，１）が０％となっている。
【０１３８】
同様に、図７の右部で示されるように、第４段目の信号処理部５２−４の後段の上位の１３ビット目については、平均トグル率（４，１３）が０％となっている。
【０１３９】
ただし、図７の右部で示されるような場合でも、平均トグル率の差分が十分に小さい所定の閾値ｔｈＭ１が設定されているので、エラーの発生はないものとみなされる。
【０１４０】
結果として、この場合、信号処理部５２−１乃至５２−４のいずれかにおいてエラー等が発生しているか否かの判断がつかないため、エラーであるとの通知はされない。
【０１４１】
ただし、この場合、安全性の観点から、適切に判断できない画像に基づいた運転支援については停止させ、運転支援が停止したことをドライバに通知することが望ましい。
【０１４２】
尚、図３のフローチャートを参照して説明したように、この例においても、信号処理部５２−Ｎのそれぞれについて、ブロック固有係数ｋＮを設定して、閾値ｔｈＭ１に乗じるようにしてもよい。ブロック固有係数ｋＮを用いるようにすることで、信号処理部５２−Ｎの個別の特性に応じて、ビット毎に閾値ｔｈＭ１が補正された閾値ｔｈＭ１１を設定することにより、信号処理部５２−Ｎのビット毎の故障の有無を、より高精度に検出することができる。
【０１４３】
以上の処理により、リアルタイムで、かつ、特定の演算対象データ（テスト画像に依存）や、一意に設定した演算パラメータを用いることなく、画像処理装置の故障検出をビット単位で実現することが可能となる。
【０１４４】
また、画像を利用した運転支援を実現する機能を実現するにあたって、リアルタイムでエラーの発生を検出して、運転支援における誤動作の発生を抑制すると共に、ドライバに対して運転支援が停止したことを提示することが可能となる。
【０１４５】
＜＜３．第２の実施の形態＞＞
以上においては、イメージセンサが１個の、いわゆる単眼の画像を利用した車載カメラシステムである例について説明してきたが、例えば、２個の車載カメラシステムを用いてステレオ画像を撮像するようにして、ステレオ画像を用いた運転支援をするようにしてもよく、その際、いずれか一方の画像においてエラーが発生しているものとみなされるとき、ステレオ画像を取得することができないので、運転支援を停止させると共に、ドライバにエラー（異常）の発生を通知するようにしてもよい。
【０１４６】
図８は、図１の車載カメラシステム１１のイメージセンサ３１、および画像処理ブロック３２を、それぞれ右眼画像用、および左眼画像用に用いた車載ステレオカメラシステム１０１の構成例を示したものである。
【０１４７】
尚、図８の車載ステレオカメラシステム１０１においては、基本的に、右眼用の図１の車載カメラシステム１１のイメージセンサ３１、および画像処理ブロック３２に対応する各構成には、「−１」を付しており、左眼用の図１の車載カメラシステム１１に対応する各構成には、「−２」を付している。このため、それらの説明については、適宜省略するものとする。
【０１４８】
すなわち、図８における車載ステレオカメラシステム１０１において、図１の車載カメラシステム１１と異なる点は、イメージセンサ３１−１，３１−２、および画像処理ブロック３２−１，３２−２に対して、１個の後段LSI３３が設けられており、画像処理ブロック３２−１，３２−２がそれぞれ最終段である第４段の平均トグル率を後段LSI３３に供給すると共に、さらに、トグル情報比較部１２１が設けられている点である。
【０１４９】
トグル情報比較部１２１は、左右の画像処理ブロック３２−１，３２−２からのエラー判定処理結果とトグル率とを比較し、少なくともいずれかにエラーがあるか、または、双方の平均トグル率に所定値以上の差がある場合、左右いずれか、または、両方の画像が使用できないものとみなし、図示せぬ車両のステアリング、ブレーキ、およびライト等の動作の制御による運転支援を停止すると共に、車載カメラシステム１１−１，１１−２のエラー個所、または、左右画像の平均トグル率に差があり、何らかのエラーが発生していることを表示部１２に出力して表示する。
【０１５０】
＜図８の車載ステレオカメラシステムによるエラー判定処理＞
次に、図９のフローチャートを参照して、図８の車載ステレオカメラシステムによるエラー判定処理について説明する。
【０１５１】
ステップＳ１０１において、右眼用の車載カメラシステムに対応するイメージセンサ３１−１、および画像処理ブロック３２−１は、右カメラエラー判定処理を実行し、判定結果と、それぞれの平均トグル率の情報を後段LSI３３に出力する。尚、右カメラエラー判定処理については、右眼用の画像に対して、図３または図５のフローチャートを参照して説明したエラー判定処理を実行するものであるので、その説明は省略するものとする。また、この際、画像処理ブロック３２−１の判定部５３−１は、第４段の平均トグル率として、全ビットの平均トグル率、または、ビット毎の平均トグル率を出力する。
【０１５２】
ステップＳ１０２において、左眼用の車載カメラシステムに対応するイメージセンサ３１−２、および画像処理ブロック３２−２は、左カメラエラー判定処理を実行し、判定結果と、それぞれの平均トグル率の情報を後段LSI３３に出力する。尚、左カメラエラー判定処理については、左眼用の画像に対して、図３または図５のフローチャートを参照して説明したエラー判定処理を実行するものであるので、その説明は省略するものとする。また、この際、画像処理ブロック３２−２の判定部５３−２は、第４段の平均トグル率として、全ビットの平均トグル率、または、ビット毎の平均トグル率を出力する。
【０１５３】
ステップＳ１０３において、後段LSI３３は、左右カメラエラー判定処理に基づいて、少なくともいずれかにエラーが検出されたか否かを判定する。
【０１５４】
ステップＳ１０４において、後段LSI３３は、カメラ画像に基づいた運転支援を停止すると共に、表示部１２にエラーが発生している信号処理部５２の位置（、および、ビット位置：図５のフローチャートのエラー判定処理を実行していた場合）についての情報を表示すると共に、運転支援が打ち切られていることを表示する。
【０１５５】
また、ステップＳ１０３において、左右の画像のいずれからもエラーが検出されなかった場合、処理は、ステップＳ１０５に進む。
【０１５６】
ステップＳ１０５において、後段LSI３３は、トグル情報比較部１２１を制御して、左右の平均トグル率の差分絶対値が所定の閾値よりも大きく、左右で差が生じているか否かを判定する。ステップＳ１０５において、左右の平均トグル率の差分絶対値が所定の閾値よりも大きく、左右で差が生じているとみなされた場合、処理は、ステップＳ１０６に進む。
【０１５７】
ステップＳ１０６において、後段LSI３３は、カメラ画像に基づいた運転支援を停止すると共に、表示部１２に左右の画像に差が生じて、適切に運転を支援するができないことを表示すると共に、運転支援が打ち切られていることを表示する。尚、ここで、図３のフローチャートの処理である場合には、第１段乃至第４段のいずれの信号処理部５２で左右のずれがあるのか、または、図５のフローチャートの処理である場合には、第１段乃至第４段のいずれの信号処理部５２の何ビット目で左右のずれがあるのかを示す情報が表示される。
【０１５８】
例えば、図８で示されるように、イメージセンサ３１−２の正面に、画像の撮像を妨げる障害物１１１が、例えば、フロントウィンドウなどに付着しているような場合、黒画像が撮像されてしまうことがある。
【０１５９】
このような場合、上述した処理では、エラーが検出されないことになる。しかしながら、左右の画像に著しい差が生じていると、運転支援に必要とされる適切なステレオ画像を取得することができず、実質的にエラーが発生した状態とみなして対応する必要がある。
【０１６０】
そこで、この場合、左右の画像に著しい差が生じており、運転支援を制御する処理を停止させ、その旨を表示部１２に表示する。
【０１６１】
このように実質的に使用不能な画像が撮像されてしまっているような場合にだけ、運転支援を停止させ、その旨をドライバに伝えるようにすることで、故障に起因したものではない可能性があるにも関わらず、故障が発生してしまっているといった不要なエラーの通知を抑制しつつ、適切な運転支援を実現させることが可能となる。
【０１６２】
尚、ステップＳ１０５において、左右の平均トグル率の差分絶対値が所定の閾値よりも低い場合、通常の処理が実現されているものと見なし、ステップＳ１０４，Ｓ１０６の処理がスキップされる。
【０１６３】
以上の処理により、不要なエラーの通知を発することを抑制しつつ、適切にエラー判定を実現することが可能となる。
【０１６４】
また、リアルタイムで、かつ、特定の演算対象データ（テスト画像に依存）や、一意に設定した演算パラメータを用いることなく、画像処理装置の故障検出を実現することが可能となる。
【０１６５】
さらに、以上においては、信号処理の対象が画像信号である例について説明してきたが、信号処理が可能なものであれば、その他の信号であってもよく、音声信号や光信号など信号処理がなされる構成であれば、利用することが可能である。
【０１６６】
また、以上においては、信号処理の対象となる画像信号をバイナリデータとして、各ビット、または、全ビットの平均トグル率を用いて信号処理部のエラーを検出する例について説明してきたが、バイナリデータ以外のデータであってもよく、例えば、１６進表現された各桁のデジタルデータに用いてもよい。すなわち、以上の例においては、バイナリデータの２進数における各桁の値に変化がある場合、すなわち、各ビットの値に変化がある場合、所定のクロック数で定義される時間内の、各桁の変化の回数の割合がトグル率となる。したがって、２進数以外の、例えば、１６進数であっても、所定のクロック数で定義される時間内の、各桁の変化の回数の割合としてトグル率を算出するようにして、信号処理部が正常に動作しているか否かを判断するようにしてもよい。
【０１６７】
さらに、以上においては、信号処理部５２は直列に４段構成である例について説明してきたが、それ以下の段数の構成がなされていても、それ以上の段数の構成がなされているものであってもよい。
【０１６８】
また、以上においては、信号処理部５２は、並列に複数段構成されるようにしてもよいし、１個の信号処理部５２の処理結果を複数の信号処理部５２で処理するようにしてもよく、いずれにおいても信号処理部５２の前段と後段とでトグル率を計算して、両者の比較により大きな変化があるか否かに応じて、信号処理部５２のそれぞれにエラーが発生しているか否かを判定するようにしてもよい。
【０１６９】
＜＜４．第１の応用例＞＞
＜ソフトウェアにより実行させる例＞
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１７０】
図１０は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)１００１を内蔵している。CPU１００１にはバス１００４を介して、入出力インタ-フェイス１００５が接続されている。バス１００４には、ROM(Read Only Memory)１００２およびRAM(Random Access Memory)１００３が接続されている。
【０１７１】
入出力インタ-フェイス１００５には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部１００６、処理操作画面や処理結果の画像を表示デバイスに出力する出力部１００７、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部１００８、LAN（Local Area Network）アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部１００９が接続されている。また、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどのリムーバブルメディア１０１１に対してデータを読み書きするドライブ１０１０が接続されている。
【０１７２】
CPU１００１は、ROM１００２に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア１０１１ら読み出されて記憶部１００８にインストールされ、記憶部１００８からRAM１００３にロードされたプログラムに従って各種の処理を実行する。RAM１００３にはまた、CPU１００１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１７３】
以上のように構成されるコンピュータでは、CPU１００１が、例えば、記憶部１００８に記憶されているプログラムを、入出力インタフェース１００５及びバス１００４を介して、RAM１００３にロードして実行することにより、上述した一連の処理が行われる。
【０１７４】
コンピュータ（CPU１００１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア１０１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０１７５】
コンピュータでは、プログラムは、リムーバブルメディア１０１１をドライブ１０１０に装着することにより、入出力インタフェース１００５を介して、記憶部１００８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部１００９で受信し、記憶部１００８にインストールすることができる。その他、プログラムは、ROM１００２や記憶部１００８に、あらかじめインストールしておくことができる。
【０１７６】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１７７】
また、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０１７８】
なお、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【０１７９】
例えば、本開示は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０１８０】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１８１】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１８２】
＜＜５．第２の応用例＞＞
本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、飛行機、ドローン、船舶、ロボット、建設機械、農業機械（トラクター）などのいずれかの種類の移動体に搭載される装置として実現されてもよい。
【０１８３】
図１１は、本開示に係る技術が適用され得る移動体制御システムの一例である車両制御システム７０００の概略的な構成例を示すブロック図である。車両制御システム７０００は、通信ネットワーク７０１０を介して接続された複数の電子制御ユニットを備える。図１１に示した例では、車両制御システム７０００は、駆動系制御ユニット７１００、ボディ系制御ユニット７２００、バッテリ制御ユニット７３００、車外情報検出ユニット７４００、車内情報検出ユニット７５００、及び統合制御ユニット７６００を備える。これらの複数の制御ユニットを接続する通信ネットワーク７０１０は、例えば、ＣＡＮ（Controller  Area  Network）、ＬＩＮ（Local  Interconnect  Network）、ＬＡＮ（Local  Area  Network）又はＦｌｅｘＲａｙ（登録商標）等の任意の規格に準拠した車載通信ネットワークであってよい。
【０１８４】
各制御ユニットは、各種プログラムにしたがって演算処理を行うマイクロコンピュータと、マイクロコンピュータにより実行されるプログラム又は各種演算に用いられるパラメータ等を記憶する記憶部と、各種制御対象の装置を駆動する駆動回路とを備える。各制御ユニットは、通信ネットワーク７０１０を介して他の制御ユニットとの間で通信を行うためのネットワークＩ／Ｆを備えるとともに、車内外の装置又はセンサ等との間で、有線通信又は無線通信により通信を行うための通信Ｉ／Ｆを備える。図１１では、統合制御ユニット７６００の機能構成として、マイクロコンピュータ７６１０、汎用通信Ｉ／Ｆ７６２０、専用通信Ｉ／Ｆ７６３０、測位部７６４０、ビーコン受信部７６５０、車内機器Ｉ／Ｆ７６６０、音声画像出力部７６７０、車載ネットワークＩ／Ｆ７６８０及び記憶部７６９０が図示されている。他の制御ユニットも同様に、マイクロコンピュータ、通信Ｉ／Ｆ及び記憶部等を備える。
【０１８５】
駆動系制御ユニット７１００は、各種プログラムにしたがって車両の駆動系に関連する装置の動作を制御する。例えば、駆動系制御ユニット７１００は、内燃機関又は駆動用モータ等の車両の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、車両の舵角を調節するステアリング機構、及び、車両の制動力を発生させる制動装置等の制御装置として機能する。駆動系制御ユニット７１００は、ＡＢＳ（Antilock  Brake  System）又はＥＳＣ（Electronic  Stability  Control）等の制御装置としての機能を有してもよい。
【０１８６】
駆動系制御ユニット７１００には、車両状態検出部７１１０が接続される。車両状態検出部７１１０には、例えば、車体の軸回転運動の角速度を検出するジャイロセンサ、車両の加速度を検出する加速度センサ、あるいは、アクセルペダルの操作量、ブレーキペダルの操作量、ステアリングホイールの操舵角、エンジン回転数又は車輪の回転速度等を検出するためのセンサのうちの少なくとも一つが含まれる。駆動系制御ユニット７１００は、車両状態検出部７１１０から入力される信号を用いて演算処理を行い、内燃機関、駆動用モータ、電動パワーステアリング装置又はブレーキ装置等を制御する。
【０１８７】
ボディ系制御ユニット７２００は、各種プログラムにしたがって車体に装備された各種装置の動作を制御する。例えば、ボディ系制御ユニット７２００は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、あるいは、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカー又はフォグランプ等の各種ランプの制御装置として機能する。この場合、ボディ系制御ユニット７２００には、鍵を代替する携帯機から発信される電波又は各種スイッチの信号が入力され得る。ボディ系制御ユニット７２００は、これらの電波又は信号の入力を受け付け、車両のドアロック装置、パワーウィンドウ装置、ランプ等を制御する。
【０１８８】
バッテリ制御ユニット７３００は、各種プログラムにしたがって駆動用モータの電力供給源である二次電池７３１０を制御する。例えば、バッテリ制御ユニット７３００には、二次電池７３１０を備えたバッテリ装置から、バッテリ温度、バッテリ出力電圧又はバッテリの残存容量等の情報が入力される。バッテリ制御ユニット７３００は、これらの信号を用いて演算処理を行い、二次電池７３１０の温度調節制御又はバッテリ装置に備えられた冷却装置等の制御を行う。
【０１８９】
車外情報検出ユニット７４００は、車両制御システム７０００を搭載した車両の外部の情報を検出する。例えば、車外情報検出ユニット７４００には、撮像部７４１０及び車外情報検出部７４２０のうちの少なくとも一方が接続される。撮像部７４１０には、ＴｏＦ（Time  Of  Flight）カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ及びその他のカメラのうちの少なくとも一つが含まれる。車外情報検出部７４２０には、例えば、現在の天候又は気象を検出するための環境センサ、あるいは、車両制御システム７０００を搭載した車両の周囲の他の車両、障害物又は歩行者等を検出するための周囲情報検出センサのうちの少なくとも一つが含まれる。
【０１９０】
環境センサは、例えば、雨天を検出する雨滴センサ、霧を検出する霧センサ、日照度合いを検出する日照センサ、及び降雪を検出する雪センサのうちの少なくとも一つであってよい。周囲情報検出センサは、超音波センサ、レーダ装置及びＬＩＤＡＲ（Light  Detection  and  Ranging、Laser  Imaging  Detection  and  Ranging）装置のうちの少なくとも一つであってよい。これらの撮像部７４１０及び車外情報検出部７４２０は、それぞれ独立したセンサないし装置として備えられてもよいし、複数のセンサないし装置が統合された装置として備えられてもよい。
【０１９１】
ここで、図１２は、撮像部７４１０及び車外情報検出部７４２０の設置位置の例を示す。撮像部７９１０，７９１２，７９１４，７９１６，７９１８は、例えば、車両７９００のフロントノーズ、サイドミラー、リアバンパ、バックドア及び車室内のフロントガラスの上部のうちの少なくとも一つの位置に設けられる。フロントノーズに備えられる撮像部７９１０及び車室内のフロントガラスの上部に備えられる撮像部７９１８は、主として車両７９００の前方の画像を取得する。サイドミラーに備えられる撮像部７９１２，７９１４は、主として車両７９００の側方の画像を取得する。リアバンパ又はバックドアに備えられる撮像部７９１６は、主として車両７９００の後方の画像を取得する。車室内のフロントガラスの上部に備えられる撮像部７９１８は、主として先行車両又は、歩行者、障害物、信号機、交通標識又は車線等の検出に用いられる。
【０１９２】
なお、図１２には、それぞれの撮像部７９１０，７９１２，７９１４，７９１６の撮影範囲の一例が示されている。撮像範囲ａは、フロントノーズに設けられた撮像部７９１０の撮像範囲を示し、撮像範囲ｂ，ｃは、それぞれサイドミラーに設けられた撮像部７９１２，７９１４の撮像範囲を示し、撮像範囲ｄは、リアバンパ又はバックドアに設けられた撮像部７９１６の撮像範囲を示す。例えば、撮像部７９１０，７９１２，７９１４，７９１６で撮像された画像データが重ね合わせられることにより、車両７９００を上方から見た俯瞰画像が得られる。
【０１９３】
車両７９００のフロント、リア、サイド、コーナ及び車室内のフロントガラスの上部に設けられる車外情報検出部７９２０，７９２２，７９２４，７９２６，７９２８，７９３０は、例えば超音波センサ又はレーダ装置であってよい。車両７９００のフロントノーズ、リアバンパ、バックドア及び車室内のフロントガラスの上部に設けられる車外情報検出部７９２０，７９２６，７９３０は、例えばＬＩＤＡＲ装置であってよい。これらの車外情報検出部７９２０〜７９３０は、主として先行車両、歩行者又は障害物等の検出に用いられる。
【０１９４】
図１１に戻って説明を続ける。車外情報検出ユニット７４００は、撮像部７４１０に車外の画像を撮像させるとともに、撮像された画像データを受信する。また、車外情報検出ユニット７４００は、接続されている車外情報検出部７４２０から検出情報を受信する。車外情報検出部７４２０が超音波センサ、レーダ装置又はＬＩＤＡＲ装置である場合には、車外情報検出ユニット７４００は、超音波又は電磁波等を発信させるとともに、受信された反射波の情報を受信する。車外情報検出ユニット７４００は、受信した情報に基づいて、人、車、障害物、標識又は路面上の文字等の物体検出処理又は距離検出処理を行ってもよい。車外情報検出ユニット７４００は、受信した情報に基づいて、降雨、霧又は路面状況等を認識する環境認識処理を行ってもよい。車外情報検出ユニット７４００は、受信した情報に基づいて、車外の物体までの距離を算出してもよい。
【０１９５】
また、車外情報検出ユニット７４００は、受信した画像データに基づいて、人、車、障害物、標識又は路面上の文字等を認識する画像認識処理又は距離検出処理を行ってもよい。車外情報検出ユニット７４００は、受信した画像データに対して歪補正又は位置合わせ等の処理を行うとともに、異なる撮像部７４１０により撮像された画像データを合成して、俯瞰画像又はパノラマ画像を生成してもよい。車外情報検出ユニット７４００は、異なる撮像部７４１０により撮像された画像データを用いて、視点変換処理を行ってもよい。
【０１９６】
車内情報検出ユニット７５００は、車内の情報を検出する。車内情報検出ユニット７５００には、例えば、運転者の状態を検出する運転者状態検出部７５１０が接続される。運転者状態検出部７５１０は、運転者を撮像するカメラ、運転者の生体情報を検出する生体センサ又は車室内の音声を集音するマイク等を含んでもよい。生体センサは、例えば、座面又はステアリングホイール等に設けられ、座席に座った搭乗者又はステアリングホイールを握る運転者の生体情報を検出する。車内情報検出ユニット７５００は、運転者状態検出部７５１０から入力される検出情報に基づいて、運転者の疲労度合い又は集中度合いを算出してもよいし、運転者が居眠りをしていないかを判別してもよい。車内情報検出ユニット７５００は、集音された音声信号に対してノイズキャンセリング処理等の処理を行ってもよい。
【０１９７】
統合制御ユニット７６００は、各種プログラムにしたがって車両制御システム７０００内の動作全般を制御する。統合制御ユニット７６００には、入力部７８００が接続されている。入力部７８００は、例えば、タッチパネル、ボタン、マイクロフォン、スイッチ又はレバー等、搭乗者によって入力操作され得る装置によって実現される。統合制御ユニット７６００には、マイクロフォンにより入力される音声を音声認識することにより得たデータが入力されてもよい。入力部７８００は、例えば、赤外線又はその他の電波を利用したリモートコントロール装置であってもよいし、車両制御システム７０００の操作に対応した携帯電話又はＰＤＡ（Personal  Digital  Assistant）等の外部接続機器であってもよい。入力部７８００は、例えばカメラであってもよく、その場合搭乗者はジェスチャにより情報を入力することができる。あるいは、搭乗者が装着したウェアラブル装置の動きを検出することで得られたデータが入力されてもよい。さらに、入力部７８００は、例えば、上記の入力部７８００を用いて搭乗者等により入力された情報に基づいて入力信号を生成し、統合制御ユニット７６００に出力する入力制御回路などを含んでもよい。搭乗者等は、この入力部７８００を操作することにより、車両制御システム７０００に対して各種のデータを入力したり処理動作を指示したりする。
【０１９８】
記憶部７６９０は、マイクロコンピュータにより実行される各種プログラムを記憶するＲＯＭ（Read  Only  Memory）、及び各種パラメータ、演算結果又はセンサ値等を記憶するＲＡＭ（Random  Access  Memory）を含んでいてもよい。また、記憶部７６９０は、ＨＤＤ（Hard  Disc  Drive）等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等によって実現してもよい。
【０１９９】
汎用通信Ｉ／Ｆ７６２０は、外部環境７７５０に存在する様々な機器との間の通信を仲介する汎用的な通信Ｉ／Ｆである。汎用通信Ｉ／Ｆ７６２０は、ＧＳＭ（Global  System  of  Mobile  communications）、ＷｉＭＡＸ、ＬＴＥ（Long  Term  Evolution）若しくはＬＴＥ−Ａ（LTE−Advanced）などのセルラー通信プロトコル、又は無線ＬＡＮ（Ｗｉ−Ｆｉ（登録商標）ともいう）、Ｂｌｕｅｔｏｏｔｈ（登録商標）などのその他の無線通信プロトコルを実装してよい。汎用通信Ｉ／Ｆ７６２０は、例えば、基地局又はアクセスポイントを介して、外部ネットワーク（例えば、インターネット、クラウドネットワーク又は事業者固有のネットワーク）上に存在する機器（例えば、アプリケーションサーバ又は制御サーバ）へ接続してもよい。また、汎用通信Ｉ／Ｆ７６２０は、例えばＰ２Ｐ（Peer  To  Peer）技術を用いて、車両の近傍に存在する端末（例えば、運転者、歩行者若しくは店舗の端末、又はＭＴＣ（Machine  Type  Communication）端末）と接続してもよい。
【０２００】
専用通信Ｉ／Ｆ７６３０は、車両における使用を目的として策定された通信プロトコルをサポートする通信Ｉ／Ｆである。専用通信Ｉ／Ｆ７６３０は、例えば、下位レイヤのＩＥＥＥ８０２．１１ｐと上位レイヤのＩＥＥＥ１６０９との組合せであるＷＡＶＥ（Wireless  Access  in  Vehicle  Environment）、ＤＳＲＣ（Dedicated  Short  Range  Communications）、又はセルラー通信プロトコルといった標準プロトコルを実装してよい。専用通信Ｉ／Ｆ７６３０は、典型的には、車車間（Vehicle  to  Vehicle）通信、路車間（Vehicle  to  Infrastructure）通信、車両と家との間（Vehicle  to  Home）の通信及び歩車間（Vehicle  to  Pedestrian）通信のうちの１つ以上を含む概念であるＶ２Ｘ通信を遂行する。
【０２０１】
測位部７６４０は、例えば、ＧＮＳＳ（Global  Navigation  Satellite  System）衛星からのＧＮＳＳ信号（例えば、ＧＰＳ（Global  Positioning  System）衛星からのＧＰＳ信号）を受信して測位を実行し、車両の緯度、経度及び高度を含む位置情報を生成する。なお、測位部７６４０は、無線アクセスポイントとの信号の交換により現在位置を特定してもよく、又は測位機能を有する携帯電話、ＰＨＳ若しくはスマートフォンといった端末から位置情報を取得してもよい。
【０２０２】
ビーコン受信部７６５０は、例えば、道路上に設置された無線局等から発信される電波あるいは電磁波を受信し、現在位置、渋滞、通行止め又は所要時間等の情報を取得する。なお、ビーコン受信部７６５０の機能は、上述した専用通信Ｉ／Ｆ７６３０に含まれてもよい。
【０２０３】
車内機器Ｉ／Ｆ７６６０は、マイクロコンピュータ７６１０と車内に存在する様々な車内機器７７６０との間の接続を仲介する通信インタフェースである。車内機器Ｉ／Ｆ７６６０は、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Near  Field  Communication）又はＷＵＳＢ（Wireless  USB）といった無線通信プロトコルを用いて無線接続を確立してもよい。また、車内機器Ｉ／Ｆ７６６０は、図示しない接続端子（及び、必要であればケーブル）を介して、ＵＳＢ（Universal  Serial  Bus）、ＨＤＭＩ（High-Definition  Multimedia  Interface）、又はＭＨＬ（Mobile  High-definition  Link）等の有線接続を確立してもよい。車内機器７７６０は、例えば、搭乗者が有するモバイル機器若しくはウェアラブル機器、又は車両に搬入され若しくは取り付けられる情報機器のうちの少なくとも１つを含んでいてもよい。また、車内機器７７６０は、任意の目的地までの経路探索を行うナビゲーション装置を含んでいてもよい。車内機器Ｉ／Ｆ７６６０は、これらの車内機器７７６０との間で、制御信号又はデータ信号を交換する。
【０２０４】
車載ネットワークＩ／Ｆ７６８０は、マイクロコンピュータ７６１０と通信ネットワーク７０１０との間の通信を仲介するインタフェースである。車載ネットワークＩ／Ｆ７６８０は、通信ネットワーク７０１０によりサポートされる所定のプロトコルに則して、信号等を送受信する。
【０２０５】
統合制御ユニット７６００のマイクロコンピュータ７６１０は、汎用通信Ｉ／Ｆ７６２０、専用通信Ｉ／Ｆ７６３０、測位部７６４０、ビーコン受信部７６５０、車内機器Ｉ／Ｆ７６６０及び車載ネットワークＩ／Ｆ７６８０のうちの少なくとも一つを介して取得される情報に基づき、各種プログラムにしたがって、車両制御システム７０００を制御する。例えば、マイクロコンピュータ７６１０は、取得される車内外の情報に基づいて、駆動力発生装置、ステアリング機構又は制動装置の制御目標値を演算し、駆動系制御ユニット７１００に対して制御指令を出力してもよい。例えば、マイクロコンピュータ７６１０は、車両の衝突回避あるいは衝撃緩和、車間距離に基づく追従走行、車速維持走行、車両の衝突警告、又は車両のレーン逸脱警告等を含むＡＤＡＳ（Advanced  Driver  Assistance  System）の機能実現を目的とした協調制御を行ってもよい。また、マイクロコンピュータ７６１０は、取得される車両の周囲の情報に基づいて駆動力発生装置、ステアリング機構又は制動装置等を制御することにより、運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行ってもよい。
【０２０６】
マイクロコンピュータ７６１０は、汎用通信Ｉ／Ｆ７６２０、専用通信Ｉ／Ｆ７６３０、測位部７６４０、ビーコン受信部７６５０、車内機器Ｉ／Ｆ７６６０及び車載ネットワークＩ／Ｆ７６８０のうちの少なくとも一つを介して取得される情報に基づき、車両と周辺の構造物や人物等の物体との間の３次元距離情報を生成し、車両の現在位置の周辺情報を含むローカル地図情報を作成してもよい。また、マイクロコンピュータ７６１０は、取得される情報に基づき、車両の衝突、歩行者等の近接又は通行止めの道路への進入等の危険を予測し、警告用信号を生成してもよい。警告用信号は、例えば、警告音を発生させたり、警告ランプを点灯させたりするための信号であってよい。
【０２０７】
音声画像出力部７６７０は、車両の搭乗者又は車外に対して、視覚的又は聴覚的に情報を通知することが可能な出力装置へ音声及び画像のうちの少なくとも一方の出力信号を送信する。図１１の例では、出力装置として、オーディオスピーカ７７１０、表示部７７２０及びインストルメントパネル７７３０が例示されている。表示部７７２０は、例えば、オンボードディスプレイ及びヘッドアップディスプレイの少なくとも一つを含んでいてもよい。表示部７７２０は、ＡＲ（Augmented  Reality）表示機能を有していてもよい。出力装置は、これらの装置以外の、ヘッドホン、搭乗者が装着する眼鏡型ディスプレイ等のウェアラブルデバイス、プロジェクタ又はランプ等の他の装置であってもよい。出力装置が表示装置の場合、表示装置は、マイクロコンピュータ７６１０が行った各種処理により得られた結果又は他の制御ユニットから受信された情報を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。また、出力装置が音声出力装置の場合、音声出力装置は、再生された音声データ又は音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
【０２０８】
なお、図１１に示した例において、通信ネットワーク７０１０を介して接続された少なくとも二つの制御ユニットが一つの制御ユニットとして一体化されてもよい。あるいは、個々の制御ユニットが、複数の制御ユニットにより構成されてもよい。さらに、車両制御システム７０００が、図示されていない別の制御ユニットを備えてもよい。また、上記の説明において、いずれかの制御ユニットが担う機能の一部又は全部を、他の制御ユニットに持たせてもよい。つまり、通信ネットワーク７０１０を介して情報の送受信がされるようになっていれば、所定の演算処理が、いずれかの制御ユニットで行われるようになってもよい。同様に、いずれかの制御ユニットに接続されているセンサ又は装置が、他の制御ユニットに接続されるとともに、複数の制御ユニットが、通信ネットワーク７０１０を介して相互に検出情報を送受信してもよい。
【０２０９】
なお、図１を用いて説明した本実施形態に係る画像処理ブロック３２の各機能を実現するためのコンピュータプログラムを、いずれかの制御ユニット等に実装することができる。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体を提供することもできる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
【０２１０】
以上説明した車両制御システム７０００において、図１を用いて説明した本実施形態に係る画像処理ブロック３２は、図１１に示した応用例の統合制御ユニット７６００に適用することができる。例えば、画像処理ブロック３２のトグル率計算部５１−０乃至５１−４、信号処理部５２−１乃至５２−４、判定部５３は、統合制御ユニット７６００のマイクロコンピュータ７６１０、記憶部７６９０、車載ネットワークＩ／Ｆ７６８０に相当する。例えば、統合制御ユニット７６００が、画像信号の全ビットの平均トグル率を求めることにより、第Ｎ段目の信号処理部５２−Ｎのエラーの発生の有無を検出することができる。また、統合制御ユニット７６００が、画像を利用した運転支援を実現するにあたって、リアルタイムでエラーの発生を検出して、運転支援における誤動作の発生を抑制すると共に、ドライバに対して運転支援が停止したことを適切に提示することが可能となる。
【０２１１】
また、図１を用いて説明した画像処理ブロック３２の少なくとも一部の構成要素は、図１１に示した統合制御ユニット７６００のためのモジュール（例えば、一つのダイで構成される集積回路モジュール）において実現されてもよい。あるいは、図１を用いて説明した画像処理ブロック３２が、図１１に示した車両制御システム７０００の複数の制御ユニットによって実現されてもよい。
【０２１２】
尚、本開示は、以下のような構成も取ることができる。
＜１＞  デジタル信号からなる入力信号を順次処理する信号処理部と、
入力信号のトグル率を第１のトグル率として計算する第１のトグル率計算部と、
前記信号処理部により信号処理された信号のトグル率を第２のトグル率として計算する第２のトグル率計算部と、
前記第１のトグル率と、前記第２のトグル率との差分と、所定の閾値とを比較し、比較結果に応じてエラーの発生を検出するエラー検出部と
を含む信号処理装置。
＜２＞  前記第１のトグル率計算部、および前記第２のトグル率計算部は、いずれも、所定のクロック数に対する、前記デジタル信号の各桁の数値の変化する回数の割合の、全ての前記桁の平均を前記トグル率として計算する
＜１＞に記載の信号処理装置。
＜３＞  前記入力信号は、バイナリデータからなる画像信号であり、
前記第１のトグル率計算部、および前記第２のトグル率計算部は、いずれも、１フレーム分のビット毎のトグル率の平均値を、前記信号処理部の前段の平均トグル率、および後段の平均トグル率として計算する
＜１＞または＜２＞に記載の信号処理装置。
＜４＞  前記入力信号は、バイナリデータからなる画像信号であり、
前記第１のトグル率計算部、および前記第２のトグル率計算部は、いずれも、１フレーム分の各ビットのトグル率の平均値を計算し、さらに、それらの全ビットの平均値を、前記信号処理部の前段の平均トグル率、および後段の平均トグル率として計算する
＜１＞乃至＜３＞のいずれかに記載の信号処理装置。
＜５＞  前記入力信号は、バイナリデータからなる画像信号であり、
前記エラー検出部は、前記第１のトグル率と、前記第２のトグル率との差分が、第１の閾値からなるエラー閾値より大きい場合、前記信号処理部のエラーの発生を検出する
＜１＞乃至＜４＞に記載の信号処理装置。
＜６＞  前記信号処理部は、複数段にシリーズに接続されており、さらに、それぞれの前記信号処理部の間にトグル率計算部が設けられており、それぞれの前記信号処理部の前段の前記トグル率計算部が、前記第１のトグル率計算部であり、それぞれの前記信号処理部の後段の前記トグル率計算部が、前記第２のトグル率計算部であり、
前記エラー検出部は、それぞれの複数の前記信号処理部について、前記第１のトグル率と、前記第２のトグル率との差分が、前記エラー閾値より大きい場合、前記信号処理部のエラーの発生を検出し、前記信号処理部のエラーの発生を検出したとき、前記エラーが検出された前記信号処理部の段数を通知する
＜５＞に記載の信号処理装置。
＜７＞  最前段の前記第１のトグル率計算部は、前記入力信号のトグル率を入力トグル率として計算し、
前記入力トグル率が、所定の閾値よりも小さい場合、前記エラー検出部は、前記エラー閾値を、前記第１の閾値よりも小さな第２の閾値に設定し、それぞれの複数の前記信号処理部について、前記第１のトグル率と、前記第２のトグル率との差分が、前記エラー閾値より大きいとき、前記信号処理部のエラーの発生を検出し、前記信号処理部のエラーの発生を検出したとき、前記エラーが検出された前記信号処理部の段数を通知する
＜６＞に記載の信号処理装置。
＜８＞  前記画像信号を撮像する複数の撮像部をさらに含み、
前記複数の前記撮像部のそれぞれに複数段の前記信号処理部が設けられ、
前記信号処理部は、複数段にシリーズに接続されており、さらに、それぞれの前記信号処理部の間に前記トグル率計算部が設けられており、それぞれの前記信号処理部の前段の前記トグル率計算部が、前記第１のトグル率計算部であり、それぞれの前記信号処理部の後段の前記トグル率計算部が、前記第２のトグル率計算部であり、
前記入力トグル率が、所定の閾値よりも小さい場合、前記エラー検出部は、前記エラー閾値を、前記第１の閾値よりも小さな第２の閾値に設定し、それぞれの複数の前記信号処理部について、前記第１のトグル率と、前記第２のトグル率との差分が、前記エラー閾値より大きいとき、並びに、前記撮像部のそれぞれについて、前記複数の前記信号処理部のうち、最終段の、前記第２のトグル率間の差分が所定の閾値よりも大きいとき、前記信号処理部のエラーの発生を検出し、前記信号処理部のエラーの発生を検出したとき、前記エラーが検出された前記信号処理部の段数を通知する
＜６＞に記載の信号処理装置。
＜９＞  前記信号処理部の信号処理結果に基づいて、車両に設けられる駆動部分の動作を制御して運転を支援する支援部と、
前記車両の制御情報を表示する表示部とをさらに含み、
前記エラー検出部によりエラーが検出された場合、前記支援部は、前記信号処理部の信号処理結果に基づいた、車両に設けられる駆動部分の動作を制御した運転の支援を停止する
＜１＞乃至＜８＞のいずれかに記載の信号処理装置。
＜１０＞  デジタル信号からなる入力信号を順次処理し、
入力信号のトグル率を第１のトグル率として計算し、
前記信号処理部により信号処理された信号のトグル率を第２のトグル率として計算し、
前記第１のトグル率と、前記第２のトグル率との差分と、所定の閾値とを比較し、比較結果に応じてエラーの発生を検出する
ステップを含む信号処理方法。
＜１１＞  デジタル信号からなる入力信号を順次処理する信号処理部と、
入力信号のトグル率を第１のトグル率として計算する第１のトグル率計算部と、
前記信号処理部により信号処理された信号のトグル率を第２のトグル率として計算する第２のトグル率計算部と、
前記第１のトグル率と、前記第２のトグル率との差分と、所定の閾値とを比較し、比較結果に応じてエラーの発生を検出するエラー検出部と
してコンピュータを機能させるためのプログラム。
【符号の説明】
【０２１３】
１１  車載カメラシステム，  ３１，３１−１，３１−２  イメージセンサ，  ３２，３２−１，３２−２  画像処理ブロック，  ３３  後段LSI，  ５１，５１−０乃至５１−４，５１−０−１乃至５１−４−１，５１−０−２乃至５１−４−２  トグル率計算部，  ５２，５２−１乃至５２−４，５２−１−２乃至５２−４−２  信号処理部，  ５３，５３−１，５３−２  判定部
【図１】
2017145818.tif 000003
【図２】
2017145818.tif 000004
【図３】
2017145818.tif 000005
【図４】
2017145818.tif 000006
【図５】
2017145818.tif 000007
【図６】
2017145818.tif 000008
【図７】
2017145818.tif 000009
【図８】
2017145818.tif 000010
【図９】
2017145818.tif 000011
【図１０】
2017145818.tif 000012
【図１１】
2017145818.tif 000013
【図１２】
2017145818.tif 000014
【国際調査報告】
2017145818.tif 000015
2017145818.tif 000016