以下、添付の図面を参照しつつ本発明に係るワイヤレスX線透視システムの実施形態を説明する。なお、X線透視撮影を単に透視と表現する。
<第1の実施形態>
図6を用いて本実施形態の概要を説明する。本発明の第1の実施形態の概要を説明するためのシステムブロック図の一例である。
本発明に係るX線透視システムは、他のユニットから物理的に分離したセンサユニット610と、センサユニット610と同期して動作する必要があるX線生成ユニット630を含む画像処理ユニット620とを備える。
センサユニット610は、無線通信部A611とコンペアタイマA612とを備える。コンペアタイマA612は、センサ読出トリガを生成する。このセンサ読出トリガにより、センサ読み出しが開始される。
画像処理ユニット620は、無線通信部B621、コンペアタイマB622、およびタイミング生成部623を備える。コンペアタイマB622は、X線管631の曝射トリガを生成する。この曝射トリガにより、X線曝射が開始される。タイミング生成部623は、センサユニット610やX線生成ユニット630の同期制御を行うためのタイミング信号624を生成する。
センサユニット610と画像処理ユニット620との間には、IEEE802.11やIEEE802.15.3等の無線リンク640が確立される。この無線リンク640を通じて、撮影した画像データ等が通信される。本実施形態では、無線通信部B621がIEEE802.11のアクセスポイント(AP)やIEEE802.15.3のピコネット・コーディネーター(PNC)として機能しているものとする。しかし、無線通信部A611やそれ以外の無線通信装置(不図示)がAPやPNCとして機能してもよい。無線通信部A611がAPやPNCとして機能する場合は、第6の実施形態で説明する。
APやPNCは、定期的にビーコン信号を発信する。本実施形態では、タイミング生成部623が生成したタイミング信号624を受信して、無線通信部B621がビーコン信号を発信する。
X線生成ユニット630は、X線管631とコリメータ632とを備え、X線を生成してセンサユニット610に向けてX線を曝射する。X線管631は、X線曝射のための放射線を生成する。コリメータ632は、曝射する放射線の調整を行う。
まず、画像処理ユニット620の動作を説明する。タイミング信号624を受信した無線通信部B621はビーコン信号を発信するのと同時に、有線で接続されたコンペアタイマB622へコンペアタイマBリセット信号625を送信する。コンペアタイマB622のカウント値は、コンペアタイマBリセット信号の受信によりリセットされた後、カウントアップを再開する。コンペアタイマB622には事前に、コンペアタイマB622がリセットされてから曝射トリガ信号641を送信するまでの計数値を設定しておく。カウント値がこの計数値に合致したとき、コンペアタイマB622はX線管631へ曝射トリガ信号641を送信する。これにより、ビーコン信号を発信してから所定の時間経過後にX線曝射を開始することができる。曝射時間は例えば10ミリ秒である。
つづいて、センサユニット610の動作を説明する。ビーコン信号を受信した無線通信部A611は、ビーコン信号を受信した直後にコンペアタイマA612にコンペアタイマAリセット信号615を送信する。コンペアタイマA612のカウント値は、コンペアタイマAリセット信号615の受信によりリセットされた後、カウントアップを再開する。コンペアタイマA612には事前に、センサ読出トリガ信号を送信するまでの計数値を設定しておく。カウント値がこの計数値に合致したとき、コンペアタイマA612はセンサ読出トリガ信号を送信する。これにより、ビーコン信号が発信されてから所定の時間経過後に、センサ読み出しを開始することができる。
以上のように、ビーコン信号が発信されると同時にセンサユニット610が備える第1のカウンタと画像処理ユニット620が備える第2のカウンタとを同時にリセットすることにより、ビーコン信号が発信されるたびに両ユニットの同期をとることができる。また、ビーコン信号の発信をきっかけとしてフレームが開始されるため、ビーコン信号の通信間隔を透視時のフレーム周期と一致させることで、所望のフレーム周期で透視を実施することができる。
以上で概要を説明した動作を、図7から図9を用いて以下に詳細に説明する。まず、それぞれの図を説明する。
図7は、システムブロック図の一例を説明する図である。図6との共通部分は同じ参照番号を付し、説明は省略する。
センサユニット610は、図6で説明した構成要素に加えて、X線センサ711、センサフロントエンド712、CPU713,およびメモリ714をさらに備える。X線センサ711は、パネル上の各エリアにおけるX線の強度分布情報を光電変換素子によって電化情報へと変換する。センサフロントエンド712は、センサ読出トリガ信号716を受けてX線センサ711から逐次読み出し処理を行う。CPU713は、センサユニット610の制御を司る。メモリ714は、X線センサ711からの読み出しデータを蓄積する。
画像処理ユニット620は、図6で説明した構成要素に加えて、CPU721、メモリ722、画像処理エンジン723、HDD724、およびインターフェースコントローラ725をさらに備える。
CPU721は、画像処理ユニット620の制御を司る。メモリ722は、CPU721や画像処理ユニット620でのワークメモリとして利用される。画像処理エンジン723は、画像処理をハードウェア的にアシストする。HDD724は、画像データを蓄積する二次記憶装置である。インターフェースコントローラ725は、例えばController Area Network(CAN)で、画像処理ユニット620が外部機器をコントロールするために設けられる。
X線生成ユニット630は、図6で説明した構成要素に加えて、高電圧生成部731をさらに備える。高電圧生成部731は、X線のための高電圧生成を行う。
図8はコンペアタイマ800の内部ブロック図の一例を説明する図である。コンペアタイマA612もコンペアタイマB622も、図8の構成を備える。
コンペアタイマ800は、カウンタ801、ビーコンカウンタ802、トリガ有効レジスタ803、比較レジスタa804、比較レジスタb805、…、比較レジスタn806、及び発振器(OSC)820を備える。
発振器820は一定間隔でクロックを生成する。カウンタ801は、発振器820からのクロック出力を計数する。ビーコンカウンタ802は、コンペアタイマリセット信号821を受けてカウンタ801へカウンタリセット信号809の出力を行うか否かの制御を行う。ここで、コンペアタイマリセット信号821は、コンペアタイマAリセット信号615またはコンペアタイマBリセット信号625に対応する。トリガ有効レジスタ803は、コンペアタイマ800からのトリガ出力を許可するか否かの設定に使用される。
許可する場合は「トリガ出力可」が設定され、トリガ信号許可出力811が出力される。許可しない場合は「トリガ出力不可」が設定され、何も出力されない。比較レジスタa804、比較レジスタb805、および比較レジスタn806は、同レジスタに事前設定された計数値とカウンタ801のカウント値とを比較する。両者が合致する場合はワンショットパルス出力を出力する。比較レジスタの出力する各ワンショットパルス出力は、ORゲート807で論理積がとられる。
そのため、比較レジスタの少なくとも一つからワンショットパルス出力が出力されたときは、ORゲート807からもワンショットパルス出力が出力される。ORゲート807から出力されたワンショットパルス出力は、ANDゲート808でトリガ信号許可出力811との論理和が取られ、それを元にトリガ信号823を出力する。そのため、トリガ有効レジスタ803が「トリガ出力不可」に設定されている限り、ANDゲート808からトリガ信号823が出力されることはない。トリガ信号823は、曝射トリガ信号641又はセンサ読出トリガ信号716に対応する。
図9はタイミングシーケンス図の一例を説明する図である。透視では、フレーム周期900ごとにX線曝射を行い、その際にセンサユニット610で得られた電界強度分布情報の読み出しを実施する。このX線曝射タイミングとセンサ読み出しタイミングとには厳密な管理が必要であることは前述の通りである。本実施形態では1フレームごとに2回のセンサ読み出しが必要な場合を扱うが、本発明は、1フレームごとに1回以上のセンサ読み出しが必要な場合で実施可能である。このことは後続の実施形態でも同様であるため、後続の実施形態では特に言及はしない。
フレーム周期900は、X線画像を撮影する周期であり、秒間2枚であれば500msとなり、秒間30枚であれば約33.3msとなる。曝射トリガオフセット901は、フレーム開始から、コンペアタイマB622が曝射トリガ信号を出力するまでのオフセットである。読出トリガオフセットa902は、フレーム開始から、コンペアタイマA612が1回目のセンサ読出トリガ信号を出力するまでのオフセットである。読出トリガオフセットb903は、フレーム開始から、コンペアタイマA612が2回目のセンサ読出トリガ信号を出力するまでのオフセットである。ビーコン信号(B)904は無線リンク640で使用されるビーコン信号である。センサユニット610で読み出しが終了すると、無線リンク640経由で画像データが転送905、906される。
以上で説明した図7から図9を適宜参照しつつ、本発明に係るX線透視装置全体の動作を詳細に説明する。この動作は各ユニットのCPU713、721がそれぞれメモリ714,722に読み込まれたプログラムを実行することにより処理される。
まず、透視に先立ち、以下の設定を行う。
画像処理ユニット620内のタイミング生成部623にフレーム周期900を設定する。また、コンペアタイマB622内の比較レジスタa804に、曝射トリガオフセット901に相当する計数値を設定する。この計数値は、所望の時間内に発振器820が生成するクロック数である。以下の計数値についても同様である。同様に、コンペアタイマA612内の比較レジスタa804に、読出トリガオフセットa902に相当する計数値を設定する。また、比較レジスタb805には、読出トリガオフセットb903に相当する計数値を設定する。
さらに、上記で計数値を設定した比較レジスタ以外の比較レジスタは、本実施形態では使用しないため、余計なワンショットパルス出力を生成しないように”0”クリアしておく。
なお、本実施形態では、両コンペアタイマ612、622のビーコンカウンタ802は、コンペアタイマリセット信号821を受信した場合、必ずカウンタリセット信号809を出力するものとする。また、両コンペアタイマ612、622のトリガ有効レジスタ803は「トリガ出力可」に設定されているものとする。
上記初期設定を元に、フレーム開始後の画像処理ユニット620およびセンサユニット610の動作を説明する。
まず、画像処理ユニット620の動作を説明する。タイミング生成部623は、事前に設定された間隔で無線通信部B621へタイミング信号624を送信する。前述の通り、その間隔にはフレーム周期が事前に設定されている。タイミング信号624を受けた無線通信部B621はビーコン信号904発信の準備を行い、ビーコン信号904を無線リンク640で発信する。それと同時にコンペアタイマB622に対してコンペアタイマBリセット信号625を送信する。コンペアタイマBリセット信号625を受けたコンペアタイマB622のビーコンカウンタ802は、カウンタリセット信号809を出力する。
カウンタリセット信号809を受信したコンペアタイマB622のカウンタ801はリセットされ、”0”からの計数を開始する。カウンタ801は発振器820の発生するクロックごとにカウントアップするため、コンペアタイマB622内の各比較レジスタは、カウントアップごとに各比較レジスタに設定されているオフセット値との比較を行う。前述の通り、比較レジスタa804には曝射トリガオフセット901に相当する計数値が設定されている。そのため、比較レジスタa804はカウンタ801の計数値が曝射トリガオフセット901の計数値に合致したらワンショットパルス出力を出力する。
比較レジスタa804から出力されたワンショットパルス出力により、その他の比較レジスタからの出力にかかわらずORゲート807から信号が出力される。さらに、本実施形態では、トリガ有効レジスタ803が「トリガ出力可」に設定されているため、ANDゲート808を通り、曝射トリガ信号641がコンペアタイマB622から出力される。
出力された曝射トリガ信号641は有線経由でX線生成ユニット630の高電圧生成部731へ送信され、X線管631から放射線が照射される。
つづいて、センサユニット610の動作を説明する。ビーコン信号904を受信した無線通信部A611は、受信した信号がビーコン信号904であることを確認した直後にコンペアタイマA612に対して、コンペアタイマAリセット信号615を出力する。コンペアタイマAリセット信号615を受けたコンペアタイマA612のビーコンカウンタ802は、カウンタリセット信号809を出力する。
カウンタリセット信号809を受信したコンペアタイマA612のカウンタ801はリセットされ、”0”からの計数を開始する。カウンタ801は発振器820の発生するクロックごとにカウントアップするため、コンペアタイマA612内の各比較レジスタは、カウントアップごとに各比較レジスタに設定されているオフセット値との比較を行う。ここでは前述の通り、比較レジスタa804に読出トリガオフセットa902に相当する計数値が設定されている。また、比較レジスタb805に読出トリガオフセットb903に相当する計数値が設定されている。このため、比較レジスタa804はカウンタ801の計数値が読出トリガオフセットa902に相当する計数値と合致したらワンショットパルス出力を出力する。
比較レジスタa804から出力されたワンショットパルス出力により、その他の比較レジスタからの出力にかかわらずORゲート807から信号が出力される。さらに、本実施形態では、トリガ有効レジスタ803がトリガ出力許可に設定されているため、ANDゲート808を通り、1回目のセンサ読出トリガ信号716がコンペアタイマA612からセンサフロントエンド712へ送信される。センサ読出トリガ信号716を受信したセンサフロントエンド712は、X線センサ711の読み出しを開始する。ここで読み出されるのは、例えば放射線照射時の画像である。
さらにカウンタ801がカウントアップしてカウンタ801の計数値が読出トリガオフセットb903に相当する計数値と合致したら、比較レジスタb805はワンショットパルス出力を出力する。先程と同様にして、センサフロントエンド712は、X線センサ711の読み出しを開始する。ここで読み出されるのは、例えば放射線非照射時の画像である。
以上の動作がフレーム周期900に同期させたビーコンの発信によって繰り返される。これにより、センサユニット610内のコンペアタイマA612と画像処理ユニット620内のコンペアタイマB622とのタイミング同期をフレーム周期900ごとに実施できる。その結果、両ユニット610、620の同期の誤差を軽減することができる。
<第2の実施形態>
第1の実施形態では、フレーム周期に同期させたビーコン信号によって、ワイヤレス接続されたセンサユニットと画像処理ユニットとの間のタイミング同期を行う手法について述べた。第2の実施形態では、フレーム周期を変化させながら透視を行う血管造影等の手技を行う際の本発明の適用形態について述べる。
本実施形態の概要を説明するために、第1のフレーム周期から第2のフレーム周期へ変更される場合を考える。第1のフレーム周期で使用される第1のセンサ読出トリガオフセットと第1の曝射トリガオフセットとで透視が行われているとする。ここで、第2のフレーム周期で使用される第2のセンサ読出トリガオフセットと第2の曝射トリガオフセットとを、あらかじめセンサユニット610と画像処理ユニット620とに保存しておく。そして、ビーコン信号の発信に応じて、第2のフレーム周期に切り替える。
本実施形態の構成を図10、11を用いて説明する。図10は、本発明の第2の実施形態に係るシステムブロック図の一例を説明する図である。図10において、第1の実施形態で説明した図7との共通部分は同じ参照番号を付し、説明を省略する。
画像処理ユニットは、図7の構成に加えて、I/Oコントローラ1020、表示制御部1021、入力機器1022、およびディスプレイ1023をさらに備える。I/Oコントローラ1020は、ユーザにパラメータ設定や作業選択などのためのユーザインターフェースを提供する。表示制御部1021は、ユーザが透視システムを操作するためのグラフィカルユーザインターフェースを生成する。入力機器1022は、ユーザが直接操作するキーボードやタッチパネルやマウスなどである。ディスプレイ1023は、グラフィカルユーザインターフェースを表示する。
図11は、本発明の第2の実施形態に係るコンペアタイマの内部ブロック図の一例を説明する図である。第1の実施形態で説明した図8との共通部分は同じ参照番号を付し、説明を省略する。
コンペアタイマ800は、図8の構成要素に加えて、比較レジスタc1100、比較レジスタd1101、各比較レジスタ内のフラグ(OE)1102〜1106をさらに備える。フラグ1102〜1106は、比較レジスタからのワンショットパルス出力可否を制御する。フラグが「出力可」に設定されているときは、ワンショットパルス出力を出力することが可能である。フラグが「出力不可」に設定されているときは、たとえその比較レジスタの計数値がカウント値と合致しても、ワンショットパルス出力は出力されない。
続いて、図12を用いて本実施形態におけるタイミングシーケンスを説明する。本発明の第2の実施形態に係るタイミングシーケンス図の一例を説明する図である。第1の実施形態で説明した図9との共通部分は同じ参照番号を付し、説明を省略する。
本実施形態における透視では、まずフレーム周期a1201ごとにX線曝射を行い、センサユニット610で得られた電界強度分布情報の読み出しを実施する。その後、途中からフレーム周期b1202にフレームレートを切り替える。変更されたフレーム周期に対応するように、曝射トリガオフセット及び読出トリガオフセットの値も変更される。フレーム周期a1201の透視では、曝射トリガオフセットa1203、読出トリガオフセットa1204、および読出トリガオフセットb1205が用いられる。フレーム周期b1202の透視では、曝射トリガオフセットb1206、読出トリガオフセットc1207、および読出トリガオフセットd1208が用いられる。
図13を用いて本発明を適用したX線透視システムの起動時からフレームレート変更までの、画像処理ユニット620とセンサユニット610との処理を説明する。図13は、本発明の第2の実施形態に係るフレームレート切換フローチャートの一例を説明する図である。このフローチャートはCPU713、721がそれぞれのメモリ714、722に読み込まれたプログラムを実行することで処理される。
ステップ1300で、画像処理ユニット620を起動し、初期化処理を行う。ステップ1350で、センサユニット610を起動し、初期化処理を行う。
その後、ステップ1301で、画像処理ユニット620内のコンペアタイマB622に設けられたトリガ有効レジスタ803に「トリガ出力不可」を設定する。ステップ1351で、センサユニット610内のコンペアタイマA612に設けられたトリガ有効レジスタ803に「トリガ出力不可」を設定する。これらの設定によって各コンペアタイマ800からのトリガ信号823の出力は禁止される。
ステップ1302で、無線通信部B621を初期化する。ステップ1352で、無線通信部A611を初期化する。これらの処理により、無線通信部B621をAP又はPNCとする無線リンク640が確立される。このときはまだ無線リンク640のために用いるビーコン間隔を規定する必要がないため、無線通信規格で適当な周期を用いる。
ここまでの準備が完了したら、ステップ1303で、画像処理ユニット620は、表示制御部1021を介してディスプレイ1023にグラフィカルユーザインターフェース(GUI)を表示し、ユーザからの作業内容の選択を受け付ける。ユーザは、GUIを参照しながら、入力機器1022を操作して、所望する作業内容の手技を選択する。
ステップ1304で、手技の選択が終了したかを判定する。終了しない場合(ステップ1304のおいて「NO」)はステップ1303に戻り、手技選択画面を表示し続ける。終了した場合(ステップ1304のおいて「YES」)は、ステップ1304に移行する。
ステップ1305で、入力機器1022から入力された手技情報はI/Oコントローラ1020を介してCPU721へと伝達される。ここで手技として「透視」が選択されたかどうかを判定する。選択された場合(ステップ1305において「YES」)、ステップ1306に移行する。「透視」が選択されない場合(ステップ1305において「NO」)はその他の手技を行うが、その他の手技は本発明の範囲外であるため記載しない。
ステップ1306で、CPU721は、続けて透視時に適用するフレームレートや管電流、管電圧等の透視パラメータ設定をユーザに促すためのGUIをディスプレイ1023に表示しユーザ入力を受け付ける。
第1の実施形態で示したように、ユーザ設定されるフレームレートから定まるフレーム周期をビーコン間隔に用いる。そこで、CPU721は、設定されたフレームレートからビーコン間隔及びそれに対応する曝射トリガオフセットと読出トリガオフセットとに対応する計数値を算出する。画像処理ユニット620は、ユーザにより設定されたパラメータや算出した読出トリガオフセットに対応する計数値などのセンサユニット610が必要とする透視パラメータ1321をセンサユニット610に送信する。
ステップ1307で、タイミング生成部623にビーコン間隔を設定する。これにより、ビーコン信号はタイミング生成部623に設定したビーコン間隔で送信される。
また、フレーム周期a1201では曝射トリガオフセットa1203が用いられるので、この値に相当する計数値をコンペアタイマB622の比較レジスタa804に設定する。さらに、比較レジスタaのフラグ1102を「出力可」に設定する。その他の比較レジスタのフラグ1103〜1106は「出力不可」に設定する。
ここで、フラグが有効に設定された比較レジスタからワンショットパルス出力が出力される場合がある。しかし、ステップ1301でトリガ有効レジスタ803を「トリガ出力不可」に設定しているため、X線曝射が誤って開始されることはない。
ステップ1353で、センサユニット610は、受信した透視パラメータ1321に含まれる読出トリガオフセットに相当する計数値をコンペアタイマA612へ設定する。フレーム周期a1201では読出トリガオフセットa1204と読出トリガオフセットb1205とが用いられるので、これらの値に相当する計数値をそれぞれコンペアタイマA612の比較レジスタa804、比較レジスタb805に設定する。さらに、この比較レジスタのフラグ1102、1103を「出力可」に設定する。また、その他の比較レジスタのフラグ1104〜1106は「出力不可」に設定する。
ここで、フラグが有効に設定された比較レジスタからワンショットパルス出力が出力される場合がある。しかし、ステップ1351でトリガ有効レジスタ803を「トリガ出力不可」に設定しているため、センサ読出しが誤って開始されることはない。
以上で透視のための準備が完了したため、ステップ1308で、画像処理ユニット620はユーザからの透視開始指示を受け付ける。
ユーザからの透視開始指示により(ステップ1308において「YES」)、ステップ1309で、CPU721はコンペアタイマB622のトリガ有効レジスタ803に対して「トリガ出力可」を設定する。同時に、無線通信部B621からセンサユニット610へトリガ有効要求メッセージ1322を送信する。ステップ1354で、センサユニット610は、トリガ有効要求メッセージ1322を受信したか否かを判定する。受信した場合(ステップ1354において「YES」)、ステップ1355でコンペアタイマA612のトリガ有効レジスタ803に対して「トリガ出力可」を設定する。
以上の処理を経て、ステップ1310で、ビーコン信号1323発信ごとにカウンタ801がリセットされ、第1の実施形態と同様に、曝射トリガオフセットa1203経過後にX線管631からX線が照射される。また、ステップ1356で、ビーコン信号1323受信ごとにカウンタ801がリセットされ、第1の実施形態と同様に、読出トリガオフセットa1204経過時にセンサ読出しがなされる。また、読出トリガオフセットb1205経過時にもセンサ読出しがなされる。これにより、フレーム周期a1201での透視が開始される。
次に、フレーム周期a1201による透視中にフレームレートを変更する要求が為された場合を考える。ステップ1311で、ユーザからフレームレートの変更命令を受けたか否かを判定する。受けた場合(ステップ1311で「YES」)はステップ1312に移行する。例えば、図12で示すように、フレーム周期a1201で透視中にユーザからフレームレート変更命令1210を受けたとする。
図13に戻りステップ1312で、フレームレート変更命令1210により、CPU721は要求された変更後のフレームレートから、フレーム周期と、曝射トリガオフセット及び読出トリガオフセットとを算出する。フレーム周期b1202では、曝射トリガオフセットb1206、読出トリガオフセットc1207、及び読出トリガオフセットd1208が用いられる。
CPU721は、曝射トリガオフセットb1206に相当する計数値をコンペアタイマB622の比較レジスタb805に設定する。比較レジスタb805のフラグ1103は「出力不可」の設定のままにしておく。現時点で「出力可」に設定されているフラグを有するのは比較レジスタa804だけなので、比較レジスタb805の設定後も、フレーム周期a1201に対応したX線曝射が継続される。
また、画像処理ユニット620は、フレームレート変更要求メッセージ1211を無線リンク640経由でセンサユニット610へ送信する。フレームレート変更要求メッセージ1211には、読出トリガオフセットc1207及び読出トリガオフセットd1208に相当する計数値が含まれる。図12で示すように、フレームレート変更要求メッセージ1211は、例えばデータ転送の間に送信される。
図13のステップ1357でセンサユニット610はフレームレート変更要求メッセージ1211を受信したか否かを判定する。受信した場合(ステップ1357において「YES」)、ステップ1358に移行する。
ステップ1358で、CPU713は、読出トリガオフセットc1207、読出トリガオフセットd1208に相当する計数値をそれぞれコンペアタイマA612の比較レジスタc1100、比較レジスタd1101に設定する。対応するフラグ1104、1105は「出力不可」の設定のままにしておく。現時点で「出力可」に設定されているフラグを有するのは比較レジスタa804と比較レジスタb805とだけなので、この設定後も、フレーム周期a1201に対応したセンサ読み出しが継続される。
ステップ1359で、コンペアタイマA612の変更作業が完了したら、センサユニット610は、フレームレート変更確認メッセージ1212を画像処理ユニット620に対して送信する。図12で示すとおり、フレームレート変更確認メッセージ1212はフレームレート変更要求メッセージ1211とは別のフレームで通信されることもある。
図13のステップ1313で、画像処理ユニット620はフレームレート変更確認メッセージ1212を受信したか否かを判定する。受信した場合(ステップ1313において「YES」)、画像処理ユニット620は、画像処理ユニット620とセンサユニット610とのどちらもフレーム周期b1202で動作できる状態にあることを判断できる。そこで、ステップ1314に移行して、タイミング生成部のタイミング信号発生間隔をフレーム周期b1202に変更する。これにより、次回のタイミング信号からフレーム周期b1202でビーコン信号が発信されるようになる。
画像処理ユニット620はステップ1315でビーコン信号1213を発信したかを判定する。発信した場合(ステップ1315において「YES」)、ステップ1316に移行する。
ステップ1316で、画像処理ユニット620は、ビーコン信号1213発信直後に、コンペアタイマB622の比較レジスタa804のフラグ1102を出力不可に設定し、比較レジスタb805のフラグ1102に出力可を設定する。以上の処理によって、このビーコン信号1213発信以降は、フレーム周期b1202でX線曝射が行われる。
一方、センサユニット610はステップ1360で、ビーコン信号1213を受信したかを判定する。発信した場合(ステップ1360において「YES」)、ステップ1361に移行する。
ステップ1361で、センサユニット610は、ビーコン信号1213受信直後に、コンペアタイマA612の比較レジスタa804、比較レジスタb805のフラグを出力不可に設定する。また、比較レジスタc1100、比較レジスタd1101のフラグに出力可を設定する。以上の処理によって、このビーコン信号1213受信以降は、フレーム周期b1202でセンサ読み出しが行われる。
フラグの変更は曝射トリガオフセットや読出トリガオフセットと比較してきわめて短時間で処理される。そのため、ビーコン信号1213の発信により、両ユニットとも、フレーム周期b1202に対応したトリガオフセットで開始することができる。なお、前述の通り、ビーコン信号1213が発信される前は、フレーム周期b1202に対応するオフセット値が比較レジスタに登録されたとしても、引き続きフレーム周期a1201に対応したトリガオフセットで透視される。そのため、画像処理ユニット620内の比較レジスタへの登録とセンサユニット610内の比較レジスタへの登録とが、別々のフレームで行われていたとしてもかまわない。
本実施形態では、ユーザのフレームレート変更命令1210によるフレームレート変更について述べたが、フレームレート変更の要因は、予めプログラミングされ自動要求される場合であっても同様である。
ステップ1318で透視の終了が要求された場合や、ステップ1317で透視後の静止画撮影が要求された場合、ステップ1319に移行する。
ステップ1319で、画像処理ユニット620のCPU721はコンペアタイマB622のトリガ有効レジスタ803に対して「トリガ出力不可」を設定する。それと共に、無線通信部B621からセンサユニット610へトリガ出力を無効にするように透視終了メッセージ1327を送信する。
ステップ1362でセンサユニット610は、透視終了メッセージ1327を受信したか否かを判定する。受信した場合(ステップ1362において「YES」)、ステップ1363でコンペアタイマA612のトリガ有効レジスタ803に対して「トリガ出力不可」を設定する。
以上により、本実施形態では、フレームレートを変えながらの透視を実行する際も、ビーコン出力ごとに両コンペアタイマのタイミング同期を実施でき、両ユニット610、620の同期の誤差を軽減することができる。また、システムを停止することなく、連続的にフレーム周期の変更が可能となる。
<第3の実施形態>
前述までの実施形態では、フレーム周期に同期させたビーコン信号によって、ワイヤレス接続されたセンサユニットと画像処理ユニット間のタイミング同期を簡単かつ正確に行う手法について述べた。第3の実施形態では、フレームレートとビーコン間隔との同期実現のための手法について述べる。
一般的にフレーム周期とビーコン間隔とを一致させると言っても、独自の無線通信規格を定義しない限り、ビーコン間隔を自由に選択することは出来ないことがある。例えば、図4に示したとおり、IEEE802.15.3(UWB)規格のビーコン間隔は、512μsec.から65535μsec.までの間からしか選択できない。これをフレームレートで表すと、1953fps(=1/512μsec.)から15.26fps(=1/65535μsec.)までとなる。実際の透視は、0.1fpsから200fps程度のフレームレートで透視することが一般的であるため、このままでは、15.26fpsよりも低速な透視に適用できない。このように、フレーム周期とビーコン間隔とを同一に出来ない場合、前述までの実施形態をそのままの形で適用できない。そこで、第3の実施形態では、このような場合に対処するための手法を説明する。
第3の実施形態においてもシステム構成は、図10に示した構成と同一である。また、同システム構成におけるコンペアタイマのブロック図も図11と同一である。
前述した規格値を満たすビーコン間隔とフレーム周期とを調整するため、本実施形態では、コンペアタイマ800内のビーコンカウンタ802を特に利用する。ビーコンカウンタ802は、コンペアタイマリセット信号821をカウントし、所定の回数を受信したときだけカウンタリセット信号809でカウンタ801をリセットする。
図14にIEEE802.15.3規格を用いて、10fpsの透視を行う場合のタイミングシーケンス図を示す。図14は、本発明の第3の実施形態に係るタイミングシーケンス図の一例を説明するための図である。前述したとおり、IEEE802.15.3規格で設定可能な最長のビーコン間隔は、65.535msである。10fpsの透視を実施する際のフレーム周期1400は100msであるため、前述までの実施形態のように、フレーム周期とビーコン間隔とを一致させることはできない。そこで、ビーコン間隔1405を33.33msに設定すると共に、コンペアタイマ800内のビーコンカウンタ802にカウント数として、フレーム周期をビーコン間隔で除算した結果の自然数である「3」を設定する。こうすることで、コンペアタイマリセット信号821を3回検知した際に、1回だけカウンタリセット信号809が出力される。ここで、前述の通りコンペアタイマリセット信号821はビーコン信号が発信するたびに出力されるため、ビーコン信号が3回発信されるたびに、1度だけコンペアタイマA612およびコンペアタイマB622のカウンタ801がリセットされる。従って、33.33ms×3=100msごとにカウンタ801はリセットされ、”0”から計数を開始する。
たとえば、ビーコン信号1401が発信されたときにカウンタリセット信号809が出力されたとする。カウンタリセット信号809の受信にともない、フレームが開始される。次に発信されたビーコン信号1402により、コンペアタイマリセット信号821がビーコンカウンタ802に出力される。しかし、ビーコンカウンタ802はまだ所定の回数に達していないため、カウンタリセット信号809を出力しない。そのため、フレームは継続される。ビーコン信号1403が発信された場合も同様である。ビーコン信号1404が発信されると、今度はビーコンカウンタ802がカウンタリセット信号809を出力し、新たなフレームが開始される。
図15を用いて、所定の回数のビーコン発生時にコンペアタイマ800のカウンタ801のリセットを行う場合の処理を説明する。本発明の第3の実施形態に係るフレームレート切換フローチャートの一例を説明する図である。図15において、図13と同一の処理は説明を省略し、異なる処理だけを参照番号を付して説明する。
ステップ1501およびステップ1551では、前述の通り、ビーコン信号を所定の回数だけ受信するたびに両ユニットのコンペアタイマ800のカウンタ801がリセットされる。
ステップ1502およびステップ1552では、カウンタ801がリセットされたか否かを判定して変更後のフレーム周期にあわせた設定値に変更する。ビーコン信号の受信でフレーム周期変更のタイミングを判断すると、フレームの途中にもかかわらず、設定値が変更されてしまう恐れがあるためである。
以上より、本実施形態によれば、ビーコン間隔を長くできない無線通信規格の場合にも、フレームごとに両コンペアタイマのタイミング同期を実施でき、両ユニット610、620の同期の誤差を軽減することができる。
<第4の実施形態>
第3の実施形態では、無線通信規格で定められたビーコン間隔よりも長い値にフレーム周期を設定したい際に、本発明を適用する手法について述べた。第4の実施形態では、ビーコン間隔よりも短い値にフレーム周期を設定したい際の手法について述べる。
IEEE802.11(無線LAN)規格のビーコン間隔は、msオーダで1msから数十秒程度の間隔まで選択できる。しかしながら、どのような無線通信規格においてもビーコン間隔を短くすると、通信にしめるビーコン送信時間が増加し、実際のデータ通信に利用できる期間が短くなる。そのため、同期精度は高まるものの伝送速度に対するペナルティが増加するという問題がある。
このような問題に対処するため、本実施形態では、1回のビーコン間隔中に複数回の曝射を行う手法について説明する。第4の実施形態においてもシステム構成は、図10に示した構成と同一である。又、同システム構成におけるコンペアタイマ800のブロック図も図11と同一である。
図16を用いて1回のビーコン間隔内に複数の曝射を行う場合のタイミングシーケンス図を示す。本発明の第4の実施形態に係るタイミングシーケンス図の一例を説明する図である。本実施形態では、1回のビーコン信号発生の間に2回の曝射を行う透視を説明する。しかし、2回以上の曝射を行う場合であっても同様に本発明を適用可能である。
本発明におけるコンペアタイマ800には、前記したような1回のビーコン間隔中に複数回の曝射を実現するために、複数の比較レジスタを設けてある。ここで、コンペアタイマB622には、比較レジスタa804に曝射トリガオフセット1601に相当する計数値を設定する。また、比較レジスタb805には曝射トリガオフセット1601にフレーム周期1600を加えた値1602に相当する計数値を設定する。1回のビーコン間隔の間に3個以上のフレームを含めたい場合は、フレーム周期1600に自然数を乗算した値を曝射トリガオフセット1601に加算する。
同様にコンペアタイマA612の比較レジスタa804及び比較レジスタb805には、それぞれ読出トリガオフセットa1603と読出トリガオフセットb1604に相当する計数値を設定する。そして、比較レジスタc1100には、読出トリガオフセットa1603にフレーム周期1600を加えた値に相当する計数値を設定する。また、比較レジスタd1101には、読出トリガオフセットb1604にフレーム周期1600を加えた値に相当する計数値を設定する。
以上の設定を行うことによって、単一のビーコン信号に同期した2回のフレームを実行できる。
また、本実施形態におけるフレームレート変更処理は、第2の実施形態で説明した内容と同様である。従って、本実施形態を用いた場合、フレームレート変更は、1ビーコン間隔に同期づけられた複数フレーム透視が終了した際に適用される。このため、フレームレート変更までのタイムロスが発生するが、本実施形態で述べたケースで適用されるビーコン間隔は通常1秒以内であるため、大きな問題とはならない。
以上より、本実施形態では、本発明を適用して画像処理ユニット620とセンサユニット610とのビーコンごとの同期を実現しながら、データ転送に利用できる時間を増やすことが出来る。
<第5の実施形態>
上記までの実施形態では、無線X線透視システムにおいて、センサユニットと画像処理ユニットとの間でビーコン信号をフレームレートに合致することで、ビーコン信号ごとに両ユニット間のタイミング同期を実現する手法について述べた。しかしながら、ビーコン発信時の多量のデータ通信の実行などにより、AP又はPNCは一定のビーコン間隔でビーコン信号の発信が出来ないこともある。
この場合、フレームごとの同期は可能なものの一定のフレームレートが確保できず、フレームごとにジッタが発生してしまう。このような問題に対処するためにTDMA方式による時間管理が可能なIEEE802.15.3規格を使用することも考えうる。しかし、IEEE802.11等のCSMA/CA方式によるベストエフォート型の調停を用いる無線通信規格を用いる必要がある場合もある。第5の実施形態では、このようなCSMA/CA方式等のベストエフォート型の無線通信で、本発明を適用しつつ、正確なフレームレートを確保する手法について説明する。
図18を用いて本実施形態の構成を説明する。本発明の第5の実施形態に係るシステムブロック図の一例を説明する図である。図18において、図10との共通部分は同じ参照番号を付し、説明を省略する。
コンペアタイマB622は無線通信部B621に対してデータ転送の中止を要求する転送中止要求信号b1820を送信する。これにより、データ転送が中止される。また、コンペアタイマA612も無線通信部A611に対してデータ転送の中止を要求する転送中止要求信号a1810を送信する。
図19を用いて本実施形態におけるコンペアタイマ800の内部構成を説明する。図11との共通部分は同じ参照番号を付し、説明を省略する。比較レジスタn806は転送中止トリガ信号1900をワンショットパルス出力として出力する。
図17を用いて本実施例におけるタイミングシーケンス図を説明する。図17は本実施形態に係るタイミングシーケンス図の一例である。タイミングシーケンスは図9で説明した第1の実施形態と同様であるため、相違点を中心に説明する。
本実施形態における透視では、第1の実施形態と同じく、フレーム周期1700に一致したビーコン信号毎にコンペアタイマ800のカウンタ801のリセットを行い、そこからのオフセット時間でX線曝射やセンサ読み出しタイミングを制御する。
ここで、両コンペアタイマ800内の比較レジスタn806には転送中止オフセット1703に相当する計数値を設定する。転送中止オフセット1703は、フレーム周期1700から、無線通信部B621及び無線通信部A611が実施中の無線通信を中止するのに必要十分な時間を差し引いた値である。この設定を行うことで、両無線通信部611、612は、次のビーコン信号1701が発信される直前に転送中止トリガ信号1900をコンペアタイマ800から受信する。転送中止トリガ信号1900を受信した無線通信部は、無線通信中であれば直ちに通信を停止し、ビーコン信号1701の発信に備える。
以上により、本実施形態では、ビーコン信号発信時に他の無線通信が行われることによる透視時のジッタ発生を防止し、本発明によるタイミング同期を所望のフレーム周期で実行することが出来る。
<第6の実施形態>
前述までの実施形態では、X線生成ユニット630を含む画像処理ユニット620内の無線通信部B621にAP又はPNCの機能を持たせ、無線通信部B621からビーコン信号をフレーム周期に同期させて発信していた。しかしながら、本発明で述べるところのAP又はPNC機能は、画像処理ユニット内の無線通信部に必須の機能ではなく、センサユニット内の無線通信部又は、全く別ユニットの無線通信装置の中に存在してもよい。
本実施形態では、センサユニット610の無線通信部にAP又はPNC機能を持たせ、センサユニット610の状況に応じてビーコン信号の発信可否を判断する手法について説明する。
図20を用いて本実施形態における構成図を説明する。図20は本実施形態の構成図の一例を説明するための図である。図10との共通部分は同一の参照番号を付し、説明を省略する。
本実施形態では、タイミング生成部2010はセンサユニット610内にあり、無線通信部A611にタイミング信号2011を出力する。タイミング信号2011を受信して、無線通信部A611はビーコン信号を発信する。すなわち、本実施形態では、センサユニット610が、AP又はPNCの役割を果たす。
図21を用いて本実施形態で透視を行う際の処理フローを説明する。図21は本実施形態に係るフローチャートの一例を説明する図である。図21において、図13と同一の処理は説明を省略し、異なる処理だけを参照番号を付して説明する。
AP又はPNCはセンサユニット610に含まれるため、ステップ2150のビーコン間隔の変更はセンサユニット610で実施される。
ステップ2151で、ビーコン信号を発信する前に、センサユニット610のCPU713は、センサフロントエンド712がX線センサ711の読み出し中か否かを判定する。ラインバッファを利用してセンサ読み出しを行い、ライン単位で読み出しデータを無線通信で送信するような場合に、電波状態や外乱の発生によって無線通信が妨害され、エラーが発生し、再送などに要する時間等によってセンサ読み出し時間の延長が引き起こされる。このような場合はセンサ読出しが完了するまで次回のX線曝射を延期する必要がある。そこで、読み出しが完了したか否かの判定をビーコン発信前に行う。読み出しが未完了の場合には、ビーコン信号の発信を遅らせることで、次の曝射が開始され読み出しデータが破壊されるのを防止することが出来る。
読み出し状態検査の結果、センサ読み出し中で無ければ、ステップ2152で、ビーコン間隔を経過したか否かを判定する。ビーコン間隔を経過した場合、次のステップへ移行する。以降の処理は図12での説明と同様である。
フレームレート変更時にもステップ2152とステップ2153とで同様の処理を行う。
以上により、本実施形態では、センサユニット610にAP又はPNCの役割を持たしても、両ユニット610、620の同期の誤差を軽減することができる。
[その他の実施形態]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機など)に適用してもよい。
また、本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
る。