(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5693738
(24)【登録日】2015年2月13日
(45)【発行日】2015年4月1日
(54)【発明の名称】改良されたグラフィックレンダリングのための2つのマイクロコントローラを備えた埋込み型医療装置用外部コントローラ
(51)【国際特許分類】
A61N 1/372 20060101AFI20150312BHJP
【FI】
A61N1/372
【請求項の数】16
【全頁数】14
(21)【出願番号】特願2013-533880(P2013-533880)
(86)(22)【出願日】2011年10月5日
(65)【公表番号】特表2013-539709(P2013-539709A)
(43)【公表日】2013年10月28日
(86)【国際出願番号】US2011054874
(87)【国際公開番号】WO2012051014
(87)【国際公開日】20120419
【審査請求日】2013年6月12日
(31)【優先権主張番号】61/392,807
(32)【優先日】2010年10月13日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】507213592
【氏名又は名称】ボストン サイエンティフィック ニューロモデュレイション コーポレイション
(74)【代理人】
【識別番号】100092093
【弁理士】
【氏名又は名称】辻居 幸一
(74)【代理人】
【識別番号】100082005
【弁理士】
【氏名又は名称】熊倉 禎男
(74)【代理人】
【識別番号】100088694
【弁理士】
【氏名又は名称】弟子丸 健
(74)【代理人】
【識別番号】100103609
【弁理士】
【氏名又は名称】井野 砂里
(74)【代理人】
【識別番号】100095898
【弁理士】
【氏名又は名称】松下 満
(74)【代理人】
【識別番号】100098475
【弁理士】
【氏名又は名称】倉澤 伊知郎
(74)【代理人】
【識別番号】100123607
【弁理士】
【氏名又は名称】渡邊 徹
(72)【発明者】
【氏名】アガシアン ダニエル
(72)【発明者】
【氏名】ストーファー トーマス
(72)【発明者】
【氏名】グエン ヴォン
【審査官】
村上 聡
(56)【参考文献】
【文献】
米国特許第07751889(US,B1)
【文献】
特開平09−120277(JP,A)
【文献】
国際公開第2009/105725(WO,A2)
【文献】
特表平04−501213(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A61N 1/372
(57)【特許請求の範囲】
【請求項1】
外部医療装置のディスプレイ上に少なくとも1つのグラフィックをレンダリングする方法であって、
第1のマイクロコントローラにおいて、埋込み型医療装置から遠隔通信された入力データを受取るステップを有し、前記入力データは、前記ディスプレイ上にレンダリングすべきグラフィックと結びつけられた少なくとも1つの属性を有し、
更に、前記第1のマイクロコントローラにおいて、前記入力データをグラフィックコマンドに変換するステップを有し、前記グラフィックコマンドは、画面インデックスと、前記少なくとも1つの属性を含み、
更に、前記グラフィックコマンドを第2のマイクロコントローラに送信するステップと、
前記第2のマイクロコントローラにおいて、前記画面インデックスを使用して、少なくとも1つの画像ファイル及び各画像ファイルと結びつけられた位置を記憶装置から受取るステップと、を有し、各画像ファイルは、レンダリングすべきグラフィックに対応し、
更に、前記第2のマイクロコントローラにおいて、各グラフィックを、それと結びつけられた属性に従って修正するステップと、
前記第2のマイクロコントローラを使用し、且つ、修正された各グラフィックに対応する画像ファイルを使用して、修正された各グラフィックをレンダリングするステップと、を有し、修正された各グラフィックは、レンダリングすべきグラフィックに対応する前記画像ファイルと結びつけられた前記ディスプレイ上の前記位置のところにレンダリングされる、方法。
【請求項2】
前記第1のマイクロコントローラは、前記第2のマイクロコントローラが作動するクロック周波数よりも遅いクロック周波数で作動する、請求項1に記載の方法。
【請求項3】
前記入力データを、外部コントローラのユーザインターフェイスからさらに受取る、請求項1に記載の方法。
【請求項4】
前記ユーザインターフェイスは、複数のボタンを含む、請求項3に記載の方法。
【請求項5】
前記入力データは、前記埋込み型医療装置内のバッテリの容量を含む、請求項1に記載の方法。
【請求項6】
外部医療装置のディスプレイ上にグラフィックをレンダリングする方法であって、
(a)埋込み型医療装置から遠隔通信された、前記ディスプレイ上にレンダリングすべき少なくとも1つのグラフィックを示す入力データを第1のマイクロコントローラで受取るステップと、
(b)前記入力データの少なくとも第1の部分を前記第1のマイクロコントローラから第2のマイクロコントローラに送信するステップと、
(c)前記第2のマイクロコントローラにおいて、前記入力データの少なくとも第1の部分を処理するステップと、
(d)前記処理したデータを前記第1のマイクロコントローラに送信するステップと、
(e)前記第1のマイクロコントローラにおいて、少なくとも前記処理したデータをグラフィックコマンドに変換するステップと、
(f)前記グラフィックコマンドを前記第2のマイクロコントローラに送信するステップと、
(g)前記グラフィックコマンドを使用して、少なくとも1つの画像ファイルを記憶装置から検索するステップと、
(h)前記第2のマイクロコントローラを使用して、前記少なくとも1つの画像ファイルを前記ディスプレイ上にレンダリングするステップと、含む方法。
【請求項7】
前記入力データの第2の部分を前記第1のマイクロコントローラに記憶し、前記第1のマイクロコントローラにおいて、前記処理したデータ及び前記入力データの第2の部分をグラフィックコマンドに変換するステップをさらに含む、請求項6に記載の方法。
【請求項8】
前記ステップ(b)及び(d)は、前記第1のマイクロコントローラと前記第2のマイクロコントローラの間のデータバスを使用して行われ、前記ステップ(f)は、前記第1のマイクロコントローラと前記第2のマイクロコントローラの間の制御バスを使用して行われる、請求項6に記載の方法。
【請求項9】
前記第1のマイクロコントローラは、前記第2のマイクロコントローラが作動するクロック周波数よりも遅いクロック周波数で作動する、請求項6に記載の方法。
【請求項10】
前記グラフィックコマンドは、画面インデックスを含む、請求項6に記載の方法。
【請求項11】
前記グラフィックコマンドは、前記グラフィックのレンダリングを修正する少なくとも1つの属性をさらに含む、請求項10に記載の方法。
【請求項12】
前記画面インデックスを使用して、前記少なくとも1つの画像ファイルを前記記憶装置から検索する、請求項10に記載の方法。
【請求項13】
前記グラフィックコマンドをさらに使用して、前記少なくとも1つの画像ファイルのための場所を検索し、前記少なくとも1つのグラフィックを前記ディスプレイ上の前記場所にレンダリングする、請求項6に記載の方法。
【請求項14】
さらに、前記入力データを前記外部コントローラのユーザインターフェイスから受取る、請求項6に記載の方法。
【請求項15】
前記ユーザインターフェイスは、複数のボタンを含む、請求項14に記載の方法。
【請求項16】
前記入力データは、電極抵抗値を含む、請求項6に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2010年10月13日に出願された米国特許出願第61/392,807号の国際(PCT)出願であるとともに、この特許出願に対する優先権を主張し、この特許出願の全体を本明細書に援用する。
【0002】
本出願は、2つのマイクロコントローラを有する埋込み型医療装置のための外部コントローラに関し、外部コントローラの高解像度ディスプレイの制御において特に有用である。
【背景技術】
【0003】
埋込み型刺激装置は、様々な生物学的疾患を治療するための電気刺激を生成して体内神経及び組織へ送出する装置であり、例えば、不整脈を治療するペースメーカー、心細動を治療する除細動器、難聴を治療する蝸牛刺激器、盲目を治療する網膜刺激器、協調四肢運動を引き起こす筋肉刺激器、慢性疼痛を治療する脊髄刺激器、運動障害及び精神障害を治療する脳皮質及び脳深部刺激器、及び尿失禁、睡眠時無呼吸、肩亜脱臼を治療するその他の神経刺激器などがある。本発明は、全てのかかる用途において適用性を見出すことができるが、以下の説明は、一般的には、特許文献1(米国特許第6,516,227号)に開示されているような脊髄刺激(SCS)システムにおいて本発明を使用することに焦点を当てたものであり、この特許を本明細書に援用する。
【0004】
脊髄電気刺激法は、特定の患者集団の痛みを軽減するための広く受け入れられている臨床方法である。
図1A及び
図1Bに示すように、典型的には、SCSシステムは、埋込み型パルス発生器(IPG)100を有し、このIPGは、例えばチタンで形成された生体適合ケース30を有する。典型的には、ケース30は、IPGが機能するのに必要な回路及び電源又はバッテリを保持するが、バッテリを使用せずに、外部RFエネルギーを通じてIPGに給電することもできる。IPG100は、1本又は2本以上の電極リード(2本のかかるリード102及び104を図示)を介して電極106に結合され、この電極106が電極アレイ110を形成する。電極106は、可撓性本体108上にあり、この可撓性本体108は、各電極に結合された個々の信号線112及び114も収容する。例示の実施形態では、E1〜E8と表示された8つの電極がリード102上に存在し、E9〜E16と表示された8つの電極がリード104上に存在するが、リード及び電極の数は特定の適用例固有のものであり、従ってこれとは異なる場合もある。
【0005】
IPGシステムの一部の断面を
図2に示し、これにはIPG100及び外部コントローラ(リモコン装置)210が含まれる。典型的には、IPG100は、マイクロコントローラ、集積回路及びコンデンサ等の様々な電子部品20を装着したプリント基板(PCB)16を含む電子基板アセンブリ14を備える。一般的には、IPG100内には、外部コントローラ210へ/からデータを送信/受信するために使用する遠隔通信コイル13、及び外部充電器(図示せず)を使用してIPGの電源又はバッテリ26を充電又は再充電するための充電コイル18という2つのコイルが存在する。遠隔通信コイル13は、図示のようにヘッダコネクタ36内に装着すること、又はケース30内に含めることができる。
【0006】
上述したように、ハンドヘルドプログラマ又は臨床医用プログラマ等の外部コントローラ210は、IPG100との間でデータを無線で送受信するために使用される。例えば、外部コントローラ210は、IPG100が患者に施す治療を設定するためのプログラムデータをIPG100に送信することができる。また、外部コントローラ210は、IPGの状態をレポートする様々なデータ等の、IPG100からのデータの受信機として機能することもできる。
【0007】
外部コントローラ210との間のデータ通信は、磁気誘導結合を通じて行われる。例えば、外部コントローラ210からIPG100にデータを送信する場合、コイル17が交流電流(AC)で励起される。データを転送するためのかかるコイル17の励起は、例えば、特許文献2(2007年7月19日に出願された米国特許出願第11/780,369号)に記載されるような周波数シフトキーイング(FSK)プロトコルを使用して行うことができ、この特許出願の全体を本明細書に援用する。コイル17を励起することによって電磁場が生じ、これがさらにIPGの遠隔通信コイル13内に電流を誘導し、その後この電流を復調して元データを回復することができる。IPG100から外部コントローラ210への通信も、基本的に同じように行われる。
【0008】
外部コントローラ210の正面図を
図3に示す。図示のように、典型的には、この外部コントローラは、様々な入力ボタン250及びディスプレイ440を含むユーザインターフェイスを備える。このユーザインターフェイスは、その他の可聴式又は触覚性の特徴を含んでいてもよい。患者は、ユーザインターフェイスを使用して、様々な機能を実行することができる。例えば、ユーザは、ボタン250を使用して、刺激パラメータを調整することができ、ボタンを押すことにより、刺激力の増加又は減少等、ディスプレイ440上のゲージを変化させることができる。変形例として、ディスプレイ440は、ボタン250を押したかどうかに関わらず、IPG100内のバッテリ26(
図2)の状態等の状態情報を示してもよい。特許文献3(2007年11月5日に出願された米国特許出願第11/935,111号)において、外部コントローラの構造及び機能に関するさらなる詳細を見出すことができ、本願を読む者は特許文献3を知っていると思われる。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】米国特許第6,516,227号明細書
【特許文献2】米国特許出願第11/780,369号明細書
【特許文献3】米国特許出願第11/935,111号明細書
【特許文献4】米国特許出願第11/096,483号明細書
【特許文献5】米国特許出願第11/938,490号明細書
【発明の概要】
【発明が解決しようとする課題】
【0010】
外部コントローラ210及びIPG100がますます進歩するにつれ、発明者らは、高解像度カラーディスプレイ等のより質の高いユーザインターフェイスを患者に提供することが有利であると気付いた。例えば、現在、患者は、自身の外部コントローラ210を使用して電極間に電流を誘導し、Boston Scientific社のi−Sculpt(登録商標)技術を使用して行われるような最も有効な刺激治療を見出すことができる。本出願とともにコピーを提出しているhttp://www.chrisamichaels.com/assets/precplus.pdfを参照されたい。しかしながら、一般的には、駆動が比較的単純であり、有意なコンピュータリソースを必要としない白黒液晶ディスプレイを使用する従来の外部コントローラ内に存在するマイクロコントローラ及びディスプレイを使用して電流ステアリングを行うことは困難である。大型の高解像度ディスプレイは、より良好な電流ステアリング及びその他のシステム機能を可能にするであろうが、これにはさらなるコンピュータリソースが必要であり、従来の外部コントローラ内に存在するマイクロコントローラを使用してこのリソースを提供することは困難である。本開示は、解決策を提供するものである。
【図面の簡単な説明】
【0011】
【
図1A】先行技術による埋込み型パルス発生器(IPG)及びIPGに電極アレイを結合する方法を示す図である。
【
図1B】先行技術による埋込み型パルス発生器(IPG、及びIPGに電極アレイを結合する方法を示す図である。
【
図2】外部コントローラとIPGの間の無線データ通信を示す図である。
【
図3】先行技術の外部コントローラを示す図である。
【
図4】1つの実施形態による、2つのマイクロコントローラを備えた外部コントローラのブロック図である。
【
図5A】1つの実施形態による、2つのマイクロコントローラを備えた外部コントローラ内のディスプレイ画面を例示する図である。
【
図5B】1つの実施形態による、2つのマイクロコントローラを備えた外部コントローラ内のディスプレイ画面上にグラフィックをレンダリングする流れを例示する図である。
【
図6】1つの実施形態による、2つのマイクロコントローラを備えた外部コントローラ内で遠隔通信データを処理する技術のフローチャートである。
【
図7】別の実施形態による、2つのマイクロコントローラを備えた外部コントローラ内で遠隔通信データを処理する技術のフローチャートである。
【発明を実施するための形態】
【0012】
以下の説明は、本発明を脊髄電気刺激(SCS)システム内で使用することに関する。しかしながら、本発明はこのように限定されるものではない。むしろ、本発明は、埋込み型医療装置の改善された外部コントローラから恩恵を受けることができる任意の種類の埋込み型医療装置システムとともに使用することができる。例えば、本発明は、埋込み型センサ、埋込み型薬物ポンプ、ペースメーカー、除細動器、蝸牛刺激器、網膜刺激器、協調四肢運動を生み出すように構成された刺激器、脳皮質及び脳深部刺激器を使用するシステムの一部として、又は様々な状態のいずれかを処置するように構成されたその他の任意の神経刺激器において使用することができる。
【0013】
埋込み型医療装置とともに使用可能な、2つのマイクロコントローラを有する改善された外部コントローラを開示する。この外部コントローラは、低速(低周波数)マイクロコントローラと、高速(高周波数)マイクロコントローラを含む。低速マイクロコントローラは、医療装置から遠隔通信ユニットを介して遠隔通信データを受取り、データをグラフィックコマンドに変換し、グラフィックコマンドを高速マイクロコントローラに送信する。高速マイクロコントローラは、グラフィックコマンドを解釈し、グラフィックコマンドを示す画像を記憶装置から検索し、画面及び画像をディスプレイ画面上にレンダリングする。高速マイクロコントローラは、低速マイクロコントローラから送信されたさらに複雑なデータを処理し、この結果を低速マイクロコントローラに戻して、高速マイクロコントローラが実行するグラフィックコマンドを形成できるようにしてもよい。この結果、外部コントローラ内における高品質なグラフィックの実装、及びこの外部コントローラによる質の高い患者体験が可能になる。
【0014】
改善された外部コントローラ400の1つの実施形態を、
図4にブロック図形式で示す。外部コントローラ400は、2つのマイクロコントローラ、すなわち、低速マイクロコントローラ410及び高速マイクロコントローラ420を備え、これらを後で詳細に説明する。外部コントローラ400は、IPG100と無線で通信する遠隔通信ユニット405を備える。外部コントローラ400はまた、後でさらに説明するような画像ファイル等の予めロードしたデータを記憶する記憶装置430を備える。外部コントローラ400は、患者に、ディスプレイ440及び様々な入力ボタン250(
図3)の形態のユーザインターフェイスを提供する。患者は、ユーザインターフェイスから、多数の作業を行うことができ、かかる作業は、例えば、外部コントローラ400からIPG100に(新たな治療プログラム等の)データを遠隔通信すること、IPG100からの様々な形態の状態フィードバックを外部コントローラ400においてモニタすることである。後でさらに説明するように、(例えば、ボタン250からの)かかるユーザ入力は、典型的には、2つのマイクロコントローラ410、420のマスターとして機能する低速マイクロコントローラ410に到達する。
【0015】
1つの実施形態では、外部コントローラ400は、常に、IPG100との遠隔通信のイニシエータ(開始装置)として機能する。この実施形態では、ユーザが、ユーザインターフェイスを使用して、外部コントローラ400を、電源を切った状態又は「スリープ」状態から起動させ、ユーザインターフェイス(ボタン250など)を使用して、IPGのバッテリ状態を問い合わせること等の通信を開始する。しかしながら、このことがすべての有用な実施形態において厳密に必要なわけではない。その代わりに、外部コントローラ400は、ユーザの介入なしに、IPG100との通信を開始してもよいし、IPG100自体が、スケジュールに従って又は重要と思われるデータを受取ったとき、外部コントローラ400にデータを遠隔通信したり、少なくともデータを遠隔通信しようとしたりしてもよい。
【0016】
ディスプレイ440は、選択的には、テキスト及びグラフィックの両方を表示して、必要な情報を患者に伝え、かかる情報は、例えば、メニューオプション、刺激設定、IPGのバッテリ状態、外部コントローラのバッテリ状態、刺激状態(すなわち、オン又はオフ)、充電状態(オン又はオフ)である。ディスプレイ440は、カラーディスプレイを含むのがよく、カラーディスプレイは、例えば、カラースーパーツイステッドネマチック(CSTN)LCD、薄膜トランジスタ(TFT)LCDである。ディスプレイ440は、さらに、有機発光ダイオード(OLED)ディスプレイをさらに含むのがよい。有機発光ダイオード(OLED)ディスプレイは、単色、グレースケール(典型的には4ビット)、カラー(典型的には、は2色又は3色)、又はフルカラー(8ビット〜32ビットカラー)で利用することができる。上述したように、ディスプレイ440の複雑性が、2つのマイクロコントローラ410、420を使用する主な動機である。
【0017】
後でさらに説明するように、記憶装置430は、ディスプレイ440上にレンダリングされる画像ファイル等の永続データを記憶するのに使用される。かかる画像ファイルは、外部コントローラ400の製造中に記憶装置430内にロードされるのがよい。ソフトウェアブロック450は、一般的には、低速マイクロコントローラ410のためのオペレーティングソフトウェアを含み、ソフトウェアブロック455は、一般的には、高速マイクロコントローラ420のためのオペレーティングソフトウェアを含む。ソフトウェアブロック450、455のいずれかは、それぞれのマイクロコントローラのファームウェアの一部を含んでいてもよいし、それらに接続されていてもよい。典型的には、記憶装置430とソフトウェアブロック450、455は両方とも、不揮発性ストレージを提供するフラッシュEEPROMメモリを含むが、製造中又は製造後にオペレーティングソフトウェア又は画像ファイルを更新する必要がある場合には、フラッシュEEPROMメモリを消去することができる。変形例として、記憶装置430及びソフトウェアブロック450、455を、ROMマイクロコード内に実装してもよい。記憶装置430は、高速マイクロコントローラ420に直列に接続されてもよい。
【0018】
低速マイクロコントローラ410は、外部コントローラ400内の基礎データの処理に適している。低速マイクロコントローラ410は、その比較的低い作動周波数(例えば、6MHz)のため、消費電力が少なく、電磁放射線が少なく、比較的サイズが小さい。1つの実施形態では、低速マイクロコントローラ410として、Texas Instruments社のMSP430シリーズのマイクロコントローラが使用される。低速マイクロコントローラ410は、外部コントローラ400内で遠隔通信及び典型的なデータの処理を行い、この処理は、(例えば、最新のパーソナルコンピュータと比べて)比較的低速で行うことができる。
【0019】
対照的に、高速マイクロコントローラ420は、より高い周波数(例えば、48MHz)で作動し、従って、相当な処理を必要とする機能の実行により良く適応し、かかる処理は、例えば、大量の計算、浮動小数点演算、又は高速データストリーミングである。1つの実施形態では、高速マイクロコントローラ420として、Atmel社のARMマイクロコントローラが使用される。
【0020】
図4に示すように、外部コントローラ400は、低速マイクロコントローラ410において、遠隔通信ユニット405を介してIPG100との間で遠隔通信データを送受信する。遠隔通信ユニット405は、トランシーバ回路を含み、トランシーバ回路は、データを送信用にエンコード(符号化)するための変調回路、及び受取ったデータをデコード(復号)するための復調回路を含む。上述したように、外部コントローラ400は、IPG100が患者に施す治療を設定するためのプログラムデータをIPG100に送信する。外部コントローラ400はまた、IPG100からのデータの受信機として機能してもよく、かかるデータは、例えば、ディスプレイ画面440に表示され且つIPGの状態を報告する様々なデータである。
【0021】
図4に示すように、低速マイクロコントローラ410は、データバス425を介して高速マイクロコントローラ420と通信する。また、低速マイクロコントローラ410から高速マイクロコントローラ420にコマンドを送信するための別個の制御バス427を示している。これに関して、低速マイクロコントローラ410は、高速マイクロコントローラ420に対する「マスター」として機能し、高速マイクロコントローラ420は、「スレーブ」として機能し、その理由は、高速マイクロコントローラ420は、一般的には、低速マイクロコントローラ410によって与えられるコマンドに従って作動するからでる。データバス425、コマンドバス427、又はこれらの両方は、シリアルバスを含んでいてもよい。
【0022】
上述したように、外部コントローラ400は、低速マイクロコントローラ410において、IPG100のバッテリ容量等の遠隔通信データを遠隔通信ユニット405を介してIPG100から受取り、この情報がディスプレイ440に送信される。この作動を容易にするために、低速マイクロコントローラ410は、受取った遠隔通信データを、高速マイクロコントローラ420によって実行されるようにグラフィックコマンドに変換する。グラフィックコマンドは、画面に描画し又はこれを更新する方法についての指令セットを含み、かかるグラフィックコマンドは、グラフィックコマンドプロトコルに従ってフォーマットされる。もちろん、IPG100から外部コントローラ400に送信される全てのデータが、最終的にディスプレイ440に送られるとは限らず、かかる場合には、グラフィックコマンドのフォーマットは不要である。さらに、以下の例では、遠隔通信されたデータを表示することを強調しているが、ディスプレイ440上の全ての画像が、IPG100から遠隔通信されたデータに由来するとは限らない。
【0023】
外部コントローラ400内で使用されるグラフィックコマンドプロトコルは、インデックス付き画面のライブラリを使用し、各画面又はインデックスは、外部コントローラ400の作動中の所与の時点における画面の特定の外観に対応する。例えば、インデックス0は、ユーザに様々な選択肢を提示できる「メインメニュー」画面を含み、インデックス1は、「シミュレーション画面」を含む。ユーザは、ユーザインターフェイスを使用して選択を行うことによって、これらの画面間を移動し、例えば、ボタン250を使用して、メインメニュー画面(インデックス0)から刺激画面(インデックス1)に移動する。しかしながら、このことが厳密に必要なわけではなく、その理由は、外部コントローラ400は、必要に応じて画面(インデックス)間を自動的に移動してユーザに様々な重要な情報を示してもよいからである。
【0024】
各インデックスは、ディスプレイ440のレイアウトを定め、且つ、ディスプレイ440に表示すべきグラフィック及びかかるグラフィックの場所の組に対応する。インデックス1の「刺激画面」の表示例を、
図5Aに示し、この表示例は、複数のグラフィックを含み、具体的には、外部コントローラのバッテリ状態506、IPGのバッテリ状態504、刺激レベル状態502、最大値の割合としてテキスト表示される刺激レベル状態503、プログラムグラフィック510、及びメニューグラフィック512のグラフィックを含む。プログラムグラフィック510は、特定のプログラム番号(図示のような「1」)、及びこのプログラムのテキスト記述(「午前」)を含み、これは、このプログラム「1」が、この患者が一般的には、午前中に使用する設定を含むことを示す。もちろん、プログラム番号及びその設定は、ユーザがユーザインターフェイスを使用することにより変更してもよい。
【0025】
特定の画面インデックスに関して表示されるこれらのグラフィックのいくつかは、表示されるグラフィックを変化させる属性を含む。例えば、IPGバッテリゲージ504は、IPGバッテリの電流容量に基づき、0%〜100%の範囲である。IPGバッテリゲージ504には、この容量属性は、典型的には、多数の実線バー(各々が25%の容量を構成する4つのバー)として反映される。刺激レベルゲージ502も同様であり、電流刺激レベルを最大値の割合として示すための多数のバーを構成する。また、ゲージ503は、この属性を(40%のように)テキストで表示する。いくつかの属性は、ユーザが行った変更に由来し、他の属性は、IPG100から遠隔通信されたデータに由来する。例えば、ゲージ504によって反映されるIPGバッテリ容量は、IPG100から遠隔通信されたデータに由来し、ゲージ502及び503によって反映される刺激レベルは、外部コントローラのユーザインターフェイス上のボタン250を介したユーザ入力に由来する。
【0026】
低速マイクロコントローラ410は、(遠隔通信を介してIPG100から又はユーザインターフェイスを介してユーザから)受取っているデータに基づいて、どの画面インデックス又はその画面インデックス内の特定のグラフィックが関係しているかを認識する。例えば、遠隔通信データは、遠隔通信されたデータを識別するヘッダ情報を伴う。次に、
図5Bに示すように、低速マイクロコントローラ410は、そのインデックス及び任意の属性(Ax)(例えば、IPGバッテリ容量)を、制御バス427を介して高速マイクロコントローラ420に受け渡す。上述し且つ図示したように、各画面インデックスは、所与のインデックスを構成するグラフィックに対応する複数の画像ファイルに対応し、これらの画像ファイル及び場所は、記憶装置430に記憶されている。例えば、画像ファイル「Image3.gph」は、IPGバッテリゲージ504を表す画像ファイル及びそのディスプレイ440上の場所「Loc3」を含み、画像ファイル「Image4.gph」は、刺激ゲージ502を表す画像ファイル及びそのディスプレイ上の場所Loc4を含む。
【0027】
新しいインデックスが高速マイクロコントローラ420から記憶装置430に受け渡されると、再び
図5Bに示すように、対応する画像ファイル及び場所を検索する。次に、高速マイクロコントローラ420は、これらを処理し、ディスプレイ440のレンダリングエンジン422を使用して、ディスプレイ440上に適当なグラフィックをレンダリングする。レンダリングエンジン422は、IPGバッテリ容量等の属性によってグラフィックを修正する範囲まで、属性を考慮して、レンダリングされた画像を適宜修正する。例えば、IPGバッテリ容量が非常に少ない(例えば25%)場合、レンダリングエンジンは、その属性を考慮して、ゲージ504内の4つのバーのうちの1つだけ中実にレンダリングする。また、レンダリングエンジン422は、レンダリングされた画像の他の側面を属性に応じて変化するように変更してもよい。例えば、ゲージ504を異なる色(赤色)でレンダリングしてもよいし、IPGバッテリ容量が非常に少ない場合には点滅させてもよい。レンダリングエンジン422は、属性が時間とともに変化するにつれ、表示された画像を更新してもよい。例えば、レンダリングエンジン422は、IPGバッテリ容量が減少していることに気付いた場合、それにしたがって、レンダリングするゲージ504のグラフィックを調整する。
【0028】
これらのグラフィックは、高速マイクロコントローラ420の処理速度に起因して、ユーザの視点から見て外見的に即座にディスプレイ上にレンダリングされる。対照的に、低速マイクロコントローラ410自体が、かかるレンダリングを行ったとすると、その遅い速度に起因して、画像が画面にわたってゆっくりと走査されている間、ユーザは必要以上の長さの時間待たなければならないので、ユーザはフラストレーションを経験する。さらに、低速マイクロコントローラ410がグラフィックレンダリングを行ったとすると、(遠隔通信等の)他のシステム機能が放棄される程度まで、必要なデータの処理に行き詰まることがある。外部コントローラ400によって可能になる高速グラフィック処理により、(上述したiSculpt(登録商標)電流ステアリング技術等の)電流ステアリングをスムーズに実施することを可能にする。例えば、電極の位置をディスプレイ440上に示し、次に、ユーザがボタン250を使用して、電極間の電流を移動又は「ステアリング」させ、ユーザの刺激治療を最適にすることができる。
【0029】
図6は、これまでに説明した技術をフローチャートで要約したものである。外部コントローラ400は、低速マイクロコントローラ410において、遠隔通信データを埋込み型装置から受取り、又は、ユーザ入力をユーザインターフェイスから受取る(ステップ630)。次に、低速マイクロコントローラ410は、受取ったデータをコマンドプロトコルに従ってコマンドに変換する(ステップ640)。次に、このコマンドを、低速マイクロコントローラ410から制御バス427を介して高速マイクロコントローラ420に送信する(ステップ650)。高速マイクロコントローラ420は、コマンドを受取ると、このコマンドを解釈して、対応する画像ファイルを記憶装置430から検索する(ステップ660)。その後、高速マイクロコントローラ420は、ディスプレイ画面440上に画像をレンダリングする(ステップ670)。
【0030】
IPG100から送信される或るデータは、それをディスプレイ440上にレンダリングできるようにする前に、外部コントローラ400においてかなりの処理を必要とするものがある。例えば、IPG100から受取った或る情報は、複雑であり、たとえば、患者に埋込んだ時の電極の相対的位置決めに関する情報である。かかる位置情報を使用して、電極リード102及び104(
図1A)の画像をディスプレイ440上に描画することができ、それにより、患者は、かかる電極リードが誤った位置に移動したかどうかを理解することを可能にする。かかる位置情報は、普通、電極リード内の様々な異なる電極間で取得した様々な抵抗測定値を含み、かかる抵抗値をディスプレイ440上のレンダリング可能な位置に解釈するのに、データの多変数性に起因して、かなりの処理が必要になる。電極位置を計算する技術は、特許文献4(2005年4月1日に出願された米国特許出願第11/096,483号)及び特許文献5(2007年11月12日に出願された米国特許出願第11/938,490号)に開示されており、本願を読む者は、特許文献4及び5を知っていると思われる。予想されるように、IPG100は、その処理能力が限られているので、かかる抵抗値の処理にはあまり適していない。その代わり、これらの抵抗値は、処理のためにIPG100から外部コントローラ400に遠隔通信される。低速マイクロコントローラ410も、その速度及び処理能力が限られているので、かかるデータの処理にはあまり適していない。
【0031】
従って、この技術の別の実施形態では、低速マイクロコントローラ410で受取ったデータを評価して、コマンド生成及びディスプレイ440上へのレンダリングの前に、さらなる処理が必要であるかどうかを決定する。必要であれば、すなわち、遠隔通信されたデータが、上述した抵抗値を伴う等、比較的複雑であり、ディスプレイ440上にレンダリングする前にかなりの処理を必要とする場合、データをかかる処理のために低速マイクロコントローラ410から高速マイクロコントローラ420に送信し、処理されたデータを低速マイクロコントローラ410に返送して、それをグラフィックコマンドに変換する。対照的に、受取ったデータが、IPGバッテリ状態である等、比較的単純であり、それを最低の処理のみで患者に表示する場合、低速マイクロコントローラ410は、上述した
図6のフローに従ってデータを処理する。
【0032】
この実施形態のプロセス700を
図7に示す。前と同様、ステップ710において、低速マイクロコントローラ410が、遠隔通信データ又はユーザ入力を評価し、グラフィックレンダリングの前に、さらなるデータ処理が必要であるかどうかを決定する。低速マイクロコントローラ410は、IPG100から受取った様々なタイプのデータを認識しているので、かかる評価は、受取ったデータのタイプを識別することだけを含む。さらなるデータ処理が必要でない場合、プロセスは、
図6に関して上述したステップに続く。すなわち、データをグラフィックコマンドに変換し(ステップ640)、それを高速マイクロコントローラ420に送信し(ステップ650)、それを高速マイクロコントローラ420において使用して画像を検索し(ステップ660)、画像を高速マイクロコントローラ420がによってディスプレイ440上にレンダリングする(ステップ670)。
【0033】
しかしながら、ステップ710において、データをさらに処理する必要がある場合、低速マイクロコントローラ410は、ステップ720において、データの少なくとも一部をデータバス425に沿って高速マイクロコントローラ420に送信する。高速マイクロコントローラ420に送信されたデータの一部は、上述した抵抗値の場合と同様、数学的解析等のかなりの処理を必要とするものを必然的に含む。対照的に、受取ったデータのうちの処理を必要としない他の部分は、高速マイクロコントローラ420における残り部分の処理が完了するまで、低速マイクロコントローラ410のメモリに単純に保持される。
【0034】
その後、高速マイクロコントローラ420に送信されたデータを処理し(ステップ730)、データバスを介して低速マイクロコントローラ410に返送する(ステップ740)。この時点で、このデータを、
図6に関連して上述したように、低速マイクロコントローラ410に保持されている任意の受取ったデータと組み合わせてグラフィックコマンドに変換し(ステップ640)、高速マイクロコントローラ420に送信し(ステップ650)、高速マイクロコントローラ420においてこれを使用して画像を検索し(ステップ660)、それをディスプレイ440上にレンダリングする(ステップ670)。上述した抵抗値の例では、ステップ640において、場所データは、グラフィックコマンドを伴った属性を含んでいる。
【0035】
2つのマイクロコントローラを備えた改善された外部コントローラ400は、いくつかの利点を提供する。高速マイクロコントローラ420及び改善された高解像度カラーディスプレイ440を追加することにより、外部コントローラ400は、より質の高いユーザオプション及び患者へのフィードバックを提供することができる。さらに、2つのマイクロコントローラは、高速マイクロコントローラ420がディスプレイ440上のグラフィックを更新しながら、低速マイクロコントローラ410が遠隔通信及びその他のシステム機能等の他のタスクを実行できるようにする並列処理能力も提供する。また、低速マイクロコントローラ410は、その低い作動周波数が遠隔通信に干渉するリスクが少ないので、遠隔通信機能を実行するために好ましい。
【0036】
本開示において言及した「マイクロコントローラ」は、マイクロプロセッサ又はその他の論理デバイス(例えば、FPGA)を含んでいてもよく、好ましくは、別個の集積回路として実装されると理解すべきである。
【0037】
ディスプレイ上に画像をレンダリングするために使用するグラフィックコマンドは、実際の実装において、複数のグラフィックコマンドを含んでいてもよいことを理解すべきである。従って、グラフィックコマンドは、単一のコマンドとして、又は、一連のグラフィックコマンドとして解釈すべきである。
【0038】
本発明の特定の実施形態を図示し説明したが、上述の説明は、本発明を上記実施形態に限定することを意図するものではない。当業者には、本発明の思想及び範囲から逸脱することなしに、様々な変更例及び修正例を行えることが明らかである。従って、本発明は、特許請求の範囲により定められる本発明の思想及び範囲に含めることができる変形例、修正例及び均等例を含むことが意図される。