(57)【要約】【課題】メモリの領域やバスのバンド幅の使用を抑制しつつ、故障検出が可能な画像処理装置を提供する。【解決手段】画像処理装置は、擬似的な乱数を生成し、第１メモリに書き込む、第１疑似乱数生成器と、前記第１メモリに書き込まれた乱数を読み出して、所定の処理を実行するとともに、その処理結果を第２メモリに書き込む、処理回路と、前記第２メモリに書き込まれた処理結果を読み出して、この処理結果に基づくシグネチャを生成する、第１シグネチャ生成器と、第１シグネチャ生成器で生成されたシグネチャと、前記第１疑似乱数生成器で生成された乱数及び前記処理回路の処理内容に基づくシグネチャの期待値である第１期待値とを、比較する、第１シグネチャ比較器と、を備える。【選択図】図１
2019158749.tif 000002
【特許請求の範囲】
【請求項１】
擬似的な乱数を生成し、第１メモリに書き込む、第１疑似乱数生成器と、
前記第１メモリに書き込まれた乱数を読み出して、所定の処理を実行するとともに、その処理結果を第２メモリに書き込む、処理回路と、
前記第２メモリに書き込まれた処理結果を読み出して、この処理結果に基づくシグネチャを生成する、第１シグネチャ生成器と、
第１シグネチャ生成器で生成されたシグネチャと、前記第１疑似乱数生成器で生成された乱数及び前記処理回路の処理内容に基づくシグネチャの期待値である第１期待値とを、比較する、第１シグネチャ比較器と、
を備える、画像処理装置。
【請求項２】
前記第１期待値を保持する、シグネチャ期待値保持部を、さらに備えており、
前記第１シグネチャ比較器は、前記シグネチャ期待値保持部から、前記第１期待値を取得する、請求項１に記載の画像処理装置。
【請求項３】
前記第１疑似乱数生成器で生成される擬似的な乱数は、所定の規則性を有しており、
前記第１期待値は、所定の規則性を有する擬似的な乱数と、前記処理回路の処理内容に基づいて、予め生成されて、前記シグネチャ期待値保持部に保持されている、請求項２に記載の画像処理装置。
【請求項４】
疑似的な乱数を生成する、第２疑似乱数生成器と、
バスから前記第１メモリへのデータの書き込みを制御するとともに、前記第２疑似乱数生成器で生成された乱数をデータとして前記第１メモリへ書き込む制御を行う、第１コントローラと、
前記第１メモリからデータを読み出して、このデータに基づくシグネチャを生成する、第２シグネチャ生成器と、
前記第２シグネチャ生成器で生成されたシグネチャと、前記第２疑似乱数生成器で生成された乱数に基づくシグネチャの期待値である第２期待値とを比較する、第２シグネチャ比較器と、
を備える請求項１乃至請求項３のいずれかに記載の画像処理装置。
【請求項５】
前記第２メモリから前記バスへのデータの読み出しを制御する、第２コントローラと、
疑似的な乱数を生成し、前記第２コントローラにデータとして供給する、第３疑似乱数生成器と、
前記第２コントローラから、前記第３疑似乱数生成器で生成された乱数をデータとして取得して、このデータに基づくシグネチャを生成する、第３シグネチャ生成器と、
前記第３シグネチャ生成器で生成されたシグネチャと、前記第３疑似乱数生成器で生成された乱数に基づくシグネチャの期待値である第３期待値とを比較する、第３シグネチャ比較器と、
を備える請求項１乃至請求項３のいずれかに記載の画像処理装置。
【請求項６】
前記シグネチャ期待値保持部は、前記第２期待値及び前記第３期待値を保持しており、
前記第２シグネチャ比較器は、前記シグネチャ期待値保持部から、前記第２期待値を取得し、前記第３シグネチャ比較器は、前記シグネチャ期待値保持部から、前記第３期待値を取得する、請求項５に記載の画像処理装置。
【請求項７】
前記第２疑似乱数生成器及び前記第３疑似乱数生成器で生成される擬似的な乱数は、所定の規則性を有しており、
前記第２期待値及び前記第３期待値は、所定の規則性を有する擬似的な乱数に基づいて、予め生成されて、前記シグネチャ期待値保持部に保持されている、請求項６に記載の画像処理装置。
【請求項８】
前記第１疑似乱数生成器と前記処理回路と前記第１シグネチャ生成器と前記第１シグネチャ生成器とにより、１つのユニットが構成され、
前記ユニットが、複数、直列的に接続されて設けられている、請求項１乃至請求項７のいずれかに記載の画像処理装置。
【請求項９】
複数の前記ユニットのそれぞれに設けられた、前記第１疑似乱数生成器と前記処理回路と前記第１シグネチャ生成器と前記第１シグネチャ生成器をパイプライン制御する、第１制御器を、さらに備える、請求項８に記載の画像処理装置。
【請求項１０】
複数の前記ユニットのそれぞれに設けられた、前記第１疑似乱数生成器と前記処理回路と前記第１シグネチャ生成器と前記第１シグネチャ生成器を、並列的に個別に制御する、第２制御器を、さらに備える、請求項８に記載の画像処理装置。
【請求項１１】
第１疑似乱数生成器が、擬似的な乱数を生成し、第１メモリに書き込む工程と、
処理回路が、前記第１メモリに書き込まれた乱数を読み出して、所定の処理を実行するとともに、その処理結果を第２メモリに書き込む工程と、
第１シグネチャ生成器が、前記第２メモリに書き込まれた処理結果を読み出して、この処理結果に基づくシグネチャを生成する工程と、
第１シグネチャ比較器が、第１シグネチャ生成器で生成されたシグネチャと、前記第１疑似乱数生成器で生成された乱数及び前記処理回路の処理内容に基づくシグネチャの期待値である第１期待値とを、比較する工程と、
を備える、画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
車載向けの画像処理回路には、自動車の高い安全度水準（Automotive Safety Integrity Level：ＡＳＩＬ）が求められる。高い安全度水準を確保するためには、動作時に故障が生じているかどうかを検出する自己診断機能の実装が必要となることがある。このような故障を自己診断して検出する方法としては、例えば、Ｌｏｇｉｃ  ＢＩＳＴ（Built-In Test）により検出する方法、回路を二重化することにより検出する方法、テストデータを用いて検出する方法などがある。
【０００３】
しかし、Ｌｏｇｉｃ  ＢＩＳＴによる検出方法では、故障を検出するためのテスト時間が長いという問題があり、回路を二重化する方法では、回路規模が大きくなり、消費電力が大きくなるという問題がある。このため、これらの方法を採用することが設計上できないこともある。
【０００４】
また、テストデータを用いて故障を検出する方法は、予め画像処理装置にテストデータを格納する領域を用意しておく必要があり、メモリの領域を逼迫させてしまうという問題がある。また、バスを用いて、テストデータをメモリから各処理回路に転送することも考えられるが、このテストデータの転送により、バス上のバンド幅を逼迫させてしまうという問題が生じる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３８７８２号公報
【特許文献２】特開昭５９−１６６８７９号公報
【特許文献３】特開２００６−７８４４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本実施形態の目的は、メモリの領域やバスのバンド幅の使用を抑制しつつ、故障検出が可能な画像処理装置及び画像処理方法を提供する。
【課題を解決するための手段】
【０００７】
本実施形態に係る画像処理装置は、
擬似的な乱数を生成し、第１メモリに書き込む、第１疑似乱数生成器と、
前記第１メモリに書き込まれた乱数を読み出して、所定の処理を実行するとともに、その処理結果を第２メモリに書き込む、処理回路と、
前記第２メモリに書き込まれた処理結果を読み出して、この処理結果に基づくシグネチャを生成する、第１シグネチャ生成器と、
第１シグネチャ生成器で生成されたシグネチャと、前記第１疑似乱数生成器で生成された乱数及び前記処理回路の処理内容に基づくシグネチャの期待値である第１期待値とを、比較する、第１シグネチャ比較器と、
を備える。
【０００８】
本実施形態に係る画像処理方法は、
第１疑似乱数生成器が、擬似的な乱数を生成し、第１メモリに書き込む工程と、
処理回路が、前記第１メモリに書き込まれた乱数を読み出して、所定の処理を実行するとともに、その処理結果を第２メモリに書き込む工程と、
第１シグネチャ生成器が、前記第２メモリに書き込まれた処理結果を読み出して、この処理結果に基づくシグネチャを生成する工程と、
第１シグネチャ比較器が、第１シグネチャ生成器で生成されたシグネチャと、前記第１疑似乱数生成器で生成された乱数及び前記処理回路の処理内容に基づくシグネチャの期待値である第１期待値とを、比較する工程と、
を備える。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係る画像処理システム１の内部構成を説明するブロック図。
【図２】画像処理装置に設けられたメモリのバンク構成の一例を説明する図。
【図３】第２実施形態に係る画像処理システム１の内部構成を説明するブロック図。
【図４】図４（ａ）は、通常の画像処理におけるパイプライン処理を説明する図、図４（ｂ）は、回路故障の自己判定処理における並列処理を説明する図。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、本実施形態に係る画像処理装置及び画像処理方法を説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行うこととする。
【００１１】
〔第１実施形態〕
第１実施形態に係る画像処理装置は、高信頼性を要求されるシステム、例えば、車載製品や医療機器などのシステムに適用される装置である。そして、この画像処理装置は、メモリを備える画像処理装置に、疑似乱数生成器と、この疑似乱数生成器で生成された疑似的な乱数を処理回路で処理した処理結果を、シグネチャ化するシグネチャ生成器と、このシグネチャ生成器で生成されたシグネチャと期待値とを比較するシグネチャ比較器とを設けることにより、メモリやバスの使用を抑制しつつ、画像処理装置の故障検出ができるようにしたものである。つまり、第１実施形態に係る画像処理装置は、自己診断機能付きの画像処理装置を構成している。以下に、その詳細を説明する。
【００１２】
図１は、本実施形態に係る画像処理装置１０を備える画像処理システム１の内部構成の一例を説明するブロック図である。この画像処理システム１は、画像処理装置１０に加えて、ＣＰＵ（Central Processing Unit）１２と、メインメモリ１４と、ＲＯＭ（Read Only Memory）１６とを備えており、これら画像処理装置１０と、ＣＰＵ１２と、メインメモリ１４と、ＲＯＭ１６とは、バス１８を介して相互に接続されている。
【００１３】
ＣＰＵ１２は、この画像処理システム１の全体的な制御を行う制御回路である。具体的には、ＣＰＵ１２は、ＲＯＭ１６に格納されている種々のプログラムを読み込んで実行することにより、この画像処理システム１における各種の制御を行う。ＣＰＵ１２は、プログラムを実行するにあたり、メインメモリ１４に適宜、演算結果やデータを格納したり、メインメモリ１４に格納されている、これら演算結果やデータを読み出したりする。
【００１４】
メインメモリ１４は、例えば、ＲＡＭ（Random Access Memory）により構成されており、各種のデータやプログラムを一時的に格納することが可能である。メインメモリ１４に書き込まれるデータは、バス１８を介して、ＣＰＵ１２やＲＯＭ１６から転送され、また、メインメモリ１４から読み出されるデータは、バス１８を介して、ＣＰＵ１２やＲＯＭ１６に転送される。
【００１５】
ＲＯＭ１６は、この画像処理システム１の全体的な制御をするのに必要な種々のプログラムやデータが不揮発的に格納されている。このＲＯＭ１６から読み出されたプログラムやデータは、バス１８を介して、ＣＰＵ１２やメインメモリ１４に転送される。
【００１６】
画像処理装置１０は、画像処理を行う回路であり、本実施形態では特に、自動車に搭載されて、この自動車から撮像した画像の処理を行う。すなわち、本実施形態に係る画像処理システム１は、車載向けのシステムを構成している。
【００１７】
画像処理装置１０は、ダイレクトメモリアクセスコントローラ２０ａ、２０ｂと、メモリ２２ａ〜２２ｅと、処理回路２４ａ〜２４ｄと、全体制御器２６とを備えて、構成されている。まず、これらの回路を用いて画像処理装置１０で行われる通常の画像処理について説明する。
【００１８】
ダイレクトメモリアクセスコントローラ２０ａ、２０ｂは、バス１８を介したデータの転送を制御するコントローラである。具体的には、ダイレクトメモリアクセスコントローラ２０ａは、バス１８とメモリ２２ａとの間のデータの転送を制御するコントローラであり、ダイレクトメモリアクセスコントローラ２０ｂは、メモリ２２ｅとバス１８との間のデータの転送を制御するコントローラである。
【００１９】
メモリ２２ａ〜２２ｅは、画像処理装置１０の内部に設けられた内部メモリである。これらメモリ２２ａ〜２２ｅは、例えば、ＲＡＭ（Random Access Memory）により構成されている。メモリ２２ａ〜２２ｅは、画像処理をする関係上、比較的大きなメモリ領域を有しており、これらメモリ２２ａ〜２２ｅのそれぞれに、パイプライン処理により画像処理を行うための各過程のデータが格納される。
【００２０】
処理回路２４ａ〜２４ｄは、それぞれ、取得したデータに対して、所定の処理を実行する回路である。具体的には、処理回路２４ａは、メモリ２２ａからデータを読み出して、予め定められた処理を実行して、その処理結果を、メモリ２２ｂに書き込む。同様に、処理回路２４ｂは、メモリ２２ｂから、処理回路２４ａにより書き込まれたデータを読み出して、予め定められた処理を実行して、その処理結果を、メモリ２２ｃに書き込む。処理回路２４ｃ、２４ｄも、同様の処理を実行する。このため、処理回路２４ａ〜２４ｄによる最終的な処理結果は、メモリ２２ｅに書き込まれることとなる。
【００２１】
本実施形態においては、例えば、メモリ２２ａに書き込まれた画像データ（ＲＡＷデータ）を処理回路２４ａが読み出して、デモザイク処理を行い、その処理結果をメモリ２２ｂに書き込む。処理回路２４ｂは、メモリ２２ｂから、デモザイク処理が行われたデータを読み出して、ノイズ削減処理を行い、メモリ２２ｃに書き込む。処理回路２４ｃは、メモリ２２ｃから、ノイズ削減処理が行われたデータを読み出して、ガンマ補正処理を行い、メモリ２２ｄに書き込む。処理回路２４ｄは、メモリ２２ｄから、ガンマ補正処理が行われたデータを読み出して、ＹＵＶ変換処理を行い、その処理結果をメモリ２２ｅに書き込む。このように、処理回路２４ａ〜２４ｄは、それぞれ予め定められた処理機能を有しており、前段階のメモリから読み込んだデータに対して、所定の処理を施して、次段階のメモリに書き込む処理を行う。これをパイプライン制御することにより、メモリ２２ａに書き込まれたデータを、順次処理して、メモリ２２ｅに最終的な処理結果として順次書き込むことが可能となる。
【００２２】
全体制御器２６は、これらの処理をパイプライン制御するために必要となる全体的な制御を行う回路である。すなわち、全体制御器２６は、処理回路２４ａ〜２４ｄ及びダイレクトメモリアクセスコントローラ２０ａ、２０ｂをそれぞれ制御して、画像処理がパイプライン処理で実行されるようにする。
【００２３】
上記のようなパイプライン制御を実現するため、メモリ２２ａ〜２２ｅは、複数のバンクを備えている。図２は、メモリ２２ａのバンク構成の一例を説明する概念図である。なお、本実施形態に係るメモリ２２ｂ〜２２ｅも、メモリ２２ａと同様のバンク構成である。
【００２４】
図２に示すように、メモリ２２ａは、ダイレクトメモリアクセスコントローラ２０ａがデータを格納する領域として、２つのバンクＢ１、Ｂ２を備えている。ダイレクトメモリアクセスコントローラ２０ａは、バス１８を介して取得したデータを、まず、例えば、バンクＢ１に格納していく。そして、１つのブロック、或いは、１つのフレーム等を、バンクＢ１に格納し終えた場合、ダイレクトメモリアクセスコントローラ２０ａは、次のブロック、或いは、次のフレーム等を、別のバンクであるバンクＢ２に格納していく。バンクＢ２にデータが格納される間に、処理回路２４ａは、バンクＢ１に格納されているデータを読み出して、所定の処理を実行し、メモリ２２ｂにおける、例えばバンクＢ１に処理結果を格納していく。
【００２５】
処理回路２４ａがメモリ２２ａのバンクＢ１に格納されているデータの処理が終了するまでには、メモリ２２ａのバンクＢ２にデータが格納され終えているので、処理回路２４ａは、メモリ２２ａのバンクＢ１の処理が終了した後は、バンクＢ２からデータを読み出して、次のブロック、或いは、次のフレーム等のデータの処理を開始する。そして、処理回路２４ａは、データの処理結果を、メモリ２２ｂのバンクＢ２に格納する。ダイレクトメモリアクセスコントローラ２０ａは、メモリ２２ａのバンクＢ１の処理が終了しているので、再び、バス１８を介して取得したデータを、メモリ２２ａのバンクＢ１に書き込む。
【００２６】
このように、メモリ２２ａ〜２２ｅは、それぞれ、２つのバンクＢ１、Ｂ２が形成されており、これら２つのバンクＢ１、Ｂ２を交互に使用することにより、処理回路２４ａ〜２４ｄに待ち時間が生じるのを可能な限り排除している。なお、図２では、メモリ２２ａ〜２２ｅが、２つのバンクＢ１、Ｂ２を備える例を説明したが、バンクの数は、２つに限られるものではなく、３つ、４つ等の複数であればよい。
【００２７】
画像処理装置１０における通常の画像処理に関する説明は以上の通りであるが、次に、画像処理装置１０における回路故障の自己判定処理に関する説明をする。この回路故障の自己判定処理を行うために、本実施形態に係る画像処理装置１０は、上記に加えて、疑似乱数生成器３０ａ〜３０ｆと、シグネチャ生成器３２ａ〜３２ｆと、シグネチャ比較器３４ａ〜３４ｆと、シグネチャ期待値保持部３６とを備えている。この回路故障の自己判定処理は、例えば、画像処理装置１０に電源が供給されて立ち上がった直後に実行される。また、それだけではなく、例えば、１秒あたり３０フレームで画像のデータがメモリ２２ａに供給されるが、そのフレームとフレームの間にも実行される。
【００２８】
回路故障の自己判定処理においては、疑似乱数生成器３０ａは、疑似的な乱数を生成して、メモリ２２ａに書き込む。ここで、疑似的な乱数とは、真正な乱数ではないということである。つまり、疑似乱数生成器３０ａに、１つのシードを与えると、所定の規則性に則って、乱数を生成するため、シードが決まっていれば、生成される乱数が予め特定できる。換言すれば、疑似乱数生成器３０ａに与えたシードと同じシードを、同じ構造の他の疑似乱数生成器に与えれば、他の疑似乱数生成器でも同じ乱数が生成されるのである。このため、所定の規則性を有している乱数生成器であって、１つのシードに対して生成される乱数が予め特定できる乱数生成器であれば、その回路規模の大小に拘わらず、本実施形態においては、疑似的な乱数を生成する疑似乱数生成器と言うことができる。
【００２９】
なお、疑似乱数生成器３０ｂ〜３０ｆの構成は、疑似乱数生成器３０ａと同様である。すなわち、疑似乱数生成器３０ｂは、疑似的な乱数を生成して、メモリ２２ｂに書き込み、疑似乱数生成器３０ｃは、疑似的な乱数を生成して、メモリ２２ｃに書き込み、疑似乱数生成器３０ｄは、疑似的な乱数を生成して、メモリ２２ｄに書き込む。疑似乱数生成器３０ｅは、疑似的な乱数を生成して、あたかもバス１８から取得したデータのようにダイレクトメモリアクセスコントローラ２０ａに供給し、疑似乱数生成器３０ｆは、疑似的な乱数を生成して、あたかもメモリ２２ｅから取得したデータのようにダイレクトメモリアクセスコントローラ２０ｂに供給する。
【００３０】
これら疑似乱数生成器３０ａ〜３０ｆは、それぞれ、処理回路２４ａ〜２４ｄやダイレクトメモリアクセスコントローラ２０ａ、２０ｂの故障診断を行うのに適したテストデータを疑似的な乱数として生成する。ここで、故障診断に適したテストデータとは、処理回路２４ａ〜２４ｄやダイレクトメモリアクセスコントローラ２０ａ、２０ｂが、それぞれ処理するデータのサイズに適合しており、且つ、これらの回路の故障を見つけやすいデータを意味している。
【００３１】
上述したように、本実施形態においては、メモリ２２ａ〜２２ｄは、２つのバンクＢ１、Ｂ２を有していることから、疑似乱数生成器３０ａ〜３０ｄも、２つのバンクＢ１、Ｂ２に交互に疑似的な乱数を書き込んで行くこととなる。
【００３２】
処理回路２４ａは、メモリ２２ａの２つのバンクＢ１、Ｂ２から交互に乱数を読み出して、所定の処理を実行し、その実行結果をメモリ２２ｂのバンクＢ１、Ｂ２に交互に書き込む。すなわち、ダイレクトメモリアクセスコントローラ２０ａがメモリ２２ａにデータの書き込みを行っているバンクが、バンクＢ１であったとすると、疑似乱数生成器３０ａはメモリ２２ａのバンクＢ２に乱数の書き込みを行い、処理回路２４ａは、メモリ２２ａのバンクＢ２から乱数をデータとして読み込む。そして、処理回路２４ａは予め定められている所定の処理を読み込んだデータに対して行い、その処理結果を例えばメモリ２２ｂのバンクＢ１に書き込む。この場合、疑似乱数生成器３０ｂは、メモリ２２ｂのバンクＢ２に、生成した乱数をデータとして書き込むこととなり、処理回路２４ｂは、メモリ２２ｂのバンクＢ２から乱数をデータとして読み込むこととなる。
【００３３】
処理回路２４ｂ〜２４ｄの動作も同様であり、処理回路２４ｂは、メモリ２２ｂの一方のバンクから乱数を読み出して、所定の処理を実行するとともに、その処理結果をメモリ２２ｃの一方のバンクに書き込む。処理回路２４ｃは、メモリ２２ｃの他方のバンクから乱数を読み出して、所定の処理を実行するとともに、その処理結果をメモリ２２ｄの一方のバンクに書き込む。処理回路２４ｄは、メモリ２２ｄの他方のバンクから乱数を読み出して、所定の処理を実行するとともに、その処理結果をメモリ２２ｅの一方のバンクに書き込む。
【００３４】
シグネチャ生成器３２ａは、メモリ２２ｂのバンクＢ１、Ｂ２から交互に処理結果を読み出して、この処理結果に基づくシグネチャを生成する。ここで、シグネチャを生成する手法には、種々のものがあるが、例えば、データエラーを検出するためのＣＲＣ（Cyclic Redundancy Check）技術で用いられたり、データの暗号化技術で用いられたりしている。本実施形態では、メモリ２２ｂに格納されている処理結果である大きなデータを、シグネチャ化することにより、より短い代表値を生成する技術として用いている。つまり、シグネチャ化する元のデータが異なれば、異なるシグネチャが生成される。本実施形態では、この特性を生かして、メモリ２２ａに書き込まれているデータが、メモリ２２ａ、処理回路２４ａ、及び、メモリ２２ｂで故障が生じておらず適正に処理されたデータであるかどうかを検査する。
【００３５】
これは、シグネチャ生成器３２ｂ〜３２ｄについても同様である。すなわち、シグネチャ生成器３２ｂは、メモリ２２ｃに書き込まれた処理回路２４ｂの処理結果を読み出して、この処理結果に基づくシグネチャを生成する。シグネチャ生成器３２ｃは、メモリ２２ｄに書き込まれた処理回路２４ｃの処理結果を読み出して、この処理結果に基づくシグネチャを生成する。シグネチャ生成器３２ｄは、メモリ２２ｅに書き込まれた処理回路２４ｄの処理結果を読み出して、この処理結果に基づくシグネチャを生成する。
【００３６】
シグネチャ比較器３４ａは、シグネチャ生成器３２ａで生成されたシグネチャと、疑似乱数生成器３０ａで生成された乱数及び処理回路２４ａの処理内容に基づくシグネチャの期待値とを比較する。ここで、上述したように、疑似乱数生成器３０ａで生成される乱数には所定の規則性があることから、例えばシーズを一定にしておいたり、シーズにも所定の規則性を定めておいたりしておけば、疑似乱数生成器３０ａで生成される疑似的な乱数も予め特定することができる。処理回路２４ａで実行される処理も予め定まっているため、メモリ２２ｂに書き込まれる処理結果も予め特定することができ、その処理結果から生成されるシグネチャも予め特定することができる。このため、予め特定できる処理結果に基づくシグネチャを期待値として、シグネチャ比較器３４ａは、シグネチャ生成器３２ａで生成されたシグネチャを、この期待値と比較をするのである。
【００３７】
これは、シグネチャ比較器３４ｂ〜３４ｄについても、同様である。すなわち、シグネチャ比較器３４ｂは、シグネチャ生成器３２ｂで生成されたシグネチャと、疑似乱数生成器３０ｂで生成された乱数及び処理回路２４ｂの処理内容に基づくシグネチャの期待値とを比較する。シグネチャ比較器３４ｃは、シグネチャ生成器３２ｃで生成されたシグネチャと、疑似乱数生成器３０ｃで生成された乱数及び処理回路２４ｃの処理内容に基づくシグネチャの期待値とを比較する。シグネチャ比較器３４ｄは、シグネチャ生成器３２ｄで生成されたシグネチャと、疑似乱数生成器３０ｄで生成された乱数及び処理回路２４ｄの処理内容に基づくシグネチャの期待値とを比較する。
【００３８】
本実施形態においては、これらシグネチャ比較器３４ａ〜３４ｄで用いる期待値としてのシグネチャは、シグネチャ期待値保持部３６に予め格納されている。すなわち、この画像処理装置１０の設計段階で、疑似乱数生成器３０ａ〜３０ｄで生成される疑似的な乱数は予め特定することができ、処理回路２４ａ〜２４ｄの処理内容も予め定まっている。このため、疑似乱数生成器３０ａ〜３０ｄで生成される疑似的な乱数に対応する期待値としてのシグネチャを、画像処理装置１０の設計段階でシグネチャ期待値保持部３６に格納しておくことができる。このシグネチャ期待値保持部３６に格納されている期待値としてのシグネチャをシグネチャ比較器３４ａ〜３４ｄは読み出して、シグネチャ生成器３２ａ〜３２ｄで生成されたシグネチャと比較するのである。
【００３９】
回路故障の自己判定処理においては、疑似乱数生成器３０ｅは、疑似的な乱数を生成して、ダイレクトメモリアクセスコントローラ２０ａに供給する。ダイレクトメモリアクセスコントローラ２０ａは、疑似乱数生成器３０ｅで生成された乱数を、あたかもバス１８から取得したデータのように、メモリ２２ａに書き込む。すなわち、疑似乱数生成器３０ａの乱数の書き込みと重複しないように、メモリ２２ａの２つのバンクＢ１、Ｂ２に、交互にデータの書き込みを行う。
【００４０】
シグネチャ生成器３２ｅは、メモリ２２ａから、ダイレクトメモリアクセスコントローラ２０ａが書き込んだデータを読み出して、この読み出したデータに基づくシグネチャを生成する。すなわち、シグネチャ生成器３２ｅは、メモリ２２ａの２つのバンクＢ１、Ｂ２から、交互にデータを読み出す。シグネチャ比較器３４ｅは、シグネチャ生成器３２ｅで生成されたシグネチャと、疑似乱数生成器３０ｅで生成された乱数に基づくシグネチャの期待値とを比較する。すなわち、ダイレクトメモリアクセスコントローラ２０ａとメモリ２２ａとが正常に動作していれば、シグネチャ生成器３２ｅで生成されたシグネチャと、疑似乱数生成器３０ｅで生成された乱数に基づくシグネチャの期待値とは、一致するはずである。このため、シグネチャ比較器３４ｅは、両者を比較して、ダイレクトメモリアクセスコントローラ２０ａ又はメモリ２２ａが故障していないかどうか診断をする。
【００４１】
一方、疑似乱数生成器３０ｆは、疑似的な乱数を生成して、ダイレクトメモリアクセスコントローラ２０ｂに供給する。ダイレクトメモリアクセスコントローラ２０ｂは、疑似乱数生成器３０ｆで生成された乱数を、あたかもメモリ２２ｅから読み出したデータのように、シグネチャ生成器３２ｆに供給する。シグネチャ生成器３２ｆは、ダイレクトメモリアクセスコントローラ２０ｂから取得したデータに基づくシグネチャを生成し、シグネチャ比較器３４ｆに供給する。シグネチャ比較器３４ｆは、シグネチャ生成器３２ｆで生成されたシグネチャと、疑似乱数生成器３０ｆで生成された乱数に基づくシグネチャの期待値とを比較する。すなわち、ダイレクトメモリアクセスコントローラ２０ｂが正常に動作していれば、シグネチャ生成器３２ｆで生成されたシグネチャと、疑似乱数生成器３０ｆで生成された乱数に基づくシグネチャの期待値とは、一致するはずである。このため、シグネチャ比較器３４ｆは、両者を比較して、ダイレクトメモリアクセスコントローラ２０ｂが故障していないかどうか診断をする。
【００４２】
本実施形態においては、これらシグネチャ比較器３４ｅ、３４ｆで用いる期待値としてのシグネチャも、シグネチャ期待値保持部３６に予め格納されている。すなわち、この画像処理装置１０の設計段階で、疑似乱数生成器３０ｅ、３０ｆで生成される疑似的な乱数は予め特定することができ、ダイレクトメモリアクセスコントローラ２０ａ、２０ｂは、基本的にはデータの転送を制御するコントローラであり、生成された乱数がデータとして、そのまま、シグネチャ生成器３２ｅ、３２ｆに供給される。このため、疑似乱数生成器３０ｅ、３０ｆで生成される疑似的な乱数に対応する期待値としてのシグネチャを、画像処理装置１０の設計段階でシグネチャ期待値保持部３６に格納しておくことができる。このシグネチャ期待値保持部３６に格納されている期待値としてのシグネチャをシグネチャ比較器３４ｅ、３４ｆはそれぞれ読み出して、シグネチャ生成器３２ｅ、３２ｆで生成されたシグネチャとそれぞれ比較するのである。
【００４３】
なお、上述した回路故障の自己判定処理は、全体制御器２６が制御するようにしてもよいし、ＣＰＵ１２が制御するようにしてもよいし、全体制御器２６とＣＰＵ１２とが協働して制御するようにしてもよい。さらに、通常の画像処理と回路故障の自己判定処理との間の切り替え制御も、全体制御器２６が制御するようにしてもよいし、ＣＰＵ１２が制御するようにしてもよいし、全体制御器２６とＣＰＵ１２とが協働して制御するようにしてもよい。
【００４４】
上述したとことから分かるように、本実施形態においては、疑似乱数生成器３０ａと、処理回路２４ａと、シグネチャ生成器３２ａと、シグネチャ比較器３４ａとにより、１つのユニットである第１ユニットが構成されており、疑似乱数生成器３０ｂと、処理回路２４ｂと、シグネチャ生成器３２ｂと、シグネチャ比較器３４ｂとにより、１つのユニットである第２ユニットが構成されており、疑似乱数生成器３０ｃと、処理回路２４ｃと、シグネチャ生成器３２ｃと、シグネチャ比較器３４ｃとにより、１つのユニットである第３ユニットが構成されており、疑似乱数生成器３０ｄと、処理回路２４ｄと、シグネチャ生成器３２ｄと、シグネチャ比較器３４ｄとにより、１つのユニットである第４ユニットが構成されている。
【００４５】
また、疑似乱数生成器３０ｅと、ダイレクトメモリアクセスコントローラ２０ａと、シグネチャ生成器３２ｅと、シグネチャ比較器３４ｅとにより、１つのユニットである第５ユニットが構成されており、疑似乱数生成器３０ｆと、ダイレクトメモリアクセスコントローラ２０ｂと、シグネチャ生成器３２ｆと、シグネチャ比較器３４ｆとにより、１つのユニットである第６ユニットが構成されている。
【００４６】
メモリ２２ａは、第１ユニットと第５ユニットにより共通に使用され、メモリ２２ｂは、第１ユニットと第２ユニットにより共通に使用され、メモリ２２ｃは、第２ユニットと第３ユニットにより共通に使用され、メモリ２２ｄは、第３ユニットと第４ユニットにより共通に使用され、メモリ２２ｅは、第４ユニットと第６ユニットにより共通に使用される。
【００４７】
また、本実施形態における例えば第１ユニットにおいては、疑似乱数生成器３０ａが第１疑似乱数生成器を構成しており、シグネチャ生成器３２ａが第１シグネチャ生成器を構成しており、シグネチャ比較器３４ａが第１シグネチャ比較器を構成している。そして、この場合、メモリ２２ａが第１メモリを構成しており、メモリ２２ｂが第２メモリを構成している。これらの点は、第１ユニットだけでなく、第２ユニット、第３ユニット、及び、第４ユニットも同様である。
【００４８】
さらに、第５ユニットにおいては、疑似乱数生成器３０ｅが第２疑似乱数生成器を構成しており、ダイレクトメモリアクセスコントローラ２０ａが第１コントローラを構成しており、シグネチャ生成器３２ｅが第２シグネチャ生成器を構成しており、シグネチャ比較器３４ｅが第２シグネチャ比較器を構成している。そして、この場合、メモリ２２ａが第１メモリを構成する。
【００４９】
また、第６ユニットにおいては、疑似乱数生成器３０ｆが第３疑似乱数生成器を構成しており、ダイレクトメモリアクセスコントローラ２０ｂが第２コントローラを構成しており、シグネチャ生成器３２ｆが第３シグネチャ生成器を構成しており、シグネチャ比較器３４ｆが第３シグネチャ比較器を構成している。
【００５０】
そして、第１ユニットから第４ユニットが直列的に接続されて、画像処理装置１０が構成されているといえる。この場合、第１ユニットの入力側に第５ユニットが接続され、第４ユニットの出力側に第６ユニットが接続されているといえる。また、本実施形態における全体制御器２６が第１制御器を構成している。
【００５１】
なお、本実施形態においては、シグネチャ比較器３４ａ〜３４ｆのいずれかが、シグネチャ生成器３２ａ〜３２ｆから取得したシグネチャが、期待値と一致しないと判定した場合、そのユニットのいずれかの回路に故障が生じていると診断することができる。第１ユニットのシグネチャ比較器３４ａが、シグネチャ生成器３２ａから取得したシグネチャと、シグネチャ期待値保持部３６から取得したシグネチャの期待値とが一致しないと判定した場合、メモリ２２ａ、２２ｂ及び処理回路２４ａのいずれかに故障が生じていると診断することができる。この診断結果は、例えば、ＣＰＵ１２に通知され、ＣＰＵ１２の制御の下、画像処理装置１０や画像処理システム１のシャットダウン等を行うことができる。
【００５２】
以上のように、本実施形態に係る画像処理システム１によれば、画像処理装置１０において回路故障の自己判定処理が実行される際に、バス１８を介して、テストデータを画像処理装置１０へ転送する必要がなくなる。このため、回路故障の自己判定処理時に、バス１８のバンド幅が逼迫するという問題を回避することができる。また、テストデータを格納するためのメモリ領域を画像処理装置１０内に用意する必要もないので、画像処理装置１０のメモリの消費を抑制することができる。
【００５３】
具体的には、回路故障の自己判定処理に必要なテストデータは、疑似乱数生成器３０ａ〜３０ｆで疑似的な乱数として生成するとともに、この疑似的な乱数が所定の規則性を有するようにしたので、疑似乱数生成器３０ａ〜３０ｆが生成する疑似的な乱数を、この画像処理システム１の設計開発段階で予め特定することができる。このため、シグネチャ比較器３４ａ〜３４ｆにおいて、シグネチャ生成器３２ａ〜３２ｆで生成されたシグネチャと比較すべき期待値を予め特定しておくことができ、この期待値をシグネチャ期待値保持部３６に予め格納しておくことができる。
【００５４】
また、バス１８を用いたテストデータの転送が実質的にないことから、回路故障の自己判定処理の処理時間を短縮することができる。このため、回路故障の自己判定処理の実行を画像処理の随所に挿入することができ、画像処理装置１０の故障検出率を向上させることができる。すなわち、回路故障の自己判定処理の実行回数を増加させることにより、より的確な回路故障診断を実現することができる。さらに、従来のように回路の二重化を図る場合と比べて、回路規模の縮小を図ることができるとともに、消費電力の抑制を図ることができる。
【００５５】
（第２実施形態）
第２実施形態に係る画像処理システムの画像処理装置は、上述した第１実施形態の画像処理装置１０に、回路故障の自己判定処理の際にパイプライン処理を止めて全ての処理回路を並列に実行させるテスト時全体制御器を、追加的に設けることにより、故障診断の処理時間の短縮を図ったものである。以下、上述した第１実施形態と異なる部分を説明する。
【００５６】
図３は、本実施形態に係る画像処理システム１０１の内部構成の一例を説明するブロック図である。本実施形態に係る画像処理システム１０１の画像処理装置１１０は、上述した第１実施形態の画像処理装置１０に、テスト時全体制御器１４０を追加的に設けることにより構成されている。
【００５７】
図３の画像処理装置１１０における通常の画像処理は、上述した第１実施形態と同様である。但し、回路故障の自己判定処理を実行する際の動作が、上述した第１実施形態と異なる。すなわち、本実施形態に係る画像処理装置１１０においては、通常の画像処理については、全体制御器１２６がデータ処理をパイプライン制御で処理するが、回路故障の自己判定処理については、テスト時全体制御器１４０がパイプライン制御を止めて並列処理を行う。これを実現するために、本実施形態に係る画像処理装置１１０においては、通常の画像処理におけるパイプライン処理に関する制御を行う全体制御器１２６に加えて、回路故障の自己判定処理における並列処理に関する制御を行うテスト時全体制御器１４０が設けられている。このテスト時全体制御器１４０が、本実施形態における第２制御器を構成している。
【００５８】
なお、機能的には、本実施形態に係るダイレクトメモリアクセスコントローラ１２０ａ、１２０ｂは、第１実施形態に係るダイレクトメモリアクセスコントローラ２０ａ、２０ｂに対応しており、本実施形態に係るメモリ１２２ａ〜１２２ｅは、第１実施形態に係るメモリ２２ａ〜２２ｅに対応しており、本実施形態に係る処理回路１２４ａ〜１２４ｄは、第１実施形態に係る処理回路２４ａ〜２４ｄに対応しており、本実施形態に係る全体制御器１２６は、第１実施形態に係る全体制御器２６に対応しており、本実施形態に係る疑似乱数生成器１３０ａ〜１３０ｆは、第１実施形態に係る疑似乱数生成器３０ａ〜３０ｆに相当しており、本実施形態に係るシグネチャ生成器１３２ａ〜１３２ｆは、第１実施形態に係るシグネチャ生成器３２ａ〜３２ｆに対応しており、本実施形態に係るシグネチャ比較器１３４ａ〜１３４ｆは、第１実施形態に係るシグネチャ比較器３４ａ〜３４ｆに対応しており、本実施形態に係るシグネチャ期待値保持部１３６は、第１実施形態に係るシグネチャ期待値保持部３６に対応しているが、その内部構成が異なっていることから、異なる符号を付している。
【００５９】
図４は、本実施形態における画像処理装置１１０で実行されるパイプライン処理と並列処理の概念を説明する図であり、図４（ａ）は、通常の画像処理におけるパイプライン処理を図示しており、図４（ｂ）は、回路故障の自己判定処理における並列処理を図示している。
【００６０】
図４（ａ）から分かるように、全体制御器１２６で行われる通常の画像処理におけるパイプライン処理においては、次のように処理が進行する。
＜タイムスロット１＞
ダイレクトメモリアクセスコントローラ１２０ａがバス１８からデータを取得してメモリ１２２ａに書き込む。
＜タイムスロット２＞
処理回路１２４ａがメモリ１２２ａから、タイムスロット１で書き込まれたデータを取得して所定の処理を行って、メモリ１２２ｂに書き込む。
＜タイムスロット３＞
処理回路１２４ｂがメモリ１２２ｂから、タイムスロット２で書き込まれたデータを取得して所定の処理を行って、メモリ１２２ｃに書き込む。
＜タイムスロット４＞
処理回路１２４ｃがメモリ１２２ｃから、タイムスロット３で書き込まれたデータを取得して所定の処理を行って、メモリ１２２ｄに書き込む。
＜タイムスロット５＞
処理回路１２４ｄがメモリ１２２ｄから、タイムスロット４で書き込まれたデータを取得して所定の処理を行って、メモリ１２２ｅに書き込む。
＜タイムスロット６＞
ダイレクトメモリアクセスコントローラ１２０ｂがメモリ１２２ｅから、タイムスロット５で書き込まれたデータを取得してバス１８を介して転送する。
【００６１】
先頭の画像データの処理に続く２番目の画像データの処理、３番目の画像データの処理等は、先頭の画像データの処理に続くタイムスロットで順次、パイプライン的に処理される。
【００６２】
上述した第１実施形態の画像処理装置１１０においては、このパイプライン処理は、回路故障の自己判定処理においても同様に行われ、次のように処理が進行する。
＜タイムスロット１＞
疑似乱数生成器１３０ｅが疑似的な乱数を生成してメモリ１２２ａに書き込み、シグネチャ生成器１３２ｅ及びシグネチャ比較器１３４ｅによる診断が行われる。
＜タイムスロット２＞
疑似乱数生成器１３０ａが疑似的な乱数を生成して、メモリ１２２ａに書き込み、処理回路１２４ａがメモリ１２２ａから疑似的な乱数をデータとして取得して所定の処理を行って、メモリ１２２ｂに書き込み、シグネチャ生成器１３２ａ及びシグネチャ比較器１３４ａによる診断が行われる。
＜タイムスロット３＞
疑似乱数生成器１３０ｂが疑似的な乱数を生成して、メモリ１２２ｂに書き込み、処理回路１２４ｂがメモリ１２２ｂから疑似的な乱数をデータとして取得して所定の処理を行って、メモリ１２２ｃに書き込み、シグネチャ生成器１３２ｂ及びシグネチャ比較器１３４ｂによる診断が行われる。
＜タイムスロット４＞
疑似乱数生成器１３０ｃが疑似的な乱数を生成して、メモリ１２２ｃに書き込み、処理回路１２４ｃがメモリ１２２ｃから疑似的な乱数をデータとして取得して所定の処理を行って、メモリ１２２ｄに書き込み、シグネチャ生成器１３２ｃ及びシグネチャ比較器１３４ｃによる診断が行われる。
＜タイムスロット５＞
疑似乱数生成器１３０ｄが疑似的な乱数を生成して、メモリ１２２ｄに書き込み、処理回路１２４ｄがメモリ１２２ｄから疑似的な乱数をデータとして取得して所定の処理を行って、メモリ１２２ｅに書き込み、シグネチャ生成器１３２ｄ及びシグネチャ比較器１３４ｄによる診断が行われる。
＜タイムスロット６＞
疑似乱数生成器１３０ｆが疑似的な乱数を生成してダイレクトメモリアクセスコントローラ１２０ｂに供給し、シグネチャ生成器１３２ｆ及びシグネチャ比較器１３４ｆによる診断が行われる。
【００６３】
先頭の診断処理に続く２番目の診断処理、３番目の診断処理等は、先頭の診断処理に続くタイムスロットで順次、パイプライン的に処理される。
【００６４】
図４（ａ）に示すように、回路の診断処理を５回行った場合、この診断がすべて終了するには、全部で１０個のタイムスロットが必要となる。そこで、本実施形態に係る画像処理装置１１０では、回路故障の自己判定処理において、図４（ｂ）に示すように、パイプライン処理を止めて並列処理にすることにより、処理時間の短縮を図っている。
【００６５】
すなわち、図４（ｂ）に示すように、テスト時全体制御器１４０が、ダイレクトメモリアクセスコントローラ１２０ａ、１２０ｂと処理回路１２４ａ〜１２４ｄとを、並列的に個別に制御して、並列処理を行う。すなわち、上記の＜タイムスロット１＞から＜タイムスロット６＞の処理が、タイムスロット１で同時に行われることとなる。このため、回路故障の診断を５回行った場合、この診断がすべて終了するには、全部で５個のタイムスロットが必要になるだけとなる。このため、回路故障の自己判定処理に必要な時間を大幅に短縮することが可能となる。
【００６６】
以上のように、本実施形態に係る画像処理システム１０１の画像処理装置１１０においても、上述した第１実施形態と同様に、回路故障の自己判定処理が実行される際に、テストデータの転送がバス１８のバンド幅を逼迫したり、テストデータが画像処理装置１１０内のメモリを消費したりするのを回避しつつ、的確な回路故障診断を行うことができる。
【００６７】
さらに、本実施形態に係る画像処理システム１０１によれば、画像処理装置１１０に回路故障の自己判定処理を行う際にはパイプライン処理を止めて並列処理を行うように画像処理装置１１０を制御するテスト時全体制御器１４０を追加的に設けたので、回路故障の診断に要する時間を短くすることができる。例えば、図４（ａ）及び図４（ｂ）に示すように、回路の診断処理を５回行った場合、図１の画像処理装置１０と比べて処理に要する時間を半減させることができる。
【００６８】
このため、例えば、単位時間あたりに実行させることができる回路の診断処理の回数を増やすことができ、回路診断の信頼性の向上を図ることもできる。なお、回路の診断処理を並列で実行させたとしても、処理時間の短縮が図られていることから、全体的な消費電力の増加はさほど大きくはないと考えられる。
【００６９】
なお、上述した第１実施形態及び第２実施形態におけるシグネチャ期待値保持部３６、１３６は、必ずしも、画像処理装置１０、１１０の内部に設けられている必要はなく、画像処理装置１０、１１０の外部から期待値を読み込んで用いるようにしてもよい。例えば、本実施形態においては、ＲＯＭ１６に期待値としてのシグネチャを格納しておき、バス１８を介して、画像処理装置１０、１１０がこれを取得するようにしてもよい。例えば、画像処理装置１０、１１０のシグネチャ比較器３４ａ〜３４ｆ、１３４ａ〜１３４ｆが、ＲＯＭ１６から、期待値としてのシグネチャをそれぞれ取得するようにしてもよい。この場合でも、期待値としてのシグネチャのデータサイズはさほど大きくはないことから、従来のように、バス１８のバンド幅を逼迫させることにはならないと考えられる。
【００７０】
以上、いくつかの実施形態を説明したが、これらの実施形態は、例としてのみ提示したものであり、発明の範囲を限定することを意図したものではない。本明細書で説明した新規な装置および方法は、その他の様々な形態で実施することができる。また、本明細書で説明した装置および方法の形態に対し、発明の要旨を逸脱しない範囲内で、種々の省略、置換、変更を行うことができる。添付の特許請求の範囲およびこれに均等な範囲は、発明の範囲や要旨に含まれるこのような形態や変形例を含むように意図されている。
【符号の説明】
【００７１】
１：画像処理システム、１０：画像処理装置、１２：ＣＰＵ、１４：メインメモリ、１６：ＲＯＭ、１８：バス、２０ａ・２０ｂ：ダイレクトメモリアクセスコントローラ、２２ａ〜２２ｅ：メモリ、２４ａ〜２４ｄ：処理回路、２６：全体制御器、３０ａ〜３０ｆ：疑似乱数生成器、３２ａ〜３２ｆ：シグネチャ生成器、３４ａ〜３４ｆ：シグネチャ比較器、３６：シグネチャ期待値保持部
【図１】
2019158749.tif 000003
【図２】
2019158749.tif 000004
【図３】
2019158749.tif 000005
【図４】
2019158749.tif 000006