(57)【要約】【課題】画像データを処理する画像処理回路の故障を検出でき、回路規模、消費電力及び故障率を低減することができる半導体装置を提供する。【解決手段】実施形態の半導体装置は、画像処理回路１１１、ソフトウェア画像処理部１１２、及び比較部１１３を備える。画像処理回路１１１は、回路素子によって実現された画像処理の機能を有し、画像データに対して画像処理を実行して第１画像データを出力する。ソフトウェア画像処理部１１２は、プログラムに従った演算処理によって前記画像処理を実現し、画像データに対して前記画像処理を実行して第２画像データを出力する。比較部１１３は、第１画像データと第２画像データとを比較し、第１画像データと第２画像データとが一致するか否かを示す検出信号を出力する。【選択図】図１
2018045560.tif 000002
【特許請求の範囲】
【請求項１】
回路素子によって実現された画像処理の機能を有し、画像データに対して前記画像処理を実行して第１画像データを出力する画像処理回路と、
プログラムに従った演算処理によって前記画像処理を実現し、前記画像データに対して前記画像処理を実行して第２画像データを出力するプロセッサと、
前記第１画像データと前記第２画像データとを比較し、前記第１画像データと前記第２画像データとが一致するか否かを示す検出信号を出力する比較部と、
を具備する半導体装置。
【請求項２】
前記画像処理回路及び前記比較部を制御する制御回路をさらに具備し、
前記制御回路は、前記プロセッサが行う前記画像処理を実行する請求項１に記載の半導体装置。
【請求項３】
前記制御回路は、前記比較部における前記第１画像データと前記第２画像データとの比較をプログラムに従って実行する請求項２に記載の半導体装置。
【請求項４】
前記プログラムを保持した第１メモリと、
前記プログラムに従って演算処理された前記第２画像データを記憶する第２メモリと、
をさらに具備する請求項１乃至３のいずれかに記載の半導体装置。
【請求項５】
前記画像処理回路は、画像処理の機能を持つ第１処理回路及び第２処理回路を有し、前記第１処理回路の出力は前記第２処理回路に供給され、
前記第１処理回路の入力部の第１ノードと、及び前記第１処理回路と前記第２処理回路間の第２ノードのいずれかのノードを選択し、選択したノードを前記プロセッサに接続する第１セレクタと、
前記第２ノードと、前記第２処理回路の出力部の第３ノードのいずれかのノードを選択し、選択したノードを前記比較部に接続する第２セレクタと、
をさらに具備する請求項１乃至４のいずれかに記載の半導体装置。
【請求項６】
前記画像処理回路は、画像処理の機能を持つ第１処理回路及び第２処理回路を有し、前記第１処理回路から出力されたデータは前記第２処理回路に供給され、
前記第１処理回路に供給されるデータと、前記第１処理回路から出力されたデータのいずれかを選択し、選択したデータを前記プロセッサに供給する第１セレクタと、
前記第１処理回路から出力されたデータと、前記第２処理回路から出力されたデータのいずれかを選択し、選択したデータを前記比較部に供給する第２セレクタと、
をさらに具備し、
前記第１セレクタが前記第１処理回路に供給されるデータを前記プロセッサに供給したとき、前記第２セレクタは前記第１処理回路から出力されたデータまたは前記第２処理回路から出力されたデータのいずれかを前記比較部に供給し、
前記第１セレクタが前記第１処理回路から出力されたデータを前記プロセッサに供給したとき、前記第２セレクタは前記第２処理回路から出力されたデータを前記比較部に供給する請求項１乃至４のいずれかに記載の半導体装置。
【請求項７】
前記プロセッサは、前記画像データの一部分に対して前記画像処理を実行して前記第２画像データの第１部分を出力し、
前記比較部は、前記プロセッサから出力された前記第２画像データの前記第１部分と、前記画像処理回路から出力された前記第１画像データの、前記第１部分に対応する第２部分とを比較する請求項１乃至６のいずれかに記載の半導体装置。
【請求項８】
前記プロセッサは、前記前記第１処理回路に供給されるデータ、前記第１処理回路から出力されたデータのいずれかのデータの一部分に対して前記画像処理を実行して前記第２画像データの第１部分を出力し、
前記比較部は、前記プロセッサから出力された前記第２画像データの前記第１部分と、前記第１処理回路から出力されたデータまたは前記第２処理回路から出力されたデータのいずれかのデータの、前記第１部分に対応する第２部分とを比較する請求項６に記載の半導体装置。
【請求項９】
前記第１画像データ及び前記第２画像データはフレームまたはフレーム内のラインのいずれかである請求項１乃至８のいずれかに記載の半導体装置。
【請求項１０】
前記第１部分及び前記第２部分はフレーム内のラインである請求項７または８に記載の半導体装置。
【請求項１１】
前記比較部は、前記第１画像データと前記第２画像データとを比較する機能を回路素子により実現する請求項１乃至１０のいずれかに記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、画像データを画像処理する回路を含む画像処理装置を備えた半導体装置に関するものである。
【背景技術】
【０００２】
半導体装置として、カメラから供給された画像データに対して画像処理を行う画像処理回路を有する画像処理装置が知られている。画像処理装置には、画像処理回路に発生する故障を検出するための機構が備えられている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４５３９４２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
画像データを処理する画像処理回路の故障を検出でき、回路規模、消費電力及び故障率を低減することができる半導体装置を提供する。
【課題を解決するための手段】
【０００５】
実施形態の半導体装置は、回路素子によって実現された画像処理の機能を有し、画像データに対して前記画像処理を実行して第１画像データを出力する画像処理回路と、プログラムに従った演算処理によって前記画像処理を実現し、前記画像データに対して前記画像処理を実行して第２画像データを出力するプロセッサと、前記第１画像データと前記第２画像データとを比較し、前記第１画像データと前記第２画像データとが一致するか否かを示す検出信号を出力する比較部とを具備する。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１実施形態の画像処理装置を含む半導体装置の構成を示すブロック図である。
【図２】図２は、第１実施形態における画像処理回路の構成例を示すブロック図である。
【図３】図３は、第１実施形態におけるソフトウェア画像処理部の構成を示すブロック図である。
【図４】図４は、第１実施形態におけるソフトウェア画像処理部の処理例を示すフローチャートである。
【図５】図５は、第１実施形態における画像処理の一例としての色空間変換を行うためのマトリックス変換処理を示す図である。
【図６】図６は、カメラから出力される画像データの一例を示す図である。
【図７】図７は、第１実施形態の半導体装置の動作を示すタイミングチャートである。
【図８】図８は、第２実施形態の画像処理装置の動作を示すタイミングチャートである。
【図９】図９は、第３実施形態の画像処理装置を含む半導体装置の構成を示すブロック図である。
【図１０】図１０は、第３実施形態における画像処理回路の構成例を示すブロック図である。
【図１１】図１１は、第３実施形態におけるソフトウェア画像処理部の処理例を示すフローチャートである。
【図１２】図１２は、第３実施形態の半導体装置の動作を示すタイミングチャートである。
【図１３】図１３は、第４実施形態の画像処理装置の動作を示すタイミングチャートである。
【発明を実施するための形態】
【０００７】
以下、図面を参照して実施形態について説明する。なお、以下の説明において、同一の機能及び構成を有する構成要素については、共通する参照符号を付す。
【０００８】
［１］第１実施形態
第１実施形態の画像処理装置を含む半導体装置について説明する。
【０００９】
［１−１］半導体装置の構成
図１は、第１実施形態の画像処理装置を含む半導体装置の構成を示すブロック図である。図示するように、半導体装置１０は、画像処理装置１１、メモリ１２、及びＣＰＵ（central processing unit）（または、制御回路）１３を備えている。また、半導体装置１０の外部に、画像処理装置１１に画像データを供給する撮像装置、例えばカメラ１４が配置されている。
【００１０】
カメラ１４は、画像から画像データを生成し、画像処理装置１１に画像データを供給する。画像処理装置１１は、カメラ１４から画像データを受け取り、画像データに各種の画像処理を行い、画像処理後の画像データを出力する。画像処理装置１１の詳細については後述する。
【００１１】
メモリ１２は、画像処理装置１１から出力された画像処理後の画像データを記憶する。メモリ１２に記憶された画像データは、必要に応じてメモリ１２の後段に設けられた回路に読み出され、使用される。ＣＰＵ１３は、カメラ１４及び画像処理装置１１を制御する。
【００１２】
画像処理装置１１は、画像処理回路１１１、ソフトウェア画像処理部１１２、比較部１１３、メモリ１１４、及びメモリ１１５を備える。
【００１３】
画像処理回路１１１は、カメラ１４から受け取った画像データに対してハードウェアによる画像処理を行い、画像処理後の画像データ（以下、第１処理データ）をメモリ１２及び比較部１１３に出力する。画像処理回路１１１は、画像処理の機能が回路素子等のハードウェアによって実現されている。以降、画像処理回路１１１によって実行される画像処理を、ハードウェア処理または回路処理と記す。
【００１４】
メモリ１１４は、カメラ１４から供給された画像データを格納する。ソフトウェア画像処理部１１２は、メモリ１１４から読み出した画像データに対して、プロセッサ（例えば、専用ＣＰＵまたはＣＰＵ１３、演算回路）により画像処理回路１１１と同等の画像処理を行い、画像処理後の画像データ（以下、第２処理データ）をメモリ１１５に出力する。ソフトウェア画像処理部１１２は、プログラムに基づいてプロセッサが行う演算により画像処理を実行する。以降、ソフトウェア画像処理部１１２によって実行される画像処理を、ソフトウェア処理と記す。画像処理回路１１１及びソフトウェア画像処理部１１２の詳細については後述する。
【００１５】
比較部１１３は、画像処理回路１１１から受け取った第１処理データと、メモリ１１５から読み出した第２処理データとを比較し、第１処理データと第２処理データとが一致するか、あるいは不一致かを示す検出信号ＤＳを出力する。ＣＰＵ１３は、比較部１１３から一致を示す検出信号ＤＳが出力されたとき、画像処理回路１１１が故障しておらず、正常であると判定する。一方、不一致を示す検出信号ＤＳが出力されたとき、画像処理回路１１１が故障であると判定する。
【００１６】
比較部１１３は回路素子等のハードウェアから構成され、ハードウェアにより第１処理データと第２処理データとの比較を実行する。または、比較部１１３はＣＰＵ等のプロセッサを有し、プログラムに基づいてプロセッサにより第１処理データと第２処理データとの比較を実行してもよい。比較部１１３が用いるプロセッサには、専用のプロセッサを用意してもよいし、ＣＰＵ１３あるいはその他のＣＰＵを用いてもよい。さらに、比較部１１３が用いるプログラムはメモリに記憶しておき、比較を実行する前に読み出して使用することができる。比較部１１３により用いられるプログラムが記憶されるメモリには、例えば専用のメモリを用意してもよいし、後述するＲＯＭ３０２を用いてもよい。
【００１７】
また、画像処理回路１１１が出力する画像データと、ソフトウェア画像処理部１１２が出力する画像データとの精度が異なる等の理由により、画像処理回路１１１に故障が発生していないときでも、比較部１１３が不一致を示す検出信号ＤＳを出力する場合がある。これを防ぐため、比較部１１３による比較結果に許容誤差を設定し、許容誤差範囲内は一致とみなす構成を設ける。また、ＣＰＵ１３自体が故障する場合も考えられる。このため、ＣＰＵ１３の故障検出は、例えばデュアルロックステップなどの機構を用いて予め担保しておく。デュアルロックステップとは、ＣＰＵなどのプロセッサの動作を監視する安全機構の１つである。デュアルロックステップでは、複数のプロセッサのクロックを同期させながら、それぞれのプロセッサで同じ処理を行う。そして、それぞれのプロセッサの処理結果が同じであることを確認して処理を実行する。
【００１８】
［１−１−１］画像処理回路１１１
前述したように、画像処理回路１１１は、画像処理の機能が回路素子等のハードウェアによって実現されている。画像処理回路１１１は、カメラ１４から受け取った画像データに対してハードウェア処理を行い、ハードウェア処理後の画像データ（第１処理データ）をメモリ１２及び比較部１１３に出力する。画像処理としては、例えば以下のような処理がある。デモザイク、ガンマ補正、色空間変換、スケーリング、ホワイトバランス調整、ＨＤＲ(High Dynamic Range)圧縮・伸長、ブライトネス・コントラスト調整、及びエッジ強調などである。
【００１９】
・デモザイク：カメラから入力されたＲＡＷフォーマットのデータをＲＧＢへ変換する。ＲＡＷフォーマットのデータは、カメラ等で撮影された未加工の画像データである。また、画像データは、複数の画素（ピクセル）データから構成されている。さらに、画素データは、３色の値、すなわち赤、緑、青の値からなる。この赤、緑、青の値をＲＧＢという。
【００２０】
・ガンマ補正：画像の諧調を調整する。
【００２１】
・色空間変換：画像の色空間を変換する。例えばＲＧＢ⇒ＹＵＶや、ＹＵＶ⇒ＲＧＢなどの変換を行う。ＹＵＶは色空間を示し、Ｙは輝度信号、Ｕは色差信号(Ｃｂ)、Ｖは色差信号(Ｃｒ)を表す。
【００２２】
・スケーリング：画像を拡大・縮小する。
【００２３】
・ホワイトバランス調整：画像のホワイトバランスを調整する。
【００２４】
・ＨＤＲ圧縮・伸長：画像データをＨＤＲ圧縮やＨＤＲ伸長する。
【００２５】
・ブライトネス・コントラスト調整：画像の輝度とコントラストを調整する。
【００２６】
・エッジ強調：画像のエッジを強調する。
【００２７】
画像処理回路１１１は、上に列記した画像処理を実行する回路を有する。ここでは、個々の画像処理を実行する回路を３つ示し、画像処理回路(Ａ)、(Ｂ)、(Ｃ)とする。画像処理回路(Ａ)、(Ｂ)、(Ｃ)は画像データに対してハードウェア処理を行う。
【００２８】
図２は、第１実施形態における画像処理回路１１１の構成例を示すブロック図である。画像処理回路１１１は、画像処理回路(Ａ)２０１、画像処理回路(Ｂ)２０２、及び画像処理回路(Ｃ)２０３が順次接続された構成を有する。
【００２９】
例えば、画像処理回路(Ａ)でデモザイクの処理を行う。次に、画像処理回路(Ｂ)でガンマ補正の処理を行う。さらに、画像処理回路(Ｃ)で色空間変換の処理を行う。このように、画像処理回路(Ａ)、(Ｂ)、(Ｃ)にて個々の画像処理を実行する。
【００３０】
画像処理回路(Ａ)は、デモザイクの処理機能が回路素子等のハードウェアによって実現されている。画像処理回路(Ｂ)は、ガンマ補正の処理機能が回路素子等のハードウェアによって実現されている。画像処理回路(Ｃ)は、色空間変換の処理機能が回路素子等のハードウェアによって実現されている。
【００３１】
［１−１−２］ソフトウェア画像処理部１１２
図３は、第１実施形態におけるソフトウェア画像処理部１１２の構成を示すブロック図である。ソフトウェア画像処理部１１２は、ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、及びＲＡＭ３０４、及びこれらを接続するバス３０５を有する。
【００３２】
ＲＯＭ３０２は、ブートプログラム（または制御プログラム）及び画像処理プログラムなどを保持する。ＣＰＵ３０１は、画像処理プログラムに基づいて画像データに対して画像処理、すなわち演算処理を実行する。ＲＡＭ３０３及びＲＡＭ３０４は、ＣＰＵ３０１の作業領域として使用される。ＲＡＭ３０３は、例えば高速アクセスのためのＳＲＡＭ等を含む。ＲＡＭ３０４は、例えば大容量データを扱うためのＤＲＡＭ等を含む。なお、ＲＡＭ３０３及びＲＡＭ３０４には、使用環境に合わせて他の種類のＲＡＭを使用可能である。
【００３３】
ＣＰＵ３０１の起動時にＲＯＭ３０２上に記憶されたブートプログラムにより、ＣＰＵ３０１は必要なハードウェア、すなわちＲＡＭ３０３、及びＲＡＭ３０４の初期化を行う。さらに、ＣＰＵ３０１は、ブートプログラムにより、ＲＯＭ３０２上の画像処理プログラムをＲＡＭ３０３へ展開する。そして、ＣＰＵ３０１は、ＲＡＭ３０３上の画像処理プログラムに基づいて、メモリ１１４から画像データを読み出し、読み出した画像データに対して画像処理を実行する。すなわち、ＣＰＵ３０１は、画像処理プログラムに従って動作し、画像データに対して画像処理としての演算を行う。画像処理プログラムには、各種の画像処理の手順が記述されている。ＣＰＵ３０１が画像処理の過程で生成した中間データはＲＡＭ３０３あるいはＲＡＭ３０４へ一旦書き込まれ、再度ＣＰＵ３０１により読み込まれる。
【００３４】
なお、ＣＰＵ３０１は、ソフトウェア画像処理部１１２内で使用される専用のものでもよいし、ＣＰＵ１３あるいは別の回路領域に配置されたものでもよい。言い換えると、ＣＰＵ３０１は図１に示したＣＰＵ１３が兼ねてもよいし、ＣＰＵ１３とは別に配置してもよい。ＣＰＵ１３とＣＰＵ３０１を分ける場合、画像データの受け渡しのタイミングなどを制御するために、ＣＰＵ１３とＣＰＵ３０１間の通信が必要となる場合がある。
【００３５】
また、ＣＰＵ３０１の代わりにＤＳＰ（digital signal processor）などのデジタル信号処理に特化したプロセッサを使用することが可能である。一般的に、ＣＰＵを用いるよりもデジタル信号処理に特化したＤＳＰを用いた方が画像処理を高速に行うことができる。また、図１に示したメモリ１１４やメモリ１１５は、ＲＡＭ３０３、あるいはＲＡＭ３０４に含まれていてもよい。
【００３６】
図４は、第１実施形態におけるソフトウェア画像処理部１１２の処理例を示すフローチャートである。ソフトウェア画像処理部１１２は、画像処理回路１１１と同様に、例えばデモザイク、ガンマ補正、色空間変換、スケーリング、ホワイトバランス調整、ＨＤＲ圧縮・伸長、ブライトネス・コントラスト調整、及びエッジ強調などの画像処理を実行できる。ここでは、個々の画像処理を実行する処理部を３つ示し、画像処理(Ａ)、(Ｂ)、(Ｃ)とする。画像処理(Ａ)、(Ｂ)、(Ｃ)は画像データに対してソフトウェア処理を行う。画像処理(Ａ)、(Ｂ)、(Ｃ)は、画像処理回路１１１内の画像処理回路(Ａ)、(Ｂ)、(Ｃ)にそれぞれ対応する。すなわち、画像処理(Ａ)は画像処理回路(Ａ)と同じ機能を有し、画像処理(Ｂ)は画像処理回路(Ｂ)と同じ機能を有し、画像処理(Ｃ)は画像処理回路(Ｃ)と同じ機能を有する。
【００３７】
図４に示すように、ソフトウェア画像処理部１１２における画像処理がスタートすると、ＣＰＵ３０１は、画像処理(Ａ)を実行し（ステップＳ１）、次に画像処理(Ｂ)を実行し（ステップＳ２）、次に画像処理(Ｃ)を実行する（ステップＳ３）というように、画像データに対して画像処理を順次実行していく。その後、ソフトウェア画像処理部１１２における画像処理を終了する。
【００３８】
次に、画像処理回路１１１内の画像処理回路(Ａ)、(Ｂ)、(Ｃ)の各々、及びソフトウェア画像処理部１１２の画像処理(Ａ)、(Ｂ)、(Ｃ)の各々で実行される画像処理の一例として、色空間変換について説明する。図５に、画像処理の一例として、色空間変換を行うためのマトリックス変換処理を示す。
【００３９】
変換前の色空間と変換後の色空間の組み合わせにより変換式が与えられ、この変換式に基づきマトリックス変換処理の各パラメータが与えられる。
【００４０】
例えば、８ｂｉｔフルスケールＲＧＢからＩＴＵ−Ｒ ＢＴ．６０１規定のＹＣｂＣｒへの変換式は以下のようになる。
【００４１】
Ｙ＝０．２５７Ｒ＋０．５０４Ｇ＋０．０９８Ｂ＋１６
Ｃｂ＝−０．１４８Ｒ−０．２９１Ｇ＋０．４３９Ｂ＋１２８
Ｃｒ＝０．４３９Ｒ−０．３６８Ｇ−０．０７１Ｂ＋１２８
この時、マトリックス変換処理の各パラメータは以下のようになる。
【００４２】
Ｉ＿ＦＦＳＥＴ０＝０，Ｉ＿ＯＦＦＳＥＴ１＝０，Ｉ＿ＯＦＦＳＥＴ２＝０
Ｋ００＝０．２５７，Ｋ０１＝０．５０４，Ｋ０２＝０．０９８，
Ｋ１０＝−０．１４８，Ｋ１１＝−０．２９１，Ｋ１２＝０．４３９，Ｋ２０＝０．４３９，Ｋ２１＝−０．３６８，Ｋ２２＝−０．０７１
Ｏ＿ＯＦＦＳＥＴ０＝１６，Ｏ＿ＯＦＦＳＥＴ１＝１２８，Ｏ＿ＯＦＦＳＥＴ２＝１２８
各出力ＯＵＴ０、ＯＵＴ１、ＯＵＴ２は以下の式で表せる。
【００４３】
ＯＵＴ０＝Ｋ００×(ＩＮ０＋Ｉ＿ＯＦＦＳＥＴ０)＋Ｋ０１＊(ＩＮ１＋Ｉ＿ＯＦＦＳＥＴ１)＋Ｋ０２＊(ＩＮ２＋Ｉ＿ＯＦＦＳＥＴ２)＋Ｏ＿ＯＦＦＳＥＴ０
ＯＵＴ１＝Ｋ１０×(ＩＮ０＋Ｉ＿ＯＦＦＳＥＴ０)＋Ｋ１１＊(ＩＮ１＋Ｉ＿ＯＦＦＳＥＴ１)＋Ｋ１２＊(ＩＮ２＋Ｉ＿ＯＦＦＳＥＴ２)＋Ｏ＿ＯＦＦＳＥＴ１
ＯＵＴ２＝Ｋ２０×(ＩＮ０＋Ｉ＿ＯＦＦＳＥＴ０)＋Ｋ２１＊(ＩＮ１＋Ｉ＿ＯＦＦＳＥＴ１)＋Ｋ２２＊(ＩＮ２＋Ｉ＿ＯＦＦＳＥＴ２)＋Ｏ＿ＯＦＦＳＥＴ２
画像処理回路１１１では、図５に示すマトリックス変換処理が回路素子にて構成された、例えば画像処理回路(Ｃ)にて実行される。一方、ソフトウェア画像処理部１１２では、図５に示すマトリックス変換処理がＣＰＵ３０１により演算にて実行される。
【００４４】
［１−２］半導体装置の動作
第１実施形態の画像処理装置１１を含む半導体装置１０の動作について説明する。
【００４５】
図６はカメラ１４から出力される画像データの一例を示す。図７は第１実施形態の半導体装置の動作を示すタイミングチャートである。
【００４６】
まず、図６を用いて、カメラ１４から供給される画像データについて、ここでは、パラレルインタフェースで画像データが供給される場合を説明する。
【００４７】
画像データとしての信号Ｖsync、信号Ｈsync、及び入力データは、複数の入力ラインから取り込まれる。例えば、入力ラインは１６ラインあるいは２４ライン（入力ビット数は１６ビットあるいは２４ビット）である。信号Ｖsyncは、画像の垂直方向の同期信号を示す。信号Ｈsyncは、画像の水平方向の同期信号を示す。フレームＮは、ライン０、ライン１、ライン２、…、ラインＭの信号を含む。Ｎ、Ｍは０以上の自然数である。
【００４８】
以下に図７を用いて、第１実施形態の画像処理装置１１の動作について説明する。ここでは、フレーム毎に、画像処理回路１１１の出力とソフトウェア画像処理部１１２の出力とを比較する例を示す。
【００４９】
まず、フレームＮの画像処理について述べる。カメラ１４からフレームＮが画像処理回路１１１及びメモリ１１４に供給される。画像処理回路１１１は、フレームＮを受け取り、フレームＮをハードウェア処理し、ハードウェア処理後のフレームＮ(ａ)を出力する。フレームＮ(ａ)が第１処理データに相当する。
【００５０】
ソフトウェア画像処理部１１２は、メモリ１１４から読み出したフレームＮをソフトウェア処理し、ソフトウェア処理後のフレームＮ(ｂ)をメモリ１１５に出力する。フレームＮ(ｂ)が第２処理データに相当する。
【００５１】
比較部１１３は、フレームＮ(ａ)と、メモリ１１５から読み出したにフレームＮ(ｂ)とを比較してこれらが一致したかあるいは不一致かを示す検出信号ＤＳを出力する。ＣＰＵ１３は、比較部１１３から出力された検出信号ＤＳが一致を示すとき、画像処理回路１１１が故障していない、すなわち正常であると判定する。一方、比較部１１３から出力された検出信号ＤＳが不一致を示すとき、画像処理回路１１１が故障であると判定する。
【００５２】
次に、カメラ１４から供給されるフレームＮ＋１の画像処理について述べる。フレームＮ＋１の画像処理もフレームＮと同様である。カメラ１４からフレームＮ＋１が画像処理回路１１１及びメモリ１１４に供給される。画像処理回路１１１は、フレームＮ＋１をハードウェア処理し、ハードウェア処理後のフレームＮ＋１(ａ)を出力する。
【００５３】
ソフトウェア画像処理部１１２は、フレームＮ＋１をソフトウェア処理し、ソフトウェア処理後のフレームＮ＋１(ｂ)を出力する。
【００５４】
比較部１１３は、フレームＮ＋１(ａ)とフレームＮ＋１(ｂ)とを比較してこれらが一致したかあるいは不一致かを示す検出信号ＤＳを出力する。ＣＰＵ１３は、比較部１１３から出力された検出信号ＤＳが一致を示すとき、画像処理回路１１１が正常であると判定する。一方、比較部１１３から出力された検出信号ＤＳが不一致を示すとき、画像処理回路１１１が故障であると判定する。
【００５５】
次に、カメラ１４から供給されるフレームＮ＋２の画像処理について述べる。フレームＮ＋２の画像処理もフレームＮ及びフレームＮ＋１と同様であるため、記載を省略する。
【００５６】
図７には、フレームＮの画像処理において、フレームＮ(ａ)とフレームＮ(ｂ)との比較結果が一致となり、故障が発生していない場合を示した。フレームＮ＋１の画像処理においては、フレームＮ＋１(ａ)とフレームＮ＋１(ｂ)との比較結果が一致となり、故障が発生していない場合を示した。フレームＮ＋２の画像処理においては、フレームＮ＋２(ａ)とフレームＮ＋２(ｂ)との比較結果が不一致となり、故障が発生した場合を示した。
【００５７】
［１−３］第１実施形態の効果
第１実施形態の画像処理装置を含む半導体装置によれば、画像データを処理する画像処理回路の故障を検出でき、回路規模、消費電力及び故障率を低減することができる。
【００５８】
以下に、実施形態の効果について詳述する。
【００５９】
本実施形態は、画像データに対して画像処理を行う画像処理回路１１１を有する画像処理装置において、画像処理回路１１１と同等の画像処理機能を有するソフトウェア画像処理部１１２を設ける。そして、画像処理回路１１１により処理された画像データ（第１処理データ）と、ソフトウェア画像処理部１１２により処理された画像データ（第２処理データ）とを比較し、第１処理データと第２処理データとが一致するか不一致かにより、画像処理回路１１１が故障しているか否かを判定する。画像処理回路１１１は回路素子等のハードウェアから構成されており、ソフトウェア画像処理部１１２は画像処理プログラムに基づいてプロセッサにより画像処理を行う。
【００６０】
これにより、画像処理回路１１１から出力された第１処理データと比較される第２処理データをソフトウェア画像処理部１１２により生成できるため、画像処理回路１１１と同様な画像処理回路を設ける場合と比べて、回路規模、消費電力及び故障率を低減することができる。
【００６１】
以上述べたように、本実施形態によれば、画像データを処理する画像処理回路の故障を検出でき、回路規模、消費電力及び故障率を低減することができる画像処理装置を含む半導体装置を提供できる。
【００６２】
［２］第２実施形態
第２実施形態の画像処理装置を含む半導体装置について説明する。第２実施形態では、１フレーム（画像データ）のうちの一部のデータを比較し、画像処理回路１１１が故障しているか否かを判定する。画像処理装置１１の構成は第１実施形態と同様である。以下、第２実施形態では第１実施形態と異なる点について主に説明する。
【００６３】
［２−１］画像処理装置の動作
図８は、第２実施形態の画像処理装置の動作を示すタイミングチャートである。
【００６４】
まず、フレームＮの画像処理について述べる。カメラ１４からフレームＮが画像処理回路１１１及びメモリ１１４に供給される。画像処理回路１１１は、フレームＮを受け取り、フレームＮをハードウェア処理し、ハードウェア処理後のフレームＮ(ａ)を出力する。
【００６５】
ソフトウェア画像処理部１１２は、メモリ１１４から読み出したフレームＮのうち一部のデータを受け取る。ソフトウェア画像処理部１１２は、受け取った一部のデータをソフトウェア処理し、ソフトウェア処理後の一部のデータをメモリ１１５に出力する。前記一部のデータは、例えばフレームＮのうちの１ライン、複数ライン、あるいは１ライン内の特定部分のデータである。
【００６６】
比較部１１３は、画像処理回路１１１から出力されたフレームＮ(ａ)の一部のデータと、メモリ１１５から読み出したソフトウェア処理後の一部のデータとを比較する。比較部１１３は、フレームＮ(ａ)の一部のデータと、ソフトウェア処理後の一部のデータとが一致したかあるいは不一致かを示す検出信号ＤＳを出力する。なお、比較部１１３において比較される画像処理回路１１１からの一部のデータと、ソフトウェア画像処理部１１２からの一部のデータとは対応するデータ、例えばフレームＮの同一ラインのデータあるいは同一ラインの同一部分のデータである。
【００６７】
ＣＰＵ１３は、比較部１１３から出力された検出信号ＤＳが一致を示すとき、画像処理回路１１１が故障していない、すなわち正常であると判定する。一方、比較部１１３から出力された検出信号ＤＳが不一致を示すとき、画像処理回路１１１が故障であると判定する。
【００６８】
フレームＮ＋１とフレームＮ＋２の画像処理もフレームＮと同様であるため、記載を省略する。
【００６９】
図８には、フレームＮの画像処理において、フレームＮ(ａ)の一部のデータと、ソフトウェア画像処理部１１２からの一部のデータとの比較結果が一致となり、故障が発生していない場合を示した。フレームＮ＋１の画像処理においては、フレームＮ＋１(ａ)の一部のデータと、ソフトウェア画像処理部１１２からの一部のデータとの比較結果が一致となり、故障が発生していない場合を示した。フレームＮ＋２の画像処理においては、フレームＮ＋２(ａ)の一部のデータと、ソフトウェア画像処理部１１２からの一部のデータとの比較結果が不一致となり、故障が発生した場合を示した。
【００７０】
［２−２］第２実施形態の効果
第２実施形態では、カメラ１４から出力され、メモリ１１４に保持されたフレームＮ（画像データ）のうちの一部のデータをソフトウェア画像処理部１１２により画像処理する。比較部１１３は、ソフトウェア画像処理部１１２により画像処理した前記一部のデータと、画像処理回路１１１にて画像処理したフレームＮの一部のデータとを比較する。比較部１１３で比較される２つの一部のデータは、フレームＮのうちの互いに対応する部分のデータである。ＣＰＵ１３は、比較部１１３による比較結果に応じて画像処理回路１１１が故障しているか否かを判定する。
【００７１】
このように、フレームＮのうちの一部のデータを比較対象とすることにより、ソフトウェア画像処理部１１２にて画像処理に要する時間と、比較部１１３にて比較に要する時間を短縮することができる。さらに、ソフトウェア画像処理部１１２で行う画像処理時間を短くできるため、ＣＰＵ１３における動作の空き時間を利用して、ＣＰＵ１３によりソフトウェア画像処理部１１２の画像処理を行うことも可能となる。
【００７２】
以上述べたように、第２実施形態によれば、画像データのフレームのうちの一部のデータのみを比較対象とすることにより、ソフトウェア画像処理部１１２における画像処理時間を短縮することができる。さらに、ソフトウェア画像処理部１１２でソフトウェア処理に用いるＣＰＵ３０１（プロセッサ）の負荷を軽減することができる。その他の構成及び効果は前記第１実施形態と同様である。
【００７３】
［３］第３実施形態
第３実施形態の画像処理装置を含む半導体装置について説明する。第３実施形態では、画像処理回路が備える画像処理を行う複数の回路からいくつかの回路を選択し、選択した回路が故障しているか否かを判定する。以下、第３実施形態では第１実施形態と異なる点について主に説明する。
【００７４】
［３−１］半導体装置の構成
図９は、第３実施形態の画像処理装置を含む半導体装置の構成を示すブロック図である。図示するように、半導体装置２０は、画像処理装置２１、メモリ１２、及びＣＰＵ１３を備えている。また、半導体装置２０の外部に、画像処理装置２１に画像データを供給するカメラ１４が配置されている。
【００７５】
カメラ１４は、画像から画像データを生成し、画像処理装置２１に画像データを供給する。画像処理装置２１は、カメラ１４から画像データを受け取り、画像データに各種の画像処理を行い、画像処理後の画像データを出力する。画像処理装置２１の詳細については後述する。
【００７６】
メモリ１２は、画像処理装置２１から出力された画像処理後の画像データを記憶する。メモリ１２に記憶された画像データは、必要に応じてメモリ１２の後段に設けられた回路に読み出され、使用される。ＣＰＵ１３は、カメラ１４及び画像処理装置２１を制御する。
【００７７】
画像処理装置２１は、画像処理回路２１１、ソフトウェア画像処理部２１２、比較部２１３、メモリ２１４、及びメモリ２１５を備える。
【００７８】
画像処理回路２１１は、カメラ１４から受け取った画像データに対してハードウェアによる画像処理（以下、ハードウェア処理または回路処理）を行い、ハードウェア処理後の画像データ（以下、第３処理データ）をメモリ２１４、メモリ１２、及び比較部２１３に出力する。なお、場合によっては、画像処理前の画像データをメモリ２１４に出力する場合もある。画像処理回路２１１は、画像処理の機能が回路素子等のハードウェアによって実現されている。
【００７９】
メモリ２１４は、画像処理回路２１１から出力された画像データを格納する。ソフトウェア画像処理部２１２の構成は、図３に示した構成と同様である。ソフトウェア画像処理部２１２は、メモリ２１４から読み出した画像データに対して、プロセッサ（例えば、ＣＰＵ３０１または演算回路）により画像処理回路２１１と同等の画像処理（以下、ソフトウェア処理）を行い、ソフトウェア処理後の画像データ（以下、第４処理データ）をメモリ２１５に出力する。ソフトウェア画像処理部２１２は、プログラムに基づいてプロセッサが行う演算により画像処理を実行する。画像処理回路２１１の詳細については後述する。ソフトウェア画像処理部２１２はソフトウェア画像処理部１１２と同様の構成を有する。
【００８０】
比較部２１３は、画像処理回路２１１から受け取った第３処理データと、メモリ２１５から読み出した第４処理データとを比較し、第３処理データと第４処理データとが一致したか、あるいは不一致かを示す検出信号ＤＳを出力する。ＣＰＵ１３は、比較部１１３から一致を示す検出信号ＤＳが出力されたとき、画像処理回路２１１が故障しておらず、正常であると判定する。一方、不一致を示す検出信号ＤＳが出力されたとき、画像処理回路２１１が故障であると判定する。
【００８１】
比較部２１３は、比較部１１３と同様に、回路素子等のハードウェアから構成され、ハードウェアにより第３処理データと第４処理データとの比較を実行する。または、比較部２１３はＣＰＵ等のプロセッサを有し、プログラムに基づいてプロセッサにより第３処理データと第４処理データとの比較を実行してもよい。
【００８２】
［３−１−１］画像処理回路２１１
前述したように、画像処理回路２１１は、カメラ１４から受け取った画像データに対してハードウェア処理を行い、ハードウェア処理後の画像データのうちセレクタにより選択した画像データをメモリ２１４及び比較部２１３に出力する。なお、セレクタの選択によっては、画像処理前の画像データがメモリ２１４に出力される場合もある。画像処理としては、前述したように、例えば、デモザイク、ガンマ補正、色空間変換、スケーリング、ホワイトバランス調整、ＨＤＲ圧縮・伸長、ブライトネス・コントラスト調整、及びエッジ強調などの処理がある。
【００８３】
第１実施形態と同様に、画像処理回路２１１は、上に列記した画像処理を実行する回路を有する。ここでも、個々の画像処理を実行する回路を３つ示し、画像処理回路(Ａ)、(Ｂ)、(Ｃ)とする。
【００８４】
図１０は、第３実施形態における画像処理回路２１１の構成例を示すブロック図である。画像処理回路２１１は、画像処理回路(Ａ)２０１、画像処理回路(Ｂ)２０２、及び画像処理回路(Ｃ)２０３が順次接続された構成を有する。画像処理回路２１１は、さらにセレクタ２０４，２０５を有する。
【００８５】
セレクタ２０４は、カメラ１４と画像処理回路(Ａ)２０１間のノードａ、画像処理回路(Ａ)２０１と画像処理回路(Ｂ)２０２間のノードｂ、及び画像処理回路(Ｂ)２０２と画像処理回路(Ｃ)２０３間のノードｃに接続されている。セレクタ２０５は、画像処理回路(Ａ)２０１と画像処理回路(Ｂ)２０２間のノードｂ、及び画像処理回路(Ｂ)２０２と画像処理回路(Ｃ)２０３間のノードｃ、及び画像処理回路(Ｃ)２０３とメモリ１２間のノードｄに接続されている。
【００８６】
セレクタ２０４は、ＣＰＵ１３の制御により、ノードａ，ｂ，ｃのうちいずれかのノードを選択し、選択したノードの画像データをメモリ２１４に出力する。セレクタ２０５は、ＣＰＵ１３の制御により、ノードｂ，ｃ，ｄのうちいずれかのノードを選択し、選択したノードの画像データを比較部２１３に出力する。
【００８７】
［３−１−２］ソフトウェア画像処理部２１２
第３実施形態におけるソフトウェア画像処理部２１２の構成は、図３に示した構成と同様である。
【００８８】
図１１は、第３実施形態におけるソフトウェア画像処理部２１２の処理例を示すフローチャートである。ソフトウェア画像処理部２１２は、画像処理回路２１１と同様に、例えばデモザイク、ガンマ補正、色空間変換、スケーリング、ホワイトバランス調整、ＨＤＲ圧縮・伸長、ブライトネス・コントラスト調整、及びエッジ強調などの画像処理を実行できる。ここでも、同様に、個々の画像処理を実行する処理部を３つ示し、画像処理(Ａ)、(Ｂ)、(Ｃ)とする。
【００８９】
図１１に示すように、ソフトウェア画像処理部２１２における画像処理がスタートすると、ＣＰＵ１３の制御により、ＣＰＵ３０１はセレクタ２０４，２０５における選択条件に応じて（ステップＳ１１）、画像処理(Ａ)、(Ｂ)、(Ｃ)のうちのいずれか１つあるいは複数の処理を実行する。
【００９０】
例えば、セレクタ２０４においてノードａが選択され、セレクタ２０５においてノードｄが選択された場合は、ソフトウェア画像処理部２１２は画像処理(Ａ)、(Ｂ)、(Ｃ)を実行する（ステップＳ２１）。セレクタ２０４，２０５においてノードａ，ｃがそれぞれ選択された場合は、ソフトウェア画像処理部２１２は画像処理(Ａ)、(Ｂ)を実行する（ステップＳ２２）。同様に、セレクタ２０４，２０５においてノードｂ，ｄがそれぞれ選択された場合は、ソフトウェア画像処理部２１２は画像処理(Ｂ)、(Ｃ)を実行する（ステップＳ２３）。セレクタ２０４，２０５においてノードａ，ｂがそれぞれ選択された場合は、ソフトウェア画像処理部２１２は画像処理(Ａ)を実行する（ステップＳ２４）。セレクタ２０４，２０５においてノードｂ，ｃがそれぞれ選択された場合は、ソフトウェア画像処理部２１２は画像処理(Ｂ)を実行する（ステップＳ２５）。セレクタ２０４，２０５においてノードｃ，ｄがそれぞれ選択された場合は、ソフトウェア画像処理部２１２は画像処理(Ｃ)を実行する（ステップＳ２６）。その後、ソフトウェア画像処理部２１２における画像処理を終了する。
【００９１】
なおここでは、ＣＰＵ３０１が画像処理(Ａ)、(Ｂ)、(Ｃ)を実行するとして説明したが、もちろんＣＰＵ１３がこれらを実行してもよい。
【００９２】
以下に、画像処理回路２１１が備える画像処理回路(Ａ)、(Ｂ)、(Ｃ)から故障検出を行う回路をセレクタ２０４，２０５により選択し、選択した回路の故障検出を行う場合の例を説明する。
【００９３】
例えば、画像処理回路２１１内の画像処理回路(Ａ)２０１の故障を検出する場合の画像処理回路２１１及びソフトウェア画像処理部２１２の動作は以下のようになる。
【００９４】
画像処理回路(Ａ)２０１が故障しているか否かを検出する場合、セレクタ２０４はノードａを選択する。これにより、セレクタ２０４は、カメラ１４から出力され、画像処理回路(Ａ)２０１により画像処理される前の画像データをメモリ２１４に出力する。セレクタ２０５はノードｂを選択する。これにより、セレクタ２０５は、画像処理回路(Ａ)２０１により画像処理され、画像処理回路(Ｂ)２０２により画像処理される前の画像データ（第３処理データ）を比較部２１３に出力する。
【００９５】
ソフトウェア画像処理部２１２は、メモリ２１４に保持された画像データを読み出す。ソフトウェア画像処理部２１２は、メモリ２１４から読み出した、画像処理回路(Ａ)２０１により画像処理される前の画像データに対して画像処理(Ａ)を実行し、ソフトウェア処理後の画像データ（第４処理データ）をメモリ２１５に出力する。
【００９６】
比較部２１３は、画像処理回路２１１のセレクタ２０５から出力された第３処理データと、ソフトウェア画像処理部２１２によりソフトウェア処理され、メモリ２１５に保持された第４処理データとを比較する。比較部２１３は、第３処理データと第４処理データとが一致したかあるいは不一致かを示す検出信号ＤＳを出力する。
【００９７】
次に、画像処理回路２１１内の画像処理回路(Ｂ)２０２及び画像処理回路(Ｃ)２０３の故障を検出する場合の画像処理回路２１１及びソフトウェア画像処理部２１２の動作は以下のようになる。
【００９８】
画像処理回路(Ｂ)２０２及び画像処理回路(Ｃ)２０３が故障しているか否かを検出する場合、セレクタ２０４はノードｂを選択する。これにより、セレクタ２０４は、画像処理回路(Ａ)２０１により画像処理され、画像処理回路(Ｂ)２０２により画像処理される前の画像データをメモリ２１４に出力する。セレクタ２０５はノードｄを選択する。これにより、セレクタ２０５は、画像処理回路(Ｃ)２０３により画像処理された画像データ（第３処理データ）を比較部２１３に出力する。
【００９９】
ソフトウェア画像処理部２１２は、メモリ２１４に保持された画像データを読み出す。ソフトウェア画像処理部２１２は、メモリ２１４から読み出した、画像処理回路(Ａ)２０１により画像処理された画像データに対して画像処理(Ｂ)と画像処理(Ｃ)を実行し、ソフトウェア処理後の画像データ（第４処理データ）をメモリ２１５に出力する。
【０１００】
比較部２１３は、画像処理回路２１１のセレクタ２０５から出力された第３処理データと、ソフトウェア画像処理部２１２によりソフトウェア処理され、メモリ２１５に保持された第４処理データとを比較する。比較部２１３は、第３処理データと第４処理データとが一致したかあるいは不一致かを示す検出信号ＤＳを出力する。
【０１０１】
次に、画像処理回路２１１内の画像処理回路(Ａ)２０１、画像処理回路(Ｂ)２０２及び画像処理回路(Ｃ)２０３の故障を検出する場合の画像処理回路２１１及びソフトウェア画像処理部２１２の動作は以下のようになる。
【０１０２】
画像処理回路(Ａ)２０１、画像処理回路(Ｂ)２０２、及び画像処理回路(Ｃ)２０３が故障しているか否かを検出する場合、セレクタ２０４はノードａを選択する。これにより、セレクタ２０４は、カメラ１４から出力され、画像処理回路(Ａ)２０１により画像処理される前の画像データをメモリ２１４に出力する。セレクタ２０５はノードｄを選択する。これにより、セレクタ２０５は、画像処理回路(Ａ)２０１、画像処理回路(Ｂ)２０２及び画像処理回路(Ｃ)２０３により画像処理された画像データ（第３処理データ）を比較部２１３に出力する。
【０１０３】
ソフトウェア画像処理部２１２は、メモリ２１４に保持された画像データを読み出す。ソフトウェア画像処理部２１２は、メモリ２１４から読み出した、画像処理回路(Ａ)２０１により画像処理される前の画像データに対して画像処理(Ａ)、画像処理(Ｂ)及び画像処理(Ｃ)を実行し、ソフトウェア処理後の画像データ（第４処理データ）をメモリ２１５に出力する。
【０１０４】
比較部２１３は、画像処理回路２１１のセレクタ２０５から出力された第３処理データと、ソフトウェア画像処理部２１２によりソフトウェア処理され、メモリ２１５に保持された第４処理データとを比較する。比較部２１３は、第３処理データと第４処理データとが一致したかあるいは不一致かを示す検出信号ＤＳを出力する。
【０１０５】
なお、ここで行われる画像処理(Ａ)、画像処理(Ｂ)及び画像処理(Ｃ)は、画像処理回路(Ａ)２０１、画像処理回路(Ｂ)２０２及び画像処理回路(Ｃ)２０３にそれぞれ対応する同等の処理である。さらに、画像処理(Ａ)、画像処理(Ｂ)及び画像処理(Ｃ)は、ＣＰＵ３０１が行うソフトウェア処理である。
【０１０６】
［３−２］半導体装置の動作
第３実施形態の画像処理装置２１を含む半導体装置２０の動作を説明する。図１２は第３実施形態の半導体装置の動作を示すタイミングチャートである。画像処理回路２１１内の画像処理回路(Ａ)２０１の故障を検出する場合を例として述べる。
【０１０７】
まず、カメラ１４からフレームＮが画像処理回路２１１に供給される。画像処理回路２１１は、フレームＮを受け取り、フレームＮに対して画像処理回路(Ａ)２０１、(Ｂ)２０２、(Ｃ)２０３によりハードウェア処理を実行し、ハードウェア処理後のフレームＮ(ａ)をメモリ１２に出力する。
【０１０８】
画像処理回路(Ａ)２０１が故障しているか否かを検出する場合、セレクタ２０４はノードａを選択する。これにより、セレクタ２０４は、カメラ１４から出力され、画像処理回路(Ａ)２０１により画像処理される前のフレームＮをメモリ２１４に出力する。セレクタ２０５はノードｂを選択する。これにより、セレクタ２０５は、画像処理回路(Ａ)２０１により画像処理され、画像処理回路(Ｂ)２０２により画像処理される前のフレームｎ(ａ)を比較部２１３に出力する。フレームｎ(ａ)が第３処理データに相当する。
【０１０９】
ソフトウェア画像処理部２１２は、メモリ２１４からフレームＮを読み出し、フレームＮに対して画像処理(Ａ)を実行し（ステップＳ２４）、ソフトウェア処理後のフレームｎ(ｂ)をメモリ２１５に出力する。ここで行われる画像処理(Ａ)は、ＣＰＵ３０１が行うソフトウェア処理である。フレームｎ(ｂ)が第４処理データに相当する。
【０１１０】
比較部２１３は、フレームｎ(ａ)とフレームｎ(ｂ)を受け取り、フレームｎ(ａ)とフレームｎ(ｂ)とを比較してこれらが一致したかあるいは不一致かを示す検出信号ＤＳを出力する。ＣＰＵ１３は、比較部２１３から出力された検出信号ＤＳが一致を示すとき、画像処理回路(Ａ)２０１が故障していない、すなわち正常であると判定する。一方、比較部２１３から出力された検出信号ＤＳが不一致を示すとき、画像処理回路(Ａ)２０１が故障であると判定する。
【０１１１】
次に、カメラ１４から供給されるフレームＮ＋１の画像処理について述べる。フレームＮ＋１の画像処理もフレームＮと同様である。カメラ１４からフレームＮ＋１が画像処理回路２１１に供給される。画像処理回路２１１は、フレームＮ＋１に対して画像処理回路(Ａ)２０１、(Ｂ)２０２、(Ｃ)２０３によりハードウェア処理を実行し、ハードウェア処理後のフレームＮ＋１(ａ)をメモリ１２に出力する。
【０１１２】
画像処理回路(Ａ)２０１が故障しているか否かを検出する場合、セレクタ２０４はノードａを選択し、セレクタ２０５はノードｂを選択する。これにより、セレクタ２０４は、カメラ１４から供給されたフレームＮ＋１をメモリ２１４に出力する。セレクタ２０５は、画像処理回路(Ａ)２０１によりハードウェア処理されたフレームｎ＋１(ａ)を比較部２１３に出力する。
【０１１３】
ソフトウェア画像処理部２１２は、フレームＮ＋１に対して画像処理(Ａ)を実行し（ステップＳ２４）、ソフトウェア処理後のフレームｎ＋１(ｂ)をメモリ２１５に出力する。
【０１１４】
比較部２１３は、フレームｎ＋１(ａ)とフレームｎ＋１(ｂ)とを比較してこれらが一致したかあるいは不一致かを示す検出信号ＤＳを出力する。ＣＰＵ１３は、比較部２１３から出力された検出信号ＤＳが一致を示すとき、画像処理回路(Ａ)２０１が故障していない、すなわち正常であると判定する。一方、比較部２１３から出力された検出信号ＤＳが不一致を示すとき、画像処理回路(Ａ)２０１が故障であると判定する。
【０１１５】
次に、カメラ１４から供給されるフレームＮ＋２の画像処理について述べる。フレームＮ＋２の画像処理もフレームＮ、Ｎ＋１と同様である。ここでは、フレームＮ＋２の画像処理にて、画像処理回路(Ａ)２０１の故障が検出される場合を示す。
【０１１６】
カメラ１４からフレームＮ＋２が画像処理回路２１１に供給される。画像処理回路２１１は、フレームＮ＋２に対して画像処理回路(Ａ)２０１、(Ｂ)２０２、(Ｃ)２０３によりハードウェア処理を実行し、ハードウェア処理後のフレームＮ＋２(ａ)をメモリ１２に出力する。
【０１１７】
画像処理回路(Ａ)２０１が故障しているか否かを検出する場合、セレクタ２０４はノードａを選択し、セレクタ２０５はノードｂを選択する。これにより、セレクタ２０４は、カメラ１４から供給されたフレームＮ＋２をメモリ２１４に出力する。セレクタ２０５は、画像処理回路(Ａ)２０１によりハードウェア処理されたフレームｎ＋２(ａ)を比較部２１３に出力する。
【０１１８】
ソフトウェア画像処理部２１２は、フレームＮ＋２に対して画像処理(Ａ)を実行し（ステップＳ２４）、ソフトウェア処理後のフレームｎ＋２(ｂ)をメモリ２１５に出力する。
【０１１９】
比較部２１３は、フレームｎ＋２(ａ)とフレームｎ＋２(ｂ)とを比較してこれらが一致したかあるいは不一致かを示す検出信号ＤＳを出力する。ここでは、比較部２１３から出力された検出信号ＤＳが不一致を示すため、ＣＰＵ１３は画像処理回路(Ａ)２０１が故障であると判定する。
【０１２０】
前述した例では、画像処理回路２１１内の画像処理回路(Ａ)２０１の故障を検出する場合を述べたが、画像処理回路(Ａ)２０１、(Ｂ)２０２、(Ｃ)２０３のうちのいずれか１つあるいは複数の故障を検出する場合も同様である。
【０１２１】
［３−３］第３実施形態の効果
第３実施形態では、画像処理回路２１１の全体に故障があるか否かではなく、画像処理回路２１１内の個々の画像処理回路(Ａ)、(Ｂ)、(Ｃ)から故障検出対象の回路を選択して、故障の検出を行うことができる。画像処理回路２１１内で、故障検出対象の画像処理回路を選択することができるため、故障検出対象の画像処理回路だけを効率良く検査することができる。これにより、故障検出に要する時間を低減することができる。
【０１２２】
さらに、前述した第１実施形態と同様に、画像処理回路２１１から出力された第３処理データと比較される第４処理データをソフトウェア画像処理部２１２により生成できるため、画像処理回路２１１と同様な画像処理回路を設ける場合と比べて、回路規模、消費電力及び故障率を低減することができる。その他の構成及び効果は前記第１実施形態と同様である。
【０１２３】
［４］第４実施形態
第４実施形態の画像処理装置を含む半導体装置について説明する。第４実施形態では、１フレーム（画像データ）のうちの一部のデータを比較し、画像処理回路２１１が故障しているか否かを判定する。画像処理装置２１の構成は第３実施形態と同様である。以下、第４実施形態では第３実施形態と異なる点について主に説明する。
【０１２４】
［４−１］画像処理装置の動作
図１３は、第４実施形態の画像処理装置の動作を示すタイミングチャートである。画像処理回路２１１内の画像処理回路(Ａ)２０１の故障を検出する場合を例として述べる。
【０１２５】
まず、フレームＮの画像処理について述べる。カメラ１４からフレームＮが画像処理回路２１１に供給される。画像処理回路２１１は、フレームＮを受け取り、フレームＮに対して画像処理回路(Ａ)２０１、(Ｂ)２０２、(Ｃ)２０３によりハードウェア処理を実行し、ハードウェア処理後のフレームＮ(ａ)をメモリ１２に出力する。
【０１２６】
画像処理回路(Ａ)２０１が故障しているか否かを検出する場合、セレクタ２０４はノードａを選択する。これにより、セレクタ２０４は、カメラ１４から出力され、画像処理回路(Ａ)２０１によりハードウェア処理される前のフレームＮをメモリ２１４に出力する。セレクタ２０５はノードｂを選択する。これにより、セレクタ２０５は、画像処理回路(Ａ)２０１によりハードウェア処理され、画像処理回路(Ｂ)２０２によりハードウェア処理される前のフレームｎ(ａ)を比較部２１３に出力する。
【０１２７】
ソフトウェア画像処理部２１２は、メモリ２１４から読み出したフレームＮのうち一部のデータを受け取る。ソフトウェア画像処理部２１２は、受け取った一部のデータに対して画像処理(Ａ)を実行し、ソフトウェア処理後の一部のデータをメモリ２１５に出力する。前記一部のデータは、例えばフレームＮのうちの１ライン、複数ライン、あるいは１ライン内の特定部分のデータである。
【０１２８】
比較部２１３は、画像処理回路２１１から出力されたフレームＮ(ａ)の一部のデータと、メモリ２１５から読み出したソフトウェア処理後の一部のデータとを比較する。比較部２１３は、フレームＮ(ａ)の一部のデータと、ソフトウェア処理後の一部のデータとが一致したかあるいは不一致かを示す検出信号ＤＳを出力する。なお、比較部２１３において比較される画像処理回路２１１からの一部のデータと、ソフトウェア画像処理部２１２からの一部のデータとは対応するデータ、例えばフレームＮの同一ラインのデータあるいは同一ラインの同一部分のデータである。
【０１２９】
ＣＰＵ１３は、比較部２１３から出力された検出信号ＤＳが一致を示すとき、画像処理回路２１１が故障していない、すなわち正常であると判定する。一方、比較部２１３から出力された検出信号ＤＳが不一致を示すとき、画像処理回路２１１が故障であると判定する。
【０１３０】
フレームＮ＋１とフレームＮ＋２の画像処理もフレームＮと同様であるため、記載を省略する。
【０１３１】
図１３には、フレームＮの画像処理において、フレームｎ(ａ)の一部のデータと、ソフトウェア画像処理部２１２からの一部のデータとの比較結果が一致となり、故障が発生していない場合を示した。フレームＮ＋１の画像処理においては、フレームｎ＋１(ａ)の一部のデータと、ソフトウェア画像処理部２１２からの一部のデータとの比較結果が一致となり、故障が発生していない場合を示した。フレームＮ＋２の画像処理においては、フレームｎ＋２(ａ)の一部のデータと、ソフトウェア画像処理部２１２からの一部のデータとの比較結果が不一致となり、故障が発生した場合を示した。
【０１３２】
［４−２］第４実施形態の効果
第４実施形態では、メモリ２１４に保持されたフレームＮ（画像データ）のうちの一部のデータをソフトウェア画像処理部２１２により画像処理する。比較部２１３は、ソフトウェア画像処理部２１２により画像処理した前記一部のデータと、画像処理回路２１１にて画像処理したフレームＮの一部のデータとを比較する。比較部２１３で比較される２つの一部のデータは、フレームＮのうちの互いに対応する部分のデータである。ＣＰＵ１３は、比較部２１３による比較結果に応じて画像処理回路２１１が故障しているか否かを判定する。
【０１３３】
このように、フレームＮのうちの一部のデータを比較対象とすることにより、ソフトウェア画像処理部２１２にて画像処理に要する時間と、比較部２１３にて比較に要する時間を短縮することができる。さらに、ソフトウェア画像処理部２１２で行う画像処理時間を短くできるため、ＣＰＵ１３における動作の空き時間を利用して、ＣＰＵ１３によりソフトウェア画像処理部２１２の画像処理を行うことも可能となる。
【０１３４】
以上述べたように、第４実施形態によれば、画像データのフレームのうちの一部のデータのみを比較対象とすることにより、ソフトウェア画像処理部２１２における画像処理時間を短縮することができる。さらに、ソフトウェア画像処理部２１２でソフトウェア処理に用いるＣＰＵ３０１（プロセッサ）の負荷を軽減することができる。その他の構成及び効果は前記第３実施形態と同様である。
【０１３５】
［５］その他
前述した実施形態の半導体装置は、画像データを処理する画像処理装置を備えた様々な種類のカメラ搭載製品に搭載可能である。例えば、デジタルカメラ、デジタルビデオカメラ、スマートフォン用カメラ、車載カメラ、及び監視カメラなどに搭載される。
【０１３６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１３７】
１０…半導体装置、１１…画像処理装置、１２…メモリ、１３…ＣＰＵ、１４…カメラ、２０…半導体装置、２１…画像処理装置、１１１…画像処理回路、１１２…ソフトウェア画像処理部、１１３…比較部、１１４…メモリ、１１５…メモリ、２０１…画像処理回路(Ａ)、２０２…画像処理回路(Ｂ)、２０３…画像処理回路(Ｃ)、２１１…画像処理回路、２１２…ソフトウェア画像処理部、２１３…比較部、２１４…メモリ、２０４，２０５…セレクタ、２１５…メモリ、３０１…ＣＰＵ、３０２…ＲＯＭ、３０３…ＲＡＭ、３０４…ＲＡＭ、３０５…バス。
【図１】
2018045560.tif 000003
【図２】
2018045560.tif 000004
【図３】
2018045560.tif 000005
【図４】
2018045560.tif 000006
【図５】
2018045560.tif 000007
【図６】
2018045560.tif 000008
【図７】
2018045560.tif 000009
【図８】
2018045560.tif 000010
【図９】
2018045560.tif 000011
【図１０】
2018045560.tif 000012
【図１１】
2018045560.tif 000013
【図１２】
2018045560.tif 000014
【図１３】
2018045560.tif 000015