(57)【要約】【課題】異常が発生した場合に、より確実に正常な状態に復帰することができる画像処理システムを提供する。【解決手段】FPGA2は、FPGA1の異常を検出する異常監視部を搭載する。コンフィグレーション制御部19は、FPGA2の異常監視部がFPGA1の異常を検出した場合に、FPGA1を使用せずに画像処理を行うため、FPGA1以外のFPGAに対して、FPGA1の通常のコンフィグレーション時に使用する回路情報とは異なる回路情報を用いて再コンフィグレーションを行う。【選択図】図２
2012114846.tif 000002
【特許請求の範囲】
【請求項１】
プログラム可能な第１の回路ブロックと、前記第１の回路ブロックの異常を検出する異常監視部を搭載する、プログラム可能な第２の回路ブロックとを含む、プログラム可能な複数の回路ブロックと、
前記複数の回路ブロックに回路情報を読み込むコンフィグレーションを行うコンフィグレーション制御部と、
を有し、前記コンフィグレーション制御部は、前記異常監視部が前記第１の回路ブロックの異常を検出した場合に、前記第１の回路ブロックを使用せずに前記画像処理を行うため、前記第１の回路ブロック以外のプログラム可能な回路ブロックのいずれかに対して、当該回路ブロックの通常のコンフィグレーション時に使用する回路情報とは異なる回路情報を用いて再コンフィグレーションを行う画像処理システム。
【請求項２】
通常のコンフィグレーション時に前記第１の回路ブロックは第１の画像処理回路を搭載し、
通常のコンフィグレーション時に前記第２の回路ブロックは、前記第１の画像処理回路で処理された画像を入力して処理を行う第２の画像処理回路を搭載し、
前記異常監視部は、前記第１の画像処理回路の出力信号から異常を検出することを特徴とする請求項１に記載の画像処理システム。
【請求項３】
前記異常監視部は、前記第１の回路ブロックから出力される、前記第１の回路ブロックのコンフィグレーション状態を示すコンフィグレーションステータス信号に基づいて異常を検出することを特徴とする請求項１に記載の画像処理システム。
【請求項４】
前記コンフィグレーション制御部は、前記異常監視部が前記第１の回路ブロックの異常を検出した時に、前記第２の回路ブロックに対して、通常のコンフィグレーション時に前記第１の回路ブロックに搭載される機能の一部と、通常のコンフィグレーション時に前記第２の回路ブロックに搭載される機能の一部とを含む回路情報を用いて再コンフィグレーションを行うことを特徴とする請求項１に記載の画像処理システム。
【請求項５】
通常のコンフィグレーション時に、前記第２の画像処理回路で処理された画像を入力して処理を行う第３の画像処理回路を搭載する、プログラム可能な第３の回路ブロックをさらに有し、
前記コンフィグレーション制御部は、前記異常監視部が前記第１の回路ブロックの異常を検出した時に、前記第３の回路ブロックに対して、通常のコンフィグレーション時に前記第２の回路ブロックに搭載される機能の一部と、通常のコンフィグレーション時に前記第３の回路ブロックに搭載される機能の一部とを含む回路情報を用いてコンフィグレーションを行うことを特徴とする請求項４に記載の画像処理システム。
【請求項６】
外部から画像データが入力される初段の前記第１の回路ブロックから、外部へ処理後の画像データを出力する最終段の第Ｎ（Ｎ≧４）の回路ブロックまでのＮ個の回路ブロックを有し、
前記第Ｎの回路ブロックは、第Ｎ−１の回路ブロックで処理された画像をそのまま出力する通過回路と、通常のコンフィグレーション時に前記第Ｎ−１の回路ブロックに搭載される第Ｎ−１の画像処理回路とを搭載し、通常のコンフィグレーション時には前記通過回路を動作させ、
前記コンフィグレーション制御部は、前記異常監視部が前記第１の回路ブロックの異常を検出した時に、前記第２の回路ブロックから前記第Ｎ−１の回路ブロックまでのそれぞれに対して、通常のコンフィグレーション時に前段の回路ブロックに搭載される機能を含む回路情報を用いて再コンフィグレーションを行うと共に、前記第Ｎの回路ブロックに対して前記第Ｎ−１の画像処理回路を動作させることを特徴とする請求項１に記載の画像処理システム。
【請求項７】
前記第Ｎの回路ブロックはさらに、外部から入力される画像データのフォーマットを外部への出力用のフォーマットに変換する変換回路と、前記通過回路の出力、前記第Ｎ−１の画像処理回路の出力、および前記変換回路の出力の中からいずれかを選択して外部へ出力する選択回路とを搭載し、
前記選択回路は、通常動作時には前記通過回路の出力を選択し、前記第Ｎの回路ブロック以外の回路ブロックのコンフィグレーション中は前記変換回路の出力を選択し、前記第Ｎの回路ブロック以外の回路ブロックのコンフィグレーションが完了した後は前記画像処理回路の出力を選択することを特徴とする請求項６に記載の画像処理システム。
【請求項８】
前記回路ブロックは、FPGAにより構成されることを特徴とする請求項１〜請求項７のいずれか一項に記載の画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、CCD等の撮像素子により撮像された画像を、プログラム可能な複数の回路ブロックにより、表示や記録に適した画像に変換する処理を行う画像処理システムに関する。
【背景技術】
【０００２】
従来、内視鏡装置では、内視鏡スコープ内の撮像素子により体腔内を撮像して得られた撮像画像に対して、内視鏡装置に内蔵された画像処理回路により、ノイズ軽減，色補正，色強調，輪郭強調等の各種画像処理が行われ、診断に適した画像が生成される。さらに、従来の内視鏡装置では、生成された画像の表示や記録が行われる。一般にこのような画像処理回路はFPGA（Field Programmable Gate Array）等のプログラム可能な回路ブロックにより実現される。FPGAは、電源投入時や回路機能の変更時に、回路情報を格納している基板上の専用ROM（コンフィグレーション用ROM）から画像処理回路内のSRAMに回路情報を読み込んで蓄え、この回路情報に基づき、内部の配線スイッチを切り替えるコンフィグレーションを行うことにより所望の回路を実現するものである。
【０００３】
しかし、FPGAは、SRAM内の情報により回路構成が変化するため、例えば外部から混入するノイズや放射線によるソフトエラー等の外的要因によりSRAM内の回路情報が変化すると回路構成も変化し、正常な画像を出力できなくなる場合がある。このような場合に正常な状態へ復帰する方法として、特許文献１に記載の方法が提案されている。特許文献１に記載の方法では、FPGA内のRAMに書き込まれた回路情報を読み出して期待値と比較することにより、回路情報が正しいかどうかの判定を行い、もしソフトエラーが起きている場合には、再度コンフィグレーション用ROMから回路情報を読み込む。しかし、例えば、回路構成の異常が、FPGA内のSRAMのデータ不良によるものではなく、コンフィグレーション用ROMに格納されているデータの異常により発生する場合もある。
【０００４】
このような場合に正常な状態へ復帰する方法として、特許文献２に記載の方法が提案されている。特許文献２に記載の方法では、メインコンフィグレーションデータを読み込み、正しいデータか否かのチェックを行い、もし、データに異常がある場合には回路情報を読み出す領域を変更し、変更後の領域からサブコンフィグレーションデータを読み込むことにより正常な状態への復帰を図っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１５９６５号公報
【特許文献２】特開２００８−１０４５３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来技術では、例えばFPGAやコンフィグレーション用ROMの異常、もしくはそれらの間のインターフェースの異常により、正しい回路情報を読み込めない場合には、正常な状態に復帰できない。また、例えば内視鏡のように画像の確認をリアルタイムで行う必要のあるシステムでは、使用中に正常な画像を出力できない状態が続くことは望ましくないため、使用中の異常検出時にはできるだけ早く正常な状態に復帰することが要求される。
【０００７】
本発明は、上述した課題に鑑みてなされたものであって、異常が発生した場合に、より確実に正常な状態に復帰することができる画像処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上記の課題を解決するためになされたもので、プログラム可能な第１の回路ブロックと、前記第１の回路ブロックの異常を検出する異常監視部を搭載する、プログラム可能な第２の回路ブロックとを含む、プログラム可能な複数の回路ブロックと、前記複数の回路ブロックに回路情報を読み込むコンフィグレーションを行うコンフィグレーション制御部と、を有し、前記コンフィグレーション制御部は、前記異常監視部が前記第１の回路ブロックの異常を検出した場合に、前記第１の回路ブロックを使用せずに前記画像処理を行うため、前記第１の回路ブロック以外のプログラム可能な回路ブロックのいずれかに対して、当該回路ブロックの通常のコンフィグレーション時に使用する回路情報とは異なる回路情報を用いて再コンフィグレーションを行う画像処理システムである。
【０００９】
また、本発明の画像処理システムにおいて、通常のコンフィグレーション時に前記第１の回路ブロックは第１の画像処理回路を搭載し、通常のコンフィグレーション時に前記第２の回路ブロックは、前記第１の画像処理回路で処理された画像を入力して処理を行う第２の画像処理回路を搭載し、前記異常監視部は、前記第１の画像処理回路の出力信号から異常を検出することを特徴とする。
【００１０】
また、本発明の画像処理システムにおいて、前記異常監視部は、前記第１の回路ブロックから出力される、前記第１の回路ブロックのコンフィグレーション状態を示すコンフィグレーションステータス信号に基づいて異常を検出することを特徴とする。
【００１１】
また、本発明の画像処理システムにおいて、前記コンフィグレーション制御部は、前記異常監視部が前記第１の回路ブロックの異常を検出した時に、前記第２の回路ブロックに対して、通常のコンフィグレーション時に前記第１の回路ブロックに搭載される機能の一部と、通常のコンフィグレーション時に前記第２の回路ブロックに搭載される機能の一部とを含む回路情報を用いて再コンフィグレーションを行うことを特徴とする。
【００１２】
また、本発明の画像処理システムは、通常のコンフィグレーション時に、前記第２の画像処理回路で処理された画像を入力して処理を行う第３の画像処理回路を搭載する、プログラム可能な第３の回路ブロックをさらに有し、前記コンフィグレーション制御部は、前記異常監視部が前記第１の回路ブロックの異常を検出した時に、前記第３の回路ブロックに対して、通常のコンフィグレーション時に前記第２の回路ブロックに搭載される機能の一部と、通常のコンフィグレーション時に前記第３の回路ブロックに搭載される機能の一部とを含む回路情報を用いてコンフィグレーションを行うことを特徴とする。
【００１３】
また、本発明の画像処理システムは、外部から画像データが入力される初段の前記第１の回路ブロックから、外部へ処理後の画像データを出力する最終段の第Ｎ（Ｎ≧４）の回路ブロックまでのＮ個の回路ブロックを有し、前記第Ｎの回路ブロックは、第Ｎ−１の回路ブロックで処理された画像をそのまま出力する通過回路と、通常のコンフィグレーション時に前記第Ｎ−１の回路ブロックに搭載される第Ｎ−１の画像処理回路とを搭載し、通常のコンフィグレーション時には前記通過回路を動作させ、前記コンフィグレーション制御部は、前記異常監視部が前記第１の回路ブロックの異常を検出した時に、前記第２の回路ブロックから前記第Ｎ−１の回路ブロックまでのそれぞれに対して、通常のコンフィグレーション時に前段の回路ブロックに搭載される機能を含む回路情報を用いて再コンフィグレーションを行うと共に、前記第Ｎの回路ブロックに対して前記第Ｎ−１の画像処理回路を動作させることを特徴とする。
【００１４】
また、本発明の画像処理システムにおいて、前記第Ｎの回路ブロックはさらに、外部から入力される画像データのフォーマットを外部への出力用のフォーマットに変換する変換回路と、前記通過回路の出力、前記第Ｎ−１の画像処理回路の出力、および前記変換回路の出力の中からいずれかを選択して外部へ出力する選択回路とを搭載し、前記選択回路は、通常動作時には前記通過回路の出力を選択し、前記第Ｎの回路ブロック以外の回路ブロックのコンフィグレーション中は前記変換回路の出力を選択し、前記第Ｎの回路ブロック以外の回路ブロックのコンフィグレーションが完了した後は前記画像処理回路の出力を選択することを特徴とする。
【００１５】
また、本発明の画像処理システムにおいて、前記回路ブロックは、FPGAにより構成されることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、第１の回路ブロックの異常を検出した場合に、異常がある第１の回路ブロックを使用せずに画像処理を行うように再コンフィグレーションを行うため、より確実に正常な状態に復帰することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態による内視鏡装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態による内視鏡装置が備える画像処理プロセッサ装置の構成を示すブロック図である。
【図３】本発明の第１の実施形態による画像処理プロセッサ装置におけるFPGA間の詳細な構成を示すブロック図である。
【図４】本発明の第１の実施形態による画像処理プロセッサ装置におけるFPGA間の詳細な構成を示すブロック図である。
【図５】本発明の第１の実施形態による画像処理プロセッサ装置の動作を示すタイミングチャートである。
【図６】本発明の第１の実施形態による画像処理プロセッサ装置におけるFPGA間の詳細な構成を示すブロック図である。
【図７】本発明の第１の実施形態による画像処理プロセッサ装置におけるFPGA間の詳細な構成を示すブロック図である。
【図８】本発明の第１の実施形態による画像処理プロセッサ装置における異常監視部の構成を示すブロック図である。
【図９】本発明の第１の実施形態による画像処理プロセッサ装置における異常監視部の動作を示すタイミングチャートである。
【図１０】本発明の第１の実施形態による画像処理プロセッサ装置における異常監視部の構成を示すブロック図である。
【図１１】本発明の第１の実施形態による画像処理プロセッサ装置における異常監視部の動作を示すタイミングチャートである。
【図１２】本発明の第１の実施形態による画像処理プロセッサ装置におけるFPGA間の詳細な構成を示すブロック図である。
【図１３】本発明の第１の実施形態による画像処理プロセッサ装置における異常監視部の動作を示すタイミングチャートである。
【図１４】本発明の第１の実施形態による画像処理プロセッサ装置における異常監視部の動作を示すタイミングチャートである。
【図１５】本発明の第２の実施形態による画像処理プロセッサ装置の構成を示すブロック図である。
【図１６】本発明の第２の実施形態による内視鏡装置が備える画像処理プロセッサ装置におけるFPGA間の詳細な構成を示すブロック図である。
【図１７】本発明の第２の実施形態による画像処理プロセッサ装置におけるFPGA間の詳細な構成を示すブロック図である。
【図１８】本発明の第２の実施形態による画像処理プロセッサ装置における最終段のFPGAの構成を示すブロック図である。
【図１９】本発明の第２の実施形態による画像処理プロセッサ装置の動作を示すタイミングチャートである。
【図２０】本発明の第２の実施形態による画像処理プロセッサ装置におけるFPGA間の詳細な構成を示すブロック図である。
【図２１】本発明の第２の実施形態による画像処理プロセッサ装置におけるFPGA間の詳細な構成を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照し、本発明の実施形態を説明する。
【００１９】
（第１の実施形態）
まず、本発明の第１の実施形態を説明する。図１は、本実施形態による内視鏡装置（画像処理システム）の構成を示している。図１に示す内視鏡装置は、内視鏡スコープ１１、光源装置１２、画像処理プロセッサ装置１３、表示装置１４、記録装置１５、操作部１６、システムコントローラ１７から構成されている。
【００２０】
内視鏡スコープ１１は、撮像画像を生成する撮像部１８を内蔵しており、体腔内に挿入される。光源装置１２は内視鏡スコープ１１に照明光を出力する。画像処理プロセッサ装置１３は、内視鏡スコープ１１から出力される撮像画像を入力して撮像画像に各種画像処理を施し、表示・記録画像として出力する。表示装置１４は、画像処理プロセッサ装置１３から出力される表示・記録画像を表示する。記録装置１５は、画像処理プロセッサ装置１３から出力される表示・記録画像を記録媒体に記録する。操作部１６は、ユーザが各種操作を行うための操作部材を有し、ユーザによる操作の内容を示す操作情報をシステムコントローラ１７へ出力する。システムコントローラ１７は、内視鏡装置内の各部をコントロールする。
【００２１】
以下の説明は内視鏡システムの概略動作に関する。内視鏡スコープ１１は光源装置１２からの照明光を導光し、体腔内の部位を照明する。また、内視鏡スコープ１１内の撮像部１８は対象部位を撮像し撮像画像を出力する。撮像画像は画像処理プロセッサ装置１３に入力され、ノイズ軽減，色補正，色強調，輪郭強調等の各種の画像処理が行われる。このような画像処理が施された後の表示・記録画像が表示装置１４や記録装置１５に出力される。システムコントローラ１７は、操作者が所望する診断画像を得るため、操作部１６からの操作情報に従い、例えば画像処理プロセッサ装置１３の画像処理パラメータの変更を行う。
【００２２】
図２は画像処理プロセッサ装置１３の構成を示している。画像処理プロセッサ装置１３では、プログラム可能な回路ブロックであるFPGA内の画像処理回路で各種の画像処理が行われる。前述のように各FPGAは、外部のROM（不揮発性メモリ）から回路情報を読み込むコンフィグレーションを行うことにより所望の機能を実現するものである。
【００２３】
本実施形態では、画像処理プロセッサ装置１３は、4個のFPGA（FPGA1〜4）を搭載し、また、それぞれのコンフィグレーション用のメモリとしてコンフィグレーション用ROM1〜4を搭載している。それぞれのFPGAは、隣接するFPGAと画像データバスで接続される。本実施形態では、通常動作時には図中の実線で示すパスをデータが流れる。すなわち、FPGA1に入力画像データが入力され、所定の処理を行った結果である処理画像データが処理画像データバス1を通して出力され、FPGA2に入力される。FPGA2により処理された処理画像データはさらに処理画像データバス2を通してFPGA3に入力される。同様に、処理画像データがFPGA3およびFPGA4により処理され、最終的にFPGA4により処理された処理画像データが出力画像データとして出力画像データバスに出力される。
【００２４】
また、いずれかのFPGAに異常があった場合には、破線で示すパスが使用される。例えば、FPGA1に異常があった場合には、FPGA1の後段のFPGA2が入力画像データバスに接続され、入力画像データがFPGA2に入力される。なお、この場合、異常が起きていないFPGA2以後のパスには実線で示すパスが使用される。
【００２５】
また、画像処理プロセッサ装置１３は、FPGA1〜4に対するコンフィグレーションを制御するコンフィグレーション制御部１９を有する。FPGA2〜4は、それぞれの前段のFPGAの異常を検出すると、コンフィグレーション制御部１９に異常検出信号を出力する。異常検出信号を受けたコンフィグレーション制御部１９は、異常が検出されたFPGAに応じて、再コンフィグレーションを行うためのコンフィグレーション切り替え信号を出力する。
【００２６】
図３は、各FPGA間の詳細な構成を示している。ここではFPGA1とFPGA2の接続を示しているが、他のFPGA間の接続も同様である。まず、入力画像データバスはFPGA1とFPGA2の両方に接続される。また、FPGA1により処理された処理画像データが処理画像データバス１を通してFPGA2に入力される。さらに、FPGA2から処理画像データバス2に処理画像データが出力される。
【００２７】
図４（ａ）は通常動作時の構成を示している。前述のように、入力画像データバスから入力された画像データはFPGA1内の画像処理回路1により処理され、処理後の処理画像データは処理画像データバス1を通してFPGA2に入力される。FPGA2は、画像処理回路2により画像処理を行い、処理後の処理画像データを処理画像データバス2に出力する。
【００２８】
再び図３の説明に戻る。FPGA2には、FPGA1の異常を監視するための異常監視部２０が搭載されている。異常監視部２０は、FPGA1に異常がないかどうか監視を行う。以下では、図３および図５を用いて動作の説明を行う。異常監視部２０は、FPGA1の異常を検出すると、FPGA1異常検出信号をコンフィグレーション制御部１９に出力する。FPGA1異常検出信号を受けたコンフィグレーション制御部１９は、FPGA2に対して、異常動作時の回路情報を用いて再コンフィグレーションを行うためにコンフィグレーション切り替え信号を出力する。
【００２９】
FPGA2には、FPGA2に接続されたコンフィグレーション用ROM2から回路情報を読み出すコンフィグレーションデータ読出部２１が搭載されている。コンフィグレーション用ROM2は、通常動作時の回路情報であるコンフィグレーションデータ1と異常動作時の回路情報であるコンフィグレーションデータ2とを記憶する。電源投入時にはFPGA2はコンフィグレーションデータ1を読み込んで動作する。また、コンフィグレーション制御部１９からコンフィグレーション切り替え信号を受けると、FPGA2のコンフィグレーションデータ読出部２１はコンフィグレーションデータ2を読み出してFPGA2に入力する。これによりFPGA2は再コンフィグレーションを行う。
【００３０】
図４（ｂ）は異常動作時の構成を示している。このように、入力画像データバスからの入力画像データはFPGA2に入力される。異常動作時のコンフィグレーションデータ2により、FPGA2には、画像処理回路1aと画像処理回路2aが搭載される。画像処理回路1aは、通常動作時のFPGA1に搭載される画像処理回路1に対応する回路であり、画像処理回路2aは、通常動作時のFPGA2に搭載される画像処理回路2に対応する回路である。ここで、FPGA2に搭載できる回路の規模は有限であるため、画像処理回路1aと画像処理回路2aはそれぞれ、画像処理回路1と画像処理回路2の機能の一部を含む簡易的な回路である。このようにFPGA2では、画像処理回路1aと画像処理回路2aにより所望の画像処理が行われる。
【００３１】
以上の構成により、FPGA1に異常が発生した場合に、FPGA1を用いずに、正常に動作するFPGA2を用いて、通常動作時と同様の処理を行い、出力画像データを確保することが可能となる。上記の説明ではFPGA1に異常があった場合を説明したが、例えばFPGA2に異常があった場合でも同様であり、この場合、FPGA2の後段のFPGA3が異常検出および代替動作を行う。なお、FPGA4の異常発生時には、異常検出および代替動作を初段のFPGA1が行うものとする。異常検出および代替動作の機能は、後段のFPGAに限らず各FPGAに実装することが可能であるが、画像データバスの共用等を考えた場合には、後段のFPGAを用いた方が配線の増加を抑制する観点から有利である。
【００３２】
次に、図６を用いて、異常動作時のコンフィグレーションの変形例を説明する。この変形例の基本的な構成は、図３に示した構成と同様である。FPGA2には異常監視部２０およびコンフィグレーションデータ読出部２１が搭載され、FPGA3にはコンフィグレーションデータ読出部２２が搭載される。入力画像データバスはFPGA1とFPGA2に接続され、FPGA1，FPGA2で処理された処理画像データはそれぞれの処理画像データバス1，処理画像データバス2を通して後段のFPGAに出力される。本変形例では、FPGA1の異常が検出された時に、FPGA2に加えてFPGA3の再コンフィグレーションが行われる。コンフィグレーション用ROM3は、通常動作時の回路情報であるコンフィグレーションデータ3とFPGA2に異常があった場合の回路情報であるコンフィグレーションデータ4とに加え、FPGA1に異常があった場合の回路情報であるコンフィグレーションデータ5を有する。
【００３３】
図７（ａ）は通常動作時の構成を示している。画像処理プロセッサ装置１３に入力された画像データは、FPGA1の画像処理回路1、FPGA2の画像処理回路2、およびFPGA3の画像処理回路3を通して出力される。図７（ｂ）は異常動作時の構成を示している。異常動作時のFPGA2には、図４と同様にコンフィグレーションデータ2が読み込まれ、画像処理回路１および画像処理回路2の機能を搭載した画像処理回路1aおよび画像処理回路2a が搭載される。FPGA3にはコンフィグレーションデータ5が読み込まれ、画像処理回路2および画像処理回路3の機能を搭載した画像処理回路2bおよび画像処理回路3a が搭載される。ここで、画像処理回路2aと画像処理回路2bは、画像処理回路2の機能を分割して実装した回路である。
【００３４】
図４に示した例では、通常動作時に2個のFPGAに実装していた機能を異常動作時に1個のFPGAに搭載するため、通常動作時の各画像処理回路の機能の合計の約2分の1を確保することができる。これに対して、上記の変形例では、通常動作時にFPGA1、FPGA2、FPGA3の3個に実装していた機能を異常動作時にFPGA2、FPGA3の2個に搭載するため、通常動作時の各画像処理回路の機能の合計の約3分の2を確保することができる。したがって、上記変形例によれば、図４に示した例と比較して、回路削減による処理の簡易化を緩和し、通常動作時の機能に近い機能を搭載することができる。
【００３５】
なお、コンフィグレーション制御部１９は、前述のシステムコントローラ１７に対し、異常検出時にその情報を通知し、システムコントローラ１７は異常検出の通知を受けた場合に、OSD（On Screen Display）による表示装置１４上の文字表示やビープ音、操作盤上のLEDやLCD等の表示部上の文字表示等により異常の発生をユーザに通知することが望ましい。
【００３６】
次に、異常監視部２０の詳細を説明する。図３に示すように異常監視部２０はFPGA1からの画像コントロール信号や処理画像データバスから異常を検出するものである。以下では図８および図９を用いて異常監視部２０の動作について説明する。図８は異常監視部２０の構成を示し、図９は異常監視部２０の動作を示している。図８に示すように、異常監視部２０は、エッジ検出部２０１、ウォッチドッグタイマ２０２、比較部２０３から構成されている。
【００３７】
図９に示すように、FPGA1から入力された画像データは所定の周期でFPGA2に入力される。ここでは、画像コントロール信号はデータの有効を示す信号であり、図９では画像コントロール信号がHighの期間に画像データが有効となる。FPGA2に画像データが入力されると、エッジ検出部２０１は画像コントロール信号のエッジを検出する。エッジ検出の結果はウォッチドッグタイマ２０２のプリセット信号として入力される。ウォッチドッグタイマ２０２は、プリセット信号により、画像コントロール信号の周期より大きい周期となる値にプリセットされ、以後カウントダウンを行う。
【００３８】
また、比較部２０３は、ウォッチドッグタイマ２０２の出力と０との比較を行い、ウォッチドッグタイマ２０２の出力が０になった場合、すなわち画像コントロール信号の周期が所定の時間より長い場合には異常検出信号を出力する。通常動作時はウォッチドッグタイマ２０２の出力が０になる前に再びプリセット信号がウォッチドッグタイマ２０２に入力され、プリセットとカウントダウンが繰り返されるため、比較部２０３から異常検出信号が出力されることはない。一方、FPGA1に異常が発生し画像コントロール信号が途切れた場合等には、ウォッチドッグタイマ２０２のカウントダウンが進み、値が０になる。比較部２０３は、ウォッチドッグタイマ２０２の出力が０であることを検出するとその値をデコードし、異常検出信号を出力する。
【００３９】
なお、比較部２０３には上位のシステムコントローラ１７からのイネーブル信号が接続されている。異常を監視する必要がある動作中はイネーブル信号がアクティブとなり比較部２０３が動作する。一方、例えば内視鏡スコープ１１の交換や動作モードの変更により前段のFPGAの再コンフィグレーションを行うなど、システムの動作が停止する場合には、上位のシステムコントローラ１７がイネーブル信号をインアクティブとし、比較部２０３の動作を停止し、異常の誤検出を防ぐ。
【００４０】
異常監視部２０は画像データから異常を検出することも可能である。以下、図１０および図１１を用いて、異常監視部２０の第１の変形例を説明する。図１０は異常監視部２０の構成を示し、図１１は異常監視部２０の動作を示している。図１０に示すように、異常監視部２０は、タイミング生成部２０４、比較部２０５、比較データ記憶部２０６から構成されている。
【００４１】
この例では、図示しないFPGA1側で、画像データの無効期間に既知のデータが付加されている。異常監視部２０は、図１１に示すデータの有効期間を示す画像コントロール信号の立下りから所定の期間、付加データの検出を行う。タイミング生成部２０４は画像コントロール信号の立下りを検出して比較タイミング信号を出力する。比較タイミング信号が有効であるときに、比較部２０５は画像データバスからの入力と、比較データ記憶部２０６内の比較データとの比較を行う。両データが一致しない場合に比較部２０５は異常検出信号を出力する。図１１のイネーブル信号は、図９と同様にシステム動作停止時の誤検出を防ぐために上位のシステムコントローラ１７から入力される。
【００４２】
以下、異常監視部２０の第２の変形例として、監視対象のFPGAのコンフィグレーション状態を監視する例を示す。図１２はFPGA間の詳細な構成を示している。図１２に示す構成は、基本的には図３に示した構成と同じであるが、図１２では異常監視部２０にコンフィグレーションステータス信号が入力される。コンフィグレーションステータス信号は、そのFPGAがコンフィグレーション中の状態であるか、コンフィグレーションが完了した状態であるか、コンフィグレーションに失敗した状態であるかを示す信号である。また、図１２では、FPGA1に搭載されるコンフィグレーションデータ読出部２９が図示されている。
【００４３】
例えば、動作中に異なる回路情報を用いて再コンフィグレーションを行ってシステムの機能を変える場合、コンフィグレーション用ROM内の回路情報の欠損等により、正常にコンフィグレーションが終了しない場合が発生する。第２の変形例では、異常監視部２０は、コンフィグレーションステータスを検出することにより、この異常を検出する。
【００４４】
図１３は、第２の変形例における異常監視部２０の動作を示している。図１３に示すように異常監視部２０にはコンフィグレーションステータス信号が入力される。コンフィグレーション制御部１９は、システムコントローラ１７からの再コンフィグレーション信号に基づき、再コンフィグレーションを開始する。FPGA1のコンフィグレーションデータ読出部２９は、図１２では図示していないコンフィグレーション用ROM1からコンフィグレーションデータを読み込んでコンフィグレーションを行い、その結果が正常または異常であれば、それぞれのステータスを示すコンフィグレーションステータス信号を出力する。なお、一般的にコンフィグレーションデータには、付加情報として既知の固定値、データサイズ、チェックサム等が付加されており、コンフィグレーションデータ読出部２９は、コンフィグレーションデータからこれらの値をチェックして、異常を検出している。異常監視部２０は、異常なコンフィグレーションステータス信号が入力された場合に、異常検出信号を出力する。
【００４５】
また、図９に示した例と同様に、ウォッチドッグタイマを用いて異常を検出することも可能である。図１４は、異常監視部２０の第３の変形例の動作を示す。この場合、ウォッチドッグタイマは、ステータスが正常終了のときにプリセットされ、コンフィグレーション中にはカウントダウンするものとする。すなわち、コンフィグレーションが、ウォッチドッグタイマに設定された所定の時間内に完了すれば、プリセットが働き異常検出信号は出力されない。一方、所定の時間内にコンフィグレーションが完了しない場合には、ウォッチドッグタイマのカウント値が０となり、異常検出信号が出力される。
【００４６】
なお、本実施形態では、異常監視部２０が画像処理の後段FPGAに搭載され、画像処理の前段FPGAを監視する例で説明しているが、これに限られることはなく、異常監視部２０を他のFPGAにより構成することや、FPGA以外の汎用部品やCPUにより構成することも可能である。また、異常監視部２０の監視対象も一つのFPGAに限られるものではなく、単一の異常監視部が複数のFPGAを監視する構成をとることも可能である。
【００４７】
上述したように、本実施形態によれば、異常監視部２０がFPGA1の異常を検出した場合に、異常があるFPGA1を使用せずに正常なFPGAのみで画像処理を行うようにコンフィグレーション制御部１９が再コンフィグレーションの制御を行うため、より確実に正常な状態に復帰することができる。
【００４８】
また、後段のFPGAが前段のFPGAの異常を検出することによって、配線を増やさずに簡易に異常を検出することができる。また、コンフィグレーションステータス信号からFPGAの異常を検出する場合、少数の配線の追加で異常を検出することができる。
【００４９】
また、図４に示したように、FPGA1の異常が検出された場合に、通常動作時のFPGA1とFPGA2の機能をFPGA2に搭載することによって、異常の発生したFPGAの機能を他の正常なFPGA上で実現するため、より確実に正常な状態に復帰することができる。また、図７に示したように、FPGA1の異常が検出された場合に、通常動作時のFPGA1とFPGA2とFPGA3の機能をFPGA2とFPGA3に搭載することによって、異常の発生したFPGAの機能と正常な状態のFPGAの機能とを複数のFPGAに分散して実現するため、複数機能の搭載による機能の削減を抑えることができる。
【００５０】
また、それぞれのプログラム可能な回路ブロックとしてFPGAを用いることにより、簡易に再コンフィグレーションを実現することができる。
【００５１】
（第２の実施形態）
次に、本発明の第２の実施形態を説明する。本実施形態でも、内視鏡装置を用いて説明を行う。内視鏡装置の構成は図１に示した構成と同様であり、基本的な動作は第１の実施形態で説明した動作と同様である。図１５は本実施形態の画像処理プロセッサ装置１３の構成を示している。
【００５２】
図１５に示す画像処理プロセッサ装置１３においても、図２に示した画像処理プロセッサ装置１３と同様に、各種の画像処理がFPGA内の画像処理回路で行われる。本実施形態でも、画像処理プロセッサ装置１３は、4個のFPGA、FPGA1〜4を搭載し、また、それぞれのコンフィグレーション用のメモリとしてコンフィグレーション用ROM1〜4を搭載している。
【００５３】
それぞれのFPGAは、隣接するFPGAと画像データバスで接続される。本実施形態でも、第１の実施形態と同様に通常動作時には図中の実線で示すパスをデータが流れる。すなわち、FPGA1に入力画像データが入力され、所定の処理を行った結果である処理画像データが処理画像データバス1を通して出力され、FPGA2に入力される。FPGA2により処理された処理画像データはさらに処理画像データバス2を通してFPGA3に入力される。同様に、処理画像データがFPGA3およびFPGA4により処理され、最終的にFPGA4により処理された処理画像データが出力画像データとして出力画像データバスに出力される。
【００５４】
また、いずれかのFPGAに異常があった場合には、破線で示すパスが使用される。例えば、FPGA1に異常があった場合には、FPGA1の後段のFPGA2が入力画像データバスに接続され、入力画像データがFPGA2に入力される。なお、この場合、異常が起きていないFPGA2以後のパスには実線で示すパスが使用される。
【００５５】
図１６は各FPGA間の詳細な構成を示している。まず、入力画像データバスはFPGA1とFPGA2の両方に接続される。また、FPGA1により処理された処理画像データが処理画像データバス1を通してFPGA2に入力される。さらに、FPGA2から処理画像データバス2に処理画像データが出力される。同様にFPGA2により処理された処理画像データが処理画像データバス2を通してFPGA3に入力され、FPGA3から処理画像データバス3に処理画像データが出力される。
【００５６】
図１７は通常動作時の構成を示している。入力画像データバスから入力された画像データはFPGA1内の画像処理回路1により処理され、処理後の処理画像データは処理画像データバス1を通してFPGA2に入力される。FPGA2は、画像処理回路2により画像処理を行い、以後、同様にFPGA3は画像処理回路3による画像処理を行う。FPGA4は、異常動作に対応するために設けられている冗長FPGAであり、通常動作時にはFPGA3からの画像データをスルーで出力する。
【００５７】
図１８はFPGA4の構成を示している。FPGA4は、FPGA3からの画像をそのままスルー出力するためのスルー処理回路２４、異常動作時にFPGA3の代わりに動作するための画像処理回路3、前段のFPGAのコンフィグレーションを行っている間に画像出力を中断しないよう最低限の画像出力を確保するための入力画像変換回路２５、コンフィグレーション制御部１９からの制御信号によりこれらを切り替えるスイッチ２６から構成される。
【００５８】
図１６に示すように、各FPGAには前段のFPGAの異常を監視するための異常監視部２０，２７，２８が搭載されており、これらの異常監視部２０，２７，２８は前段のFPGAに異常がないか監視を行う。以下では、図１９〜図２１を用いて、FPGA1に異常が生じた場合の動作を説明する。図１９は、この場合の動作を示している。
【００５９】
FPGA2の異常監視部２０は、FPGA1の異常を検出するとFPGA1異常検出信号をコンフィグレーション制御部１９に出力する。FPGA1異常検出信号を受けたコンフィグレーション制御部１９は、FPGA2とFPGA3に対し、異常動作時の回路情報を用いて再コンフィグレーションするためにコンフィグレーション切り替え信号を出力する。
【００６０】
FPGA2に接続されたコンフィグレーション用ROM2は、通常動作時の回路情報であるコンフィグレーションデータ1と異常動作時の回路情報であるコンフィグレーションデータ2とを記憶している。また、FPGA3に接続されたコンフィグレーション用ROM3は、通常動作時の回路情報であるコンフィグレーションデータ3と異常動作時の回路情報であるコンフィグレーションデータ4とを記憶している。通常の電源投入時には、FPGA2はコンフィグレーションデータ1により動作し、FPGA3はコンフィグレーションデータ3により動作する。また、FPGA4に接続されたコンフィグレーション用ROM4は、通常動作時の回路情報であるコンフィグレーションデータ5を記憶している。
【００６１】
コンフィグレーション切り替え信号を受けたFPGA2のコンフィグレーションデータ読出部２１はコンフィグレーション用ROM2からコンフィグレーションデータ2を読み出し、FPGA2は異常動作時のコンフィグレーションを行う。また、コンフィグレーション切り替え信号を受けたFPGA3のコンフィグレーションデータ読出部２2はコンフィグレーション用ROM3からコンフィグレーションデータ4を読み出し、FPGA3は異常動作時のコンフィグレーションを行う。
【００６２】
また、FPGA1異常検出信号を受けたコンフィグレーション制御部１９は、FPGA4に対し、FPGA4内部の状態を切り替えるためのコンフィグレーション切り替え信号と、前段のFPGA2とFPGA3がコンフィグレーション中であることを示すコンフィグレーションステータス信号とを出力する。FPGA4は、前述のように通常動作時にはスルー画像出力を選択するが、コンフィグレーション中には入力画像変換回路出力を選択する。すなわち、コンフィグレーション中にFPGA4のスイッチ２６は入力画像変換回路２５の出力を選択する。入力画像変換回路２５は、画像処理プロセッサ装置１３の入力画像を出力画像に変換するための変換を行う。例えば、撮像素子から入力したRAW画像を、モニタ等に出力可能な形式の輝度信号および色差信号に変換する。
【００６３】
図２０はコンフィグレーション中の構成を示している。FPGA1では異常が検出されており、FPGA2〜3はコンフィグレーションを行っているため、FPGA1〜3では画像処理が行われない。入力画像データバスからの画像データはFPGA4に入力され、FPGA4の入力画像変換回路２５によって変換され、そのまま出力される。
【００６４】
図２１は異常動作時のコンフィグレーション終了後の構成を示している。図２１に示すように、FPGA2には画像処理回路1が実装され、FPGA3には画像処理回路2が実装され、さらにFPGA4ではあらかじめ実装されていた画像処理回路3が選択され、画像データが出力される。以上の構成により、FPGA1に異常が発生した場合に、正常に動作するFPGA2〜4を用いて、通常動作時と同様の処理を行い、画像出力を確保することが可能となる。
【００６５】
第１および第２の実施形態では、複数のFPGAを用い、チップ毎に再コンフィグレーションを行う構成を示した。しかし、FPGAにはチップ内部の回路を部分的に再コンフィグレーションできるものもあり、同様にして、チップ内部の回路ブロック毎に再コンフィグレーションする構成に対して本発明を適用することも可能である。この場合、チップ間を接続するバスはチップ内部の回路ブロック間の接続バスとなる。
【００６６】
上述したように、本実施形態では、通常動作時にはFPGA4が前段のFPGA3から出力された処理画像データをそのままスルー出力し、FPGA1の異常動作時にはFPGA2〜4が通常動作時のFPGA1〜3の機能を実現することによって、異常発生時に機能の削減等を行わずに、より確実に正常な状態に復帰することができる。
【００６７】
また、FPGA1の異常が検出されてFPGA2〜3が再コンフィグレーションを行っている間、FPGA4が入力画像データバスから入力される画像データを変換して出力することによって、異常発生時に一部のFPGAが再コンフィグレーションを行う場合も出力段のFPGAから画像出力が確保されるため、出力画像の中断を防止することができる。
【００６８】
また、第１および第２の実施形態では通常動作時と異常動作時で同一のバスを用いる場合、例えばFPGA1からFPGA2へのバスとFPGA1からFPGA3へのバスが同一である場合について説明したが、本発明はこれに限られるものではなく、異なる複数のバスを用いても良い。例えば、FPGA1からFPGA2へのバスとFPGA1からFPGA3へのバスとして、2つの高速シリアルバスをそれぞれ用いて、正常動作時と異常動作時で排他的に動作させることも可能である。
【００６９】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【００７０】
１１・・・内視鏡スコープ、１２・・・光源装置、１３・・・画像処理プロセッサ装置、１４・・・表示装置、１５・・・記録装置、１６・・・操作部、１７・・・システムコントローラ、１８・・・撮像部、１９・・・コンフィグレーション制御部、２０，２７，２８・・・異常監視部、２１，２２，２３・・・，２９・・・コンフィグレーションデータ読出部、２４・・・スルー処理回路（通過回路）、２５・・・入力画像変換回路（変換回路）、２６・・・スイッチ（選択回路）、２０１・・・エッジ検出部、２０２・・・ウォッチドッグタイマ、２０３・・・比較部、２０４・・・タイミング生成部、２０５・・・比較部、２０６・・・比較データ記憶部
【図１】
2012114846.tif 000003
【図２】
2012114846.tif 000004
【図３】
2012114846.tif 000005
【図４】
2012114846.tif 000006
【図５】
2012114846.tif 000007
【図６】
2012114846.tif 000008
【図７】
2012114846.tif 000009
【図８】
2012114846.tif 000010
【図９】
2012114846.tif 000011
【図１０】
2012114846.tif 000012
【図１１】
2012114846.tif 000013
【図１２】
2012114846.tif 000014
【図１３】
2012114846.tif 000015
【図１４】
2012114846.tif 000016
【図１５】
2012114846.tif 000017
【図１６】
2012114846.tif 000018
【図１７】
2012114846.tif 000019
【図１８】
2012114846.tif 000020
【図１９】
2012114846.tif 000021
【図２０】
2012114846.tif 000022
【図２１】
2012114846.tif 000023