説明

電子内視鏡及びシステム

【課題】ファームウェアを迅速にメモリに書き込み、かつ書き込みが失敗しても電子内視鏡の動作が機能する電子内視鏡及びシステムを得る。
【解決手段】新たなファームウェアBを有するデータファイルが外部から読み込まれ、データファイルからヘッダ領域510を取り除くことにより、新たな圧縮データBcが作成される。そして、圧縮データ第2の領域に記憶されている圧縮データAcが新たな圧縮データBcに書き換えられる。ステップS23では、圧縮データBcを解凍してファームウェアBを作成し、このファームウェアBを第1の領域224に記憶する。ステップS24では、内視鏡MPU221は、第2の領域225に記憶されている圧縮データBcを解凍して新たなファームウェアBdを作成する。そして、このファームウェアBdを第1の領域224に記憶する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、更新可能なファームウェアを有する電子内視鏡及びシステムに関する。
【背景技術】
【0002】
電子内視鏡システムは、被験者の体内に挿入される電子内視鏡と被験者の体外に設けられて画像処理を行うビデオプロセッサとを備える。電子内視鏡の動作を制御するMPUと、MPUのファームウェアを記録するメモリとが電子内視鏡の内部に設けられる。
【0003】
ユーザは、外部とのインターフェースを介して、メモリに記憶されたファームウェアを書き換え可能である(特許文献1及び2)。ファームウェアは、画像やプログラムなど様々な情報を含み、電子内視鏡の性能を向上し、かつ機能を追加するために書き換えられる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第3515922号公報
【特許文献2】特開2005−185691号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
電子内視鏡の性能を向上し、かつ機能を追加するたびに、ファームウェアの大きさが大きくなる傾向がある。ファームウェアが大きくなるとファームウェアをメモリに送信する時間が長くなる。また、ファームウェアに様々な情報を含ませると、ファームウェア内部において各情報の境界を見つけることが困難になり、ファームウェアに含まれる例えば画像の一部のみが破損した場合であってもプログラムを読み込むことができなくなる。プログラムを読み込むことができなくなったMPUは動作を停止するため、電子内視鏡自体もまた機能を停止する。
【0006】
本発明はこれらの問題に鑑みてなされたものであり、ファームウェアを迅速にメモリに書き込み、かつ書き込みが失敗しても電子内視鏡の動作が機能する電子内視鏡及びシステムを得ることを目的とする。
【課題を解決するための手段】
【0007】
本願第1の発明による電子内視鏡は、プログラムを記録する記録部と、記録部にプログラムを書き込み、記録部に記録されているプログラムを実行する制御部とを備え、記録部は、制御部が実行するプログラムを記録する第1の領域と、圧縮されたプログラムを記録する第2の領域とを有し、制御部は、外部から受信した圧縮されたプログラムを解凍して第1の領域に書き込み、第1の領域に書き込まれたプログラムが動作することを検知した後に、第1の領域に書き込まれたプログラムを圧縮して第2の領域に書き込むことを特徴とする。
【0008】
プログラムは、電子内視鏡に固有の識別符号を有し、制御部は、電子内視鏡と識別符号とが対応するときに、圧縮されたプログラムを解凍して第1の領域に書き込むことが好ましい。
【0009】
本願第2の発明による電子内視鏡システムは、前記電子内視鏡と、電子内視鏡に接続されるビデオプロセッサとを備え、ビデオプロセッサは、プロセッサの動作を制御するプロセッサ制御部を有し、電子内視鏡は、プロセッサ制御部に情報を送信し、プロセッサ制御部は、電子内視鏡から受信した情報に誤りがあったとき誤りに関する誤り情報を蓄積し、誤り情報が所定の条件に合致したとき制御部に復帰命令を送信し、制御部は、復帰命令を受信したとき、第2の領域に書き込まれたプログラムを解凍して第1の領域に書き込むことを特徴とする。
【発明の効果】
【0010】
本発明によれば、ファームウェアを迅速にメモリに書き込み、かつ書き込みが失敗しても電子内視鏡の動作が機能する電子内視鏡及びシステムを得る。
【図面の簡単な説明】
【0011】
【図1】第1の実施形態による電子内視鏡システムを示した概略図である。
【図2】ファームウェア及び圧縮ファイルの構造を模式的に示した図である。
【図3】メモリの各領域に記憶されるプログラムを示した図である。
【図4】第1のアップデート処理を示すフローチャートである。
【図5】復帰指示処理を示すフローチャートである。
【図6】復帰処理を示すフローチャートである。
【図7】第2の実施形態によるファームウェア及び圧縮ファイルの構造を模式的に示した図である。
【図8】第2のアップデート処理を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明による電子内視鏡システム100について添付図面を参照して説明する。
【0013】
図1を用いて電子内視鏡システム100の構成について説明する。電子内視鏡システム100は、被験者の体内に挿入される電子内視鏡200と、被験者の体外に設けられて画像処理を行うビデオプロセッサ300とを主に備える。
【0014】
電子内視鏡200は、被験者の体内に挿入される挿入部210と、術者が保持する操作部220とを主に備える。図示しないコネクタにより操作部220が電子内視鏡200と接続される。
【0015】
挿入部210は、可撓性の管状体であって、被写体に接近する遠位端部211と操作部220に接続される近位端部212とを有する。遠位端部211には、撮像レンズ213、照明レンズ214、及び撮像素子であるCCD215が設けられる。
【0016】
撮像レンズ213はCCD215に被写体像を結像させる。CCD215は結像した被写体像を撮像し、アナログ信号出力線216を介してアナログ画像信号を出力する。
【0017】
操作部220から挿入部210に渡ってライトガイドファイバ218が設けられる。ライトガイドファイバ218は、ビデオプロセッサ300が生成した照明光を照明レンズ214まで運び、照明レンズ214は、照明光を被写体に向けて照射する。
【0018】
操作部220は、アナログ信号処理部223、制御部を成す内視鏡MPU221、及び記録部を成すメモリ222を有する。
【0019】
アナログ信号処理部223は、アナログ信号出力線216を介してCCD215からアナログ画像信号を受信する。そして、アナログ画像信号を画像処理して画像信号を生成した後、画像信号線219を介して画像信号をビデオプロセッサ300に送信する。
【0020】
内視鏡MPU221は、CCD制御信号線217を介してCCD制御信号をCCD215に送信し、CCD215の動作を制御する。内視鏡MPU221が実行するファームウェアは、メモリ222に記憶される。電子内視鏡200の電源が入れられると、内視鏡MPU221はメモリ222からファームウェアを読み出して実行する。
【0021】
操作部220は、図示しない複数のスイッチ等を有する。ユーザは、これらのスイッチを操作して電子内視鏡及びビデオプロセッサ300の動作を制御する。これらのスイッチをユーザが操作すると、スイッチが操作された旨を示す操作信号が内視鏡MPU221に送信される。内視鏡MPU221は、操作信号に応じて電子内視鏡200の動作を制御する。また、ビデオプロセッサ300が行う動作に対応するスイッチが操作されると、内視鏡MPU221は、操作信号をビデオプロセッサMPU301に送信する。ビデオプロセッサMPU301は、操作信号に応じて電子内視鏡200の動作を制御する。
【0022】
ビデオプロセッサ300は、プロセッサ制御部を成すビデオプロセッサMPU301、外部インターフェース302、フロントパネル303、画像信号処理部304、及び光源305を主に有する。
【0023】
ビデオプロセッサMPU301は、ビデオプロセッサ300の動作を制御する。内視鏡MPU221とビデオプロセッサ300は、UARTを各々有し、制御信号線312を介して互いに接続される。外部インターフェース302は、例えばRS−232C、あるいはUSBであって、電子内視鏡システム100の外部に設けられるコンピュータとビデオプロセッサ300とを接続する。
【0024】
フロントパネル303は、ビデオプロセッサ300の外面に露出し、内視鏡システムの動作状況を表示する。画像信号処理部304は、電子内視鏡200から受信した画像信号を画像処理して、モニタ400に出力する。光源305はビデオプロセッサ300に制御され、ライトガイドファイバ218に照明光を供給する。
【0025】
外部に設けられたコンピュータは、外部インターフェース302を介して電子内視鏡200のファームウェアを備えるデータファイルをビデオプロセッサMPU301に送信する。ビデオプロセッサMPU301は、制御信号線312を介してデータファイルを内視鏡MPU221に送信する。
【0026】
内視鏡MPU221は、電子内視鏡200の電源が投入されたときに後述する第1のアップデート処理を実行し、メモリ222に記録されているファームウェアを書き換える。また、メモリ222に記録されているファームウェアが破損したときに、正常なファームウェアをメモリ222に書き込む復帰処理を実行する。
【0027】
次に図2を用いてメモリ222の構造、第1のアップデート処理、及び復帰処理の概略について説明する。
【0028】
メモリ222は、第1の領域224及び第2の領域225を有する。第1の領域224は、内視鏡MPU221が実行するファームウェアを記憶する。第2の領域225は、圧縮されたファームウェアを記憶する。
【0029】
ステップS21からステップS23は、第1のアップデート処理の概略を表す。ステップS21では、現在実行中のファームウェアAが第1の領域224に記憶されており、ファームウェアAを圧縮して得られる圧縮データAcが第2の領域225に記憶されている。
【0030】
ステップS22は、第2の領域225に記憶されている圧縮データが書き換えられた状態を表す。新たなファームウェアBを有するデータファイルが外部から読み込まれ、データファイルからヘッダ領域510を取り除くことにより、新たな圧縮データBcが作成される。そして、第2の領域に記憶されている圧縮データAcが新たな圧縮データBcに書き換えられる。
【0031】
ステップS23では、圧縮データBcを解凍してファームウェアBを作成し、このファームウェアBを第1の領域224に記憶する。
【0032】
以上により、第1のアップデート処理が完了する。
【0033】
ステップS24は復帰処理の概略を表す。復帰処理は、ビデオプロセッサMPU301から復帰命令を内視鏡MPU221が受信したときに、内視鏡MPU221によって実行される。
【0034】
第1の領域224に記憶されているファームウェアBが何らかの原因により破損したとき、電子内視鏡200からビデオプロセッサ300に送信される様々な信号にエラーが生じる。ビデオプロセッサMPU301は、これらのエラーを検出し、エラーの数が所定数に達したときに、内視鏡MPU221に復帰命令を発信する。エラーを検出して復帰命令を発信する処理を復帰指示処理と呼ぶ。
【0035】
復帰命令を受信した内視鏡MPU221は、第2の領域225に記憶されている圧縮データBcを解凍して新たなファームウェアBdを作成する。そして、このファームウェアBdを第1の領域224に記憶する。そして、新たに第1の領域224に記憶されたファームウェアBdを実行する。以上により、復帰処理が完了する。
【0036】
次に、図3を用いて本実施形態におけるデータファイルについて説明する。
【0037】
データファイルは、電子内視鏡システム100の外部に設けられたコンピュータにより予め作成されている。電子内視鏡200のファームウェア540を備えるデータファイルは、ヘッダ領域510と圧縮データ領域520とから成る。ヘッダ領域510は、データファイルの先頭部分に設けられ、対象装置識別子を記録する装置識別領域511と、ファームウェアのバージョン情報を記録するバージョン記録領域512とを有する。対象装置識別子は、ファームウェアが対応する電子内視鏡200の識別子を示す。電子内視鏡200の識別子は、1種類の電子内視鏡200に固有の値である。対象装置識別子及びバージョン情報は英数字で構成される。図示した例では、対象装置識別子は「1」であり、バーション情報は「4」である。対象装置識別子及びバージョン情報が識別情報を構成する。
【0038】
圧縮データ領域520は、データファイルにおいてヘッダ領域510に次いで設けられ、ファームウェア540を圧縮して得られた圧縮データ530を記録する。圧縮は、例えばランレングス符号化方式による。
【0039】
次に、図4を用いて第1のアップデート処理について説明する。第1のアップデート処理は、電子内視鏡200の電源が投入されたときに実行される。電子内視鏡200の電源が前回切断される前に、ファームウェアを含むデータファイルがメモリ222に記憶される。
【0040】
まず、ステップS41では、ファームウェアを書き換えるために用いるアップデートプログラムを内視鏡MPU221が起動する。アップデートプログラムは、ファームウェア内に記録されている。
【0041】
次にステップS42では、内視鏡MPU221がメモリ222からデータファイルを読み込む。そして、ステップS43において、ヘッダ領域510から識別情報を読み取る。
【0042】
ステップS44では、電子内視鏡200の識別子が対象装置識別子と一致するか、及びバージョン情報が現在第1の領域に記憶されているファームウェアよりも新しいかを判断する。対象装置識別子と一致し、かつバージョン情報が新しい場合、処理はステップS46に進む。そうでない場合、処理はステップS45に進む。
【0043】
ステップS45では、アップデートプログラムを終了して、処理がステップS48に進む。
【0044】
ステップS46では、データファイルからヘッダ領域510を取り除くことにより、新たな圧縮データBcが作成される。そして、第2の領域225に記憶されている圧縮データAcが新たな圧縮データBcに書き換えられる(図2のステップS22参照)。
【0045】
ステップS47では、圧縮データBcを解凍してファームウェアBを作成し、このファームウェアBを第1の領域224に記憶する(図2のステップS23参照)。
【0046】
次のステップS48では、電子内視鏡200をリセット、すなわち再起動する。そして電子内視鏡200の一般処理、つまり通常の観察動作を行う。
【0047】
以上により、第1のアップデート処理が完了する。
【0048】
次に、図5を用いて復帰指示処理について説明する。復帰指示処理は、ビデオプロセッサ300に電子内視鏡200が接続されたときに開始される。
【0049】
スイッチが操作された旨を示す操作信号をビデオプロセッサMPU301が受信すると、ステップS51において、受信した操作信号にエラーが含まれているかを検出する。操作信号は、ユーザがスイッチを操作してホワイトバランスを変更したり、画像を拡大縮小したりするときに送信される。
【0050】
また、アナログ信号処理部223から送られた画像信号をビデオプロセッサMPU301が受信すると、ステップS52において、画像信号が有する色情報にエラーが含まれているかを検出する。色情報は、電子内視鏡各々が有する色の特性、例えばゲイン値であって、電子内視鏡固有の値である。
【0051】
そして、ステップS53では、ステップS51及びS52において検出したエラーの数を積算する。
【0052】
次のステップS54では、ステップS53において積算したエラーの数が所定数を超えたか否かを判断する。所定数を超えた場合、電子内視鏡200のファームウェアが破損していると判断し、処理がステップS55に進む。所定数を超えない場合、電子内視鏡200のファームウェアは正常であると判断し、処理がステップS56に進む。
【0053】
ステップS55では、ビデオプロセッサMPU301が、復帰命令を内視鏡MPU221に送信する。そして、ステップS56に進む。
【0054】
ステップS56では、ビデオプロセッサ300の一般的な処理を行い、処理が終了する。
【0055】
次に、図2及び6を用いて復帰処理について説明する。復帰処理は、内視鏡MPU221が復帰命令を受信したときに実行される。
【0056】
内視鏡MPU221が復帰命令を受信すると、ステップS61において、第2の領域225に記憶されている圧縮データBcを読み出す(図2のステップS24参照)。
【0057】
次のステップS62では、圧縮データBcを解凍してファームウェアBdを作成し、ファームウェアBdを第1の領域224に書き込む。
【0058】
ステップS63では、ファームウェアBdが正常に動作するかを確認する。正常に動作しない場合、ファームウェアBdが破損していると判断し、ステップS61に戻る。そして、圧縮データBcを再度解凍してファームウェアBdを第1の領域224に再度書き込む。正常に動作する場合、ファームウェアBdは破損していないと判断し、ステップS64に進む。
【0059】
ステップS64では、電子内視鏡200の一般的な処理を行い、処理が終了する。
【0060】
本実施形態によれば、圧縮したファームウェアを内視鏡システムに送信することにより、送信時間を短縮できる。また、第2の領域225に圧縮したファームウェアを記憶しておくことにより、第1の領域224に記憶したファームウェアが破損しても、第2の領域225に記憶している圧縮データを解凍して新たなファームウェアとして使用することにより、電子内視鏡200が使用不可能となることがない。さらに、データファイルのヘッダ領域510に識別情報を付加することにより、対応するファームウェアのみを第1の領域224に書き込むことができる。そして、圧縮したファームウェアと識別情報とを1つのデータファイルにすることにより、第三者がファームウェアを解析することが困難となる。
【0061】
次に、図7及び8を用いて第2の実施形態について説明する。第1の実施形態と同様の構成については同じ符号を付して説明を省略する。第2の実施形態による内視鏡システムは、第1のアップデート処理の代わりに、その一部が異なる第2のアップデート処理を実行する。
【0062】
ステップS71からステップS73は、第2のアップデート処理の概略を表す。ステップS71では、現在実行中のファームウェアAが第1の領域224に記憶されており、第1の領域224に記憶されているファームウェアを圧縮して得られる圧縮データAcが第2の領域225に記憶されている。
【0063】
ステップS72は、第1の領域224に記憶されているファームウェアが書き換えられた状態を表す。まず、第1の領域224に記憶されているファームウェアAを圧縮して圧縮データAccを作成し、この圧縮データAccを第2の領域225に記憶する。そして、第1の領域224に記憶されているファームウェアAが新たなファームウェアBに書き換えられ、新たなファームウェアBが第1の領域224に記憶される。
【0064】
ステップS73では、ファームウェアBが正常に動作するかを確認した後、ファームウェアBを圧縮して圧縮データBcを作成し、この圧縮データBcを第2の領域225に記憶する。
【0065】
以上により、第2のアップデート処理が完了する。
【0066】
次に、図7及び8を用いて第2のアップデート処理について説明する。ステップS41からS45、ステップS48、及びステップS49は第1のアップデート処理と同様であるため、説明を省略する。
【0067】
ステップS44において、電子内視鏡200の識別子が対象装置識別子と一致し、かつバージョン情報が現在第1の領域224に記憶されているファームウェアよりも新しい場合、ステップS86を実行する。ステップS86では、第1の領域224に記憶されているファームウェアAを圧縮して圧縮データAccを作成し、この圧縮データAccを第2の領域225に記憶する(図7のステップS72参照)。
【0068】
次のステップS87では、第1の領域224に記憶されているファームウェアAを新たなファームウェアBで書き換える。これにより、新たなファームウェアBが第1の領域224に記憶される。そして、ファームウェアBが正常に動作するかを確認した後、ファームウェアBを圧縮して圧縮データBcを作成し、この圧縮データBcを第2の領域225に記憶する(図7のステップS73参照)。その後、処理がステップS48に進む。
【0069】
本実施形態によれば、新たに書き込んだファームウェアが正常に動作することを確認した上で第2の領域225に圧縮データを記憶するため、ファームウェアの書き換えにより電子内視鏡200が動作しなくなる可能性を第1の実施形態よりも低減できる。
【0070】
いずれの実施形態においても、対象装置識別子及びバージョン情報は英数字で構成されなくても良い。対象装置識別子は数字でなく、ファームウェアが対応する電子内視鏡200の名前であってもよい。
【0071】
さらに、外部に設けられたコンピュータに制御信号線312を直接接続することによって、電子内視鏡200とコンピュータとを接続し、コンピュータから電子内視鏡200にデータファイルを直接送信しても良い。
【0072】
なお、撮像素子はCCD215に限定されない。
【符号の説明】
【0073】
100 電子内視鏡システム
200 電子内視鏡
210 挿入部
211 遠位端部
212 近位端部
213 撮像レンズ
214 照明レンズ
215 CCD
216 アナログ信号出力線
217 CCD制御信号線
218 ライトガイドファイバ
219 画像信号線
220 操作部
221 内視鏡MPU
222 メモリ
223 アナログ信号処理部
224 第1の領域
225 第2の領域
300 ビデオプロセッサ
301 ビデオプロセッサMPU
302 外部インターフェース
303 フロントパネル
304 画像信号処理部
305 光源
312 制御信号線
400 モニタ
510 ヘッダ領域
511 装置識別領域
512 バージョン記録領域
520 圧縮データ領域

【特許請求の範囲】
【請求項1】
プログラムを記録する記録部と、
前記記録部にプログラムを書き込み、前記記録部に記録されているプログラムを実行する制御部とを備え、
前記記録部は、前記制御部が実行するプログラムを記録する第1の領域と、圧縮されたプログラムを記録する第2の領域とを有し、
前記制御部は、外部から受信した圧縮されたプログラムを解凍して前記第1の領域に書き込み、前記第1の領域に書き込まれたプログラムが動作することを検知した後に、前記第1の領域に書き込まれたプログラムを圧縮して前記第2の領域に書き込む電子内視鏡。
【請求項2】
前記プログラムは、電子内視鏡に固有の識別符号を有し、
前記制御部は、電子内視鏡と識別符号とが対応するときに、圧縮されたプログラムを解凍して前記第1の領域に書き込む請求項1に記載の電子内視鏡。
【請求項3】
請求項1に記載の電子内視鏡と、
前記電子内視鏡に接続されるビデオプロセッサとを備え、
前記ビデオプロセッサは、前記プロセッサの動作を制御するプロセッサ制御部を有し、
前記電子内視鏡は、前記プロセッサ制御部に情報を送信し、
前記プロセッサ制御部は、前記電子内視鏡から受信した情報に誤りがあったとき誤りに関する誤り情報を蓄積し、誤り情報が所定の条件に合致したとき前記制御部に復帰命令を送信し、
前記制御部は、前記復帰命令を受信したとき、前記第2の領域に書き込まれたプログラムを解凍して前記第1の領域に書き込む電子内視鏡システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−224091(P2011−224091A)
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願番号】特願2010−95353(P2010−95353)
【出願日】平成22年4月16日(2010.4.16)
【出願人】(000113263)HOYA株式会社 (3,820)
【Fターム(参考)】