(57)【要約】【課題】電子内視鏡が保持する情報をファームウェアの更新後に容易に引き継ぐファームウェアの更新方法を提供する。【解決手段】電子内視鏡のファームウェアは、ＦＲＯＭに記憶されており、医師毎に区別される設定パラメータをメモリに格納する様態を示す格納構造テーブルを内包する。電子内視鏡のファームウェアの更新が開始されると、更新前のファームウェアは、更新前のファームウェアが内包する格納構造テーブルを参照して、メモリ上に格納された各医師の設定パラメータを設定ファイルにテキスト形式で書き出す。更新後のファームウェアは、更新前のファームウェアによって書き出された設定ファイルと、更新後のファームウェアに内包される格納構造テーブルとを参照し、更新後のファームウェアが設定パラメータをメモリに格納する様態に合わせて、更新前のファームウェア下で設定された設定パラメータをメモリに再格納する。【選択図】図４
2009254513.tif 000002
【特許請求の範囲】
【請求項１】
メモリに予め記憶された情報を参照して電子内視鏡を動作させるファームウェアを更新する方法において、
前記ファームウェアの更新前に、更新前の前記ファームウェアで使用される前記情報を前記メモリから読み出し、情報ファイルとして保存する情報読み出しステップと、
前記ファームウェアを異なるバージョンのファームウェアに更新するファームウェア更新ステップと、
更新後の前記ファームウェアが前記情報ファイルを参照し、更新前の前記ファームウェアで使用される前記情報のうち、更新後の前記ファームウェアで使用する前記情報と共通する前記情報を、更新後の前記ファームウェアによる前記メモリの使用様態に応じて再び前記メモリに格納する情報再格納ステップと、
を備えることを特徴とするファームウェア更新方法。
【請求項２】
前記ファームウェアは、前記メモリへの前記情報の格納様態を示すテーブルを備え、
前記情報読み出しステップは、更新前の前記ファームウェアの前記テーブルを参照して行われ、
前記情報再格納ステップは、前記情報ファイルと更新後の前記ファームウェアの前記テーブルとを参照して、更新前の前記ファームウェアで使用される情報のうち、更新後の前記ファームウェで使用する前記情報と共通する前記情報を特定し、引き継ぐことを特徴とする請求項１に記載のファームウェア更新方法。
【請求項３】
前記情報読み出しステップで作成される前記情報ファイルは、テキスト形式で保存されることを特徴とする請求項１または２に記載のファームウェア更新方法。
【請求項４】
前記情報は複数種類の項目を含み、
前記情報ファイルには、複数種類の前記情報について項目ごとに固有に定められたキーと、個々の前記情報とが対応付けて記録されることを特徴とする請求項１ないし３のいずれかに記載のファームウェア更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子内視鏡を動作させるファームウェアの更新方法に関するものであり、さらに詳しくは、ファームウェアの更新前後で電子内視鏡の動作様態を維持するファームウェアの更新方法に関するものである。
【背景技術】
【０００２】
被検者の体腔内を直接的に観察して正確な診療を行うことができることから、近年、電子内視鏡による診断が盛んに行われている。電子内視鏡は、細長い挿入部を被検者の体腔内に挿入される電子内視鏡本体（以下、スコープと称す）、被検者の体腔内の画像を表示するモニタ、スコープから送られる被検者の体腔内の撮像信号から画像を生成したり、生成した画像をモニタに表示する等の電子内視鏡の動作を制御するプロセッサなどから構成される。
【０００３】
スコープの根幹部分には、挿入部の先端を湾曲させる際に操作されるアングルノブや、被検者の体腔内に空気や水等を送り込む際に操作される送気送水ボタン、被検者の体腔内の血液や粘液等を吸引する際に操作される吸引ボタン、所望の観察部位の静止画像を撮像する際に操作される撮像ボタンなどからなる操作部が設けられている。
【０００４】
これらの操作部のうち電気的に動作する各部の機能は、電子内視鏡を使用する個々の医師の好みに応じて機能を設定できるように、ボタン型の操作部間には互換性が持たされている。また、血管の色を強調して表示するなど、撮像した画像を単にモニタ上に表示するだけでなく、診断の具体的な内容や医師の好みの配色等に応じた画像の表示設定が行えるようになっている。こうした医師毎の設定のパラメータは、電池等によってバックアップされたメモリに記憶されており、電子内視鏡を使用する度に煩雑な設定操作を行うことなく、好適な設定状態が簡単に再現されるようになっている。
【０００５】
各種操作部の操作に応じた電子内視鏡の動作のうち電気的なものは、プロセッサに予め組み込まれた制御プログラム（いわゆるファームウェア）によって制御される。ファームウェアは、上述のように、メモリに記憶された設定のパラメータを読み出すことにより、医師毎に異なる電子内視鏡の設定状態を再現する。
【０００６】
電子内視鏡のファームウェアの更新は、ファームウェアに不具合が発見された場合だけでなく、実際に電子内視鏡を使用する医師の標榜に応じて機能を追加する場合にも行われるから、他の電子機器と比べても比較的頻繁に行われる。
【０００７】
電子内視鏡のファームウェアを更新する方法としては、ファームウェアを記憶するＲＯＭ自体を交換する方法が知られているが、この他にも、外部のコンピュータ等に接続し、更新するファームウェアをダウンロードする方法が知られている（特許文献１）。
【０００８】
また、他の電子機器のファームウェアの更新方法としては、主となる機器のＯＳをシャットダウンしたり、再起動したりすることなく、これに接続された機器のファームウェアを更新する方法が知られている（特許文献２）。
【特許文献１】特開２０００−２４５６８１号公報
【特許文献２】特開２００５−３０９９３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
電子内視鏡のファームウェアは、メモリに記憶されたパラメータを読み出すことで医師毎の設定状態を再現するが、異なるバージョンのファームウェア間ではパラメータを記憶するメモリの使用様態が異なる。例えば、ファームウェアは、バージョンによってメモリに格納するパラメータの個数等が異なるため、ファームウェアの更新の前後で同一の設定状態を示すパラメータであっても同じメモリアドレスに格納されるとは限らない。
【００１０】
したがって、ファームウェアが更新すると、更新前にメモリ上に設定されたパラメータは破棄されることになる。ファームウェアの更新のたびに医師が煩雑な設定操作を繰り返し行うことを避けるためにも、ファームウェアの更新の前後で共通するパラメータを引き継ぐことが望まれる。
【００１１】
このことから、電子内視鏡のファームウェアを更新する場合には、更新前のバージョンのファームウェアについて設定されたパラメータはメモリから読み出され、更新後のバージョンのファームウェアで使用するメモリの使用様態に合わせてデータが変換される。
【００１２】
パラメータを引き継ぐための変換作業には、更新するファームウェアとは別に、更新前後のバージョンに各々のファームウェアに応じたパラメータの変換プログラムや、パラメータを格納したメモリにアクセスして操作し、パラメータを格納するメモリアドレスを直接変更するメモリ操作プログラムが必要となる。また、ファームウェア更新前のパラメータの格納構造を変えずに、ファームウェアの更新後も引き続き用いるために、ファームウェアのメモリアクセスを仲介するドライバを予め用意する方法もある。
【００１３】
いずれにしても、ファームウェアの更新前後で、更新するファームウェア自身とは別に、医師等によって設定されたパラメータを引き継ぐための変換プログラムやドライバが必要となり、生産性が悪いという問題がある。特に、更新後のファームウェアに、ドライバを介してメモリにアクセスさせる場合には、単なるフラグ操作等の簡単な処理であってもこのドライバを介する必要があり、生産性だけでなく、オーバーヘッドにも問題がある。
【００１４】
また、医師等によって設定されたパラメータを引き継ぐための変換プログラム等を実行する外部のコンピュータ等が必要となり、ファームウェアの更新作業が煩雑であるという問題がある。
【００１５】
本発明は上述の問題点に鑑みてなされたものであり、電子内視鏡のファームウェアを更新するときに、更新前のバージョンのファームウェア下で保持された情報を、更新後のバージョンのファームウェア下で利用可能となるように、容易に引き継ぐファームウェアの更新方法を提供する。
【課題を解決するための手段】
【００１６】
本発明のファームウェア更新方法は、メモリに予め記憶された情報を参照して電子内視鏡を動作させるファームウェアを更新する方法であり、前記ファームウェアの更新前に、更新前の前記ファームウェアで使用される前記情報を前記メモリから読み出し、情報ファイルとして保存する情報読み出しステップと、前記ファームウェアを異なるバージョンのファームウェアに更新するファームウェア更新ステップと、更新後の前記ファームウェアが前記情報ファイルを参照し、更新前の前記ファームウェアで使用される前記情報のうち、更新後の前記ファームウェアで使用する前記情報と共通する前記情報を、更新後の前記ファームウェアによる前記メモリの使用様態に応じて再び前記メモリに格納する情報再格納ステップと、を備えることを特徴とする。
【００１７】
また、前記ファームウェアは、前記メモリへの前記情報の格納様態を示すテーブルを備え、前記情報読み出しステップは、更新前の前記ファームウェアの前記テーブルを参照して行われ、前記情報再格納ステップは、前記情報ファイルと更新後の前記ファームウェアの前記テーブルとを参照して、更新前の前記ファームウェアで使用される情報のうち、更新後の前記ファームウェで使用する前記情報と共通する前記情報を特定し、引き継ぐことを特徴とする。
【００１８】
また、前記情報読み出しステップで作成される前記情報ファイルは、テキスト形式で保存されることを特徴とする。
【００１９】
また、前記情報は複数種類の項目を含み、前記情報ファイルには、複数種類の前記情報について項目ごとに固有に定められたキーと、個々の前記情報とが対応付けて記録されることを特徴とする
【発明の効果】
【００２０】
本発明によれば、電子内視鏡のファームウェアを更新するときに、更新前のバージョンのファームウェア下で保持された情報を、更新後のバージョンのファームウェア下で利用可能となるように、容易に引き継ぐことができる。
【発明を実施するための最良の形態】
【００２１】
図１に示すように、電子内視鏡１０は、スコープ１２、モニタ１３、プロセッサ１４等から構成される。
【００２２】
スコープ１２は、被検者の体腔内に挿入される挿入部２１や、スコープ１２を操作するボタンスイッチやノブ等が設けられた操作グリップ２２などからなる。
【００２３】
挿入部２１は、可撓性で細長く、被検者の体腔内の形状に応じて自在に湾曲するように設けられている。また、挿入部２１の先端付近には、医師の操作によって自在に湾曲動作する湾曲部２３が設けられている。湾曲部２３が湾曲動作することにより、挿入部２１の最先端に位置する先端部２４が、任意の観察部位の方向に的確に向けられる。
【００２４】
先端部２４には、鉗子出口、送気送水口、吸引口、撮像ユニット等が設けられている。鉗子出口は、操作グリップ２２に設けられた鉗子入口から挿通された鉗子等の処置具が露呈される。送気送水口からは、蒸留水や薬液、空気等が噴出され、吸引口からは、被検者の体液や送気送水口から噴出された蒸留水等が吸引される。また、撮像ユニットは、観察部位を照明する光源や、ＣＣＤ型の撮像素子２６（以下、単にＣＣＤという。図２参照）、広角の撮像レンズ等からなり、先端部２４の向けられた方向を中心に被検者の体腔内を撮像する。
【００２５】
操作グリップ２２は、挿入部２１が被検者の体腔内に挿通されるときに、医師によって把持され、送気送水口からの蒸留水等の噴出させる送気送水ボタン２７や吸引口からの体液等の吸引させる吸引ボタン２８等が操作される。また、操作グリップ２２には、湾曲部２３の湾曲動作を操作するアングルノブ２９が設けられている。
【００２６】
さらに、操作グリップ２２には、第１ボタンスイッチ３１、第２ボタンスイッチ３２、第３ボタンスイッチ３３が設けられている。これらのボタンスイッチ３１，３２，３３は、電子内視鏡１０を用いる各医師が操作しやすいように、予め定められたいくつかの動作の中から任意の動作を割り当てることができるようになっている。ボタンスイッチ３１，３２，３３に割り当てることができる動作としては、押圧操作されたときに静止画像を表示する「静止画像表示」、表示した静止画像を外部メモリに保存する「画像記録」、電子内視鏡１０が撮像した観察部位の画像とともに、この画像から得られるデータ等を合成して表示するか否かを切り替える「データ表示切替」などが予め用意されている。
【００２７】
操作グリップ２２から伸びるユニバーサルコード３４は、コネクタ３６を介してプロセッサ１４に接続される。また、コネクタ３６の近傍には、蒸留水等を送り込む送気送水口金や、吸引した体液等を排出する吸引口金等が設けられている。
【００２８】
プロセッサ１４は、電子内視鏡１０の電気的な動作を制御する。プロセッサ１４は、撮像ユニットの動作を制御し、ＣＣＤ２６から出力される撮像信号をデジタルな画像データ３７（以下、単に画像という。図２参照）に変換し、モニタ１３に表示する。また、観察部位の画像３７から観察部位に関するデータを算出したり、観察部位に照射する照明の光量や、送気送水ボタン２７が押圧操作されたときに送気送水口から噴出させる蒸留水の分量等を制御する。同様に、前述のボタンスイッチ３１，３２，３３に対する機能の割り当ても、プロセッサ１４によって行われる。さらに、設定によっては、この観察部位に関するデータや検査日時，被検者の氏名といった情報を重畳してモニタ１３に表示する場合もある。
【００２９】
また、プロセッサ１４の前面には、メディアスロット３８が設けられており、コンパクトフラシュメモリ３９（以下、ＣＦという。図２参照）等の着脱自在な記憶メディアが装着される。ＣＦ３９には、検査時に撮像した画像や、検査日時や被検者氏名、検査所見等の検査に付随するデータ等の被検者データ４１（図２参照）が記憶される。
【００３０】
さらに、プロセッサ１４には、マウスやキーボードからなる操作部４２（図２参照）が設けられており、ボタンスイッチ３１，３２，３３への機能の割り当て等の電子内視鏡１０の設定は、操作部４２を用いて行われる。
【００３１】
図２に示すように、電子内視鏡１０は、プロセッサ１４内に、ＣＰＵ４６、画像処理部４７、ＤＲＡＭ４８、ＳＲＡＭ４９（メモリ）、バックアップ電池５１、ＦＲＯＭ５２等が設けられている。
【００３２】
ＣＰＵ４６は、プロセッサ１４内の各部だけでなく、ボタンスイッチ３１，３２，３３やＣＣＤ２６等のスコープ１２の各部や、モニタ１３、操作部４２、装着されたＣＦ３９等とシステムバス５３を介して接続され、電子内視鏡１０の動作を統括的に制御する。ＣＦ３９のデータ入出力や、スコープ１２等の動作様態は、ＣＰＵ４６によって制御される。
【００３３】
画像処理部４７は、ＣＣＤ２６から出力されるアナログの撮像信号をデジタルな画像３７に変換するとともに、取得した画像３７に電子内視鏡１０の設定に応じた種々の画像処理を施す。
【００３４】
ＤＲＡＭ４８は、電子内視鏡１０の動作で生じるデータを一時的に記憶する揮発性の作業用のメモリであり、電子内視鏡１０に給電が開始されると、ＣＰＵ４６によってファームウェア５７（後述）が展開されたり、画像処理部４７が各種画像処理を行う際に生じるデータが一時的に記憶される。このＤＲＡＭ４８は、揮発性のメモリであるから、電子内視鏡１０への給電が中止されると、ＤＲＡＭ４８内のデータは破棄される。
【００３５】
ＳＲＡＭ４９は揮発性のメモリであるが、電子内視鏡１０への給電を中止した場合にも電力を供給し続けるバックアップ電池５１が接続されており、不揮発性のメモリとして機能する。ＳＲＡＭ４９には、電子内視鏡１０の動作様態を定める設定パラメータ５６（設定情報）が記憶される。この設定パラメータ５６は、電子内視鏡１０を使用する複数の医師が、各々に定めた第１〜第３ボタンスイッチ３１，３２，３３の動作設定を示すパラメータの集まりであり、電子内視鏡１０を使用する医師毎に対応するパラメータが読み出される。
【００３６】
ＦＲＯＭ５２は、電気信号により複数回の書き換えが可能となっているが、電子内視鏡１０への給電を中止しても記憶した情報を保持する不揮発性のメモリであり、いわゆるフラッシュＥＥＰＲＯＭである。ＦＲＯＭ５２には、ファームウェア５７が記憶されている。
【００３７】
ファームウェア５７は組み込みプログラムであり、電子内視鏡１０の動作を制御する。ファームウェア５７は、設定パラメータ５６をＳＲＡＭ４９から読み出し、電子内視鏡１０を使用する医師に応じて個々のボタンスイッチ３１，３２，３３の動作割り当てを再現し、電子内視鏡１０を動作させる。また、ファームウェア５７は、不具合が修正される場合や、ボタンスイッチ３１，３２，３３に割り当てることができる動作の追加する場合などに新しいバージョンへと更新される。ファームウェア５７がバージョンアップされるときには、新しいバージョンのファームウェアそのものである更新データ５８が導入され、ＦＲＯＭ５２内の旧バージョンのファームウェア５７に上書きされる。なお、更新データ５８は、ＣＦ３９に記憶され、電子内視鏡１０の外部から導入される。さらに、ファームウェア５７は、電子内視鏡１０を動作させるルーチンのほかに、ファームウェア５７の更新時に参照される格納構造テーブル５９を備えている。
【００３８】
格納構造テーブル５９は、ファームウェア５７が更新されるときに参照されるテーブルであり、設定パラメータ５６内の各パラメータと、各パラメータを個々に識別するキーとを対応させるテーブルであり、図３に示すように、メインテーブル６１と、メインテーブル６１から参照される第１サブテーブル６２とからなる。
【００３９】
メインテーブル６１は、図３（Ａ）に示すように、「データ型」、「サイズ」、「キー」、「キーオプション」、「オフセット」、「参照先」を一つのまとまりとした第１から第６の６個のフィールド６３ａ〜６３ｆ（図では模式的に「行」で示している）が設けられている。
【００４０】
データ型には、１バイトの長さで文字を扱うＣＨＡＲ型、４バイトの長さで符号付整数を扱うＩＮＴ型、いくつかのパラメータをメンバとしたデータの集合を扱うＧＲＯＵＰ型等がある。サイズは、各フィールドのデータ量であり、ＣＨＡＲ型の場合には１バイト、ＩＮＴ型の場合には４バイトの長さに定められている。また、ＧＲＯＵＰ型の場合のサイズは、各メンバのデータサイズの合計値となっている。
【００４１】
キーは数値であり、ファームウェア５７のバージョンにかかわらず、設定パラメータ５６内のパラメータのひとつひとつ（あるいは一つのグループに対して）に固有に定められている。また、キーオプションは、キーの具体的な扱いを定めるキーワードであり、ＡＢＳＫＥＹ、ＮＯＫＥＹ、ＡＤＤＫＥＹ等がある。キーオプションがＡＢＳＫＥＹと定められたフィールドでは、そのフィールドのキーは演算されずに設定パラメータ５６内のパラメータと対応付けられる。また、ＮＯＫＥＹは、メインテーブル６１から第１サブテーブル６２を参照することが定められたフィールドに指定される。キーオプションがＮＯＫＥＹと定められたフィールドでは、このフィールドのキーをそのまま設定パラメータ５６内のパラメータと対応付けることなく、第１サブテーブル６２に渡し、第１サブテーブル６２の各フィールドで指定されたキー及びキーオプションに基づいて演算された後に、設定パラメータ５６内のパラメータと対応付ける。また、ＡＤＤＫＥＹは、第１サブテーブル６２内のフィールドに指定されるキーオプションであり、キーオプションがＡＤＤＫＥＹと定められたフィールドでは、メインテーブル６２から渡されたキーに、第１サブテーブル６２のフィールドで定められたキーを加算してから設定パラメータ５６内のパラメータに対応付けられる。
【００４２】
また、オフセットは、各フィールドで扱うパラメータが格納されるメモリアドレスを、設定パラメータ５６全体の先頭のメモリアドレスからの差分として示す。
【００４３】
メインテーブル６１の第１フィールド６３ａは、電子内視鏡１０を使用する第１の医師のＩＤナンバの格納様態と、固有のキー（０ｘ５００００）とを対応付ける。また、メインテーブル６１の第２フィールド６３ｂは、第１の医師が設定した第１〜第３ボタンスイッチ３１，３２，３３の動作様態を指定するパラメータをグループとして扱い、このグループに固有のキー（０ｘ５０１００）を対応付ける。また、メインテーブル６１の第２フィールド６３ｂは、第１〜第３ボタンスイッチ３１，３２，３３の設定パラメータをグループとして扱うので、第１ボタンスイッチ３１、第２ボタンスイッチ３２、第３ボタンスイッチ３３の動作様態を示すパラメータを個々に識別するために、第１サブテーブル６２を参照することが定められている。
【００４４】
同様に、メインテーブル６１の第３フィールド６３ｃ及び第４フィールド６３ｄは、電子内視鏡１０を使用する第２の医師のＩＤと、第２の医師の各ボタンスイッチ３１，３２，３３の設定パラメータのグループに、各々固有のキーを対応付ける。また、メインテーブル６１の第５フィールド６３ｅ及び第６フィールド６３ｆは、第３の医師のＩＤと、第３の医師の各ボタンスイッチ３１，３２，３３の設定パラメータのグループに、各々固有のキーを対応付ける。
【００４５】
第１サブテーブル６２は、図３（Ｂ）に示すように、メインテーブル６１と同様に、「データ型」、「サイズ」、「キー」、「キーオプション」、「オフセット」、「参照先」を一つのまとまりとした第１〜第３の３個のフィールド６４ａ〜６４ｃが設けられている。第１サブテーブル６２は、メインテーブル６１から参照され、メインテーブル６１でグループとして扱われる第１〜第３ボタンスイッチ３１，３２，３３の設定パラメータに、個々に、固有のキーを対応付ける。
【００４６】
第１サブテーブル６２の第１フィールド６４ａは、メインテーブル６１から渡されたキーに、この第１フィールド６４ａで指定するキー「０ｘ１」を加算してえられる固有のキーを、第１ボタンスイッチ３１の動作様態を示すパラメータに対応付ける。同様に、第１サブテーブル６２の第２フィールド６４ｂは、第２ボタンスイッチ３２の動作様態を示すパラメータに固有のキーを対応付け、第３フィールド６４ｃは、第３ボタンスイッチ３３の動作様態を示すパラメータに固有のキーを対応付ける。
【００４７】
このように格納構造テーブル５９を備えたファームウェア５７の更新は、図４に示す手順で、自動的に行われる。まず、更新データ５８を記憶したＣＦ３９がメディアスロット３８に挿入され、ファームウェア５７の更新が開始されると、更新前のファームウェア５７は、自身の格納構造テーブル５９にしたがって、ＳＲＡＭ４９に記憶された設定パラメータ５６をテキストファイル（以下、設定ファイルという）に書き出し保存する（情報読み出しステップ）。この後、ＣＦ３９から更新データ５８が読み出され、ＦＲＯＭ５２に書き込まれると、更新前のファームウェア５７は、新しいファームウェア５７ａ（図２参照）に更新される（ファームウェア更新ステップ）。こうしてファームウェアが更新されると、更新後のファームウェア５７ａは、更新前のファームウェア５７によって保存された設定ファイルを参照し、更新前のファームウェア５７と更新後のファームウェア５７ａとで共通する設定パラメータ５６をＳＲＡＭ４９へ再格納する（情報再格納ステップ）。
【００４８】
ＳＲＡＭ４９からの設定パラメータ５６の書き出しは、図５に示す手順で行われる。まず、更新前のファームウェア５７は、格納構造テーブル５９のうちメインテーブル６１を、第１フィールド６３ａから順に参照する。そして、参照したフィールドのオフセットやサイズにしたがって、設定パラメータ５６が記憶された所定のメモリアドレスから指定のパラメータを読み出すとともに、読み出したパラメータにキーを対応付けてテキストファイルに書き出す。このとき、メインテーブル６１に、第１サブテーブル６２を参照することが指定されている場合には、メインテーブル６１だけでなく、第１サブテーブル６２の各フィールドの指定にしたがって、固有のキーを読み出したパラメータに対応付けて設定ファイルに書き出す。これをメインテーブル６１の全フィールドについて繰り返すことで、設定パラメータ５６を全て読み出され、読み出された設定パラメータ５６内の各パラメータは、それぞれ固有のキーを対応付けて設定ファイルに記録される。
【００４９】
更新前のファームウェア５７下では、図６に示すように、電子内視鏡１０を使用する医師のＩＤと、各々の医師が設定した第１〜第３ボタンスイッチ３１，３２，３３の設定が設定パラメータ５６として記録されている。各ボタンスイッチ３１，３２，３３には、前述のように、「不使用」か、「画像記録」，「静止画像表示」，「データ表示切替」の３種の動作のいずれかを割り当てることができるようになっており、これらの設定は、ＳＲＡＭ４９上では、「不使用」はパラメータ「０」、「画像記録」はパラメータ「１」、「静止画像表示」はパラメータ「２」、「データ表示切替」はパラメータ「３」でそれぞれ表される。
【００５０】
また、設定パラメータ５６の記録には、ＳＲＡＭ４９上の所定アドレス（０ｘ４０００）から２４バイト、３人分の医師の設定パラメータを記憶するメモリ領域が確保されており、メモリアドレス０ｘ４０００からメモリアドレス０ｘ４００７の８バイトの領域内に、医師ＩＤが「０００１」の第１の医師の設定したパラメータが、医師ＩＤ，第１ボタンスイッチ３１の設定パラメータ、第２ボタンスイッチ３２の設定パラメータ、第３ボタンスイッチ３３の設定パラメータの順に記録される。また、これに続くメモリアドレス０ｘ４００８からメモリアドレス０ｘ４００９の８バイトの領域内に、医師ＩＤが「０００２」の第２の医師の設定したパラメータが記録される。医師ＩＤが「０００３」の第３の医師以降についても同様である。なお、医師ＩＤ、及びこの医師ＩＤの設定パラメータが設定されていない場合には、ＳＲＡＭ４９上に確保されたメモリ領域には、医師ＩＤは「００００」、各ボタンスイッチの設定は「０」の初期値が記録されている。
【００５１】
このように、更新前のファームウェア５７下で設定パラメータ５６が記録されているときに、ファームウェアの更新を開始すると、図７に示すように、メインテーブル６１の第１フィールド６３ａが参照される。メインテーブル６１の第１フィールド６３ａには、データ型がＩＮＴ型であり、サイズが４バイト、オフセットが０バイトであることが指定されているから、所定のメモリアドレス（０ｘ４０００）から４バイト分の領域をＩＮＴ型の値として、医師ＩＤ「０００１」が読み出される。同時に、メインテーブル６１の第１フィールド６３ａには、キー「０ｘ５００００」、キーオプション「ＡＢＳＫＥＹ」が指定されているから、キーをテキスト化した「０００５００００Ｈ」と、読み出した医師ＩＤ「０００１」とが等号（＝）で対応付けられて、設定ファイル６６の１行目に書き出される。
【００５２】
次いで、図８に示すように、メインテーブル６１の第２フィールド６３ｂが参照される。メインテーブル６１の第２フィールド６３ｂには、データ型がＧＲＯＵＰ型であり、サイズが３バイト、オフセットが４バイトであることが指定されているとともに、第１サブテーブル６２を参照することが定められている。このため、メインテーブル６１の第２フィールド６３ａが参照されると同時に、第１サブテーブル６２の第１フィールド６４ａが参照される。
【００５３】
第１サブテーブル６２の第１フィールド６４ａには、データ型がＣＨＡＲ型であり、サイズは１バイト、オフセットは０バイトであることが指定されているから、メインテーブル６１で指定されたオフセット４バイトに第１サブテーブル６２で指定されたオフセット０バイトを加味して、所定アドレス（０ｘ４０００）から４バイト分をオフセットしたメモリアドレス０ｘ４００４から１バイト分の領域のデータを、ＣＡＨＲ型のデータとして読み出す。なお、ここで読み出される設定パラメータは、第１の医師の第１ボタンスイッチ３１の設定パラメータ「２」である。
【００５４】
同時に、メインテーブル６１の第２フィールド６３ｂには、キー「０ｘ５０１００」、キーオプション「ＮＯＫＥＹ」が指定されているから、第１サブテーブル６２にキー「０ｘ５０１００」が渡される。第１サブテーブル６２の第１フィールド６４ａには、キー「０ｘ１」、キーオプション「ＡＤＤＫＥＹ」が指定されているから、第１サブテーブル６２の第１フィールド６４ａにしたがって読み出された設定パラメータは、キー「０ｘ５０１００」にキー「０ｘ１」を加えた固有のキー「０ｘ５０１０１」が対応付けられる。したがって、第１の医師の第１ボタンスイッチ３１の設定パラメータ「２」は、固有のキー「０ｘ５０１０１」と等号で対応付けて、設定ファイル６６の２行目に記録される。
【００５５】
さらに、同様にして、第１サブテーブル６２の第２フィールド６４ｂが参照され、メモリアドレス０ｘ４００５に記録された第１の医師の第２ボタンスイッチ３２の設定パラメータ「１」は、固有のキー「０ｘ５０１０２」と等号で対応付けられて設定ファイル６６に続けて記録される。これに続き、第１サブテーブル６２の第３フィールド６４ｃが参照され、メモリアドレス０ｘ４００６に記録された第１の医師の第３ボタンスイッチ３３の設定パラメータ「３」は、固有のキー「０ｘ５０１０３」と等号で対応付けられて設定ファイル６６に記録される。
【００５６】
このように、第１の医師の設定パラメータが全て設定ファイルに書き出されると、メインテーブル６１の第３フィールド６３ｃから順に参照され、上述と同様にして第２の医師の設定パラメータや第３の医師の設定パラメータが設定ファイル６６に書き出される。したがって、設定ファイル６６には、図９に示すように、第１の医師の設定パラメータ５６ａ、第２の医師の設定パラメータ５６ｂ、第３の医師の設定パラメータ５６ｃが、格納構造テーブル５９で指定された順序にしたがって書き出される。こうして設定ファイル６６に書き出された設定パラメータ５６は、同じ医師ＩＤであっても、第１の医師のＩＤにはキー「０００５００００Ｈ」、第２の医師のＩＤにはキー「０００５０３００Ｈ」といったように、設定パラメータ毎に固有のキーに対応付けて記録されているから、全ての設定パラメータは個々に区別できるようになっている。
【００５７】
上述のようにして、更新前のファームウェア５７によって、更新前のファームウェア５７下で設定された設定パラメータ５６が設定ファイル６６に書き出されると、更新データ５８がロードされて、ファームウェア５７は新しいファームウェア５７ａに更新される。更新後のファームウェア５７ａ下は、第１〜第３ボタンスイッチ３１，３２，３３の設定に加え、モニタ１３に画像を表示する際の配色と、記録画像への情報重畳設定を設定パラメータ５６として新たに記録できるようになっている。配色の設定としては、スコープ１２で得られた画像３７の色調を加工せず、得られたままの配色でモニタ１３に表示する標準色、スコープ１２で得られた画像３７に血管の色を強調するように画像処理を施した血管強調色のいずれかが選択される。また、記録画像への情報重畳設定は、スコープ１２で得られた画像３７を記録するときに、被検者の氏名や検査日時等の情報を重畳して記録するか否かを、オン又はオフのいずれかで選択される。
【００５８】
これにともない、更新後のファームウェア５７ａは、図１０及び図１１に示すように、更新前のファームウェア５７とは異なる格納構造テーブル６９を備えている。格納構造テーブル６９は、図１０に示すメインテーブル７１と、図１１に示す第１サブテーブル６２，第２サブテーブル７３とからなる。メインテーブル７１は、全９フィールドからなり、第１〜第３フィールド７４ａ〜７４ｃで第１の医師の設定パラメータに各々固有のキーを対応付ける。
【００５９】
メインテーブル７１の第１フィールド７４ａ及び第２フィールド７４ｂは、更新前のファームウェア５７のメインテーブル６１と同様であり、第１の医師のＩＤと、その第１〜第３ボタンスイッチ３１，３２，３３の設定パラメータに各々固有のキーを対応付ける。一方、第３フィールド７４ｃは、更新後のファームウェア５７ａで新たに設けられた配色設定と記録画像への情報重畳設定に関する設定パラメータに各々固有のキーを指定するフィールドであり、第２サブテーブル７３を参照することが定められている。
【００６０】
同様に、第４〜第６フィールド７４ｄ〜７４ｆは、第２の医師の設定パラメータに各々固有のキーを対応付けるフィールドであり、第６フィールド７４ｆが更新後のファームウェア５７ａで新たに設けられた設定項目に対応する。また、第７〜第８フィールド７４ｇ〜７４ｉは、第３の医師の設定パラメータに各々固有のキーを対応付けるフィールドであり、第９フィールド７４ｉが更新後のファームウェアで新たに設けられた設定項目に対応する。
【００６１】
更新後のファームウェア５７ａの格納構造テーブル６９が備える第２サブテーブル７３は、メインテーブル７１の第３フィールド７４ｃ、第６フィールド７４ｆ、第９フィールド７４ｉから参照され、図１２に示すように、第１フィールド７６ａで配色の設定パラメータに固有のキーを対応付け、第２フィールド７６ｂで記録画像への情報重畳の設定パラメータに固有のキーを対応付ける。
【００６２】
更新後のファームウェア５７ａは、格納構造テーブル６９を参照し、図１３に示す手順にしたがって、更新前のファームウェア５７下で設定された設定パラメータ５６を、ＳＲＡＭ４９に再格納する。まず、更新後のファームウェア５７ａは、４８バイト、３人分の医師の設定パラメータを記憶するメモリ領域を確保する。このとき確保されたメモリ領域には、各設定パラメータの初期値（ＩＤ「００００」や値「０」）が格納される。
そして、更新後のファームウェア５７ａは、設定ファイル６６を開き、一番上の行から順に一行ずつ読み込み、この読み込んだ行に記録されたキーを、格納構造テーブル６９に指定されたキーと比較する。読み込んだ行に記録されたキーが格納構造テーブル６９の何れかのフィールドで指定されたキーと一致する場合には、キーが一致したフィールドにしたがって、このキーに対応付けられて設定ファイル６６に記録された設定パラメータをＳＲＡＭ４９に再格納する。一方、読み込んだ行に記録されたキーが、格納構造テーブル６９に指定されたキーのいずれとも一致しない場合には、このキーに対応付けて記録された設定パラメータは、ＳＲＡＭ４９へ再格納することなく、設定ファイル６６のこの行を読み飛ばす。更新後のファームウェア５７ａは、この手順を繰り返し、設定ファイル６６の最後の行まで順に読み込み、更新前のファームウェア５７と更新後のファームウェア５７ａとで共通する設定パラメータを再格納する。
【００６３】
更新後のファームウェア５７ａが設定ファイル６６の一行目を読み込むと、図１４に示すように、設定ファイル６６の一行目には、第１の医師のＩＤ「０００１」に、固有のキー「０００５００００Ｈ」が対応付けて記録されている。したがって、更新後のファームウェア５７ａは、メインテーブル７１の第１フィールド６３ａから順に参照して、読み込んだキー「０００５００００Ｈ」と同じキーが指定されたフィールドがあるか否かを、各フィールドに指定されたキーと比較する。ここで読み込んだキー「０００５００００Ｈ」の場合、これを数値化したものが、メインテーブル７１の第１フィールド６３ａに指定されたキー「０ｘ５００００」と一致する。このため、キー「０００５００００Ｈ」に対応付けて記録された設定パラメータ「０００１」は、メインテーブル７１の第１フィールド６３ａにしたがって、第１の医師のＩＤとして、所定のメモリアドレス（０ｘ４０００）から４バイトの初期値「００００」が格納された領域に、ＩＮＴ型の値として上書きされ、再格納される。
【００６４】
次いで、設定ファイル６６の二行目が読み込まれると、図１５に示すように、設定ファイル６６の二行目には、第１の医師の第１ボタンスイッチ３１の設定パラメータ「２」に、固有のキー「０００５０１０１Ｈ」が対応付けて記録されている。したがって、更新後のファームウェア５７ａは、メインテーブル７１の第１フィールド７４ａから順に参照して、読み込んだキー「０００５０１０１Ｈ」と同じキーが指定されたフィールドがあるか否かを、各フィールドに指定されたキーと比較する。ここで読み込んだキー「０００５０１０１Ｈ」は、これを数値化したものが、第１サブテーブル６２の第１フィールド６４ａで指定されるキー「０ｘ５０１０１」と一致する。このため、キー「０００５０１０１Ｈ」に対応付けて記録された設定パラメータ「２」は、メインテーブル７１の第２フィールド７４ｂ及び第１サブテーブル６２の第１フィールド６４ａにしたがって、第１の医師の第１ボタンスイッチ３１の設定パラメータとして、所定のメモリアドレス（０ｘ４０００）から４バイトのオフセットしたメモリアドレス０ｘ４００４から１バイト分の領域に、ＣＨＡＲ型の値として上書きされ、再格納される。
【００６５】
以降、同様にして、ファイルの終端まで設定ファイル６６は一行ずつ読み込まれ、第１〜第３の医師の設定パラメータが、更新後のファームウェア５７ａ下で定められた所定のメモリアドレスに再格納される。このとき、更新後のファームウェア５７ａで新たに設けられた設定項目を格納するメモリアドレスには、設定ファイルにキーやその値が記録されていないため、更新後のファームウェア５７ａがメモリ領域を確保したときに格納した初期値が残る。
【００６６】
設定パラメータ５６のＳＲＡＭ４９への再格納が完了すると、図１６（Ａ）に示すように、更新前のファームウェア５７下でメモリアドレス０ｘ４０００〜０ｘ４００７に格納されていた第１の医師の設定パラメータは、図１６（Ｂ）に示すように、更新後のファームウェア５７ａ下においても、メモリアドレス０ｘ４０００〜０ｘ４００７に再格納される。また、更新後のファームウェア５７ａ下では、第１の医師の設定パラメータを格納するメモリ領域としてメモリアドレス０ｘ４０００〜０ｘ４００Ｆの１６バイトが確保されており、メモリアドレス０ｘ４００７には配色の設定パラメータの初期値が、メモリアドレス０ｘ４００８には記録画像への情報重畳設定を示すパラメータの初期値がそれぞれ格納されている。
【００６７】
このため、図１６（Ａ）に示すように、更新前のファームウェア５７下でメモリアドレス０ｘ４００８〜０ｘ４０００９に格納されていた第２の医師の設定パラメータは、図１６（Ｂ）に示すように、第１の医師の設定パラメータを格納するために確保されたメモリ領域に続けて、更新前のファームウェア５７下とは異なるメモリアドレス０ｘ４０１０から第２の医師の設定パラメータを格納する。同様に、第３の医師の設定パラメータは、更新前のファームウェア５７下とは異なるメモリアドレス（０ｘ４０２０）から格納される。
【００６８】
以上のように、本発明のファームウェアの更新方法によれば、更新するファームウェアを用意するだけで、ＦＲＯＭ５２を交換したり、ファームウェアの更新前後で設定パラメータを引き継ぐために別途ＳＲＡＭ４９にアクセスしてメモリ上で変換操作を行う変換プログラムやドライバ等のファームウェアとは別のプログラムを用意したりすることなく、更新前のファームウェア５７下で設定された設定パラメータ５６を更新後のファームウェア５７ａ下でのＳＲＡＭ４９の使用様態に合わせて容易に引き継ぐことができる。
【００６９】
また、更新前のファームウェア５７で設定された設定パラメータ５６を設定ファイル６６に書き出すときに、ファームウェアの使用によらないテキスト形式で設定パラメータ５６を書き出すから、ファームウェアの仕様によって適切な読み出し方が異なるバイナリ形式で設定パラメータ５６を設定ファイル６６に書き出すよりも容易に設定パラメータ５６を引き継ぐことができ、各設定パラメータのデータ型が変更になるようなファームウェアの更新時に、容易に設定パラメータ５６を引き継ぐことができる。
【００７０】
さらに、設定ファイル６６内では、各設定パラメータは、各々固有のキーに対応付けて記録されているから、ファームウェアの更新時に、設定項目の増減やＳＲＡＭ４９内での記憶順序の変更などに容易に対応することができる。また、設定ファイル６６内に、設定パラメータが各々固有のキーに対応付けて記録されることで、新たに設定項目を増やすようなファームウェアの更新時には、新たに設ける設定項目の設定パラメータに固有のキーを対応付けるフィールドをメインテーブルやサブテーブルに追加するだけで、他の設定項目の設定パラメータと容易に区別されるとともに、いくつかの関連する設定項目の設定パラメータとひとまとめにして容易に管理することができる。
【００７１】
なお、上述の実施形態では、更新前のファームウェア５７で使用されていた設定パラメータの全てが更新後のファームウェア５７ａに引き継がれるが、これに限らず、ファームウェアの更新後に、更新前のファームウェア５７で使用されていた設定パラメータの一部を選択的に引き継ぐようにしても良い。このような引き継ぐ設定パラメータの選別は、更新後のファームウェア５７ａに備える格納構造テーブル６９に、ファームウェアの更新で引き継がない設定パラメータにキーを対応付けるフィールドを設けないことで容易に実現される。
【００７２】
なお、上述の実施形態では、設定ファイル６６に設定パラメータ５６を書き出すときに、格納構造テーブル５９に指定するキーをテキスト化し、設定パラメータと対応付けて記録されるが、これに限らず、設定ファイル６６に記録するキーは個々の設定パラメータを識別できる固有のものであれば良く、キーを、そのキーが対応付けられる設定パラメータの名称等に置き換えて記録した設定ファイルを保存しても良い。
【００７３】
この場合、図１７に示すように、設定ファイル６６に設定されたキーを、各々のキーが対応付けられる設定パラメータの名称（文字列）に対応付ける変換テーブル８１を設ける。変換テーブル８１は、例えば、第１の医師のＩＤに対応付けられるキー「０００５０００Ｈ」に、このキーが対応付けられる設定パラメータが第１位の医師のＩＤであることを明示的に示す文字列“第１医師ＩＤ”を対応付ける。したがって、この変換テーブル８１に基づいて、ファームウェアの更新に使用する設定ファイル６６を変換した設定ファイル８２は、各設定パラメータとその値が対応付けて記録される。
【００７４】
こうして、設定ファイル６６を、各設定パラメータの名称とその値が対応付けられた設定ファイル８２とすることで、内容を理解しやすい設定ファイルとすることができる。なお、キーを設定パラメータの名称に置き換えた設定ファイル８２は、ファームウェア更新時のログとして保存しても良いし、変換テーブル８１に基づいてキーを数値（をテキスト化したもの）に戻すことで、上述の実施形態のようにしてファームウェアの更新に好適に利用することもできる。
【００７５】
なお、上述の実施形態では、ファームウェア５７の更新で引き継がれる情報として、医師毎に設定するボタンスイッチ３１，３２，３３等の設定を例に説明するが、これに限らず、ファームウェア５７の更新で引継ぎが必要となるデータであれば本発明のファームウェア更新方法を好適に用いることができる。例えば、被検者の氏名や年齢、被検履歴等の情報や、検査時の画像等の被検者データを上述の方法によってファームウェア５７の更新で引き継がれるようにしても良い。このような様々は情報をファームウェア５７の更新で引き継ぐようにすることで、各種データのバックアップ状況等を考慮せずに、簡単にファームウェアを更新することができるようになる。
【００７６】
また、上述の実施形態では、更新前のファームウェア５７で設定された設定パラメータ５６を、全て同じ設定ファイル７１に続けて書き出すが、これに限らず、医師毎に設定ファイルを設けるなど、設定パラメータ５６の単位毎に個別に設定ファイルを設けるようにしても良い。
【００７７】
なお、上述の実施形態で説明するボタンスイッチ３１，３２，３３や配色等の設定は説明のための例であり、具体的な設定項目等は電子内視鏡の種別や仕様等によって定めて良い。また、電子内視鏡の具体的な種別等によって異なるが、本発明のファームウェアの更新方法は電子内視鏡の種別等によらず適用することができる。
【００７８】
なお、上述実施形態では、更新前のファームウェア５７でＳＲＡＭ４９に設定された設定パラメータ５６を１行ごとに改行して設定ファイル７１に書き出すが、これに限らず、キーとその値とが対応付けられ、他の項目と区別できれば良く、カンマ区切りファイルやタブ区切りファイル等の他の周知の様態の設定ファイル７１としても良い。
【００７９】
また、上述の実施形態では、更新後のファームウェア５７では更新前のファームウェア５７と比較して設定項目が増加する新しいバージョンに更新する例を説明するが、これに限らず、新しいバージョンのファームウェア５７に不具合が発見され、安定した古いバージョンのファームウェア５７に戻すような場合にも、本発明を好適に適用することができる。
【００８０】
また、本発明は、設定ファイル６６をＣＦ３９等に書き出しておくことで、ファームウェア５７の更新時に限らず、ＳＲＡＭ４９に障害が生じてＳＲＡＭ４９内のデータを引き出せずに、ＳＲＡＭ４９を交換しなければならないような場合にも、ＣＦ３９等に書き出された設定ファイル７１をもとに容易に設定パラメータを復元することができる。
【００８１】
なお、上述の実施形態では、設定パラメータ５６を格納するＳＲＡＭ４９上のメモリアドレスとして０ｘ４０００から始まる連続した領域を例に説明するが、これに限らず、ＳＲＡＭ４９の使用様態はファームウェア５７によって任意に設定することができる。
【００８２】
なお、上述の実施形態では、被検者データ４１や更新データ５８を記憶するメディアとしてＣＦ３９を用いるが、これに限らず、他の周知のリムーバブルメディアや、ＬＡＮ等のネットワークを介して被検者データ４１や更新データ５８を授受しても良い。
【００８３】
なお、上述の実施形態では、ファームウェアをバージョンアップする例を説明したが、これに限らず、ファームウェアが起動したときに、ＳＲＡＭ４９上のデータが初期化されたのを検知し、設定ファイル６６から設定パラメータ５６を自動的に読み込んで復旧するようにしても良い。
【００８４】
なお、上述の実施形態では、ファームウェアの更新時に、設定ファイル６６に設定パラメータ５６を記録するが、これに限らず、設定ファイル６６は、設定パラメータ５６を記録したデータであれば良く、その保存場所は、ＣＦ３９等の外部メモリ上だけでなく、ＳＲＡＭ４９や他の図示しない揮発メモリ上で良い。
【図面の簡単な説明】
【００８５】
【図１】電子内視鏡の構成を概略的に示す説明図である。
【図２】電子内視鏡の電気的な構成を示すブロック図である。
【図３】格納構造テーブルの構成を示す説明図である。
【図４】ファームウェアの更新手順を示すフローチャートである。
【図５】情報読み出しステップの手順を示すフローチャートである。
【図６】更新前のファームウェア下で設定パラメータがＳＲＡＭに記憶される様態を示す説明図である。
【図７】格納構造テーブルを参照して設定パラメータを設定ファイルに書き出す様子を示す説明図である。
【図８】格納構造テーブルを参照して設定パラメータを設定ファイルに書き出す様子を示す説明図である。
【図９】設定パラメータが書き出された設定ファイルの様子を示す説明図である。
【図１０】更新後のファームウェア下での設定項目を示す説明図である。
【図１１】更新後のファームウェアの格納構造テーブルのうち、メインテーブルの構成を示す説明図である。
【図１２】更新後のファームウェアの格納構造テーブルのうち、サブテーブルの構成を示す説明図である。
【図１３】情報再格納ステップの手順を示すフローチャートである。
【図１４】設定パラメータをＳＲＡＭに再格納する様子を示す説明図である。
【図１５】設定パラメータをＳＲＡＭに再格納する様子を示す説明図である。
【図１６】ファームウェア更新前後でＳＲＡＭ内に設定パラメータが格納される様子を示す説明図である。
【図１７】変換テーブルによって設定ファイル内のキーを文字列に変換する様子を示す説明図である。
【符号の説明】
【００８６】
１０  電子内視鏡
１２  スコープ
１３  モニタ
１４  プロセッサ
３１  第１ボタンスイッチ
３２  第２ボタンスイッチ
３３  第３ボタンスイッチ
３７  画像
３９  ＣＦ
４１  被検者データ
４９  ＳＲＡＭ
５１  バックアップ電池
５２  ＦＲＯＭ
５６，５６ａ〜５６ｃ  設定パラメータ
５７，５７ａ  ファームウェア
５９，６９  格納構造テーブル
６１，７１  メインテーブル
６２  第１サブテーブル
６６  設定ファイル
７３  第２サブテーブル
８１  変換テーブル
８２  設定ファイル（変換後）
【図１】
2009254513.tif 000003
【図２】
2009254513.tif 000004
【図３】
2009254513.tif 000005
【図４】
2009254513.tif 000006
【図５】
2009254513.tif 000007
【図６】
2009254513.tif 000008
【図７】
2009254513.tif 000009
【図８】
2009254513.tif 000010
【図９】
2009254513.tif 000011
【図１０】
2009254513.tif 000012
【図１１】
2009254513.tif 000013
【図１２】
2009254513.tif 000014
【図１３】
2009254513.tif 000015
【図１４】
2009254513.tif 000016
【図１５】
2009254513.tif 000017
【図１６】
2009254513.tif 000018
【図１７】
2009254513.tif 000019