(57)【特許請求の範囲】
【請求項１】
被検体内に挿入され、単心コイルにより磁界を発生し移動可能なソースコイルと、
センスコイルとして３次元空間上の異なる位置でそれぞれ異なる方向を向いて配置された第１および第２の単心コイルと、
前記第１および第２の単心コイルの出力から前記ソースコイルの位置および／または向きを推定する推定手段と、
前記３次元位置空間上において、前記ソースコイルが存在する位置および／または向きを仮定し、前記ソースコイルがこの仮定した位置および／または向きである場合に発生すると想定される磁力に基づく前記第１および第２の単心コイルの出力を算出する第１の算出手段と、
前記ソースコイルの発生する磁力を前記第１及び第２の単心コイルにより検出した検出出力と、前記算出手段で算出した算出出力とを比較し、比較した結果を更新値として算出する更新値算出手段と、
を有し、
前記仮定した位置および／または向きを、所定の順序で更新し、前記更新値算出手段による更新値が所定の値になったときの更新された位置および／または向きを、前記推定手段により前記ソースコイルの位置および／または向きであると推定することを特徴とするコイル位置測定装置。
【請求項２】
被検体内に挿入され、単心コイルにより磁界を発生し移動可能なソースコイルと、
センスコイルとして３次元空間上の異なる位置で、それぞれこの３次元空間に対して設定された各座標軸と同一の方向を向いて配置された第１、第２および第３の単心コイルと、
前記第１、第２および第３の単心コイルの出力から前記ソースコイルの前記３次元空間の座標での位置および／または向きを推定する推定手段と、
前記３次元位置空間上において、前記ソースコイルが存在する位置および／または向きを仮定し、前記ソースコイルがこの仮定した位置および／または向きである場合に発生すると想定される磁力に基づく前記第１および第２の単心コイルの出力を算出する第１の算出手段と、
前記ソースコイルの発生する磁力を前記第１及び第２の単心コイルにより検出した検出出力と、前記算出手段で算出した算出出力とを比較し、比較した結果を更新値として算出する更新値算出手段と、
を有し、
前記仮定した位置および／または向きを、所定の順序で更新し、前記更新値算出手段による更新値が所定の値になったときの更新された位置および／または向きを、前記推定手段により前記ソースコイルの位置および／または向きであると推定することを特徴とするコイル位置測定装置。
【請求項３】
前記推定されたソースコイルの位置および／または向きを、所定の順序による更新前の位置および／または向きであると仮定して、前記第１の算出手段で算出を行い、前記ソースコイルの位置および／または向きを更に推定することを特徴とする請求項１または２に記載のコイル位置測定装置。
【請求項４】
単心コイルにより磁界を発生するソースコイルの位置および／または向きを、センスコイルとして３次元空間上の異なる位置でそれぞれ異なる方向を向いて配置された第１および第２の単心コイルを用いて推定するコイル位置測定方法において、
前記３次元位置空間上において、前記ソースコイルが存在する位置および／または向きを仮定し、前記ソースコイルがこの仮定した位置および／または向きである場合に発生すると想定される磁力に基づく前記第１および第２の単心コイルの出力を算出する第１の算出工程と、
前記ソースコイルの発生する磁力を前記第１および第２の単心コイルで検出した検出出力と、前記算出工程で算出した算出出力とを比較し、比較した結果を更新値として算出する更新値算出工程と、
を有し、
前記仮定した位置および／または向きを、所定の順序で更新し、前記更新値算出工程で得られた更新値が所定の値になったときの更新された位置および／または向きを、前記ソースコイルの位置および／または向きであると推定することを特徴とするコイル位置測定方法。
【請求項５】
前記推定されたソースコイルの位置および／または向きを、所定の順序による更新前の位置および／または向きであると仮定して、前記第１の算出工程で算出を行い、前記ソースコイルの位置および／または向きを更に推定することを特徴とする請求項４に記載のコイル位置測定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コイル位置測定装置およびコイル位置測定方法、詳しくは、複数の単軸コイルによるソースコイルの位置推定部分に特徴のあるコイル位置測定装置およびコイル位置測定方法に関する。
【０００２】
【従来の技術】
近年、内視鏡は医療用分野及び工業用分野で広く用いられるようになった。この内視鏡は特に挿入部が軟性のものは、屈曲した体腔内に挿入することにより、切開することなく体腔内深部の臓器を診断したり、必要に応じてチャンネル内に処置具を挿通してポリープ等を切除するなどの治療処置を行うことができる。
【０００３】
この場合、例えば肛門側から下部消化管内を検査する場合のように、屈曲した体腔内に挿入部を円滑に挿入するためにはある程度の熟練を必要とする場合がある。
【０００４】
つまり、挿入作業を行っている場合、管路の屈曲に応じて挿入部に設けた湾曲部を湾曲させる等の作業が円滑な挿入を行うのに必要になり、そのためには挿入部の先端位置等が、体腔内のどの位置にあるかとか、現在の挿入部の屈曲状態等を知ることができると便利である。
【０００５】
このため、例えばＰＣＴ出願の公開番号ＷＯ９４／０４９３８号公報に記載の技術では予め決められた位置に固定された３個の直交する３軸をもつコイルを用いて、空間内に直交するベクトルを持つ交流磁界を順次発生させ、前記空間内にある座標上に存在する１軸コイルで、３軸の各軸のコイルが発生した磁界により誘導されて生じた前記１軸コイル両端間の電圧を計測する。この計測したデータを基に、前記１軸コイルの空間座標を検出していた。
【０００６】
ところが、上記ＰＣＴ出願の公開番号ＷＯ９４／０４９３８号公報に記載の技術においては、周囲温度の変化や経時的な変化によって、磁界を発生させるための高周波信号の周波数と周波数抽出手段の抽出する周波数成分の周波数が一致していないと、周波数成分の値が本来抽出されるべき値からはずれてしまい、この値から求めた内視鏡の位置が実際の位置と一致しなくなってしまうため、挿入状態を正確に検出できなくなる可能性があった。
【０００７】
そこで、特開平９−２８６６１号公報には、高周波信号の周波数と参照信号の周波数とを一致させるための周波数の調整手段を設けることにより、周囲温度の変化や経時的な変化により高周波信号の周波数と参照信号の周波数とがずれるような環境等においても、一致させることができ、設定への影響を受けにくくし、内視鏡の挿入状態を検出することのできる内視鏡形状検出装置が提案されている。
【０００８】
上記ＰＣＴ出願の公開番号ＷＯ９４／０４９３８号公報に記載の技術では、複数の検出素子の出力値から磁気発生素子の位置を推定するためには、直交させた単心コイルを３つ組み合わせた３軸コイルが複数必要であり、複雑な構成となる。
【０００９】
また、特開平９−２８６６１号公報においても、内視鏡システムに応用する場合、複数の検出素子の出力値から磁気発生素子の位置を推定するためには、直交させた単心コイルを３つ組み合わせた３軸コイルが複数必要であり、やはり、複雑な構成となる。
【００１０】
さらに、特開平９−２８６６１号公報では、ベクトルの解析において、信号列を構成する周波数のフーリエ変換等により観測される周波数とを厳密に同値とすることが困難であり、周波数領域上でのモレが発生するため、窓関数法などを適用することにより、モレによる影響を軽減する必要がある。
【００１１】
そこで、本出願人は、先に出願した特願平９−１４０６０３号において、同一直線上に同一方向に異なる位置に置かれた少なくとも４つの単心コイルで構成される検出素子（または磁気発生素子）により、磁気発生素子（または検出素子）の存在する空間を推定する場合、推定すべき変数の数を減らすことのできるコイル位置測定方法を提案している。
【００１２】
【発明が解決しようとする課題】
しかしながら、この特願平９−１４０６０３号では、確かに上記問題を解決することができるが、４個組センスコイルを並列に並べたことにより各４個組センスコイルにより推定される円の誤差（中心と半径の誤差）の方向が同一となり、推定されるソースコイルの３次元位置の誤差が特定の方向に大きくなるという問題や、ソースコイルとセンスコイルとの距離が離れると推定されるソースコイルの３次元位置がばらつくという問題がある。
【００１３】
本発明は、上記事情に鑑みてなされたものであり、複数組のセンスコイルによりソースコイルの３次元位置を求めるときの推定誤差を縮小することのできるコイル位置測定装置およびコイル位置測定方法を提供することを目的としている。
【００１４】
【課題を解決するための手段】
上記の目的を達成するために本発明による第１のコイル位置測定装置は、被検体内に挿入され、単心コイルにより磁界を発生し移動可能なソースコイルと、センスコイルとして３次元空間上の異なる位置でそれぞれ異なる方向を向いて配置された第１および第２の単心コイルと、前記第１および第２の単心コイルの出力から前記ソースコイルの位置および／または向きを推定する推定手段と、前記３次元位置空間上において、前記ソースコイルが存在する位置および／または向きを仮定し、前記ソースコイルがこの仮定した位置および／または向きである場合に発生すると想定される磁力に基づく前記第１および第２の単心コイルの出力を算出する第１の算出手段と、前記ソースコイルの発生する磁力を前記第１及び第２の単心コイルにより検出した検出出力と、前記算出手段で算出した算出出力とを比較し、比較した結果を更新値として算出する更新値算出手段と、を有し、前記仮定した位置および／または向きを、所定の順序で更新し、前記更新値算出手段による更新値が所定の値になったときの更新された位置および／または向きを、前記推定手段により前記ソースコイルの位置および／または向きであると推定することを特徴とする。
本発明による第２のコイル位置測定装置は、被検体内に挿入され、単心コイルにより磁界を発生し移動可能なソースコイルと、センスコイルとして３次元空間上の異なる位置で、それぞれこの３次元空間に対して設定された各座標軸と同一の方向を向いて配置された第１、第２および第３の単心コイルと、前記第１、第２および第３の単心コイルの出力から前記ソースコイルの前記３次元空間の座標での位置および／または向きを推定する推定手段と、前記３次元位置空間上において、前記ソースコイルが存在する位置および／または向きを仮定し、前記ソースコイルがこの仮定した位置および／または向きである場合に発生すると想定される磁力に基づく前記第１および第２の単心コイルの出力を算出する第１の算出手段と、前記ソースコイルの発生する磁力を前記第１及び第２の単心コイルにより検出した検出出力と、前記算出手段で算出した算出出力とを比較し、比較した結果を更新値として算出する更新値算出手段と、を有し、前記仮定した位置および／または向きを、所定の順序で更新し、前記更新値算出手段による更新値が所定の値になったときの更新された位置および／または向きを、前記推定手段により前記ソースコイルの位置および／または向きであると推定することを特徴とする。
本発明による第３のコイル位置測定装置は、前記第１または第２のコイル位置測定装置において、前記推定されたソースコイルの位置および／または向きを、所定の順序による更新前の位置および／または向きであると仮定して、前記第１の算出手段で算出を行い、前記ソースコイルの位置および／または向きを更に推定することを特徴とする。
【００１５】
本発明による第１のコイル位置測定方法は、単心コイルにより磁界を発生するソースコイルの位置および／または向きを、センスコイルとして３次元空間上の異なる位置でそれぞれ異なる方向を向いて配置された第１および第２の単心コイルを用いて推定するコイル位置測定方法において、前記３次元位置空間上において、前記ソースコイルが存在する位置および／または向きを仮定し、前記ソースコイルがこの仮定した位置および／または向きである場合に発生すると想定される磁力に基づく前記第１および第２の単心コイルの出力を算出する第１の算出工程と、前記ソースコイルの発生する磁力を前記第１および第２の単心コイルで検出した検出出力と、前記算出工程で算出した算出出力とを比較し、比較した結果を更新値として算出する更新値算出工程と、を有し、前記仮定した位置および／または向きを、所定の順序で更新し、前記更新値算出工程で得られた更新値が所定の値になったときの更新された位置および／または向きを、前記ソースコイルの位置および／または向きであると推定することを特徴とする。
本発明による第２のコイル位置測定方法は、前記第１のコイル位置測定方法において、前記推定されたソースコイルの位置および／または向きを、所定の順序による更新前の位置および／または向きであると仮定して、前記第１の算出工程で算出を行い、前記ソースコイルの位置および／または向きを更に推定することを特徴とする。
【００１６】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態について述べる。
【００１７】
第１の実施の形態：
図１ないし図３９は本発明の第１の実施の形態に係わり、図１は内視鏡システムの構成を示す構成図、図２は図１の内視鏡装置形状検出装置の機能構成を示すブロック図、図３は図２の内視鏡装置形状検出装置の構成を示す構成図、図４は図３の内視鏡装置形状検出装置の要部である２ポートメモリ等の構成を示す構成図、図５は図４の２ポートメモリの動作を示すタイミング図、図６は図１の内視鏡システムの作用を示すフローチャート、図７は図６のＦＦＴ処理の流れを示すフローチャート、図８は図６の内視鏡システムの作用における並行処理タイミングを示すタイミング図、図９は図６のソースコイル推定位置座標算出処理の原理を説明する第１の説明図、図１０は図６のソースコイル推定位置座標算出処理の原理を説明する第２の説明図、図１１は図６のソースコイル推定位置座標算出処理の原理を説明する第３の説明図、図１２は図６のソースコイル推定位置座標算出処理の原理を説明する第４の説明図、図１３は図６のソースコイル推定位置座標算出処理の原理を説明する第５の説明図、図１４は図６のソースコイル推定位置座標算出処理の原理を説明する第６の説明図、図１５は図６のソースコイル推定位置座標算出処理の原理を説明する第７の説明図、図１６は図６のソースコイル推定位置座標算出処理の原理を説明する第８の説明図、図１７は図６のソースコイル推定位置座標算出処理の原理を説明する第９の説明図、図１８は図６のソースコイル推定位置座標算出処理の原理を説明する第１０の説明図、図１９は図６のソースコイル推定位置座標算出処理の原理を説明する第１１の説明図、図２０は図６のソースコイル推定位置座標算出処理の流れを示す第１のフローチャート、図２１は図６のソースコイル推定位置座標算出処理の流れを示す第２のフローチャート、図２２は図２０及び図２１により算出されたソースコイル推定位置に対する位置更新制御処理の流れを示すフローチャート、図２３は図６の内視鏡形状検出イメージ画像表示処理の流れを示すフローチャート、図２４は図２３の通常モード処理による表示例を示す図、図２５は図２３の拡大モード処理の流れを示すフローチャート、図２６は図２５の拡大モード処理による表示例を示す図、図２７は図６の内視鏡形状検出イメージ画像表示処理における３Ｄモデル１および３Ｄモデル２のイメージモデルを説明する第１の説明図、図２８は図２７の３Ｄモデル１および３Ｄモデル２のイメージモデルの表示処理を示すフローチャート、図２９は図６の内視鏡形状検出イメージ画像表示処理における３Ｄモデル１および３Ｄモデル２のイメージモデルを説明する第２の説明図、図３０は図２９の色調補正処理の流れを示す第１のフローチャート、図３１は図３０の色調補正処理の作用を説明する第１の説明図、図３２は図２９の色調補正処理の流れを示す第２のフローチャート、図３３は図３０の色調補正処理の作用を説明する第２の説明図、図３４は図６の内視鏡形状検出イメージ画像表示処理における２Ｄモデルのイメージモデルの表示処理を示すフローチャート、図３５は図３４による処理で表示される内視鏡形状検出イメージ画像の表示例を示す図、図３６は図６の内視鏡形状検出イメージ画像表示処理における１２点モデルのイメージモデルの表示処理を示すフローチャート、図３７は図３６による処理で表示される内視鏡形状検出イメージ画像の表示例を示す図、図３８は図６の内視鏡形状検出イメージ画像表示処理における直線モデルのイメージモデルの表示処理を示すフローチャート、図３９は図３８による処理で表示される内視鏡形状検出イメージ画像の表示例を示す図である。
【００１８】
（構成）
図１に示すように、本実施の形態の内視鏡システム１は、内視鏡検査を行う内視鏡装置２と、内視鏡検査の補助に用いられる内視鏡装置形状検出装置３とを備え、この内視鏡形状検出装置３は、ベット４に横たわる患者５の体腔内に電子内視鏡６の挿入部７を挿入し、内視鏡検査を行う際の挿入補助手段として使用される。
【００１９】
電子内視鏡６は、可撓性を有する細長の挿入部７の後端に湾曲操作ノブを設けた操作部８が形成され、この操作部８からユニバーサルコード９が延出され、ビデオイメージングシステム（またはビデオプロセッサ）１０に接続されている。
【００２０】
この電子内視鏡６は、ライトガイドが挿通されビデオプロセッサ１０内の光源部からの照明光を伝送し、挿入部７の先端に設けた照明窓から伝送した照明光を出射し、患者等を照明する。照明された患部等の被写体は照明窓に隣接して設けられた観察窓に取り付けた対物レンズにより、その結像位置に配置された撮像素子に像を結び、この撮像素子は光電変換する。
【００２１】
光電変換された信号はビデオプロッセサ１０内の映像信号処理部により信号処理されて標準的な映像信号が生成され、ビデオプロセッサ１０に接続された画像観察用モニタ１１に表示される。
【００２２】
この電子内視鏡６には鉗子チャンネル１２が設けてあり、この鉗子チャンネル１２の挿入口１２ａから例えば１６個の磁気発生素子（またはソースコイル）１４ａ、１４ｂ、…、１４ｐ（以下、符号１４ｉで代表する）を有するプローブ１５が挿通されることにより、挿入部７内にソースコイル１４ｉが設置される。
【００２３】
このプローブ１５の後端から延出されたソースケーブル１６は、その後端のコネクタが内視鏡形状検出装置３の装置本体２１に着脱自在に接続される。そして、装置本体２１側から高周波信号伝達手段としてソースケーブル１６を介して磁気発生手段となるソースコイル１４ｉに高周波信号（駆動信号）を印加することにより、ソースコイル１４ｉは磁界を伴う電磁波を周囲に放射する。
【００２４】
また、患者５が横たわるベット４には、共通の中心を持ち、同一直線上に同一方向に磁界を検出する少なくとも４つの単心コイル２２ｋを並べた磁気検出素子（またはセンスコイル）、例えば４つのセンスコイル２２ａ、２２ｂ、２２ｃ、２２ｄ（以下、２２ｊで代表する）を、センスコイル２２ａ及びセンスコイル２２ｂを平行に、かつセンスコイル２２ｃ及びセンスコイル２２ｄをセンスコイル２２ａ及びセンスコイル２２ｂと直交した状態の井げた状の位置に設置している。この場合、単心コイル２２ｋは全部で１６個となる。
【００２５】
センスコイル２２ｊは、ベット４のコネクタから検出信号伝達手段としてのセンスケーブル２３を介して装置本体２１に接続されている。この装置本体２１には使用者が装置を操作するための操作パネル２４またはキーボード等が設けられている。また、この装置本体２１には検出した内視鏡形状を表示する表示手段としてモニタ２５が接続されている。
【００２６】
さらに、内視鏡形状検出装置３の詳細な構成について説明する。内視鏡形状検出装置３は、図２に示すように、ソースコイル１４ｉを起動する駆動ブロック２６と、センスコイル２２ｊが受信した信号を検出する検出ブロック２７と、検出ブロック２７で検出した信号を信号処理するホストプロセッサ２８とから構成される。
【００２７】
図３に示すように、電子内視鏡６の挿入部７に設置されるプローブ１５には、上述したように、磁界を生成するための１６個のソースコイル１４ｉが所定の間隔で配置されており、これらソースコイル１４ｉは、駆動ブロック２６を構成する１６個の互いに異なる高周波の駆動信号を生成するソースコイル駆動回路３１に接続されている。
【００２８】
ソースコイル駆動回路部３１は、各ソースコイル１４ｉをそれぞれ異なる周波数の正弦波の駆動信号電流で駆動し、それぞれの駆動周波数はソースコイル駆動回路部３１内部の図示しない駆動周波数設定データ格納手段或いは駆動周波数設定データ記憶手段に格納された駆動周波数設定データ（駆動周波数データとも記す）により設定される。この駆動周波数データは、ホストプロセッサ２８において内視鏡形状の算出処理等を行うＣＰＵ（中央処理ユニット）３２によりＰＩＯ（パラレル入出力回路）３３を介してソースコイル駆動回路部３１内の駆動周波数データ格納手段（図示せず）に格納される。
【００２９】
一方、４つのセンスコイル２２ｊを構成する１６個の単心コイル２２ｋは、検出ブロック２７を構成するセンスコイル信号増幅回路部３４に接続されている。
【００３０】
図４に示すように、センスコイル信号増幅回路部３４では、単心コイル２２ｋが１個につき１系統設けられた増幅回路３５ｋに接続されており、各単心コイル２２ｋで検出された微小な信号が増幅回路３５ｋにより増幅されフィルタ回路３６ｋでソースコイル群が発生する複数周波数が通過する帯域をもち不要成分を除去して出力バッファ３７ｋに出力された後、ＡＤＣ（アナログ・デジタル・コンバータ）３８ｋでホストプロセッサ２８が読み込み可能なデジタル信号に変換される。
【００３１】
なお、検出ブロック２７は、センスコイル信号増幅回路部３４及びＡＤＣ３８ｋより構成され、センスコイル信号増幅回路部３４は増幅回路３５ｋ、フィルタ回路３６ｋ及び出力バッファ３７ｋより構成される。
【００３２】
図３に戻り、このセンスコイル信号増幅回路部３４の１６系統の出力は、１６個の前記ＡＤＣ３８ｋに伝送され、制御信号発生回路部４０から供給されるクロックにより所定のサンプリング周期のデジタルデータに変換される。このデジタルデータは、制御信号発生回路部２７からの制御信号によりローカルデータバス４１を介して２ポートメモリ４２に書き込まれる。
【００３３】
なお、２ポートメモリ４２は、図４に示すように、機能的には、ローカルコントローラ４２ａ、第１のＲＡＭ４２ｂ、第２のＲＡＭ４２ｃ及びバススイッチ４２ｄよりなり、図５に示すようなタイミングにより、ローカルコントローラ４２ａからのＡ／Ｄ変換開始信号によりＡＤＣ３８ｋがＡ／Ｄ変換を開始し、ローカルコントローラ４２ａからの切り換え信号によりバススイッチ４２ｄがＲＡＭ４２ｂ、４２ｃを切り換えながら第１ＲＡＭ４２ｂ、４２ｃを交互に読み出しメモリ及び書き込みメモリとして用い、書き込み信号により、電源投入後は、常時データの取り込みを行っている。
【００３４】
再び、図３に戻り、ＣＰＵ３２は、制御信号発生回路部２７からの制御信号により２ポートメモリ４２に書き込まれたデジタルデータをローカルデータバス４３、ＰＣＩコントローラ４４及びＰＣＩバス４５（図４参照）からなる内部バス４６を介して読みだし、メインメモリ４７を用い、後述するように、デジタルデータに対して周波数抽出処理（フーリエ変換：ＦＦＴ）を行い、各ソースコイル１４ｉの駆動周波数に対応する周波数成分の磁界検出情報に分離抽出し、分離した磁界検出情報の各デジタルデータから電子内視鏡６の挿入部７内に設けられた各ソースコイル１４ｉの空間位置座標を算出する。
【００３５】
また、算出された位置座標データから電子内視鏡６の挿入部７の挿入状態を推定し、内視鏡形状画像を形成する表示データを生成し、ビデオＲＡＭ４８に出力する。このビデオＲＡＭ４８に書き込まれているデータをビデオ信号発生回路４９が読みだし、アナログのビデオ信号に変換してモニタ２５へと出力する。モニタ２５は、このアナログのビデオ信号を入力すると、表示画面上に電子内視鏡６の挿入部７の挿入形状を表示する。
【００３６】
ＣＰＵ３２において、各ソースコイル１４ｉに対応した磁界検出情報、すなわち、各センスコイル２２ｊの４つの単心コイル２２ｋに発生する起電力（正弦波信号の振幅値）と位相情報が算出される。なお、位相情報は、起電力の極性±を示す。
【００３７】
（作用）
ソースコイルの存在する空間をセンスコイルの出力から推定する手法と直交する２つのセンスコイル、平行な２つのセンスコイルからソースコイルの３次元位置を推定する手法は、特願平９−１４０６０３号の実施の形態と同一である。
【００３８】
本実施の形態では、空間上に配置された４つのセンスコイルのうち、ソースコイルの存在する空間を精度良く推定しているセンスコイルを複数抽出し、抽出されたセンスコイルからソースコイルの３次元位置を推定する手法について説明する。
【００３９】
本実施の形態の内視鏡システム１では、電源が投入されると、図６に示すように、ステップＳ１でパラメータファイルに基づき各システムパラメータを初期化し、ステップＳ２でハードウエアの初期化を行う。
【００４０】
電源投入後は、２ポートメモリ４２にはＦＦＴ処理を行うためのＦＦＴポイント数分のデータが常時更新されており（図５参照）、ステップＳ３で、ＣＰＵ３２は、このＦＦＴポイント数分のデータを取り込む。そして、ステップＳ４で窓関数法による処理によりデータの補正を行い、ステップＳ５で後述するＦＦＴ処理を行う。ＦＦＴ処理後は、ステップＳ６で駆動周波数分の周波数成分を抽出し、ステップＳ７で振幅値及び位相差を算出し、ステップＳ８で算出した振幅値及び位相差の補正を行う。
【００４１】
そして、ステップＳ９で８個の前記ＡＤＣ３８ｋからの信号（以下、チャンネル：ＣＨとも記す）の検出が全て終了したか判断し、終了していなければステップＳ３に戻り、終了していればステップＳ１０でセンスコイル特性に応じて全ＣＨ分の振幅値を補正し、ステップＳ１１で全ＣＨ分の振幅値及び位相差により後述する方法によりソースコイル１４ｉの推定位置座標を算出する。
【００４２】
その後、ステップＳ１２で内視鏡システム１のシステム終了ＳＷがオンかどうか判断し、オンでないならば、ステップＳ１３で後述する内視鏡形状検出イメージ画像表示処理を行い、ステップＳ３に戻り処理を繰り返す。また、ステップＳ１２で内視鏡システム１のシステム終了ＳＷがオンされると、ステップＳ１４で各システムパラメータをパラメータファイルに保存した後、システムを終了する。
【００４３】
ステップＳ５でのＦＦＴ処理では、図７に示すように、ＣＰＵ３２は、ステップＳ２１で全ＣＨがシグナル状態（ＦＦＴポイント数分のデータが揃った状態）かどうか判断し、シグナル状態ならばステップＳ２２に進み、シグナル状態でないならばステップＳ２３でシグナル状態になるまで待機しステップＳ２２に進む。
【００４４】
ステップＳ２２では、ＦＦＴ処理を行うＣＨのビットの状態（ビットが０ならば今回処理のためのデータ、ビットが１ならば処理済みのデータ）を判断し、ビットが０ならばステップＳ２４でＦＦＴを行い、ＦＦＴ後ステップＳ２５でビットの状態を１とする。ステップＳ２２でビットが１ならばステップＳ２１に戻り、次の第２以降のＣＨ全てに対して処理を繰り返し全てのＣＨのＦＦＴ処理を行う。
【００４５】
ステップＳ２５後のステップＳ２６では、全てのＣＨのビット状態が１かどうか判断し、全てのＣＨのビット状態が１でない場合は、ビット状態が１でないＣＨに対してＦＦＴ処理を行うためにステップＳ２１に戻る。ステップＳ２６で全てのＣＨのビット状態が１と判断すると、ステップＳ２７で全ＣＨをノンシグナル状態とし待機し、ＦＦＴポイント数分のデータが揃うとステップＳ２８でシグナル状態にセットし、ステップＳ２１に戻る。
【００４６】
なお、図６の処理では、高速処理を行うために、図８に示すように、各処理単位を並列処理化するようにしている。特に、処理時間が長く繰り返し演算であるＦＦＴについては、同じ処理単位をほぼ同時に処理する構成にしている。この並列処理化の対応によりＣＰＵ３２の空き時間を有効に使用し高速化を図っている。
【００４７】
上述したように、ＣＰＵ３２において、フーリエ変換に基づく周波数抽出処理を実現する。ここでは、各ソースコイル１４ｉを駆動する正弦波の周波数ｆｉ  とデジタルデータの打ち切り幅との関係により生ずる漏れ（ｌｅａｋａｇｅ）と呼ばれる現象が問題となる。
【００４８】
もし、サンプリングするデジタルデータの打ち切り幅（すなわち、信号列の長さに相当する）がすべての駆動周波数ｆｉの周期に対して整数倍であれば、各周波数の正弦波の振幅及び位相情報（いわゆる振幅スペクトル及び位相スペクトル）を正確に求めることが可能である。しかし、打ち切り幅が少なくともいずれか１つの駆動周波数ｆｉの周期に対して整数倍でなければ漏れが発生し、算出する振幅及び位相情報に誤差として反映される。これを防ぐため、一般的にはＨａｍｍｉｎｇ窓等による窓関数法が用いられる（参考文献：ＴＨＥ  ＦＡＳＴ  ＦＯＵＲＩＥＲ  ＴＲＡＮＳＦＯＲＭ  Ｅ．ＯＲＡＮ  ＢＲＩＧＨＡＭ  Ｓｅｃ．６）。
【００４９】
しかしながら、前記窓関数法はあくまで漏れによる誤差を軽減しているものであるにすぎない。また、駆動周波数として漏れの影響がなるべく小である値を使用する必要があり、これが制約となる場合もある。
【００５０】
以下に図６のステップＳ６おける、漏れによる影響を簡便な行列演算により積極的に補正し、より高精度な振幅及び位相情報を得ることを可能とする周波数抽出処理について説明する。
【００５１】
なお、簡単のため、フーリエ変換結果に対する正規化及び窓関数（矩形窓等）に対する係数倍での補償はすでになされているものとする。
【００５２】
ある周波数ｆｋ  の正弦波からなる信号列のフーリエ変換（ここでは複素離散的フーリエ変換とする）Ｆｋ  は
【数１】
0003571675.tif 000002
で表される。ここで、Ｎはサンプリングした離散信号列の長さ、ｊは虚数単位である。Ｆｋ  は実数倍Ｒｅ｛Ｆｋ  ｝及び虚数倍Ｉｍ｛Ｆｋ  ｝からなっている。
【００５３】
一方、前述したデジタルデータの打ち切り幅が駆動周波数ｆｉの周期の整数倍であるという条件は、離散的フーリエ変換により観測される周波数ｆｓｉ  と駆動周波数ｆｉとが等しいということに相当する。この条件が満たされない場合には、観測周波数ｆｓｉ  と駆動周波数ｆｉとの間に誤差が生ずる（すなわち、周波数ｆｉは観測できない）こととなる。もしすべての観測周波数ｆｓｉ  と駆動周波数ｆｉとが等しい関係にあれば、打ち切り幅はすべての駆動周波数ｆｉ  の周期に対して整数倍となっているため漏れは発生しない。
【００５４】
ここでは、観測周波数ｆｓｉ  において得られたフーリエ変換Ｆｓｉ  から本来求めるべき駆動周波数ｆｉのフーリエ変換Ｆｉを導出する方法について示す。
【００５５】
サンプリングしたデジタルデータによる信号列が、それぞれ駆動周波数ｆｉ（ｉ＝１，２，…，Ｍ）であるＭ個の正弦波により構成されている場合、観測周波数ｆｓｉ  及び駆動周波数ｆｉの各フーリエ変換の関係は、
【数２】
0003571675.tif 000003
と表すことができる。式（２）において、Ａは、Ｒｅ｛Ｆ１  ｝、Ｉｍ｛Ｆ１  ｝ないしＲｅ｛ＦＭ  ｝、Ｉｍ｛ＦＭ  ｝の間における漏れの量を規定する係数列から構成される大きさ２Ｍ×２Ｍの行列である。
【００５６】
ここで、式（２）をあらためて
【数３】
Ｙ＝Ａ・Ｘ                …（３）
とする。式（３）において、行列Ｘ及びＹは、それぞれ駆動周波数ｆｉ  及び観測周波数ｆｓｉ（ｉ＝１，２，…，Ｍ）のフーリエ変換の実数倍及び虚数部からなる大きさ２Ｍ×１の行列である。行列Ｘにおいて、
【数４】
Ｘ＝Ｘ１  ＝［１，０，０，０，…，０，０，０］ｔ            …（４）
（ｔは転置を表す）となるのは、信号列が駆動周波数ｆ１  、位相がπ／２ずれた振幅１の正弦波（すなわち余弦波）のみにより構成されている場合である。また、
【数５】
Ｘ＝Ｘ２  ＝［０，１，０，０，…，０，０，０］ｔ            …（５）
となるのは、信号列が駆動周波数ｆ１  、位相が０である正弦波のみにより構成されている場合である。
【００５７】
同様に
【数６】
Ｘ＝Ｘ３  ＝［０，０，１，０，…，０，０，０］ｔ  ，
Ｘ＝Ｘ４  ＝［０，０，０，１，…，０，０，０］ｔ  ，
：
：
Ｘ＝Ｘ２Ｍ−１＝［０，０，０，０，…，０，１，０］ｔ  ，
Ｘ＝Ｘ２Ｍ  ＝［０，０，０，０，…，０，０，１］ｔ            …（６）
は信号列としてそれぞれ駆動周波数ｆｉ  （ここではｉ＝２，３，…，Ｍ）、位相のずれがπ／２または０である振幅１の正弦波を与えることにより発生するものである。
【００５８】
一方、行列Ｘ１  ，Ｘ２  ，…，Ｘ２Ｍをそれぞれ式（３）に与えたときに得られる行列ＹをそれぞれＹ１  ，Ｙ２  ，…，Ｙ２Ｍとする。行列Ｙ１  ないしＹ２Ｍは、それぞれ本来行列Ｘ１  ないしＸ２Ｍとして得られるはずの信号列によるデジタルデータを与えたときの、漏れ（この場合、行列Ｘにおいて０となる項に０以外の値が生ずる、１であるべき値が他の値となる等）をともなう観測値である。これらの行列Ｙ＝Ｙ１  ，Ｙ２  ，…，Ｙ２Ｍは行列Ａの各列を構成する項に他ならないため、
【数７】
Ａ＝［Ｙ１  ，Ｙ２  ，Ｙ３  ，…，Ｙ２Ｍ］          …（７）
であることがわかる。
【００５９】
以上をまとめると、駆動周波数ｆｉ  のフーリエ変換Ｆｉ  （本来、振幅及び位相情報の算出に用いられるべき周波数抽出情報）からなる行列Ｘは、
【数８】
Ｘ＝Ａ−１・Ｙ                  …（８）
として示される、観測周波数ｆｓｉのフーリエ変換Ｆｓｉからなる行列Ｙに対する行列Ａの逆行列Ａ−１の乗算により求められ、行列Ａは前述のように行列Ｘ＝Ｘ１  ，Ｘ２  ，Ｘ３  ，…，Ｘ２Ｍとなるべき信号列を与えたときそれぞれ得られる行列Ｙ＝Ｙ１  ，Ｙ２  ，Ｙ３  ，…，Ｙ２Ｍから構成することが可能である。
【００６０】
したがって、あらかじめ求めた行列Ａの逆行列Ａ−１を、信号列のフーリエ変換から得られる行列Ｙに乗ずることで、より正確な周波数情報の抽出が可能となり、ひいてはソースコイル１４ｉに対する高精度な位置推定が達成できる。
【００６１】
また、フーリエ変換及び行列Ａ−１の乗算を同時に実行する大きさ２Ｍ×Ｎの行列Ｑを作成しておき、長さＮ×１のデジタルデータに直接乗ずることにより行列Ｘを求めることも可能である。
【００６２】
これにより、内視鏡形状検出装置におけるソースコイル位置推定の高精度化が達成されるとともに、駆動周波数の選択における自由度が向上する。
【００６３】
次に、図６のステップＳ１１でのソースコイル推定位置座標算出処理について説明する。まず、ソースコイル推定位置座標の算出方法を説明し、その後に具体的な処理内容を説明する。
【００６４】
図９に示すように、半径が極めて小さく薄い円形コイルでは、特開平９−８４７４５号公報に記載されているように、円形コイルに電流を流すと磁気双極子と同様に、３次元空間上の点Ｐの磁位は次のような式で表すことができる。
【００６５】
【数９】
0003571675.tif 000004
μ  ：透磁率
Ｎ１  ：円形コイルの巻数
ａ  ：円形コイルの半径
Ｉ  ：円形コイルに流れる電流
従って、点ＰにおけるＸ，Ｙ，Ｚ軸と同一方向の磁界（ＨＰｘ、ＨＰｙ、ＨＰｚ）は、
【数１０】
0003571675.tif 000005
のように求められる。
【００６６】
図１０に示すような３次元空間（以下ワールド座標系ＸＷ  −ＹＷ  −ＺＷ）において、磁界を発生する単心コイル（以下ソースコイル）の位置を（ｘｇＷ、ｙｇＷ、ｚｇＷ）とし、３次元空間上の任意の位置を点Ｐ（ｘＰＷ、ｙＰＷ、ｚＰＷ）とする。
【００６７】
ソースコイルを基準とした座標系をローカル座標系ＸＬ  −ＹＬ  −ＺＬ  とすると、ローカル座標系における点Ｐの座標（ｘＰｌ、ｙＰｌ、ｚＰｌ）は
【数１１】
0003571675.tif 000006
Ｐｌ    ：ローカル座標系における原点Ｏから点Ｐへのベクトル
ＰＷ  ：ワールド座標系における原点Ｏから点Ｐへのベクトル
ＧＷ  ：ワールド座標系におけるソースコイルの位置へのベクトル
Ｒ：回転マトリックス
と表すことができる。
【００６８】
但し、Ｒは回転マトリックスで、図１１に示す極座標系の回転マトリックスＲは
【数１２】
0003571675.tif 000007
となる。αはＺＷ  軸を中心とした回転量を、βはＸＷ  軸を中心とした回転量を示す。
【００６９】
ソースコイルを基準としたローカル座標系において、点Ｐに発生する磁界Ｈｌ  （ＨＰｘｌ  、ＨＰｙｌ  、ＨＰｚｌ  ）は式（１０）より
【数１３】
0003571675.tif 000008
となる。
【００７０】
従って、ワールド座標系の点ＰにおけるＸＷ  、ＹＷ  、ＺＷ  軸と同一方向の磁界ＨＷ  （ＨＰｘＷ  、ＨＰｙＷ  、ＨＰｚＷ  ）は、
【数１４】
0003571675.tif 000009
となる。
【００７１】
図１２に示すように、ソースコイルを３次元空間上の適当な位置（Ｘｇ  、Ｙｇ  、Ｚｇ  ）に、ソースコイルによって発生する磁界を起電力として検出するＹ軸上にＹ軸と同一な方向に向いた単心コイル（以下センスコイル）を位置（Ｘｄ  、Ｙｄ  、Ｚｄ  ）におくとセンスコイルの位置の磁界Ｈｙ  は式（１４）より
【数１５】
0003571675.tif 000010
となる。
【００７２】
さらに、センスコイルに発生する起電力Ｖｙ  は、磁界Ｈｙ  を時間ｔで偏微分することにより、次のような式で表される。
【００７３】
【数１６】
0003571675.tif 000011
Ｎ２  ：センスコイルの巻数
ωＩｍａｘ  ｃｏｓ（ωｔ＋φ）：ソースコイルに流す電流Ｉｍａｘ  ｓｉｎ（ωｔ＋φ）を時間ｔで微分した値
また、図１３に示すように、Ｙ軸を中心に円を描き、ソースコイルを円周に沿って移動させたとき、センスコイルには常に一定の起電力が発生する。ただし、Ｙ軸より見たセンスコイルの向きは常に同一とする。
【００７４】
このとき、センスコイルをＹ軸上に複数並べることにより、ソースコイルが存在する空間、すなわち、Ｙ軸を中心とした円を推定することができる。
【００７５】
図１４に示すように、Ｙ軸上に４つのセンスコイルを置き、Ｙ軸とソースコイルの位置によって構成される平面γの座標系をＸ’−Ｙ’とすると、各センスコイルに発生する起電力Ｖｙｉは
【数１７】
0003571675.tif 000012
となる。ただし、ｇｘ  、ｇｙ  は平面γとソースコイルの向きによって表される項、ｘｄｉ、ｙｄｉは座標系Ｘ’−Ｙ’でのセンスコイルの位置、ｘｇ  ’、ｙｇ  ’はソースコイルの位置を表す。
【００７６】
式（１７）が４つの未知数（ｇｘ  、ｇｙ  、ｘｇ  ’、ｙｇ  ’）によって表されることから、Ｙ軸上に同一な向きに少なくとも４つセンスコイル並べることにより４つの方程式が得られ、方程式を解くことによって座標系Ｘ’−Ｙ’でのソースコイルの位置が求められる。
【００７７】
詳細には、図１５に示すように、３次元空間上に磁界を発生するソースコイルを適当な位置に、Ｙ軸上に４つのセンスコイルを置く。ソースコイルと４つのセンスコイルによって構成される平面γをＸ’−Ｙ’平面とし、そのときのソースコイルの位置を（ｘｇ  、ｙｇ  ）、各センスコイルの位置を（ｘｄ０  、ｙｄ０）、  （ｘｄ１、ｙｄ１）、（ｘｄ２、ｙｄ２）、（ｘｄ３、ｙｄ３）とする。
【００７８】
各センスコイルＣｓ０、Ｃｓ１、Ｃｓ２、Ｃｓ３に発生する起電力Ｖｙ０、Ｖｙ１、Ｖｙ２、Ｖｙ３は、式（１７）より次のようになる。
【００７９】
【数１８】
0003571675.tif 000013
【数１９】
0003571675.tif 000014
【数２０】
0003571675.tif 000015
【数２１】
0003571675.tif 000016
ただし、ｋｓｉ（ｉ＝０，１，２，３）は、ソースコイルの電流量と、各センスコイルの巻数等により決定される定数。
【００８０】
式（１９）、（２０）を行列で表すと
【数２２】
0003571675.tif 000017
となり、センスコイルとソースコイルの位置で表される項を行列Ａで表す。
【００８１】
【数２３】
0003571675.tif 000018
クラーメルの方程式から行列Ａの逆行列Ａ−１を求めると
【数２４】
0003571675.tif 000019
となり、ｇｘ  、ｇｙ  は次のように計算できる。
【００８２】
【数２５】
0003571675.tif 000020
逆行列Ａ−１を計算し、ｇｘ  、ｇｙ  を式（１８）、（２１）に代入すると
【数２６】
0003571675.tif 000021
【数２７】
0003571675.tif 000022
となる。ただし、
【数２８】
0003571675.tif 000023
である。
【００８３】
式（２６）、（２７）は、ｘｇ  、ｙｇ  を未知数とする非線形方程式となる。この２つの非線形方程式に対し、ニュートン法を適用しｘｇ  、ｙｇ  を求める。
【００８４】
実際にセンスコイルに発生する起電力をＶｙ０’、Ｖｙ３’、式（２６）、（２７）のＶｙ０、Ｖｙ３を推定値とすると、それぞれの差分値は
【数２９】
ｆ１  （Ｘｇ  、Ｙｇ  ）＝Ｖｙ０−Ｖｙ０’        …（２９）
【数３０】
ｆ２  （Ｘｇ  、Ｙｇ  ）＝Ｖｙ３−Ｖｙ３’          …（３０）
となる。式（２９）、（３０）において、センスコイルに発生する起電力Ｖｙ０’、Ｖｙ３’が正確に測定され、推定値Ｖｙ０、Ｖｙ３のｘｇ  、ｙｇ  がソースコイルの位置と完全に一致した場合、式（２９）、（３０）の右辺の値は０になる。
【００８５】
そこで、ソースコイルの位置を推定するために、ｆ１  ＝０、ｆ２  ＝０を満たすｘｇ  、ｙｇ  を求める。
【００８６】
ｆ１  、ｆ２  をｘｇ、ｙｇ  で偏微分すると、ヤコビ行列Ｊは
【数３１】
0003571675.tif 000024
となる。
【００８７】
ヤコビ行列Ｊの逆行列Ｊ−１をクラーメルの方程式から求め、行列Ｃとおく。
【００８８】
【数３２】
0003571675.tif 000025
ニュートン法は
Χ（ｋ＋１）  ＝Χ（ｋ）  −ΔΧ（ｋ）
で定義される非線形方程式ｆ（Χ）＝０の反復解法であり、修正量ΔΧ（ｋ）をｆ（Χ）のΧ＝Χ（ｋ）  付近での線形近似に基づいて定める。
【００８９】
ΔΧ（ｋ）  ＝Ｊ−１（Χ（ｋ）  ）ｆ（Χ（ｋ）  ）
いま、ｘｇ  、ｙｇ  の適当な初期値をｘｇ０、ｙｇ０とするとｘｇ  、ｙｇの近似値ｘｇ１、ｙｇ１は
【数３３】
ｘｇ１＝ｘｇ０−｛ｃ００ｆ１（ｘｇ０、ｙｇ０）＋ｃ０１ｆ２  （ｘｇ０、ｙｇ０）｝  …（３３）
【数３４】
ｙｇ１＝ｙｇ０−｛ｃ１０ｆ１（ｘｇ０、ｙｇ０）＋ｃ１１ｆ２  （ｘｇ０、ｙｇ０）｝  …（３４）
のように求めることができる。
【００９０】
ｘｇ１、ｙｇ１を式（２９）、（３０）に代入し、ｆ１  、ｆ２  の値が０にならなければ式（３３）、（３４）のｘｇ０、ｙｇ０にｘｇ１、ｙｇ１を代入しｘｇ２、ｙｇ２を求め、再びｆ１  、ｆ２  を計算する。この操作を繰り返すことにより、ｆ１  、ｆ２  が０に近づき、ｘｇ  、ｙｇ  が求められる。
【００９１】
なお、ニュートン法によって非線形方程式を解いたが、最小２乗法等の手法を用いてもよい。
【００９２】
単心コイルを少なくとも４つ同一直線上に同一な向きに並べたセンスコイルの出力値から、センスコイルとソースコイルにより構成される平面上のソースコイルの位置を推定することができる。すなわち、３次元空間においてソースコイルが存在する空間（円）が推定される。
【００９３】
従って、空間上に単心コイルを同一直線上に同一な向きに少なくとも４つ並べたセンスコイルを、少なくとも２つ配置することにより、ソースコイルの３次元位置を推定することができる（空間上の２つの円の交点として求められる）。
【００９４】
センスコイル２２ｋは４つの単心コイルによって構成されており、次に、センスコイルの４つの単心コイルのうち最大出力値を発生する単心コイルの出力値を取り出し、各センスコイルの最大出力値の大きい２つのセンスコイルを選択する。
【００９５】
選択された２つのセンスコイルの配置の条件、すなわち、直交または平行に応じてソースコイルの３次元位置を推定する。
【００９６】
本実施の形態では、空間上の２つの円の交点または２つの円周上の点を結ぶ距離が最も短くなる各円周上の点を求める（ノイズ等により２つの円が交点をもたない場合がある）。
【００９７】
まず、選択された２つのセンスコイルが直交して配置された場合について説明する。図１６に示すように、ソースコイルを適当な位置に、センスコイルをＸ軸、Ｙ軸上にそれぞれおくと、各センスコイルの出力値からソースコイルが存在する円Ｃ１  、Ｃ２  が求められる。
【００９８】
Ｃ１  が平面ｘ＝ａ１  上に存在し中心（ａ１  、０、０）、半径ｒ１  の円、Ｃ２  が平面ｙ＝ｂ２  上に存在し中心（０、ｂ２  、０）、半径ｒ２  の円とすると、
【数３５】
Ｃ１  ：（ｘ−ａ１  ）２  ＋ｙ２  ＋ｚ２  ＝ｒ１２                …（３５）
【数３６】
Ｃ２  ：ｘ２  ＋（ｙ−ｂ２  ）２  ＋ｚ２  ＝ｒ２２                …（３６）
となる。
【００９９】
一方、図１７に示すように、任意の点Ｐ（ｘ１  、ｙ１  、ｚ１  ）から平面ｙ＝ｂ２  に垂直に下ろしたときの点Ｑの座標は
（ｘ１  、ｂ２  、ｚ１  ）
である。
【０１００】
点Ｑと円Ｃ２  の中心（０、ｂ２  、０）を通過する平面ｙ＝ｂ２  上に存在する直線ｍは実変数ｔを用いて
【数３７】
ｘ＝ｘ１  ＋ｔｘ１
ｙ＝ｂ２
ｚ＝ｚ１  ＋ｔｚ１                …（３７）
と表される。式（３５）を円Ｃ２  の方程式（３６）に代入すると
【数３８】
（ｘ１  ＋ｔｘ１  ）２  ＋（ｚ１  ＋ｔｚ１  ）２  ＝ｒ２２            …（３８）
となり、ｔは次のようになる。
【０１０１】
【数３９】
0003571675.tif 000026
直線ｍと円Ｃ２  の交点は２点存在するが、ここでは、ｔ＞０の場合を考える。式（３９）を式（３７）に代入すると
【数４０】
0003571675.tif 000027
となる。式（４０）は、図１７に示すように点Ｐに最も近い円Ｃ２  上の点Ｐ’を表す。
【０１０２】
このとき、図１８に示すように、点Ｐ（ｘ１  、ｙ１  、ｚ１  ）が円Ｃ１  上にあるならば
【数４１】
ｘ１  ＝ａ１
ｙ１  ＝ｒ１  ｃｏｓθ
ｚ１  ＝ｒ１  ｓｉｎθ            …（４１）
であり、これを式（４０）に代入して
【数４２】
0003571675.tif 000028
となる。
【０１０３】
円Ｃ１  上の点と円Ｃ２  の上の点の距離の２乗Ｄは
【数４３】
0003571675.tif 000029
であり、（４３）式をθについて微分すると
【数４４】
0003571675.tif 000030
となる。
【０１０４】
式（４４）を０にする条件は
ｓｉｎθ＝０
（２円が交点を持たず、ｒ１  ＜ａ１  かつｒ１  ＜ｂ２  または、ｒ１  ＜ｂ２  または、ｒ２  ＜ａ１  の場合）
または
【数４５】
0003571675.tif 000031
である。
【０１０５】
したがって、式（４５）を満たすθは、
【数４６】
0003571675.tif 000032
となり、式（４６）および式（４０）、（４１）から各円Ｃ１  、Ｃ２  の円周上の点の座標を求めることができる。
【０１０６】
円Ｃ１  上の点を（ｘｃ１、ｙｃ１、ｚｃ１）、円Ｃ２  の点を（ｘｃ２、ｙｃ２、ｚｃ２）とすると、ソースコイルの位置（ｘｇ、ｙｇ、ｚｇ）を例えば、各座標値の平均値として求める。
【０１０７】
【数４７】
0003571675.tif 000033
したがって、単心コイルを同一直線上に同一な向きに４つ並べたセンスコイルを２つ用いることにより、空間上のソースコイルの位置を推定できる。
【０１０８】
次に、選択された２つのセンスコイルが平行に配置された場合について説明する。図１９に示すように、各センスコイルを平行に並べることによりソースコイルの位置を推定する。いま、センスコイルにより得られる円Ｃ１  を
【数４８】
ｘ＝ａ１
ｙ＝ｂ１  ＋ｒ１  ｃｏｓθ
ｚ＝ｒ１  ｓｉｎθ                    …（４８）
また、円Ｃ２  を
【数４９】
ｘ＝ａ２
ｙ＝ｂ２  ＋ｒ２  ｃｏｓφ
ｚ＝ｒ２  ｓｉｎφ                    …（４９）
と表す。Ｃ１  上の点をＰ１  （ｘ１  、ｙ１  、ｚ１  ）、Ｃ２  上の点をＰ２  （ｘ２  、ｙ２  、ｚ２  ）とすると、円Ｃ１  、Ｃ２  上の点が交わる又は最も接近するときの条件は
【数５０】
ｙ１  ＝ｙ２  かつｚ１  ＝ｚ２                …（５０）
となる。
【０１０９】
条件式（５０）に式（４８）、（４９）を代入し
【数５１】
ｂ１  ＋ｒ１  ｃｏｓθ＝ｂ２  ＋ｒ２  ｃｏｓθ      …（５１）
【数５２】
ｒ１  ｓｉｎθ＝ｒ２  ｓｉｎφ              …（５２）
式（５２）の両辺を２乗すると
ｒ１２（１−ｃｏｓ２θ）＝ｒ２２（１−ｃｏｓ２  φ）
となり、式（５１）を代入し整理する。
【０１１０】
【数５３】
0003571675.tif 000034
式（４８）と式（５３）、式（４９）と式（５２）、（５３）からに、円Ｃ１、Ｃ２  の交点（ａ１  ＝ａ２  ）または最も接近する２点を求めることができる。
【０１１１】
円Ｃ１  、Ｃ２  上の最も接近した２点が求められた場合、直交して配置された場合で示したように、Ｘ軸方向の成分は平均をとることで１つの座標値を推定する（Ｙ、Ｚ軸方向の成分は、式（５３）により１つ決定されている）。
【０１１２】
次に、上述した方法に基づく、ＣＰＵ３２における具体的なソースコイル推定位置座標算出処理について説明する。
【０１１３】
図１に示したように、４つの単心コイルを同一直線上に同一な向きに並べたセンスコイル２２ｊをベット４に４つ配置する。また、単心コイルを１６個つなげたソースコイル１４ｉのプローブ１５を電子内視鏡６の鉗子チャンネル１２から挿入する。
【０１１４】
内視鏡形状検出装置３において、各ソースコイル１４ｉに対応するセンスコイル２２ｊに発生する電圧の最大振幅値と位相を求め、位相値から電圧の最大振幅値の±の極性を決定し、極性をもつ電圧値をセンスコイル２２ｊの電圧値とする。
【０１１５】
すなわち、ＣＰＵ３２は、図２０に示すように、ステップＳ３１とステップＳ３２で初めに処理されるソースコイル１４ｉとセンスコイル２２ｊの順番の初期化を行う。つまり、ステップＳ３１ではｉに０をセットし、ステップＳ３２ではｊに０をセットする。
【０１１６】
まず、第０番目のソースコイルと第０番目のセンスコイルが選ばれ、ステップＳ３３において、第０番目のセンスコイルの４つの単心コイルに発生する電圧値Ｖ００、Ｖ０１、Ｖ０２、Ｖ０３が取り込まれる。そして、ステップＳ３４にて、ステップＳ３３で取り込まれた４つの電圧値の最大電圧値Ｖｍａｘ［ｊ］が検出される。
【０１１７】
ステップＳ３５は、すべてのセンスコイルの最大電圧値の検出が終了したかを検出し、終了していなければステップＳ３６に進みｊをインクリメントし、ステップＳ３３へ戻る。
【０１１８】
ステップＳ３５が終了すると、ステップＳ３７へ進み各センスコイルの絶対値の最大電圧値を比較し、大きい２つのセンスコイルを抽出する。
【０１１９】
ステップＳ３８では、ステップＳ３７で抽出された２つのセンスコイルに対し、第０番目のソースコイルによって構成されるそれぞれの平面上でのソースコイルの２次元位置（ｘ’ｇ００，ｙ’ｇ００）、（ｘ’ｇ０１，ｙ’ｇ０１）を求める。
【０１２０】
ステップＳ３９は、ステップＳ３７で抽出された２つのセンスコイルの配置が直交しているか否かの判別し、直交している場合は図２１のステップＳ４０へ進み、そうでない場合は図２１のステップＳ４１へ進む。
【０１２１】
図２１に示すように、ステップＳ４０では、２つのセンスコイルが直交した関係でのソースコイルが存在する円を算出し、ステップＳ４１では、２つのセンスコイルが平行した関係でのソースコイルが存在する円を算出する。
【０１２２】
ステップＳ４２では、２つのセンスコイルの配置条件により算出された２つの円から、それぞれの円周上の点が最も接近する円周上の点を算出する。
【０１２３】
そして、ステップＳ４３にてステップＳ４２で算出された２点から第０番目のソースコイルの３次元空間上の位置（ｘｇ０，ｙｇ０，ｚｇ０）を求め、ステップＳ４４ですべてのソースコイルの３次元位置（ｘｇｉ，ｙｇｉ，ｚｇｉ）が求められたかを検出し、すべてのソースコイルの３次元位置（ｘｇｉ，ｙｇｉ，ｚｇｉ）が求められていない場合は、図２０のステップＳ４５でｉをインクリメントしてステップＳ３２に戻り、すべてのソースコイルの３次元位置（ｘｇｉ，ｙｇｉ，ｚｇｉ）が求められるまで処理を繰り返して、処理を終了する。
【０１２４】
従って、単心コイルを同一直線上に同一な向きに４つ並べたセンスコイルを４つ用いることにより、空間上のソースコイルの位置を推定できる。
【０１２５】
なお、本実施の形態では、各センスコイルの最大電圧の絶対値の大きさから必要なセンスコイルを抽出したが、４つのセンスコイルのそれぞれとソースコイルによって構成される平面上のソースコイルの位置を推定し、ソースコイルとセンスコイルとの距離が近い（円の半径が小さい）２つのセンスコイルを検出し、ソースコイルの３次元位置を推定しても良い。
【０１２６】
このように推定された空間上のソースコイルの位置は常時更新されるが、ソースコイルの位置に対して、図２２に示す位置更新制御処理が行われる。すなわち、図２２に示すように、例えば第０番目のソースコイルの空間上の位置（３次元位置）の座標を（ｘ０，ｙ０，ｚ０）としたとき、ステップＳ５１でこの３次元推定座標（ｘ０，ｙ０，ｚ０）を入力し、ステップＳ５２でこの３次元推定座標（ｘ０，ｙ０，ｚ０）が１回目のソースコイル推定位置座標算出処理により得られた最初の３次元推定座標かどうか判断し、最初の３次元推定座標でないならば、ステップＳ５３に進み、最初の３次元推定座標ならば、ステップＳ５４に進む。
【０１２７】
最初の３次元推定座標の場合、ステップＳ５４で３次元推定座標（ｘ０，ｙ０，ｚ０）を前回３次元推定座標（ｘＢ，ｙＢ，ｚＢ）として格納し、ステップＳ５５で３次元推定座標（ｘ０，ｙ０，ｚ０）をソースコイル推定位置座標算出処理の出力とし処理を終了する。
【０１２８】
次に、最初の３次元推定座標ではなく、２回目の処理により得られた３次元推定座標（ｘ０，ｙ０，ｚ０）について説明する。この場合も、ステップＳ５１でこの３次元推定座標（ｘ０，ｙ０，ｚ０）を入力し、ステップＳ５２でこの３次元推定座標（ｘ０，ｙ０，ｚ０）が１回目のソースコイル推定位置座標算出処理により得られた最初の３次元推定座標かどうか判断するが、最初の３次元推定座標でないので、ステップＳ５３に進み、今回の３次元推定座標（ｘ０，ｙ０，ｚ０）と前回３次元推定座標（ｘＢ，ｙＢ，ｚＢ）との差の絶対値が、所定のｘ，ｙ，ｚ座標の変動制限値ｘｓ，ｙｓ，ｚｓを越えていないかどうか判断し、越えていない場合には、最初の３次元推定座標と同様に、ステップＳ５４で３次元推定座標（ｘ０，ｙ０，ｚ０）を前回３次元推定座標（ｘＢ，ｙＢ，ｚＢ）として格納し、ステップＳ５５で３次元推定座標（ｘ０，ｙ０，ｚ０）をソースコイル推定位置座標算出処理の出力とし処理を終了する。
【０１２９】
また、ステップＳ５３で今回の３次元推定座標（ｘ０，ｙ０，ｚ０）と前回３次元推定座標（ｘＢ，ｙＢ，ｚＢ）との差の絶対値が、所定のｘ，ｙ，ｚ座標の変動制限値ｘｓ，ｙｓ，ｚｓを越えていると判断すると、ステップＳ５６に進み、前回３次元推定座標（ｘＢ，ｙＢ，ｚＢ）をソースコイル推定位置座標算出処理の出力とし処理を終了する。
【０１３０】
このようにソースコイルの位置に対して、所定のｘ，ｙ，ｚ座標の変動制限値ｘｓ，ｙｓ，ｚｓにより位置更新制御処理が行われる。
【０１３１】
なお、図２２においては、第０番目のソースコイルを例に説明したが、この処理は全てのソースコイルに対して行われる。
【０１３２】
次に、図６のステップＳ１３での内視鏡形状検出イメージ画像表示処理について説明する。
【０１３３】
内視鏡形状検出イメージ画像表示処理は、図２３に示すように、ステップＳ６１でソースコイル推定位置座標算出処理より出力されたソースコイルの空間上の位置（３次元位置）の座標に基づき内視鏡形状モデルデータを構築する。そして、ステップＳ６２で内視鏡装置形状検出装置３に設けられている入力部からの入力により、内視鏡形状モデルデータによる内視鏡形状モデルの描画モードを判別し、通常モードならばステップＳ６３の通常モード処理を行い、拡大モードならばステップＳ６４の拡大モード処理を行って処理を終了する。
【０１３４】
そして、通常モード処理では、内視鏡装置形状検出装置３のモニタ２５に、図２４に示すような内視鏡形状モデルが表示される。
【０１３５】
拡大モード処理は、図２５に示すように、ステップＳ７１で内視鏡形状モデルが表示されているモニタ２５上（図２４参照）において拡大する範囲を選択するため、操作パネル２４を操作し、その範囲の例えば左上と右下の座標を取得する。そして、ステップＳ７２で選択した左上と右下の座標が同じかどうか判断し、同じならば拡大範囲が決定できないため、ステップＳ７１に戻り、選択した左上と右下の座標が同じでない場合には、ステップＳ７３に進む。
【０１３６】
ステップＳ７３では、選択された範囲の中心に現在の内視鏡形状モデルの中心を移動させる。そして、ステップＳ７４で選択された範囲がモニタ２５の表示ウインドと同じになるように拡大し処理を終了する。
【０１３７】
これにより、モニタ２５に図２４のように表示されていた内視鏡形状モデルは、図２６に示すように、拡大されてモニタ２５に表示される。
【０１３８】
また、内視鏡形状のイメージ画像を次のモデルから選択して表示することができる。すなわち、
（１）３Ｄモデル１および３Ｄモデル２
（２）２Ｄモデル
（３）１２点モデル
（４）直線モデル
である。
【０１３９】
３Ｄモデル１および３Ｄモデル２においては、３次関数曲線近似とナチュラルラインによる補間法、３次Ｂ−スプライン補間法あるいは２次Ｂ−スプライン補間法により、図２７に示すように、ソースコイルの点座標からから内視鏡形状の立体像を補間し、ソースコイルの任意の座標の２つのモデルの法線ベクトルを得る。
【０１４０】
そして、図２８に示すように、ステップＳ８１で内視鏡形状モデルデータから、図２９に示す面ａｂｃｄ、面ｃｄｅｆの順で面を描画し、ステップＳ８２で各点に対してそれぞれの法線ベクトルを用いて面のシェーディング（スムーズシェーディング）を行い、内視鏡形状の立体イメージ画像を表示する。
【０１４１】
次に、ステップＳ８３で、モニタ２５平面をＸＹ平面としたときの奥行き方向Ｚ軸座標を、立体感を向上させるためにグレースケールによる色調補正を行うかどうか判断し、行う場合にはステップＳ８４により色調補正処理を行い、処理を終了する。
【０１４２】
ステップＳ８４の色調補正処理は、内視鏡装置形状検出装置３の計測範囲フルスケールで色調補正を行う第１の色調補正処理と、内視鏡形状モデルの存在領域フルスケールで色調補正を行う第２の色調補正処理とがある。
【０１４３】
第１の色調補正処理は、図３０に示すように、ステップＳ９１で計測範囲の最大値及び最小値を取得し、ステップＳ９２で内視鏡形状モデルデータから色調を算出し、ステップＳ９３で算出された色調から表示できる色を求めて色調補正を行う。これにより図３１に示すように、Ｚ軸方向の計測範囲をフルスケールとして色調補正がなされる。
【０１４４】
一方、第２の色調補正処理は、図３２に示すように、ステップＳ９５で内視鏡形状モデルの存在範囲の最大値及び最小値を取得し、ステップＳ９６で内視鏡形状モデルデータから色調を算出し、ステップＳ９７で算出された色調から表示できる色を求めて色調補正を行う。これにより図３３に示すように、内視鏡形状モデルの存在範囲をフルスケールとして色調補正がなされる。つまり、第２の色調補正処理は、第１の色調補正処理に比べ内視鏡形状モデルに対して細かく色調補正を行うことになる。
【０１４５】
内視鏡形状のイメージ画像の２Ｄモデルでは、図３４に示すように、ステップＳ１０１でソースコイルの各座標を中心に円を描く（円は常に視点方向を向いている）。そして、ステップＳ１０２で色調補正を行うかどうか判断し、行う場合にはステップＳ１０３により色調補正処理を行い処理を終了することで、モニタ２５に図３５に示すような内視鏡形状のイメージ画像を表示する。
【０１４６】
また、内視鏡形状のイメージ画像の１２点モデルでは、図３６に示すように、ステップＳ１０５でソースコイルの全ての位置座標を線で結び、ステップＳ１０６で全ての点に×印を描き処理を終了することで、モニタ２５に図３７に示すような内視鏡形状のイメージ画像を表示する。
【０１４７】
さらに、内視鏡形状のイメージ画像の直線モデルでは、図３８に示すように、ステップＳ１０８でソースコイルの全ての位置座標を線で結び、ステップＳ１０９で全ての点に「黒塗り□印」を描き処理を終了することで、モニタ２５に図３９に示すような内視鏡形状のイメージ画像を表示する。
【０１４８】
（効果）
以上説明したように、本実施の形態では、３次元空間上に配置された複数のセンスコイルからソースコイルが存在する空間を精度良く推定しているセンスコイルを選択し、ソースコイルの３次元位置を推定しているため、ソースコイルの正確な３次元位置を推定することができる。
【０１４９】
第２の実施の形態：
図４０ないし図４２は本発明の第２の実施の形態に係わり、図４０はソースコイル推定位置座標算出処理の原理を説明する説明図、図４１は図４０のソースコイル推定位置座標算出処理の流れを示す第１のフローチャート、図４２は図４０のソースコイル推定位置座標算出処理の流れを示す第２のフローチャートである。
【０１５０】
（構成）
第２の実施の形態は、その構成は第１の実施の形態と同じであり、異なる点はソースコイルの３次元位置を推定する処理方法であるので、同じ符号をつけ説明は省略する。
【０１５１】
（作用）
１つのセンスコイルによって推定されるソースコイルの存在する円は、図１５に示すように単心コイルＣＳ０〜ＣＳ２とＣＳ１〜ＣＳ３によって得られる２つの非線型方程式（２６），（２７）を満たす点（ｘｇ，ｙｇ）をニュートン法により導き、点（ｘｇ，ｙｇ）から円の方程式として算出する。
【０１５２】
ソースコイルとセンスコイルが接近した場合、図４０に示すように、式（２６），（２７）を満たす交点が複数存在し、推定系の初期値（ｘｇ０，ｙｇ０）の値からそれらの交点の１つが求められる。
【０１５３】
いま、図４０において第２交点が求められたとすると、第２交点の座標値からソースコイルが存在する円が求められる。
【０１５４】
求められた円を図１８に示す円Ｃ１とすると、他のセンスコイルから円Ｃ２を求め、２つの円周上の最も近接する点Ｐ，Ｐ’を計算することによりソースコイルの３次元位置を決定できる。
【０１５５】
このとき、第２交点が正しい場合、点Ｐ，Ｐ’間の距離は０に近づき、正しくないときは点Ｐ，Ｐ’間の距離は離れることから、２組のセンスコイルによって推定される２つの円の円周上の点の距離が、最も短くなるようなセンスコイルの組み合わせを求め、得られた２つのセンスコイルからソースコイルの３次元位置を推定する。
【０１５６】
図４１、図４２はソースコイルの３次元位置を推定する処理のフローを示す。
【０１５７】
図４１に示すように、ステップＳ１２０とステップＳ１２１は、ソースコイル１４ｉとセンスコイル２２ｊの順番の初期化を行う。
【０１５８】
初めに、第０番目のソースコイルと第０番目のセンスコイルが選ばれ、ステップＳ１２２において、第０番目のセンスコイルの４つの単心コイルに発生する電圧Ｖ００，Ｖ０１，Ｖ０２，Ｖ０３が取り込まれる。ステップＳ１２３では、ステップＳ１２２で取り込まれた４つの電圧全てが０［Ｖ］であるかを判別する。
【０１５９】
ステップＳ１２３において、すべての電圧が０［Ｖ］の場合、ステップＳ１２８により第０番目のセンスコイルに対応するフラグを０にセットし、ステップＳ１２９でｊをインクリメントし、ステップＳ１２２に戻り第１番目のセンスコイルの処理に移行する。
【０１６０】
ステップＳ１２３において、全ての電圧が０［Ｖ］でない場合、ステップＳ１２４により第０番目のセンスコイルに対応するフラグを１にセットする。
【０１６１】
ステップＳ１２５では、第０番目のセンスコイルと第０番目のソースコイルにより構成される平面上のソースコイルの位置（ｘｇ００，ｙｇ００）を算出し、ステップＳ１２６でソースコイルが存在する円を推定する。
【０１６２】
いま、第０番目のセンスコイルの処理が終了したことから、ステップＳ１２７によりステップＳ１２９の処理に移行し、ステップＳ１２９でｊをインクリメントする。
【０１６３】
ステップＳ１２７は、第０番目のソースコイルに対する全てのセンスコイルに処理が終了したこと検出し、図４２のステップＳ１３１へ進む。
【０１６４】
図４２に示すように、ステップＳ１３１では、フラグが１にセットされたセンスコイルを抽出し、抽出された全てのセンスコイルの組み合わせに対し２つの円周上の点が最も接近する円周上の点と、その２点間の距離を算出する。
【０１６５】
ステップＳ１３１で算出された距離が最も短くなるセンスコイルの組み合わせをステップＳ１３２で求め、ステップＳ１３３で、求められた２つのセンスコイルからソースコイルの３次元位置を算出する。
【０１６６】
ステップＳ１３４は、全てのソースコイルに対して処理が行われたかを判別し、すべてのソースコイルに対して処理が行われていない場合は、図４１のステップＳ１３０でｉをインクリメントしてステップＳ１２１に戻り、すべてのソースコイルに対して処理が行われるまで処理を繰り返して、１６個のソースコイルの３次元位置を求め、処理を終了する。
【０１６７】
（効果）
２組のセンスコイルによって推定された２つの円の円周上の点の距離から正しく円を推定したか判別できるため、センスコイルとソースコイルが近接した場合でも正しくソースコイルの３次元位置を推定できる。
【０１６８】
第３の実施の形態：
図４３ないし図４５は本発明の第３の実施の形態に係わり、図４３はソースコイル推定位置座標算出処理を説明する説明図、図４４は図４３の角度θが直交した状態に近い２つセンスコイルによるソースコイル推定位置座標算出処理の流れを示す第１のフローチャート、図４５は図４３の角度θが直交した状態に近い２つセンスコイルによるソースコイル推定位置座標算出処理の流れを示す第２のフローチャートである。
【０１６９】
（構成）
第３の実施の形態は、その構成は第１の実施の形態と同じであり、異なる点はソースコイルの３次元位置を推定する処理方法であるので、同じ符号をつけ説明は省略する。
【０１７０】
（作用）
本実施の形態では、４つの単心コイルによって構成されるセンスコイルが推定する円が、精度良く求められているかの判断を２つの曲線の交差条件から求め、その結果に応じて２つのセンスコイルを選び出し、ソースコイルの３次元位置を推定する。
【０１７１】
１つのセンスコイルによって推定されるソースコイルの存在する円は、図１５に示すように単心コイルＣＳ０〜ＣＳ２とＣＳ１〜ＣＳ３によって得られる２つの非線型方程式（２６），（２７）を満たす点（ｘｇ，ｙｇ）をニュートン法により求める。
【０１７２】
このとき、式（２６），（２７）のｘｇ，ｙｇの偏微分を
【数５４】
0003571675.tif 000035
【数５５】
0003571675.tif 000036
とおき、ｙｇをｘｇの関数とすると、位置（ｘｇ，ｙｇ）における式（２６），（２７）で表される曲線の接線方向のベクトルは
【数５６】
0003571675.tif 000037
【数５７】
0003571675.tif 000038
と表される。それぞれの正規化したベクトルを
ν’０＝（ｘ’０，ｙ’０）        …（５８）
ν’３＝（ｘ’３，ｙ’３）        …（５９）
とすると、式（２６），（２７）で表される曲線が交差する角度θは
ｃｏｓθ＝ｘ’０ｘ’３＋ｙ’０ｙ’３        …（６０）
となる。
【０１７３】
図４３に示すように、角度θが小さいと交差する位置がノイズよる影響を受けやすいことから、角度θが直交した状態に近いセンスコイルを２つ選び、ソースコイルの３次元位置を求める。
【０１７４】
図４４及び図４５はソースコイルの３次元位置を推定する処理のフローを示す。
【０１７５】
図４４に示すように、ステップＳ１４０とステップＳ１４１はソースコイル１４ｉとセンスコイル２２ｊの順番の初期化を行い。
【０１７６】
初めに、第０番目のソースコイルと第０番目のセンスコイルが選ばれ、ステップＳ１４２において、第０番目のセンスコイルの４つの単心コイルに発生する電圧Ｖ００，Ｖ０１，Ｖ０２，Ｖ０３が取り込まれる。ステップＳ１４３では、ステップＳ１４２で取り込まれた４つの電圧全てが０［Ｖ］であるかを判別する。
【０１７７】
ステップＳ１４３において、すべての電圧が０［Ｖ］の場合、ステップＳ１５０により第０番目のセンスコイルに対応するフラグを０にセットし、ステップＳ１４９でｊをインクリメントし、ステップＳ１４２に戻り第１番目のセンスコイルの処理に移行する。
【０１７８】
ステップＳ１４３において、全ての電圧が０［Ｖ］でない場合、ステップＳ１４４により第０番目のセンスコイルに対応するフラグを１にセットする。
【０１７９】
ステップＳ１４５では、第０番目のセンスコイルと第０番目のソースコイルにより構成される平面上のソースコイルの位置（ｘｇ００，ｙｇ００）を算出し、ステップＳ１４６で位置（ｘｇ００，ｙｇ００）で２つの曲線が交差する時の角度θを求める。
【０１８０】
いま、第０番目のセンスコイルの処理が終了したことから、ステップＳ１４７によりステップＳ１４９の処理に移行し、ステップＳ１４９でｊをインクリメントする。
【０１８１】
ステップＳ１４７は、第０番目のソースコイルに対する全てのセンスコイルに処理が終了したこと検出し、ステップＳ１５１へ進む。
【０１８２】
ステップＳ１５１では、フラグが１にセットされたセンスコイルを抽出し、抽出されたセンスコイルのうち交差する角度θが直交した状態に近い２つのセンスコイルを選択する。
【０１８３】
そして、図４５に示すように、ステップＳ１５２は、ステップＳ１５１で選択された２つのセンスコイルの配置の状態が直交しているかを検出し、直交していれば、ステップＳ４０へ進み、それ以外はステップＳ４１へ進む。
【０１８４】
ステップＳ４０から処理が終了するまでの処理は、第１の実施の形態で説明した通りである（図２０及び図２１参照）。
【０１８５】
（効果）
本実施の形態では、４つの単心コイルによって構成される複数のセンスコイルからノイズ等の影響の少ない２つのセンスコイルが選択されるため、ソースコイルの３次元位置を精度良く推定できる。
【０１８６】
第４の実施の形態：
図４６及び図４７は本発明の第４の実施の形態に係わり、図４６は３次元空間上に磁界を発生するソースコイルの配置の一例を示す図、図４７は図４６の配置に対する第４の実施の形態のソースコイルの配置を説明する図である。
【０１８７】
（構成）
第４の実施の形態は、その構成は第１の実施の形態と同じであり、異なる点はセンスコイルの数と配置、ソースコイルの３次元位置を推定する処理方法であるので、同じ符号をつけ説明は省略する。
【０１８８】
（作用）
本実施の形態では、複数の単心コイルを４つ組み合わせたセンスコイルによって、ソースコイルの３次元位置を求めるのではなく、複数の単心コイルを３次元空間に配置し、それぞれの単心コイルに発生する電圧からソースコイルの３次元位置を推定する。
【０１８９】
図４６に示すように、３次元空間ＸＹＺ上に磁界を発生する１つのソースコイルを位置（ｘｇ，ｙｇ，ｚｇ）、向き（ｇｘ，ｇｙ，ｇｚ）に配置した場合、適当な位置Ｐ（ｘｄ，ｙｄ，Ｚｄ）に発生する磁界Ｈｘ，Ｈｙ，Ｈｚは、式（１４）から次のように表される。
【０１９０】
【数６１】
0003571675.tif 000039
但し、ｋｇは定数、ｒはソースコイルと点Ｐとの距離であって、磁界Ｈｘ，Ｈｙ，Ｈｚの向きはＸ，Ｙ，Ｚ軸と同一方向である。
【０１９１】
点Ｐの位置に座標軸Ｘ，Ｙ，Ｚと同一に向いた単心コイルＣｘ，Ｃｙ，Ｃｚが配置された場合、それぞれの単心コイルＣｘ，Ｃｙ，Ｃｚに発生する電圧Ｖｘ，Ｖｙ，Ｖｚは
【数６２】
0003571675.tif 000040
となる。ここで、Ｘ軸に向いた単心コイルＣｘは、コイルを構成する導線を巻くときの軸をＸ軸と同一方向にしたコイルであって、Ｙ軸，Ｚ軸と同一に向いた単心コイルＣｙ，Ｃｚも同様なコイルである。
【０１９２】
但し、ｋｓはソースコイル及びセンスコイルの大きさやコイルの巻数等により決定される定数、ｒはソースコイルとセンスコイルの距離
【数６３】
0003571675.tif 000041
である。
【０１９３】
図４７に示すように、本実施の形態では、単心コイルからなるセンスコイルを３次元空間上に複数配置し、具体的にはベット４おいて、中心のＺ座標が第１のＺ座標である例えばＸ軸に向いたセンスコイル１０１、１０２、１０３、１０４と、中心のＺ座標が第１のＺ座標と異なる第２のＺ座標であるＹ軸に向いたセンスコイル１０５、１０６、１０７、１０８と、中心のＺ座標が第１及び第２のＺ座標と異なる第３のＺ座標であるＺ軸に向いたセンスコイル１０９、１１０、１１１、１１２の１２個のセンスコイルを配置する。この１２個のセンスコイルの電圧、位置、向きが全て既知であることから、式（６２）によりソースコイルの位置（ｘｇ，ｙｇ，ｚｇ）と向き（ｇｘ，ｇｙ，ｇｚ）を未知数とする１２個の非線形方程式が得られる。
【０１９４】
この１２個の非線形方程式の解、すなわち、ソースコイルの位置と向きを反復改良によって求める（Ｇａｕｓｓ−Ｎｅｗｔｏｎ法）。
【０１９５】
ｘをソースコイルの位置（ｘｇ，ｙｇ，ｚｇ）と向き（ｇｘ，ｇｙ，ｇｚ）のパラメータとし、そのパラメータの初期値をｘ（０）とする。
【０１９６】
いま、反復改良によりｋ次の推定値ｘ（ｋ）が得られ、センスコイルに発生する電力のモデル関数Ｖ（ｘ）をｘ（ｋ）のまわりでＴａｙＬｏｒ展開すると、その一次近似は
【数６４】
0003571675.tif 000042
となる。
【０１９７】
このとき、Ｖｍをセンスコイルによって測定された電圧とすると観測方程式は
【数６５】
0003571675.tif 000043
ここで、式が等号ではなくｎｅａｒｌｙ  ｅｑｕａｌとなっているのは、Ｖｍに測定誤差が含まれるため。
【０１９８】
と表される。式（６５）の右辺の第１項を左辺に移動すると
【数６６】
0003571675.tif 000044
となる。但し、
【数６７】
ΔＶｍ（ｋ）＝Ｖｍ−Ｖ（ｘ（ｋ））＝Ｖｍ−Ｖｍ（ｋ）            …（６７）
【数６８】
Δｘ（ｋ）＝ｘ−ｘ（ｋ）          …（６８）
【数６９】
0003571675.tif 000045
（ｉ＝１〜ｎ，ｊ＝１〜ｍ）
（行方向：未知数の数ｎ、列方向：センスコイルの数ｍ）
である。解Δｘ（ｋ）は、式（６６）より
【数７０】
0003571675.tif 000046
と表される。ただし、ＢはＡの転置、Ｗは重み行列である。
【０１９９】
よって、式（６８）より改良したパラメータの推定値は
【数７１】
ｘ（ｋ＋１）＝ｘ（ｋ）＋Δｘ（ｋ）          …（７１）
と求められる。
【０２００】
図４７に示すように、１２個の単心コイル（センスコイル）を並べると、行列Ａは
【数７２】
0003571675.tif 000047
重み行列Ｗは
【数７３】
0003571675.tif 000048
と表される。ただし、重み行列Ｗのσｉ（ｉ＝０，１，…，１１）は、各センスコイルの測定電圧の変動量で、例えば、環境ノイズ等がある。
【０２０１】
また、第ｋ番目のΔＶｍは
【数７４】
0003571675.tif 000049
となることから、ソースコイルの位置と向きは、次の手順（１）から（４）で求められる。
【０２０２】
手順（１）；ｋ＝０とし、ソースコイルの初期値を位置（ｘｇ，ｙｇ，ｚｇ）（０）、向き（ｇｘ，ｇｙ，ｇｚ）（０）とする（例えば、ソースコイルを測定する空間の中心位置とＺ軸方向のベクトル（０，０，１））。
手順（２）；式（７２），（７３），（７４）により第ｋ番目の行列を計算する。
手順（３）；式（７１）により第ｋ番目の更新量Δｘ（ｋ）を計算する。
手順（４）；更新量Δｘ（ｋ）が小さくなるまで上記手順（２）から（４）を繰り返す。
【０２０３】
本実施の形態では、Ｘ，Ｙ，Ｚ軸方向に向いたセンスコイルをそれぞれ同一の高さに配置してソースコイルの位置を推定したが、これに限らず、各々のセンスコイルを任意の位置や向きに配置した場合でも、センスコイルの位置と向きが既知であればソースコイルの位置が推定できる。
【０２０４】
ソースコイルが存在する空間が小さい場合、先に説明したようにソースコイルの初期値を適当な位置として反復改良を行うことにより位置と向きを求めることができる。しかし、その空間が大きい場合、適当な方法で初期位置を決定することが必要になる。
【０２０５】
例えば、第１の実施の形態のように井げた状にセンスコイルを並べた場合は、第１〜第３の実施の形態で説明した手法を用いて４個の単心コイルによって構成されたセンスコイルからソースコイルの存在する空間（円）を求め、複数のセンスコイルによりソースコイルの位置を推定し、反復改良によりソースコイルの位置を精度良く求めることができる。
【０２０６】
また、全てのソースコイル１４ｉに対して円の位置推定と反復改良を行ったのでは計算量が多くなるため、ソースコイルの先頭１４ａは円の位置推定と反復改良を行い、それ以外のソースコイルについてはソースコイルの連続性から１つ前に推定された位置を初期値にして、反復改良のみを行う方法もある（ソースコイル１４ｂの３次元位置を推定する場合、すでに３次元位置が推定されたソースコイル１４ａの位置を初期値にして反復改良を行う）。
【０２０７】
ソースコイルの連続性を用いて、推定を行うソースコイルの３次元位置をそれ以前に推定されたソースコイルの３次元位置から予測し、その予測位置から反復改良を行う手法もある。
【０２０８】
いま、ソースコイル１４ａ、１４ｂの３次元位置を
【数７５】
0003571675.tif 000050
とすると、ソースコイル１４ｂの３次元位置を推定するときの初期値をソースコイル１４ａとし、ソースコイル１４ｃからは、まえの２つのソースコイルの３次元位置からソースコイルの位置を予測する。
【０２０９】
例えば、ソースコイル１４ｃの場合
【数７６】
0003571675.tif 000051
とする。
【０２１０】
また、本実施の形態が体腔内で使われることから、ソースコイルの３次元位置が時間方向の変動が少ないことが予想されることから（体腔内でソースコイルの動きが小さい）、前回までに推定された３次元位置を初期位置として反復改良を行う手法もある。
【０２１１】
（効果）
本実施の形態では、複数のセンスコイルの出力と反復改良法によってソースコイルの３次元位置が推定されるため、ノイズ等の影響が軽減され、推定精度向上させることができる。
【０２１２】
また、各ソースコイルの３次元位置を反復改良によって推定する場合、初期位置を適当な方法で求めることにより計算量を削減できる。
【０２１３】
第５の実施の形態：
（構成）
本実施の形態の内視鏡形状検出装置３の構成は、第４の実施の形態と同一で、ソースコイルの３次元位置を推定する方法が異なる。
【０２１４】
（作用）
本実施の形態では、複数の単心コイルを４つ組み合わせたセンスコイルによって、ソースコイルの３次元位置を求めるのではなく、第４の実施の形態と同様に、複数の単心コイルを３次元空間に配置し、それぞれの単心コイルに発生する電圧からソースコイルの３次元位置を推定する。
【０２１５】
今、センスコイルユニット内のセンスコイルに発生する起電力の行列をＶ、式（６２）で示したようにソースコイルとセンスコイルの３次元位置の項で表される行列をＨ、ソースコイルの向きで表される項をＧとすると、それぞれの関係式は次のようになる。
【０２１６】
【数７７】
Ｖ＝ＨＧ          …（７７）
式（７７）よりソースコイルの向きの項を消去するため、式（７７）の両辺に左からＨｔ（行列Ｈの転置行列）をかけると、
【数７８】
ＨｔＶ＝ＨｔＨＧ          …（７８）
となる。
【０２１７】
また、式（７８）の両辺に左から［ＨｔＨ］−１（ＨｔＨの逆行列）をかけると、
【数７９】
［ＨｔＨ］−１ＨｔＶ＝Ｇ          …（７９）
となる。
【０２１８】
式（７９）を式（７７）に代入すると、次のようなソースコイルの向きの項を消去した式を得ることができる。
【０２１９】
【数８０】
Ｖ＝Ｈ［ＨｔＨ］−１ＨｔＶ          …（８０）
図４７に示すように、本実施の形態では、単心コイルからなるセンスコイルを３次元空間上に複数配置し、具体的にはベット４おいて、中心のＺ座標が第１のＺ座標である例えばＸ軸に向いたセンスコイル１０１、１０２、１０３、１０４と、中心のＺ座標が第１のＺ座標と異なる第２のＺ座標であるＹ軸に向いたセンスコイル１０５、１０６、１０７、１０８と、中心のＺ座標が第１及び第２のＺ座標と異なる第３のＺ座標であるＺ軸に向いたセンスコイル１０９、１１０、１１１、１１２の１２個のセンスコイルを配置する。この１２個のセンスコイルの電圧、位置、向きが全て既知であることから、式（６２）によりソースコイルの位置（ｘｇ，ｙｇ，ｚｇ）を未知数とする１２個の非線形方程式が得られる。
【０２２０】
この１２個の非線形方程式の解、すなわち、ソースコイルの位置を反復改良によって求める（Ｇａｕｓｓ−Ｎｅｗｔｏｎ法）。
【０２２１】
ｘをソースコイルの位置（ｘｇ，ｙｇ，ｚｇ）のパラメータとし、そのパラメータの初期値をｘ（０）とする。
【０２２２】
いま、反復改良によりｋ次の推定値ｘ（ｋ）が得られ、センスコイルに発生する電力のモデル関数Ｖ（ｘ）をｘ（ｋ）のまわりでＴａｙＬｏｒ展開すると、その一次近似は第４の実施の形態で示した式（６４）で示される。
【０２２３】
但し、式（６４）の偏微分の項
【数８１】
0003571675.tif 000052
は、式（８０）の右辺のＶにセンスコイルによって測定された電圧Ｖｍの値を入力して
【数８２】
Ｖ（ｘ）＝Ｈ［ＨｔＨ］−１ＨｔＶｍ          …（８２）
として偏微分を計算する。
【０２２４】
このとき、Ｖｍをセンスコイルによって測定された電圧とすると観測方程式は、第４の実施の形態で示した式（６５）で表される。式（６５）の右辺の第１項を左辺に移動すると、第４の実施の形態で示した式（６６）となる。
【０２２５】
解Δｘ（ｋ）は、式（６６）より第４の実施の形態で示した式（７０）と表される。
【０２２６】
よって、Δｘ（ｋ）＝ｘ−ｘ（ｋ）より改良したパラメータの推定値は第４の実施の形態で示した式（７１）と求められる。
【０２２７】
図４７に示すように、１２個の単心コイル（センスコイル）を並べると、行列Ａは
【数８３】
0003571675.tif 000053
重み行列Ｗは第４の実施の形態で示した式（７３）と表される。ただし、重み行列Ｗのσｉ（ｉ＝０，１，…，１１）は、各センスコイルの測定電圧の変動量で、例えば、環境ノイズ等がある。
【０２２８】
また、第ｋ番目のΔＶｍは第４の実施の形態で示した式（７４）となることから、ソースコイルの位置は、次の手順（１）’から（４）’で求められる。
【０２２９】
手順（１）’；ｋ＝０とし、ソースコイルの初期値を位置（ｘｇ，ｙｇ，ｚｇ）（０）とする（例えば、ソースコイルを測定する空間の中心位置）。
手順（２）’；式（８３），（７３），（７４）により第ｋ番目の行列を計算する。
手順（３）’；式（７１）により第ｋ番目の更新量Δｘ（ｋ）を計算する。
手順（４）’；更新量Δｘ（ｋ）が小さくなるまで上記手順（２）’から（４）’を繰り返す。
【０２３０】
本実施の形態では、Ｘ，Ｙ，Ｚ軸方向に向いたセンスコイルをそれぞれ同一の高さに配置してソースコイルの位置を推定したが、これに限らず、各々のセンスコイルを任意の位置や向きに配置した場合でも、センスコイルの位置と向きが既知であればソースコイルの位置が推定できる。
【０２３１】
ソースコイルが存在する空間が小さい場合、先に説明したようにソースコイルの初期値を適当な位置として反復改良を行うことにより位置を求めることができる。しかし、その空間が大きい場合、適当な方法で初期位置を決定することが必要になる。
【０２３２】
例えば、第１の実施の形態のように井げた状にセンスコイルを並べた場合は、第１〜第３の実施の形態で説明した手法を用いて４個の単心コイルによって構成されたセンスコイルからソースコイルの存在する空間（円）を求め、複数のセンスコイルによりソースコイルの位置を推定し、反復改良によりソースコイルの位置を精度良く求めることができる。
【０２３３】
また、全てのソースコイル１４ｉに対して円の位置推定と反復改良を行ったのでは計算量が多くなるため、ソースコイルの先頭１４ａは円の位置推定と反復改良を行い、それ以外のソースコイルについてはソースコイルの連続性から１つ前に推定された位置を初期値にして、反復改良のみを行う方法もある（ソースコイル１４ｂの３次元位置を推定する場合、すでに３次元位置が推定されたソースコイル１４ａの位置を初期値にして反復改良を行う）。
【０２３４】
ソースコイルの連続性を用いて、推定を行うソースコイルの３次元位置をそれ以前に推定されたソースコイルの３次元位置から予測し、その予測位置から反復改良を行う手法もある。
【０２３５】
第４の実施の形態と同様に、いま、ソースコイル１４ａ、１４ｂの３次元位置を第４の実施の形態で示した式（７５）とすると、ソースコイル１４ｂの３次元位置を推定するときの初期値をソースコイル１４ａとし、ソースコイル１４ｃからは、まえの２つのソースコイルの３次元位置からソースコイルの位置を予測する。例えば、ソースコイル１４ｃの場合第４の実施の形態で示した式（７６）とする。
【０２３６】
また、本実施の形態が体腔内で使われることから、ソースコイルの３次元位置が時間方向の変動が少ないことが予想されることから（体腔内でソースコイルの動きが小さい）、前回までに推定された３次元位置を初期位置として反復改良を行う手法もある。
【０２３７】
（効果）
本実施の形態では、第４の実施の形態の効果に加え、ソースコイルの向きの項を消去し、未知数を減らした関係式によりソースコイルの３次元位置を推定することが可能となる。
【０２３８】
第６の実施の形態：
（構成）
本実施の形態の内視鏡形状検出装置３は、図示はしないが、第１の実施の形態の構成に加え、推定されたソースコイル位置を時系列的に記憶する位置記憶手段を有して構成される。その他の構成は第１の実施の形態と同じであり、本実施の形態では、ソースコイルの３次元位置を推定する処理方法が、第１の実施の形態と異なる。
【０２３９】
（作用）
本実施の形態では、上記の第１ないし第５の実施の形態に説明した方法を用いてソースコイル１４ｉの３次元位置を推定し、位置記憶手段（図示せず）に推定された３次元位置を順次記憶する。
【０２４０】
現在のソースコイル１４ｉの位置を
【数８４】
0003571675.tif 000054
とし、過去の推定位置を
【数８５】
0003571675.tif 000055
として、それぞれの推定位置から現在のソースコイル１４ｉの位置Ｐ’ｉ，ｎを重み付け加算により求める。
【０２４１】
いま、現在の推定位置の重みをαとするとソースコイルの現在の位置Ｐ’ｉ，ｎを
【数８６】
Ｐ’ｉ，ｎ＝αＰｉ，ｎ−１＋（１−α）Ｐｉ，ｎ                …（８６）
より求める。
【０２４２】
また、現在と２つ過去の推定位置からＸ，Ｙ，Ｚ成分の中間値を抽出し、現在のソースコイルの位置としても良い（メディアンフィルタ）。
【０２４３】
（効果）
本実施の形態により、ソースコイルとセンスコイルが離れることによって発生するソースコイルの３次元位置のばらつきを抑制することができる。
【０２４４】
第７の実施の形態：
（構成）
本実施の形態の内視鏡形状検出装置３の構成は、第６の実施の形態と同一で、ソースコイルの３次元位置を推定する方法が異なる。
【０２４５】
（作用）
本実施の形態では、第１ないし第５の実施の形態に説明した方法を用いてソースコイル１４ｉの３次元位置を推定し、位置記憶手段（図示せず）に順次記憶する。
【０２４６】
時系列的に記憶されソースコイル１４ｉの推定位置を
【数８７】
Ｐｉ，０，Ｐｉ，１，Ｐｉ，２，…，Ｐｉ，Ｎ                …（８７）
とし、予測されたソースコイル１４ｉの予測位置を
【数８８】
Ｑｉ，０，Ｑｉ，１，Ｑｉ，２，…，Ｑｉ，Ｎ                …（８８）
とする（Ｎ番目が現在の位置とする）。
【０２４７】
ソースコイル１４ｉの推定位置と予測位置との差分の２乗和を
【数８９】
0003571675.tif 000056
とし、隣接する予測位置の変位量の差分の２乗和を
【数９０】
0003571675.tif 000057
とし、ｆｉ，１とｆｉ，２を次のような重みωで加算する。
【０２４８】
【数９１】
ｆｉ＝ｆｉ，１＋ωｆｉ，２              …（９１）
ここで、重みωを小さくした場合、ソースコイル１４ｉの位置は推定位置に近づく。また、重みωを大きくした場合、ソースコイル１４ｉの位置は予測位置に近づく。
【０２４９】
ｆｉを最小にする予測位置Ｑｉ，ｊは、式ｆｉを予測位置Ｑｉ，ｊで偏微分し、ｆ’ｉ＝０を満たす予測位置Ｑｉ，ｊを求めることにより得られる。
【０２５０】
ｆｉを予測位置Ｑｉ，ｊで偏微分し、ｆ’ｉ＝０とおくと
【数９２】
Ｐ＝ＭＱ            …（９２）
の式が得られ、行列の逆行列
【数９３】
Ｑ＝Ｍ−１Ｐ            …（９３）
を算出することにより、予測位置が求められる。
【０２５１】
例えば、各ソースコイル１４ｉを７つ前までの３次元推定位置を記憶した場合、式（９２）は
【数９４】
0003571675.tif 000058
となり、重みωを設定し行列Ｍの逆行列を算出することにより予測位置が式（９３）から求められる。
【０２５２】
（効果）
本実施の形態により、ソースコイルの過去の推定位置からソースコイルの動きを予測し、推定位置と予測位置に基づいて現在のソースコイルの位置から求められるため、ソースコイルとセンスコイルが離れることによって発生するソースコイルの３次元位置のばらつきを抑制し、ソースコイルが動いた場合においても第５の実施の形態に示した手法よりも安定したソースコイルの位置が求められる。
【０２５３】
［付記］
（付記項１）  磁界を発生するための単軸発信コイルを有する磁界発生手段と、前記磁界発生手段で発生された磁界を検出する磁界検出手段とを有し、前記磁界検出手段による磁界検出に基づき前記磁界発生手段の位置情報を検出する位置推定装置において、
前記磁界検出手段は、少なくとも、
同一直線上に第１、第２、第３及び第４の単軸発信コイルを同一方向に向けて配置してなる第１の磁界検出部と、
前記第１の磁界検出部と非平行な同一直線上に第５、第６、第７及び第８の単軸発信コイルを同一方向に向けて配置してなる第２の磁界検出部と
を備えたことを特徴とする位置推定装置。
【０２５４】
（付記項２）  磁界を発生するための単軸発信コイルを有する磁界発生手段と、前記磁界発生手段で発生された磁界を検出する磁界検出手段とを有し、前記磁界検出手段による磁界検出に基づき前記磁界発生手段の位置情報を検出する位置推定装置において、
前記磁界検出手段は、少なくとも、
第１の直線上に第１、第２、第３及び第４の単軸発信コイルを同一方向に向けて配置してなる第１の磁界検出部と、
前記第１の直線と平行な第２の直線上に第５、第６、第７及び第８の単軸発信コイルを同一方向に向けて配置してなる第２の磁界検出部と、
前記第１の直線と非平行な第３の直線上に第９、第１０、第１１及び第１２の単軸発信コイルを同一方向に向けて配置してなる第３の磁界検出部と、
前記第３の直線と平行な第４の直線上に第１３、第１４、第１５及び第１６の単軸発信コイルを同一方向に向けて配置してなる第４の磁界検出部と
を備えたことを特徴とする位置推定装置。
【０２５５】
（付記項３）  単心コイルにより磁界を発生するソースコイルと、少なくとも４つの単心コイルを同一直線上に同一方向に並べた複数のセンスコイルと、前記センスコイルにより前記ソースコイルの存在する空間を推定する空間推定手段と、前記空間推定手段により推定された前記ソースコイルの存在空間から前記ソースコイルの３次元位置を推定する位置推定手段とからなる位置推定装置において、
前記センスコイルの少なくとも１組を他の前記センスコイルに対し非平行に配置する
ことを特徴とする位置推定装置。
【０２５６】
（付記項４）  前記空間推定手段は、前記センスコイルの並びを軸として前記ソースコイルまでの距離を算出する距離算出手段
からなることを特徴とする付記項３に記載の位置推定装置。
【０２５７】
（付記項５）  前記空間推定手段は、前記センスコイルの並びの軸を中心とする円領域として特定する円領域特定手段
からなることを特徴とする付記項３に記載の位置推定装置。
【０２５８】
（付記項６）  前記円領域特定手段は、前記センスコイルと前記ソースコイルによって構成される平面の条件を用いて前記円領域を算出する円領域算出手段である
ことを特徴とする付記項５に記載の位置推定装置。
【０２５９】
（付記項７）  前記平面の条件は、前記平面上に前記センスコイルの３つの単心コイルによって表される曲線を少なくとも２つ描いた際の交点を含むという条件であり、
前記円領域算出手段は、前記交点を算出する
ことを特徴とする付記項６に記載の位置推定装置。
【０２６０】
（付記項８）  前記空間推定手段は、
各前記センスコイルの単心コイルの最大出力を求め、最大出力の大きい順に前記センスコイルを抽出する抽出手段と、
前記抽出手段により抽出された前記センスコイルにより前記ソースコイルの存在する空間を推定する空間推定手段と
からなることを特徴とする付記項３に記載の位置推定装置。
【０２６１】
（付記項９）  前記位置推定手段は、
前記空間推定手段により推定された空間から少なくとも２つの前記センスコイルを抽出する抽出手段と、
前記抽出手段により抽出された前記センスコイルの前記ソースコイルの存在する空間から前記ソースコイルの３次元位置を推定する３次元位置推定手段と
からなることを特徴とする付記項３に記載の位置推定装置。
【０２６２】
（付記項１０）  前記抽出手段は、
前記空間推定手段により推定された空間の領域が小さい少なくとも２つの前記センスコイルを抽出するセンスコイル抽出手段
からなることを特徴とする付記項９に記載の位置推定装置。
【０２６３】
（付記項１１）  前記位置推定手段は、
前記空間推定手段により推定された複数の円から２つの円を選び、その２つの円が最も接近する円周上の点とその点間の距離を算出する距離算出手段と
前記距離算出手段により算出された距離が最小となる前記センスコイルの組み合わせを検出する検出手段と、
前記検出手段により検出された前記センスコイルから前記ソースコイルの３次元位置を推定する３次元位置推定手段と
からなることを特徴とする付記項３に記載の位置推定装置。
【０２６４】
（付記項１２）  前記位置推定手段は、
前記空間推定手段により推定された空間から少なくとも２つの前記センスコイルを抽出する抽出手段と、
前記抽出手段により抽出された前記センスコイルの前記ソースコイルの存在する空間から前記ソースコイルの３次元位置を推定する３次元位置推定手段と
からなることを特徴とする付記項７に記載の位置推定装置。
【０２６５】
（付記項１３）  前記抽出手段は、
前記空間推定手段の前記平面の条件から得られる複数の曲線の交差状態を検出する交差状態検出手段と、
前記交差状態検出手段により検出された交差状態が直交した状態に近い少なくとも２つの前記センスコイルを抽出するセンスコイル抽出手段と
からなることを特徴とする付記項１２に記載の位置推定装置。
【０２６６】
（付記項１４）  前記位置推定手段により推定された前記ソースコイルの位置から向きを推定する向き推定手段と、
前記位置推定手段と前記向き推定手段との結果を用いて、前記ソースコイル位置と向きを推定する推定手段と
を備えたことを特徴とする付記項３に記載の位置推定装置。
【０２６７】
（付記項１５）  前記推定手段は、
前記位置推定手段と前記向き推定手段との結果から前記センスコイルの出力を算出する第１の出力算出手段と、
前記第１の出力算出手段により算出された前記センスコイルの出力と、前記センスコイルの測定された出力とから、前記ソースコイルの位置と向きをそれぞれ更新するための値を算出する更新値算出手段と、
前記更新値算出手段により算出された更新値を前記ソースコイルの位置と向きに加え、前記センスコイルの出力を算出する第２の出力算出手段と、
前記更新値が適当な値になるまで前記更新値算出手段と第２の前記出力算出手段を繰り返し、前記ソースコイルの位置と向きを推定するソースコイル推定手段と
からなることを特徴とする付記項１４に記載の位置推定装置。
【０２６８】
（付記項１６）  前記位置推定手段により推定された位置を時系列的に記憶する記憶手段と、
前記記憶手段に記憶された前記ソースコイルの位置から現在の前記ソースコイルの位置を予測する予測手段と
を備えたことを特徴とする付記項３に記載の位置推定装置。
【０２６９】
（付記項１７）  前記予測手段は、
前記記憶手段に記憶された前記ソースコイルの位置を時系列的に重み付け加算し、現在の前記ソースコイルの位置を予測する手段
からなることを特徴とする付記項１６に記載の位置推定装置。
【０２７０】
（付記項１８）  前記予測手段は、
前記記憶手段に記憶された前記ソースコイルの位置から前記ソースコイルの動きを求め、現在の前記ソースコイルの位置を予測する手段
からなることを特徴とする付記項１６に記載の位置推定装置。
【０２７１】
（付記項１９）  単心コイルにより磁界を発生するソースコイルと、
センスコイルとして３次元空間上に複数の単心コイルを異なる位置に配置し、前記センスコイルの出力から前記ソースコイルの位置と向きを推定する推定手段と
を備えたことを特徴とする位置推定装置。
【０２７２】
（付記項２０）  前記推定手段は、
前記センスコイルの出力を前記ソースコイルの適当な位置と向きから算出する第１の出力算出手段と、
前記第１の出力算出手段により算出された前記センスコイルの出力と、前記センスコイルの測定された出力とから、前記ソースコイルの位置と向きをそれぞれ更新するための値を算出する更新値算出手段と、
前記更新値算出手段により算出された更新値を前記ソースコイルの位置と向きに加え、前記センスコイルの出力を算出する第２の出力算出手段と、
前記更新値が適当な値になるまで、前記更新算出手段と第２の前記出力算出手段を繰り返し、前記ソースコイルの位置と向きを推定するソースコイル推定手段と
からなることを特徴とする付記項１９に記載の位置推定装置。
【０２７３】
（付記項２１）  前記第１の出力算出手段は、
前記ソースコイルの位置と向きを前記ソースコイルの並びの連続性から設定する設定手段
からなることを特徴とする付記項２０に記載の位置推定装置。
【０２７４】
（付記項２２）  前記推定手段により推定された位置と向きを時系列的に記憶する記憶手段と、
前記第１の出力算出手段の前記ソースコイルの位置と向きを前記記憶手段に記憶された位置と向きから設定する設定手段と
を備えたことを特徴とする付記項２０に記載の位置推定装置。
【０２７５】
（付記項２３）  前記推定手段により推定された位置を時系列的に記憶する記憶手段と、
前記記憶手段に記憶された前記ソースコイルの位置から現在の前記ソースコイルの位置を予測する予測手段と
を備えたことを特徴とする付記項１９に記載の位置推定装置。
【０２７６】
（付記項２４）  前記予測手段は、
前記記憶手段に記憶された前記ソースコイルの位置を時系列的に重み付け加算し、現在の前記ソースコイルの位置を予測する手段
からなることを特徴とする付記項２３に記載の位置推定装置。
【０２７７】
（付記項２５）  前記予測手段は、
前記記憶手段に記憶された前記ソースコイルの位置から前記ソースコイルの動きを求め、現在の前記ソースコイルの位置を予測する手段
からなることを特徴とする付記項２３に記載の位置推定装置。
【０２７８】
（付記項２６）  磁界を発生するソースコイルの存在空間を検出するコイル位置測定方法において、
磁界を発生するための単軸発信コイルを有する磁界発生手段と、前記磁界発生手段で発生された磁界を検出する磁界検出手段とを有し、前記磁界検出手段による磁界検出に基づき前記磁界発生手段の位置情報を検出する位置推定装置において、
前記磁界検出手段は、少なくとも、
第１の直線上に同一方向に向けて配置された第１、第２、第３及び第４の単軸発信コイルからなる第１の磁界検出部によって、前記ソースコイルで発生された磁界強度を測定する第１の磁界測定工程と、
前記第１の直線と平行な第２の直線上に同一方向に向けて配置された第５、第６、第７及び第８の単軸発信コイルからなる第２の磁界検出部によって、前記ソースコイルで発生された磁界強度を測定する第２の磁界測定工程と、
前記第１の直線と非平行な第３の直線上に同一方向に向けて配置された第９、第１０、第１１及び第１２の単軸発信コイルからなる第３の磁界検出部によって、前記ソースコイルで発生された磁界強度を測定する第３の磁界測定工程と、
前記第３の直線と平行な第４の直線上に同一方向に向けて配置された第１３、第１４、第１５及び第１６の単軸発信コイルをからなる第４の磁界検出部によって、前記ソースコイルで発生された磁界強度を測定する第４の磁界測定工程と
を具備したことを特徴とするコイル位置測定方法。
【０２７９】
（付記項２７）  前記第１ないし第４の各磁界検出部の単軸発信コイルの最大出力を求め、最大出力の大きい順に前記磁界検出部を抽出する磁界検出部抽出工程と、
前記磁界検出部抽出工程により抽出された前記磁界検出部により前記ソースコイルの存在する空間を推定する空間推定工程と
を具備したことを特徴とする付記項２６に記載のコイル位置測定方法。
【０２８０】
（付記項２８）  前記第１ないし第４の磁界測定工程が測定した磁界強度に基づき前記ソースコイルの存在する空間を推定する空間推定工程と、
前記空間推定工程により推定された前記ソースコイルの存在空間から前記ソースコイルの３次元位置を推定する位置推定工程と
を具備したことを特徴とする付記項２６に記載のコイル位置測定方法。
【０２８１】
（付記項２９）  前記空間推定工程は、前記第１ないし第４の直線を軸として前記ソースコイルまでの距離を算出する距離算出工程
からなることを特徴とする付記項２８に記載のコイル位置測定方法。
【０２８２】
（付記項３０）  前記空間推定工程は、前記第１ないし第４の直線を中心とする円領域として特定する円領域特定工程
からなることを特徴とする付記項２８に記載のコイル位置測定方法。
【０２８３】
（付記項３１）  前記円領域特定工程は、前記第１ないし第４の各磁界検出部と前記ソースコイルによって構成される平面の条件を用いて前記円領域を算出する円領域算出工程である
ことを特徴とする付記項３０に記載のコイル位置測定方法。
【０２８４】
（付記項３２）  前記平面の条件は、前記平面上に前記第１ないし第４の各磁界検出部の３つの単軸発信コイルによって表される曲線を少なくとも２つ描いた際の交点を含むという条件であり、
前記円領域算出工程は、前記交点を算出する
ことを特徴とする付記項３１に記載のコイル位置測定方法。。
【０２８５】
（付記項３３）  前記位置推定工程は、
前記空間推定工程により推定された複数の円から２つの円を選び、その２つの円が最も接近する円周上の点とその点間の距離を算出する距離算出工程と
前記距離算出手段により算出された距離が最小となる前記第１ないし第４の各磁界検出部の組み合わせを検出する検出工程と、
前記検出工程により検出された前記第１ないし第４の各磁界検出部から前記ソースコイルの３次元位置を推定する３次元位置推定工程と
ことを特徴とする付記項２８に記載のコイル位置測定方法。
【０２８６】
（付記項３４）  前記位置推定工程により推定された前記ソースコイルの位置から向きを推定する向き推定工程と、
前記位置推定工程と前記向き推定工程との結果を用いて、前記ソースコイル位置と向きを推定する推定工程と
を備えたことを特徴とする付記項２８に記載のコイル位置測定方法。
【０２８７】
（付記項３５）  前記位置推定工程により推定された位置を時系列的に記憶する記憶工程と、
前記記憶工程で記憶された前記ソースコイルの位置から現在の前記ソースコイルの位置を予測する予測工程と
を備えたことを特徴とする付記項２８に記載のコイル位置測定方法。
【０２８８】
（付記項３６）  ３次元空間上に複数の単心コイルを異なる位置に配置して構成されるセンスコイルの出力から単心コイルにより磁界を発生するソースコイルの位置と向きを推定する推定工程
を備えたことを特徴とするコイル位置測定方法。
【０２８９】
（付記項３７）  前記推定工程は、
前記センスコイルの出力を前記ソースコイルの適当な位置と向きから算出する第１の出力算出工程と、
前記第１の出力算出工程により算出された前記センスコイルの出力と、前記センスコイルの測定された出力とから、前記ソースコイルの位置と向きをそれぞれ更新するための値を算出する更新値算出工程と、
前記更新値算出工程により算出された更新値を前記ソースコイルの位置と向きに加え、前記センスコイルの出力を算出する第２の出力算出工程と、
前記更新値が適当な値になるまで、前記更新算出工程と第２の前記出力算出工程を繰り返し、前記ソースコイルの位置と向きを推定するソースコイル推定工程と
からなることを特徴とする付記項３６に記載のコイル位置測定方法。
【０２９０】
（付記項３８）  単心コイルにより磁界を発生するソースコイルと、
センスコイルとして３次元空間上に複数の単心コイルを異なる位置に配置し、前記センスコイルの出力から前記ソースコイルの位置を推定する推定手段と
を備えたことを特徴とする位置推定装置。
【０２９１】
（付記項３９）  前記推定手段は、
前記センスコイルの出力を前記ソースコイルの適当な位置から算出する第１の出力算出手段と、
前記第１の出力算出手段により算出された前記センスコイルの出力と、前記センスコイルの測定された出力とから、前記ソースコイルの位置を更新するための値を算出する更新値算出手段と、
前記更新値算出手段により算出された更新値を前記ソースコイルの位置に加え、前記センスコイルの出力を算出する第２の出力算出手段と、
前記更新値が適当な値になるまで、前記更新算出手段と第２の前記出力算出手段を繰り返し、前記ソースコイルの位置を推定するソースコイル推定手段と
からなることを特徴とする付記項３８に記載の位置推定装置。
【０２９２】
（付記項４０）  前記第１の出力算出手段は、
前記ソースコイルの位置を前記ソースコイルの並びの連続性から設定する設定手段
からなることを特徴とする付記項３９に記載の位置推定装置。
【０２９３】
（付記項４１）  前記推定手段により推定された位置を時系列的に記憶する記憶手段と、
前記第１の出力算出手段の前記ソースコイルの位置を前記記憶手段に記憶された位置から設定する設定手段と
を備えたことを特徴とする付記項３９に記載の位置推定装置。
【０２９４】
（付記項４２）  単心コイルにより磁界を発生するソースコイルと、
３次元空間上に複数の単心コイルを異なる位置に配置して構成される前記磁界を検出するセンスコイルの出力から、磁界を発生するソースコイルの位置を推定する推定工程と
からなることを特徴とするコイル位置測定方法。
【０２９５】
（付記項４３）  前記推定工程は、
前記センスコイルの出力を前記ソースコイルの適当な位置から算出する第１の出力加算工程と、
前記第１の出力加算工程により算出された前記センスコイルの出力と、前記センスコイルの測定された出力とから、前記ソースコイルの位置を更新するための値を算出する更新値算出工程と、
前記更新値算出工程により算出された更新値を前記ソースコイルの位置に加え、前記センスコイルの出力を算出する第２の出力加算工程と、
前記更新値が適当な値になるまで、前記更新値算出工程と前記第２の出力加算工程での算出を繰り返し、前記ソースコイルの位置を推定するソースコイル位置推定工程と
からなることを特徴とする付記項４２に記載のコイル位置測定方法。
【０２９６】
【発明の効果】
以上説明したように本発明によれば、複数組のセンスコイルによりソースコイルの３次元位置を求めるときの推定誤差を縮小することができるという効果がある。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る内視鏡システムの構成を示す構成図
【図２】図１の内視鏡装置形状検出装置の機能構成を示すブロック図
【図３】図２の内視鏡装置形状検出装置の構成を示す構成図
【図４】図３の内視鏡装置形状検出装置の要部である２ポートメモリ等の構成を示す構成図、
【図５】図４の２ポートメモリの動作を示すタイミング図
【図６】図１の内視鏡システムの作用を示すフローチャート
【図７】図６のＦＦＴ処理の流れを示すフローチャート
【図８】図６の内視鏡システムの作用における並行処理タイミングを示すタイミング図
【図９】図６のソースコイル推定位置座標算出処理の原理を説明する第１の説明図
【図１０】図６のソースコイル推定位置座標算出処理の原理を説明する第２の説明図
【図１１】図６のソースコイル推定位置座標算出処理の原理を説明する第３の説明図
【図１２】図６のソースコイル推定位置座標算出処理の原理を説明する第４の説明図
【図１３】図６のソースコイル推定位置座標算出処理の原理を説明する第５の説明図
【図１４】図６のソースコイル推定位置座標算出処理の原理を説明する第６の説明図
【図１５】図６のソースコイル推定位置座標算出処理の原理を説明する第７の説明図
【図１６】図６のソースコイル推定位置座標算出処理の原理を説明する第８の説明図
【図１７】図６のソースコイル推定位置座標算出処理の原理を説明する第９の説明図
【図１８】図６のソースコイル推定位置座標算出処理の原理を説明する第１０の説明図
【図１９】図６のソースコイル推定位置座標算出処理の原理を説明する第１１の説明図、
【図２０】図６のソースコイル推定位置座標算出処理の流れを示す第１のフローチャート
【図２１】図６のソースコイル推定位置座標算出処理の流れを示す第２のフローチャート
【図２２】図２０及び図２１により算出されたソースコイル推定位置に対する位置更新制御処理の流れを示すフローチャート
【図２３】図６の内視鏡形状検出イメージ画像表示処理の流れを示すフローチャート
【図２４】図２３の通常モード処理による表示例を示す図
【図２５】図２３の拡大モード処理の流れを示すフローチャート
【図２６】図２５の拡大モード処理による表示例を示す図
【図２７】図６の内視鏡形状検出イメージ画像表示処理における３Ｄモデル１および３Ｄモデル２のイメージモデルを説明する第１の説明図
【図２８】図２７の３Ｄモデル１および３Ｄモデル２のイメージモデルの表示処理を示すフローチャート
【図２９】図６の内視鏡形状検出イメージ画像表示処理における３Ｄモデル１および３Ｄモデル２のイメージモデルを説明する第２の説明図
【図３０】図２９の色調補正処理の流れを示す第１のフローチャート
【図３１】図３０の色調補正処理の作用を説明する第１の説明図
【図３２】図２９の色調補正処理の流れを示す第２のフローチャート
【図３３】図３０の色調補正処理の作用を説明する第２の説明図
【図３４】図６の内視鏡形状検出イメージ画像表示処理における２Ｄモデルのイメージモデルの表示処理を示すフローチャート
【図３５】図３４による処理で表示される内視鏡形状検出イメージ画像の表示例を示す図
【図３６】図６の内視鏡形状検出イメージ画像表示処理における１２点モデルのイメージモデルの表示処理を示すフローチャート
【図３７】図３６による処理で表示される内視鏡形状検出イメージ画像の表示例を示す図
【図３８】図６の内視鏡形状検出イメージ画像表示処理における直線モデルのイメージモデルの表示処理を示すフローチャート
【図３９】図３８による処理で表示される内視鏡形状検出イメージ画像の表示例を示す図
【図４０】本発明の第２の実施の形態に係るソースコイル推定位置座標算出処理の原理を説明する説明図
【図４１】図４０のソースコイル推定位置座標算出処理の流れを示す第１のフローチャート
【図４２】図４０のソースコイル推定位置座標算出処理の流れを示す第２のフローチャート
【図４３】本発明の第３の実施の形態に係るソースコイル推定位置座標算出処理を説明する説明図
【図４４】図４３の角度θが直交した状態に近い２つセンスコイルによるソースコイル推定位置座標算出処理の流れを示す第１のフローチャート
【図４５】図４３の角度θが直交した状態に近い２つセンスコイルによるソースコイル推定位置座標算出処理の流れを示す第２のフローチャート
【図４６】本発明の第４の実施の形態に係る３次元空間上に磁界を発生するソースコイルの配置の一例を示す図
【図４７】図４６の配置に対する第４の実施の形態のソースコイルの配置を説明する図
【符号の説明】
１…内視鏡システム
２…内視鏡装置
３…内視鏡形状検出装置
４…ベッド
６…電子内視鏡
７…挿入部
８…操作部
９…ユニバーサルコード
１０…ビデオプロセッサ
１１…画像観察用モニタ
１２…鉗子チャンネル
１２ａ…挿入口
１４ｉ…ソースコイル
１５…プローブ
１６…ソースケーブル
２１…装置本体
２２ｋ…単心コイル
２２ｊ…センスコイル
２３…センスケーブル
２４…操作パネル
２５…モニタ
２６…駆動ブロック
２７…検出ブロック
２８…ホストプロセッサ
３１…ソースコイル駆動回路
３２…ＣＰＵ
３３…ＰＩＯ
３４…センスコイル信号増幅回路部
３５ｋ…増幅回路
３６ｋ…フィルタ回路
３７ｋ…出力バッファ
３８ｋ…ＡＤＣ
４０…制御信号発生回路部
４１…ローカルデータバス
４２…２ポートメモリ
４６…内部バス
４７…メインメモリ
４８…ビデオＲＡＭ
４９…ビデオ信号発生回路
【図１】
0003571675.tif 000059
【図２】
0003571675.tif 000060
【図３】
0003571675.tif 000061
【図４】
0003571675.tif 000062
【図５】
0003571675.tif 000063
【図６】
0003571675.tif 000064
【図７】
0003571675.tif 000065
【図８】
0003571675.tif 000066
【図９】
0003571675.tif 000067
【図１０】
0003571675.tif 000068
【図１１】
0003571675.tif 000069
【図１２】
0003571675.tif 000070
【図１３】
0003571675.tif 000071
【図１４】
0003571675.tif 000072
【図１５】
0003571675.tif 000073
【図１６】
0003571675.tif 000074
【図１７】
0003571675.tif 000075
【図１８】
0003571675.tif 000076
【図１９】
0003571675.tif 000077
【図２０】
0003571675.tif 000078
【図２１】
0003571675.tif 000079
【図２２】
0003571675.tif 000080
【図２３】
0003571675.tif 000081
【図２４】
0003571675.tif 000082
【図２５】
0003571675.tif 000083
【図２６】
0003571675.tif 000084
【図２７】
0003571675.tif 000085
【図２８】
0003571675.tif 000086
【図２９】
0003571675.tif 000087
【図３０】
0003571675.tif 000088
【図３１】
0003571675.tif 000089
【図３２】
0003571675.tif 000090
【図３３】
0003571675.tif 000091
【図３４】
0003571675.tif 000092
【図３５】
0003571675.tif 000093
【図３６】
0003571675.tif 000094
【図３７】
0003571675.tif 000095
【図３８】
0003571675.tif 000096
【図３９】
0003571675.tif 000097
【図４０】
0003571675.tif 000098
【図４１】
0003571675.tif 000099
【図４２】
0003571675.tif 000100
【図４３】
0003571675.tif 000101
【図４４】
0003571675.tif 000102
【図４５】
0003571675.tif 000103
【図４６】
0003571675.tif 000104
【図４７】
0003571675.tif 000105