(57)【要約】【課題】複数のアプリケーションが連携して処理を実行するシステムにおいて、各アプリケーションによる処理の衝突を回避すること。【解決手段】第一の制御アプリケーションと第二の制御アプリケーションとの間の通信に基づいて、放射線発生装置と放射線検出器を制御することが可能な放射線撮影システムは、第二の制御アプリケーションから送信された複数の処理要求を保持する保持部と、保持部に保持されている処理要求が連続して実行すべき処理要求であるか否かを、当該処理要求の時刻情報および処理の内容の少なくとも一方に基づいて判定する判定部と、判定部により連続して実行すべき処理要求と判定された場合、制御を行う第一の制御アプリケーションの撮影制御部を司る制御権を、当該処理要求の処理を連続して実行するために取得する制御権取得部と、を備える。【選択図】  図１
2020146167.tif 000002
【特許請求の範囲】
【請求項１】
第一の制御アプリケーションと第二の制御アプリケーションとの間の通信に基づいて、放射線発生装置と放射線検出器を制御することが可能な放射線撮影システムであって、
前記第二の制御アプリケーションから送信された複数の処理要求を保持する保持手段と、
前記保持手段に保持されている前記複数の処理要求が連続して実行すべき処理要求であるか否かを、当該処理要求の時刻情報および処理の内容の少なくとも一方に基づいて判定する判定手段と、
前記判定手段により連続して実行すべき処理要求と判定された場合、前記制御を行う前記第一の制御アプリケーションの撮影制御手段を司る制御権を、当該処理要求の処理を連続して実行するために取得する制御権取得手段と、
を備えることを特徴とする放射線撮影システム。
【請求項２】
前記判定手段は、前記時刻情報として、前記第二の制御アプリケーションが前記第一の制御アプリケーションに処理要求を通知した通知時刻を参照し、当該通知時刻が同一時刻である処理要求を連続して実行すべき処理要求であると判定することを特徴とする請求項１に記載の放射線撮影システム。
【請求項３】
前記判定手段は、前記時刻情報として、前記第二の制御アプリケーションから前記第一の制御アプリケーションに最初に通知された処理要求の時刻から一定期間内に通知された処理要求を、同一時刻に通知された処理要求として判定し、
当該同一時刻に通知された処理要求を連続して実行すべき処理要求であると判定することを特徴とする請求項１または２に記載の放射線撮影システム。
【請求項４】
前記判定手段は、前記保持手段に保持されている処理要求が、前記第一の制御アプリケーションにより提供されるＧＵＩにおける同一画面内での処理要求であれば、連続して実行すべき処理要求と判定することを特徴とする請求項１に記載の放射線撮影システム。
【請求項５】
前記制御権取得手段は、前記判定手段の判定結果に基づいて、前記制御権を保持する取得期間を決定することを特徴とする請求項１乃至４のいずれか１項に記載の放射線撮影システム。
【請求項６】
前記制御権取得手段は、最初の処理要求の処理開始から最後の処理要求の処理終了までの期間を、前記制御権の前記取得期間として決定することを特徴とする請求項５に記載の放射線撮影システム。
【請求項７】
前記制御権取得手段は、前記制御権を取得できたか判定し、当該制御権を取得できなかった場合、前記撮影制御手段に対する前記制御権が解放されるまで制御権の取得待ちの状態で待機することを特徴とする請求項１乃至６のいずれか１項に記載の放射線撮影システム。
【請求項８】
前記撮影制御手段の状態を管理している状態管理手段を更に備え、
前記制御権取得手段は、前記状態管理手段により管理されている前記撮影制御手段の状態に基づいて、処理要求の実行が可能な状態であるか否かを判定することを特徴とする請求項７に記載の放射線撮影システム。
【請求項９】
前記制御権を取得し、かつ、前記処理要求の実行が可能な状態であると判定された場合、前記撮影制御手段は、前記判定手段により判定された処理要求の処理を連続して実行することを特徴とする請求項８に記載の放射線撮影システム。
【請求項１０】
前記判定手段により判定された処理要求の処理が完了した場合、前記制御権取得手段は取得した制御権を解放することを特徴とする請求項１乃至９のいずれか１項に記載の放射線撮影システム。
【請求項１１】
前記判定手段により判定された処理要求の処理が完了していない場合、前記制御権取得手段は取得した制御権の保持状態を維持することを特徴とする請求項１乃至９のいずれか１項に記載の放射線撮影システム。
【請求項１２】
前記第一の制御アプリケーション側で操作があった場合に、割り込みを検知する割込み検知手段を更に備え、
前記割込み検知手段による操作割り込みの検知結果に基づいて、前記判定手段は、前記処理要求の実行途中で割込みが可能か否かを判定することを特徴とする請求項１乃至１１のいずれか１項に記載の放射線撮影システム。
【請求項１３】
前記保持手段に保持されている、次に取得予定の処理要求の処理内容が、前記第一の制御アプリケーションにより提供されるＧＵＩの画面遷移を伴う処理要求である場合に、前記判定手段は、前記第一の制御アプリケーションからの処理要求の割込みが可能と判定することを特徴とする請求項１２に記載の放射線撮影システム。
【請求項１４】
前記保持手段に保持されている、次に取得予定の処理要求に設定されている優先度が、前記第一の制御アプリケーションからの割り込みの処理要求に設定されている優先度に比べて低い場合、前記判定手段は、前記第一の制御アプリケーションからの処理要求の割込みが可能と判定することを特徴とする請求項１２に記載の放射線撮影システム。
【請求項１５】
前記判定手段が、前記第一の制御アプリケーションからの処理要求の割込みが可能と判定した場合、前記制御権取得手段は取得した制御権を解放することを特徴とする請求項１２乃至１４のいずれか１項に記載の放射線撮影システム。
【請求項１６】
前記判定手段が、前記第一の制御アプリケーションからの処理要求の割込みが可能ではないと判定した場合、前記割り込みが可能ではないことを示す通知を行う通知手段を更に有することを特徴とする請求項１２乃至１５のいずれか１項に記載の放射線撮影システム。
【請求項１７】
前記保持手段は、前記第二の制御アプリケーションから送信された前記複数の処理要求を送信順に保持することを特徴とする請求項１乃至１６のいずれか１項に記載の放射線撮影システム。
【請求項１８】
第一の制御アプリケーションと第二の制御アプリケーションとの間の通信に基づいて、放射線発生装置と放射線検出器を制御することが可能な放射線撮影システムの制御方法であって、
前記第二の制御アプリケーションから送信された複数の処理要求を保持手段に保持する保持工程と、
前記保持手段に保持されている前記複数の処理要求を連続して実行すべき処理要求であるか否かを、当該処理要求の時刻情報および処理の内容の少なくとも一方に基づいて判定する判定工程と、
前記判定工程により連続して実行すべき処理要求と判定された場合、前記制御を行う前記第一の制御アプリケーションの撮影制御手段を司る制御権を、当該処理要求の処理を連続して実行するために取得する制御権取得工程と、
を有することを特徴とする放射線撮影システムの制御方法。
【請求項１９】
前記判定工程では、前記時刻情報として、前記第二の制御アプリケーションが前記第一の制御アプリケーションに処理要求を通知した通知時刻を参照し、当該通知時刻が同一時刻である処理要求を連続して実行すべき処理要求であると判定することを特徴とする請求項１８に記載の放射線撮影システムの制御方法。
【請求項２０】
前記判定工程では、前記保持手段に保持されている処理要求が、前記第一の制御アプリケーションにより提供されるＧＵＩにおける同一画面内での処理要求であれば、連続して実行すべき処理要求と判定することを特徴とする請求項１８に記載の放射線撮影システムの制御方法。
【請求項２１】
前記制御権取得工程では、前記制御権を取得できたか判定し、当該制御権を取得できなかった場合、前記撮影制御手段に対する前記制御権が解放されるまで制御権の取得待ちの状態で待機することを特徴とする請求項１８乃至２０のいずれか１項に記載の放射線撮影システムの制御方法。
【請求項２２】
前記判定工程で判定された処理要求の処理が完了していない場合、前記制御権取得工程では取得した制御権の保持状態を維持することを特徴とする請求項１８乃至２１のいずれか１項に記載の放射線撮影システムの制御方法。
【請求項２３】
前記第一の制御アプリケーション側で操作があった場合に、割り込みを検知する割込み検知工程を更に有し、
前記割込み検知工程での操作割り込みの検知結果に基づいて、前記判定工程では、前記処理要求の実行途中で割込みが可能か否かを判定することを特徴とする請求項１８乃至２２のいずれか１項に記載の放射線撮影システムの制御方法。
【請求項２４】
前記判定工程において、前記第一の制御アプリケーションからの処理要求の割込みが可能ではないと判定した場合、前記割り込みが可能ではないことを示す通知を行う通知工程を更に有することを特徴とする請求項２３に記載の放射線撮影システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、放射線撮影システム及び放射線撮影システムの制御方法に関するものであり、特に、放射線撮影を制御するアプリケーションと連動して別のアプリケーションを動作させるための技術に関するものである。
【背景技術】
【０００２】
近年、放射線撮影システムのデジタル化により、放射線源から被写体を介して放射線撮像装置に放射線を照射し、放射線撮像装置がデジタル放射線画像を生成し、撮影直後の画像確認が可能となるシステムが普及している。さらに、ネットワーク連携技術の進歩により異なる装置のソフトウェア同士が連携して動作したりすることが可能となってきている。
【０００３】
特許文献１には、１つの操作端末と複数のユーザー端末が通信して動作する医用システム及び医用装置において、Ｓｐｌａｓｈｔｏｐ  Ｔｏｕｃｈｐａｄという公知のリモートデスクトップの仕組みを用い、複数のユーザー端末からの操作が同時に操作されることによる操作の衝突を回避する発明が開示されている。特許文献１の発明によれば、操作する人物や、操作する場所により操作に優先度をつけたり、操作者の役割によって優先度をつけたりするようになっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第６１９５３４８号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の医用システムでは、リモートデスクトップを前提としており、異なるＧＵＩを持つアプリケーション間や異なるオペレーティングシステム（ＯＳ）で動作するアプリケーション間での処理、すなわち、複数のアプリケーション間での処理を連携することができない。
【０００６】
また、複数のアプリケーションが連携して動作するシステムにおいて、複数の処理を連続して実施する場合には、各アプリケーションによる処理の衝突を回避する必要がある。
【０００７】
本発明は、複数のアプリケーションが連携して処理を実行するシステムにおいて、各アプリケーションによる処理の衝突を回避することが可能な技術を提供する。
【課題を解決するための手段】
【０００８】
本発明の一つの態様に係る放射線撮影システムは、第一の制御アプリケーションと第二の制御アプリケーションとの間の通信に基づいて、放射線発生装置と放射線検出器を制御することが可能な放射線撮影システムであって、前記第一の制御アプリケーションは、前記第二の制御アプリケーションから送信された複数の処理要求を保持する保持手段と、
前記保持手段に保持されている前記複数の処理要求が連続して実行すべき処理要求であるか否かを、当該処理要求の時刻情報および処理の内容の少なくとも一方に基づいて判定する判定手段と、
前記判定手段により連続して実行すべき処理要求と判定された場合、前記制御を行う前記第一の制御アプリケーションの撮影制御手段を司る制御権を、当該処理要求の処理を連続して実行するために取得する制御権取得手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、複数のアプリケーションが連携して処理を実行するシステムにおいて、各アプリケーションによる処理の衝突を回避することが可能になる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係る放射線撮影システムの概略構成例を示す図。
【図２】第１の実施形態に係る放射線撮影システムの機能構成を例示する図。
【図３】第１の実施形態に係るシステムの処理の流れを示すフローチャート。
【図４】第２の実施形態の放射線撮影システムの機能構成を例示する図。
【図５】第２の実施形態に係るシステムの処理の流れを示すフローチャート。
【図６】放射線撮影システムにおける連携動作例を説明する図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでするものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。
【００１２】
［第１の実施形態］
（放射線撮影システムの概略構成例）
図１は、第１の実施形態に係る放射線撮影システムの概略構成例を示す図である。多くの病院では放射線撮影室１２０は操作室１２１と検査室１２２に分けられる。操作室１２１側では主に放射線撮影技師（以下、操作者ともいう）が操作卓上の制御装置１２３を操作し、制御装置１２３が検査室１２２側の放射線発生装置１１や放射線検出器１２を制御することで放射線画像の撮影が行われる。また、制御装置１２３は、後述するディスプレイ１〜３及び携帯端末１４０に撮影に関する情報を表示するための通信および表示制御を行うことが可能である。
【００１３】
図１の例では、放射線検出器として臥位テーブル（Table）１２４に設置した放射線検出器１２と、立位スタンド(Stand)１２５に放射線検出器１２が設置されている例を示しているが、図１の放射線撮影室１２０の例は一例であり、この構成に限定するものではない。
【００１４】
操作室１２１内のディスプレイ１、及びディスプレイ２には、例えば、操作者が放射線撮影のために放射線撮影システムを制御するための情報が表示される。また、検査室１２２内のディスプレイ３には、例えば、被検者情報など撮影を補助するための情報が表示される。また、ディスプレイ３には、ディスプレイ１やディスプレイ２と異なる情報を表示したり、ディスプレイ１やディスプレイ２に表示する情報のクローンとして画面表示することも可能である。
【００１５】
なお、ここでは単体のディスプレイ３としているが複数台のディスプレイを検査室１２２内に設けてもよく、操作者へ情報を提供するという目的が達成されるものであればディスプレイという構成でなくてもよい。
【００１６】
携帯端末１４０は主に操作者が使用するもので、補助情報として操作者へ情報提供するためのものである。携帯端末１４０は、例えば、ディスプレイ１やディスプレイ２と異なる情報を表示したり、ディスプレイ１やディスプレイ２に表示する情報のクローンとして画面表示することも可能である。また、携帯端末１４０の画面にディスプレイ３の画面表示と同様の画面を表示することも可能である。なお、図１では携帯端末１４０は１つの例を示しているが、複数台の携帯端末があってもよいし、操作者へ情報を提供するという目的が達成されるのであれば、ウェアラブル端末などを用いることも可能である。
【００１７】
（検査の進め方）
次に、一般的な検査の進め方について説明する。最初に操作者には院内ネットワークを介して、放射線撮影のオーダーが来る。撮影オーダーは、制御装置１２３に取り込まれ被検者情報や撮影内容が特定される。撮影オーダーが操作者に届く際には、検査室１２２の外で被検者が撮影待機しているのが一般的である。操作者は撮影オーダーに応じて検査室１２２に被検者を呼び入れ、検査の準備を行う。被検者を検査室１２２に招き入れた際には、操作者は被検者の取り違えを防ぐために名前の確認や生年月日の確認などを行う。このとき、操作者は被検者情報として撮影オーダーを受け取った被検者名を検査室１２２内のディスプレイ３に表示されている情報と照合して確認したり、携帯端末１４０の画面に表示されている情報と照合して確認したりする。
【００１８】
撮影の準備が整えば、例えば、撮影時の被検者の姿勢として、臥位での撮影や立位での撮影などの撮影オーダーに応じて放射線発生装置１１と被検者と放射線検出器１２の位置調整を行う。被検者の状態や撮影オーダーの内容によっては、撮影順番を変更したり、撮影時における被検者の姿勢として、立位と臥位を入れ替えたり、操作者の判断で変更することが可能である。
【００１９】
その後、操作者は検査室１２２から操作室１２１へ移動し、放射線撮影可能と判断すれば、撮影開始の指示を不図示の操作部に入力する。操作部の操作に基づいて、制御装置１２３は放射線発生装置１１及び放射線検出器１２を制御して、放射線発生装置１１から放射線を照射し、放射線検出器１２は被検者を透過した放射線を検出する。放射線検出器１２は、放射線を電気信号に変換するための画素が行列状に複数配列された画素アレイを備えており、変換した電気信号に応じた放射線画像を生成することが可能である。
【００２０】
制御装置１２３は放射線検出器１２と通信可能に構成されており、放射線検出器１２で生成された放射線画像を通信により取得し、制御装置１２３は、取得した放射線画像をディスプレイに表示するように表示制御を行う。操作者は、ディスプレイ上に表示された放射線画像を確認し問題がなければ、操作者は次の撮影のポジショニングを行うために検査室１２２に移動し、同様の手順で撮影を行う。次の撮影がなければ検査終了となり、被検者は撮影室から退出する、という流れとなる。
【００２１】
（放射線撮影システムの機能構成）
次に、放射線撮影システム１０の機能構成について図２を用いて説明する。放射線撮影システム１０は、放射線を発生する放射線発生装置１１と、放射線を検出する放射線検出器１２と、放射線発生装置１１及び放射線検出器１２を制御する制御装置１２３（コンピュータ）とを有する。放射線撮影システム１０は、第一の制御アプリケーション１３と第二の制御アプリケーション１４との間の通信に基づいて、放射線発生装置１１と放射線検出器１２を制御することが可能である。第一の制御アプリケーション１３は制御装置１２３（コンピュータ）上で動作するアプリケーションである。第一の制御アプリケーション１３を構成する各部の処理は、制御装置１２３（第一の制御装置ともいう）における機能構成として実行される。
【００２２】
第二の制御アプリケーション１４は、第一の制御アプリケーション１３と同一のコンピュータ上で動作するアプリケーションでも良いし、第一の制御アプリケーション１３が動作する制御装置１２３（コンピュータ）とは異なるコンピュータ上（例えば、携帯端末１４０）で動作するアプリケーションであっても良い。また、第二の制御アプリケーション１４は単一のアプリケーションである必要はなく、異なるＧＵＩを提供するアプリケーションが複数存在していてもよい。
【００２３】
次に第一の制御アプリケーション１３の機能構成について説明する。撮影制御部１３０（メインロジック部）は、グラフィカルユーザーインターフェース（ＧＵＩ）を提供し、ＧＵＩの表示を制御する表示制御部１２９と、放射線撮影システム１０における撮影制御を実行する処理実行部１３１とを有する。撮影制御部１３０のみで単独でも動作可能であり、撮影制御部１３０は放射線発生装置１１と放射線検出器１２を連携させながら放射線撮影システム１０を制御する。
【００２４】
例えば、ディスプレイ１、２に表示されたＧＵＩから指示された操作は処理実行部１３１に入力され、処理実行部１３１で処理される。また、撮影制御部１３０において、処理実行部１３１は、ＧＵＩからの操作や、放射線発生装置１１のＧＵＩ１１１からの処理指示や、放射線検出器１２からの処理指示や、コンピュータから通知される処理指示など様々な処理を実行することが可能である。
【００２５】
ダイナミックリンクライブラリ（以下、ＤＬＬ１３８（通信制御部））は撮影制御部１３０のプラグインとして動作する。プラグインの構造であれば、撮影制御部１３０は単独での動作も可能であり、撮影制御部１３０とＤＬＬ１３８を連携して動作させることも可能である。プラグイン構造でなければならないというわけではなく、撮影制御部１３０とＤＬＬ１３８が連携して動作する構成になっていてもよい。本実施形態ではプラグイン構造のＤＬＬ１３８であるとして説明する。
【００２６】
ＤＬＬ１３８の内部の構造は、大きく２種類の処理部に分けられる。すなわち、ＤＬＬ１３８は、第二の制御アプリケーション１４からの処理要求による処理を行うコマンド処理部１３２と、第一の制御アプリケーション１３の撮影制御部１３０からの処理要求による処理を行うメッセージ処理部１３４とを有する。第二の制御アプリケーション１４からの処理要求をコマンドと呼び、第一の制御アプリケーション１３の撮影制御部１３０からの処理要求をメッセージと呼ぶものとする。
【００２７】
ここで、第二の制御アプリケーション１４は、第一の制御アプリケーション１３と同一の制御装置１２３（コンピュータ）上で動作するアプリケーションでも良いし、制御装置１２３（コンピュータ）とは異なる制御装置（第二の制御装置ともいう）上で動作するアプリケーションであっても良い。
【００２８】
コマンドの処理は、第二の制御アプリケーション１４からの処理要求を複数受け付けることが可能な処理キュー１３６（保持部）に保持される。処理キュー１３６（保持部）は、第二の制御アプリケーション１４から送信された処理要求を送信順に保持することが可能である。コマンド処理部１３２は処理キュー１３６に保持された処理要求を撮影制御部１３０に通知する。コマンド処理部１３２から撮影制御部１３０にコマンドの処理要求が通知されると、その際に、この通知に基づいて、制御権取得部１３３は撮影制御部１３０に対する制御権を取得する。制御権は撮影制御部１３０のメインスレッドまたはＧＵＩスレッドを、ミューテックスやセマフォなどの排他処理を用いて取得することが可能である。Ｃ＃言語ではＧＵＩスレッドには公知のＤｉｓｐａｔｃｈｅｒ．Ｉｎｖｏｋｅを使用することで制御権を取得することが可能である。
【００２９】
ただし、コマンド処理部１３２で処理するコマンド毎（コマンドの処理要求毎）に制御権の取得と解放を実施すると、第二の制御アプリケーション１４からの処理要求間に、制御権を取得していない状態（制御権の隙間）が存在し得る。そのため、制御権の隙間において、第一の制御アプリケーション側の処理要求（メッセージ）に基づいた処理が実施されると、第二の制御アプリケーション側の処理要求（コマンド）に基づいた後続処理が使用者の意図通りに実施されない可能性がある。
【００３０】
そこで、連続制御判定部１３７は、処理キュー１３６に保持された処理要求の内容等を判断して、連続して実行すべき処理要求が存在する場合に、連続制御判定部１３７は、処理要求間も制御権取得部１３３で制御権を取得し続けるように指示する。すなわち、連続制御判定部１３７は、処理要求間（コマンドの処理要求と後続のコマンドの処理要求との間）も制御権取得部１３３で取得した制御権を保持するように指示する。ここで、連続して実施すべきコマンドの処理要求とは第一の制御アプリケーション１３に対しての一連の操作であり、具体的な実施例は図６のケースを用いて後述する。制御権取得部１３３は、連続制御判定部１３７により連続して実行すべき処理要求と判定された場合、第一の制御アプリケーションの撮影制御部１３０を司る制御権を、処理要求の処理を連続して実行するために取得する。
【００３１】
一方、メッセージの処理では、第一の制御アプリケーション１３が何らかの処理要求に応じて処理実行部１３１で処理をした結果、第一の制御アプリケーション１３の状態が変化したときに、撮影制御部１３０は第一の制御アプリケーション１３の状態が変化したことをメッセージとしてＤＬＬ１３８のメッセージ処理部１３４に通知する。メッセージ処理部１３４はメッセージを撮影制御部１３０から受信し、撮影制御部１３０の状態が変化した場合に、状態管理部１３５で管理している状態情報を変更する。
【００３２】
（放射線撮影システムにおける連携動作例）
次に、放射線撮影システム１０における連携動作例を説明する。図６は、放射線撮影システム１０における連携動作例を説明する図である。尚、図６での説明はあくまでも一例であり、本実施形態を限定するものではない。
【００３３】
操作者は携帯端末１４０を携帯しており、第一の制御アプリケーション１３の表示制御部１２９は、ディスプレイ１およびディスプレイ２の双方、または何れか一方に様々なＧＵＩを表示するための表示制御を行うことが可能である。ここでは、第一の制御アプリケーション１３の表示制御部１２９により表示されているＧＵＩ１５０に、放射線検出器１２から取得した放射線画像を表示する撮影画面を表示しているものとする。
【００３４】
図６では、第一の制御アプリケーション１３と携帯端末１４０における第二の制御アプリケーション１４との連携を例示的に説明するため、ディスプレイ１、２におけるＧＵＩの表記を第一の制御アプリケーション１３として示し、携帯端末１４０におけるＧＵＩの表記を第二の制御アプリケーション１４として示している。
【００３５】
撮影画面には、取得した放射線画像を表示する放射線画像の表示領域５１と、取得した放射線画像の一覧を表示する撮影画像のリスト部５２と、撮影画像に対する各種処理（例えば、画像コピー、再撮影、検査保留や終了操作）を実施する操作部５３が表示されているものとする。
【００３６】
この撮影画面にて、放射線画像を表示した際に、第一の制御アプリケーション１３から携帯端末１４０に対して撮影画面にて放射線画像を表示している旨を通知するためのメッセージが送信される。第一の制御アプリケーション１３からメッセージが送信された携帯端末１４０では、メッセージの内容から第一の制御アプリケーション１３が放射線画像を表示状態であることを認識することができる。その状態に応じて携帯端末１４０では、第二の制御アプリケーション１４の表示制御に基づいて、携帯端末１４０のＧＵＩに自由に画面を表示することも可能である。
【００３７】
ここでは簡単のため第一の制御アプリケーション１３と同様に携帯端末１４０に特化した撮影画像に対する操作画面を表示するものとする。ただし、画面の表示は一例であって、異なる画面を表示してもよい。ここで、操作者は第一の制御アプリケーション１３の表示制御に基づいて表示されている撮影画像に対して操作をしてもよいし、携帯端末１４０の第二の制御アプリケーション１４の表示制御で表示されている撮影画像に対して操作してもよい。
【００３８】
第一の制御アプリケーション１３で表示されている操作部５３から再撮影を指示する操作が指定された場合、処理実行部１３１により放射線発生装置１１および放射線検出器１２が制御されて再撮影処理が実施される。この際に、再撮影処理の成功失敗の結果はメッセージとして、第一の制御アプリケーション１３から携帯端末１４０の第二の制御アプリケーション１４に送信される。例えば、再撮影に成功した場合には、再撮影対象の画像を特定するための画像情報と再撮影操作が行われたことを示す操作情報とを含むメッセージが携帯端末１４０の第二の制御アプリケーション１４に送信される。携帯端末１４０のＧＵＩでは、第二の制御アプリケーション１４の表示制御に基づいて、胸部の再撮影（胸部ＡＰ）が行われたことを明示するように強調表示される。こうすることで、携帯端末１４０側にも再撮影処理の結果に応じたＧＵＩ画面を表示することが可能となる。
【００３９】
一方、携帯端末１４０で再撮影を指示した場合は、再撮影対象の画像を特定するための画像情報と再撮影操作が行われたことを示す操作情報とを含むコマンドが携帯端末１４０の第二の制御アプリケーション１４から第一の制御アプリケーション１３に送信される。第二の制御アプリケーション１４からコマンドを受信すると、第一の制御アプリケーション１３の処理実行部１３１は、第一の制御アプリケーション１３側で再撮影の操作が指示されたときと同じように、再撮影対象の画像を撮影画像のリスト部５２で選択し、操作部５３の再撮影操作までの一連の処理を実行する。
【００４０】
再撮影処理の成功失敗の結果はメッセージとして、第一の制御アプリケーション１３から携帯端末１４０の第二の制御アプリケーション１４に送信される。この場合、第一の制御アプリケーション１３側で再撮影を指示した場合と同様の情報が、携帯端末１４０の第二の制御アプリケーション１４に送信される。
【００４１】
例えば、再撮影に成功した場合には、再撮影対象の画像を特定するための画像情報と再撮影操作が行われたことを示す操作情報とを含むメッセージが携帯端末１４０の第二の制御アプリケーション１４に送信される。携帯端末１４０のＧＵＩでは、第二の制御アプリケーション１４の表示制御に基づいて、胸部の再撮影（胸部ＡＰ）が行われたことを明示するように強調表示される。これにより、携帯端末１４０側に再撮影処理の結果に応じたＧＵＩ画面を表示することが可能となる。
【００４２】
図６で説明した例のように、携帯端末１４０から操作指示をする場合において、再撮影対象の画像を撮影画像のリスト部１５２で選択し、操作部１５３の再撮影操作の選択のように複数のコマンドを連続して実行するようなケースが存在する。例えば、リスト部１５２における選択操作により再撮影対象の画像に関する処理要求（コマンド）が生成され、更に操作部１５３における選択操作により再撮影操作の選択に関する処理要求（コマンド）が生成される。生成された処理要求（コマンド）は第二の制御アプリケーション１４から第一の制御アプリケーション１３に送信される。このようなケースでは、第二の制御アプリケーション１４から送信される２つの処理要求（コマンド）は、処理キュー１３６により保持される。尚、第二の制御アプリケーションで生成される処理要求（コマンド）の例は、上記の２つの例に限られず、携帯端末１４０のＧＵＩから入力される種々の操作に応じて複数の処理要求（コマンド）が生成される。
【００４３】
連続制御判定部１３７は、処理キュー１３６に保持されている複数の処理要求（コマンド）が連続して実行すべき処理要求であるか否かを、各処理要求の内容や各処理要求の時刻情報に基づいて判定することが可能である。当該判定は、処理要求の内容と各処理要求の時刻情報の少なくとも一方に基づいて行われていればよく、処理要求の内容と各処理要求の時刻情報の両方に基づいて行ってもよい。時刻情報として、例えば、処理要求の通知時刻に基づいた判定方法としては、第二の制御アプリケーション１４が第一の制御アプリケーション１３に処理要求を通知した時刻を参照し、通知時刻が同一時刻である処理要求、または、最初に通知された処理要求の時刻から一定期間内に通知された処理要求を、同一時刻に通知された処理要求として判定することが可能である。尚、通知時刻は、処理要求（コマンド）が処理キュー１３６に保持された時刻情報を用いることが可能である。また、処理要求（コマンド）が第二の制御アプリケーション１４で生成された時刻情報を用いることが可能である。
【００４４】
また、連続制御判定部１３７は、処理キュー１３６に保持されている処理要求の処理の内容が、第一の制御アプリケーションにより提供されるＧＵＩにおける同一画面内での処理要求（例えば、図６のリスト部１５２および操作部１５３における操作要求）であれば、連続して実行すべき処理要求と判定することが可能である。また、複数の処理要求がＧＵＩにおける一連の操作であれば連続して実行すべき処理要求と判定することも可能である。
【００４５】
連続して実行すべき処理要求が複数存在する場合に、連続制御判定部１３７は、処理要求間も制御権取得部１３３で制御権を取得した状態を維持するように指示する。制御権取得部１３３は、連続制御判定部１３７の判定結果に基づいて、撮影画像の選択、および再撮影操作の実施という処理要求がコマンド処理部１３２に通知され、複数の処理要求の処理が終了するまで撮影制御部１３０に対する制御権を保持し続ける。すなわち、制御権取得部１３３は、連続制御判定部１３７の判定結果に基づいて、撮影画像の選択に関する処理要求の処理開始から後続の再撮影操作の実施に関する処理要求の処理終了まで、撮影制御部１３０に対する制御権を保持する。
【００４６】
（複数のコマンドを連続して実行する場合の処理の流れ）
次に、複数の処理要求（コマンド）を連続して実行するケースにおける第一の制御アプリケーション１３の処理について図３のフローチャートを用いて説明する。
【００４７】
ステップＳ３０１において、第二の制御アプリケーション１４から第一の制御アプリケーション１３に処理要求（コマンド）を通知する。ＤＬＬ１３８はアプリケーションプログラミングインターフェース（ＡＰＩ）化されており、第二の制御アプリケーション１４はＤＬＬ１３８のＡＰＩを呼び出すことで処理要求（コマンド）の通知が可能となる。
【００４８】
ステップＳ３０２では、ステップＳ３０１で、第二の制御アプリケーション１４から通知された処理要求（コマンド）を処理キュー１３６に保持（エンキュー）する。処理要求（コマンド）のエンキューを実施したらキューイングのフローとしてはステップＳ３０３で一旦終了となり、処理をステップＳ３０４に進める。
【００４９】
ステップＳ３０４において、処理キュー１３６に保持されている次の処理要求（コマンド）の処理が可能になったら、処理をステップＳ３０５に進める。ステップＳ３０５では、コマンド処理部１３２は、処理キュー１３６からキューイングされている処理要求を取得（デキュー）する。コマンド処理部１３２は、処理キュー１３６から、先入れ先出し方式（ＦＩＦＯ：Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）で処理要求（コマンド）を取得する。
【００５０】
ステップＳ３０６において、連続制御判定部１３７は、処理キュー１３６から取得した処理要求（コマンド）が複数の処理要求を連続して実行すべき処理要求であるか否かを判定する。連続制御判定部１３７は、前述の処理キュー１３６にエンキューされている処理要求の時刻情報（例えば、通知時刻）を参照して、連続して実行すべき処理要求であるか否かを判定する。連続制御判定部１３７は、時刻情報として、第二の制御アプリケーション１４が第一の制御アプリケーション１３に処理要求を通知した通知時刻を参照し、通知時刻が同一時刻である処理要求、または、最初に通知された処理要求の時刻から一定期間内に通知された処理要求を、同一時刻に通知された処理要求として判定する。そして、連続制御判定部１３７は、同一時刻に通知された処理要求を連続して実行すべき処理要求であると判定する。
【００５１】
ステップＳ３０６の判定処理で、連続して実行すべきでない処理要求であると判定した場合（Ｓ３０６−Ｎｏ）、連続制御判定部１３７は、処理をステップＳ３０９に進める。一方、ステップＳ３０６の判定処理で、連続して実行すべき処理要求であると判定した場合（Ｓ３０６−Ｙｅｓ）、連続制御判定部１３７は、処理をステップＳ３０７に進める。
【００５２】
ステップＳ３０７において、制御権取得部１３３は、処理要求（コマンド）を処理するために、撮影制御部１３０に対する制御権が取得済であるか否か判定し、制御権が取得済である場合（Ｓ３０７−Ｙｅｓ）、処理をステップＳ３１２に進める。一方、ステップＳ３０７の判定処理で、撮影制御部１３０に対する制御権を取得していない場合（Ｓ３０７−Ｎｏ）、制御権取得部１３３は、処理をステップＳ３０８に進める。
【００５３】
ステップＳ３０８において、制御権取得部１３３は、連続制御判定部１３７の判定結果に基づいて、制御権取得期間を決定する。ここでは、連続制御判定部１３７により、連続して実行すべきと判定された複数の処理要求について、制御権取得部１３３は、最初の処理要求の処理開始から最後の処理要求の処理終了までの期間を、制御権取得期間として決定する。
【００５４】
そして、ステップＳ３０９において、制御権取得部１３３は、撮影制御部１３０に対する制御権を取得する。ここで、制御権は撮影制御部１３０のメインスレッドまたはＧＵＩスレッドを、ミューテックスやセマフォなどの排他処理を用いて取得することが可能である。Ｃ＃言語ではＧＵＩスレッドには公知のＤｉｓｐａｔｃｈｅｒ．Ｉｎｖｏｋｅを使用することで制御権を取得することが可能である。
【００５５】
ステップＳ３１０において、制御権取得部１３３は、撮影制御部１３０に対する制御権を取得できたか判定し、制御権を取得できなかった場合（Ｓ３１０−Ｎｏ）、撮影制御部１３０に対する制御権が解放されるまで制御権の取得待ちの状態で待機する。尚、制御権が取得できなかった場合は、処理をステップＳ３１６に進め、制御権の取得ができず、処理要求（コマンド）の処理に失敗したとして処理要求応答を出力してもよい。
【００５６】
ステップＳ３１０の取得判定で、制御権を取得できた場合（Ｓ３１０−Ｙｅｓ）、制御権取得部１３３は、処理をステップＳ３１１に進める。
【００５７】
ステップＳ３１１において、制御権取得部１３３は、取得した制御権により処理要求（コマンド）の実行が可能な状態であるか否かを判定する。状態管理部１３５は撮影制御部１３０の状態を管理しており、状態管理部１３５により管理されている撮影制御部１３０の状態に基づいて、制御権取得部１３３は処理要求（コマンド）の実行が可能な状態であるか否かを判定する。ここで、状態とは、例えば、撮影制御部１３０の表示制御部１２９が表示制御しているＧＵＩ１５０の画面遷移の状態や画面の中の操作ボタンが操作可能であるか否かの状態などが含まれる。例えば、図６のＧＵＩ１５０の状態であったとすると、画面状態は撮影画面で、再撮影ボタンは操作可能な状態となっている。
【００５８】
一方、図６のＧＵＩ１５０に表示されている画面以外の画面は表示されていないので表示されている画面以外の操作は操作不可であると判定される。従って、図６のＧＵＩ１５０に表示されている状態で操作部５３のボタンを押下する処理要求は実行可能であるが、それ以外の異なるボタンを押下する処理要求は実行不可と判定する。制御権取得部１３３の判定結果は、コマンド処理部１３２に通知され、処理要求（コマンド）の実行が可能な状態である場合、コマンド処理部１３２は、処理キュー１３６から取得した処理要求（コマンド）を撮影制御部１３０に通知する。
【００５９】
尚、ＧＵＩの画面遷移などの制御を伴わないような処理要求（コマンド）で、画面の状態や撮影制御の状態によらず常に処理要求を実行可能なコマンドに関しては、ステップＳ３１１の処理をスキップしてもよい。一般に常に処理要求を実行可能かどうかはＡＰＩ毎に定義されており、この定義に従って処理要求が実行可能なコマンドであるか否かを判定することが可能である。
【００６０】
ステップＳ３１２において、処理実行部１３１は、コマンド処理部１３２から通知された処理要求（コマンド）を実行する。すなわち、処理実行部１３１は、携帯端末１４０の操作に基づいた要求処理（コマンド）に基づいて、ＧＵＩ１５０（図６の操作画面）を操作者が操作していることを模擬するように制御する。
【００６１】
ステップＳ３１３において、コマンド処理部１３２は、連続制御判定部１３７の判定結果に基づいて、連続して実行すべき処理要求の処理が完了したか否かを判定する。コマンド処理部１３２は、連続して実行すべき処理要求を撮影制御部１３０に全て通知して、処理要求の全ての処理が完了したと判断した場合（Ｓ３１３−Ｙｅｓ）、処理をステップＳ３１４に進め、ステップＳ３１４において、制御権取得部１３３は取得した制御権を解放する。
【００６２】
一方、ステップＳ３１３の判定処理で、連続処理要求が全て完了していないと判定した場合（Ｓ３１３−Ｎｏ）、制御権を保持したままにして、ステップＳ３１６に処理を進める。
【００６３】
ステップＳ３１６では、撮影制御部１３０での処理結果を第二の制御アプリケーション１４に通知する。メッセージ処理部１３４は、処理要求（コマンド）の実行に関するメッセージを撮影制御部１３０から受信し、撮影制御部１３０の状態が変化した場合に、状態管理部１３５で管理している状態情報を変更する。撮影制御部１３０から受信したメッセージが処理要求（コマンド）の処理成功を示すメッセージである場合、状態管理部１３５は、処理要求（コマンド）の処理成功を第二の制御アプリケーション１４に通知する。一方、撮影制御部１３０から受信したメッセージが処理要求（コマンド）の処理失敗を示すメッセージである場合、状態管理部１３５は、処理要求（コマンド）の処理失敗を第二の制御アプリケーション１４に通知する。処理の失敗理由には様々な理由があるが、第二の制御アプリケーション１４への通知の際に、処理の失敗理由を示す情報を組み合わせて通知することも可能である。
【００６４】
［第２の実施形態］
第１の実施形態では、第二の制御アプリケーション１４からの処理要求が、連続して実行すべき処理要求であるか判定し、この判定結果に基づいて、第一の制御アプリケーション１３の撮影制御部１３０に対する制御権を所定の期間保持する構成を説明した。第２の実施形態では、第１の制御アプリケーション１３の撮影制御部１３０からの割込み操作が発生したかを検知する割込み検知部１３９が設けられた構成を説明する。
【００６５】
図４は、第２の実施形態に係る放射線撮影システム１０の機能構成を例示する図であり、割込み検知部１３９は、撮影制御部１３０で発生した割込み操作を検知し、検知結果を連続制御判定部１３７に入力する。連続制御判定部１３７では、処理要求（コマンド）の実行途中で割込み操作が可能か否かを判定する。
【００６６】
図５は、第２の実施形態に係るシステムの処理の流れを示すフローチャートである。ステップＳ４０１〜ステップＳ４１２までの処理は第１の実施形態で説明した図３のステップＳ３０１〜ステップＳ３１２までの処理と同様である。
【００６７】
ステップＳ４１３において、割込み検知部１３９は、第一の制御アプリケーション１３側で操作があった場合に、割り込みを検知する。割込み検知部１３９は、操作割り込みの検知結果を連続制御判定部１３７に入力する。連続制御判定部１３７では、処理要求（コマンド）の実行途中で割込みが可能か否かを判定する。処理キュー１３６に保持されている、次に取得予定（デキュー予定）の処理要求（コマンド）の処理内容が、ＧＵＩの画面遷移を伴う処理要求である場合に、連続制御判定部１３７は、第一の制御アプリケーション１３からの処理要求（割り込み処理）の割込みが可能と判定する。すなわち、連続制御判定部１３７は、処理キュー１３６に保持されている処理要求（コマンド）の処理に対して、第一の制御アプリケーション１３からの処理要求（割り込み処理）を優先して処理を行うことが可能と判定する。
【００６８】
尚、ステップＳ４１３における割込み可能か否かの判定処理では、ＧＵＩの画面遷移を伴う処理要求であるか否かに基づいて判定したが、この例に限られず、例えば、第二の制御アプリケーション１４からの処理要求（コマンド）単位に優先度を設定する設定部を設け、処理キュー１３６から次に取得予定（デキュー予定）の処理要求（コマンド）に設定されている優先度が、割込みを許容する優先度である場合（例えば、処理内容の優先度が低い場合）、割込みが可能と判断しても良い。すなわち、処理キュー１３６に保持されている、次に取得予定の処理要求（コマンド）に設定されている優先度が、第一の制御アプリケーション１３からの割り込みの処理要求に設定されている優先度に比べて低い場合、連続制御判定部１３７は、第一の制御アプリケーション１３からの処理要求の割込みが可能と判定する。ステップＳ４１３において、割り込み処理が可能ではない場合、第一の制御アプリケーション１４は、ユーザーに対して割り込み処理が実行できない旨の通知を行ってもよい。たとえば、ＧＵＩ１５０上にメッセージの表示や、音声による通知が可能である。ＧＵＩ１５０や、不図示のスピーカが通知部としての機能を担う。
【００６９】
処理要求（割り込み処理）の割込みが可能と判定した場合（Ｓ４１３−Ｙｅｓ）、連続制御判定部１３７は、処理をステップＳ４１５に進める。
【００７０】
ステップＳ４１５において、制御権取得部１３３は取得した制御権を解放する。一方、ステップＳ４１３の判定処理で、割込み不可と判定した場合（Ｓ４１３−Ｎｏ）、連続制御判定部１３７は、処理をステップＳ４１４に進める。
【００７１】
ステップＳ４１４において、コマンド処理部１３２は、連続制御判定部１３７の判定結果に基づいて、連続して実行すべき処理要求の処理が完了したか否かを判定する。コマンド処理部１３２は、連続して実行すべき処理要求を撮影制御部１３０に全て通知して、全ての処理が完了したと判断した場合（Ｓ４１４−Ｙｅｓ）、処理をステップＳ４１５に進め、ステップＳ４１５において、制御権取得部１３３は取得した制御権を解放する。
【００７２】
一方、ステップＳ４１４の判定処理で、連続処理要求が全て完了していないと判定した場合（Ｓ４１４−Ｎｏ）、制御権取得部１３３は制御権の保持状態を維持する。すなわち、制御権取得部１３３は制御権を保持したままにして、ステップＳ４１６に処理を進める。ステップＳ４１６における処理は、図３のステップＳ３１６の処理と同様である。
【００７３】
上記の各実施形態によれば、複数のアプリケーションが連携して処理を実行する場合でも、各アプリケーションによる処理の衝突を回避することが可能になる。
【００７４】
すなわち、複数の異なるアプリケーションが同時に連携して動作するシステムにおいて、複数の処理を連続処理する場合の競合問題を解決し、仮に同時に実行された場合でも競合することなく処理をすることが可能となる。また、複数の処理を連続処理する際の排他制御を行うための制御権を取得する期間を決定するとこで、連続処理する期間の手動設定の煩雑性やアプリケーション操作の応答性を改善することが可能になる。
【００７５】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７６】
本発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【００７７】
１１：放射線発生装置、１２：放射線検出器、１３：第一の制御アプリケーション、１４：第二の制御アプリケーション、５１：放射線画像表示領域、５２：撮影画像リスト部、５３：操作部、１３０：撮影制御部（メインロジック部）、１３１：処理実行部、１３２：コマンド処理部、１３３：制御権取得部、１３４：メッセージ処理部、１３５：状態管理部、１３６：処理キュー、１３７：連続制御判定部、１３８：ＤＬＬ、１３９：割込み検知部
【図１】
2020146167.tif 000003
【図２】
2020146167.tif 000004
【図３】
2020146167.tif 000005
【図４】
2020146167.tif 000006
【図５】
2020146167.tif 000007
【図６】
2020146167.tif 000008