JP2022042011A - 医療情報制御システム、信号処理装置、及び医療情報制御方法 - Google Patents
医療情報制御システム、信号処理装置、及び医療情報制御方法 Download PDFInfo
- Publication number
- JP2022042011A JP2022042011A JP2021142655A JP2021142655A JP2022042011A JP 2022042011 A JP2022042011 A JP 2022042011A JP 2021142655 A JP2021142655 A JP 2021142655A JP 2021142655 A JP2021142655 A JP 2021142655A JP 2022042011 A JP2022042011 A JP 2022042011A
- Authority
- JP
- Japan
- Prior art keywords
- signal processing
- image
- medical
- application
- real
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 448
- 238000000034 method Methods 0.000 title claims abstract description 90
- 239000000872 buffer Substances 0.000 claims abstract description 151
- 238000001356 surgical procedure Methods 0.000 claims abstract description 14
- 238000002059 diagnostic imaging Methods 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 claims description 67
- 230000000740 bleeding effect Effects 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 9
- 230000010365 information processing Effects 0.000 claims 2
- 230000004913 activation Effects 0.000 claims 1
- 238000003384 imaging method Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 16
- 230000003139 buffering effect Effects 0.000 description 12
- 230000000052 comparative effect Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012937 correction Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000002156 mixing Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 0 CC(CC1C2)C[C@]12C1CC(CC*)CCC1 Chemical compound CC(CC1C2)C[C@]12C1CC(CC*)CCC1 0.000 description 2
- 206010028980 Neoplasm Diseases 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003908 quality control method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- JCMPOVNJCRFIGP-UHFFFAOYSA-N CC(C1)CN1C1CCCC1 Chemical compound CC(C1)CN1C1CCCC1 JCMPOVNJCRFIGP-UHFFFAOYSA-N 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/25—User interfaces for surgical systems
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B1/00—Instruments for performing medical examinations of the interior of cavities or tubes of the body by visual or photographical inspection, e.g. endoscopes; Illuminating arrangements therefor
- A61B1/00002—Operational features of endoscopes
- A61B1/00004—Operational features of endoscopes characterised by electronic signal processing
- A61B1/00006—Operational features of endoscopes characterised by electronic signal processing of control signals
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B1/00—Instruments for performing medical examinations of the interior of cavities or tubes of the body by visual or photographical inspection, e.g. endoscopes; Illuminating arrangements therefor
- A61B1/00002—Operational features of endoscopes
- A61B1/00004—Operational features of endoscopes characterised by electronic signal processing
- A61B1/00009—Operational features of endoscopes characterised by electronic signal processing of image signals during a use of endoscope
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H30/00—ICT specially adapted for the handling or processing of medical images
- G16H30/20—ICT specially adapted for the handling or processing of medical images for handling medical images, e.g. DICOM, HL7 or PACS
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H30/00—ICT specially adapted for the handling or processing of medical images
- G16H30/40—ICT specially adapted for the handling or processing of medical images for processing medical images, e.g. editing
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B2576/00—Medical imaging apparatus involving image processing or analysis
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B90/00—Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
- A61B90/20—Surgical microscopes characterised by non-optical aspects
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B90/00—Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
- A61B90/36—Image-producing devices or illumination devices not otherwise provided for
- A61B90/361—Image-producing devices, e.g. surgical cameras
Abstract
【課題】さらに、医療イメージング装置をサーバに接続し、サーバで信号処理を行うことで、より高度な手技のサポートを行うことが考えられる。
【解決手段】本開示によれば、手術サーバは、第1のコンテナ仮想領域にインストールされた、第1の医療アプリケーションと、第2のコンテナ仮想領域にインストールされた、第2の医療アプリケーションと、がアクセス可能な複数の仮想共有バッファと、制御アプリケーションと、を有し、制御アプリケーションは、第1の医療アプリケーションの書き込みと第2の医療アプリケーションの読み込みとを第1仮想メモリ領域と、第2仮想メモリ領域と、第3仮想メモリ領域と、を交互に用いるように第1の医療アプリケーションまたは第2の医療アプリケーションを制御する、医療情報制御システムが提供される。
【選択図】図2
【解決手段】本開示によれば、手術サーバは、第1のコンテナ仮想領域にインストールされた、第1の医療アプリケーションと、第2のコンテナ仮想領域にインストールされた、第2の医療アプリケーションと、がアクセス可能な複数の仮想共有バッファと、制御アプリケーションと、を有し、制御アプリケーションは、第1の医療アプリケーションの書き込みと第2の医療アプリケーションの読み込みとを第1仮想メモリ領域と、第2仮想メモリ領域と、第3仮想メモリ領域と、を交互に用いるように第1の医療アプリケーションまたは第2の医療アプリケーションを制御する、医療情報制御システムが提供される。
【選択図】図2
Description
本開示は、医療情報制御システム、信号処理装置、及び医療情報制御方法に関する。
内視鏡やビデオ顕微鏡といった医療イメージング装置を用いた手術は、より精細な手技が可能となるとともに、画像処理技術による手技のサポートを行うことが期待されている。このとき、医療イメージング装置により生成された医療用画像に対して行われる画像処理は、手技の妨げとなることを抑制することが望まれる。そのため、画像処理では、例えば、一定時間以内に1フレーム分の画像処理が完了することといったリアルタイム性や、画像処理にかかる処理時間、すなわち遅延が小さいことといった低レイテンシが求められる。また、同時に複雑な画像処理によって手技の効率化に役立つ情報を表示することが求められる。
そこで、医療用画像に対して回転補正等の画像処理を行う外部装置(IPコンバータ)が提案されている(例えば、特許文献1)。
さらに、医療イメージング装置をサーバに接続し、サーバで信号処理を行うことで、より高度な手技のサポートを行うことが考えられる。
上記の課題を解決するために、本開示によれば、手術室に設置された医療機器とネットワークを介して接続された手術サーバと、を備え、前記手術サーバは、医療機器で生成された医療画像を取得し、コンテナ仮想領域にインストールされユーザが選択可能なリアルタイム型信号処理アプリケーションおよびベストエフォート型信号処理アプリケーションを実行し、前記リアルタイム型信号処理アプリケーションによって処理された医療画像に前記ベストエフォート型信号処理アプリケーションの処理結果を重ね合わせる、
医療情報制御システムが提供される。
医療情報制御システムが提供される。
本開示によれば、手術室に設置された医療機器とネットワークを介して接続された手術サーバを用いて、医療機器で生成された医療画像を取得し、コンテナ仮想領域にインストールされユーザが選択可能なリアルタイム型信号処理アプリケーションおよびベストエフォート型信号処理アプリケーションを実行し、前記リアルタイム型信号処理アプリケーションによって処理された医療画像に前記ベストエフォート型信号処理アプリケーションの処理結果を重ね合わせる、
医療情報制御方法が提供される。
医療情報制御方法が提供される。
以下、図面を参照して、医療情報制御システム、信号処理装置、及び医療情報制御方法の実施形態について説明する。以下では、医療情報制御システムの主要な構成部分を中心に説明するが、医療情報制御システムには、図示又は説明されていない構成部分や機能が存在しうる。以下の説明は、図示又は説明されていない構成部分や機能を除外するものではない。
手術では、手術用内視鏡から取得した医療画像に輝度補正を行うようなレイテンシが重視されるリアルタイム型信号処理と、画像認識による腫瘍判別のように計算量を多大にかけても結果を重視するベストエフォート型信号処理と、の両方が同時に求められる場合がある。
このとき、リアルタイム型信号処理と、ベストエフォート型信号処理とで同時並列的に処理することが求められる。そこで、医療イメージング装置を信号処理サーバに接続し、信号処理サーバで低レイテンシ処理が求められるリアルタイム型のアプリケーションと、低レイテンシは強く要求されないが複雑な計算処理が求められるベストエフォート型のアプリケーションとを並行して動作し、リアルタイム性を維持しつつ手技の効率化に役立つ情報を表示することが求められている。
しかしながら、信号処理サーバ内にリアルタイム型のアプリケーションの処理結果とベストエフォート型のアプリケーションの処理結果を1枚の表示画像に反映させるとき、リアルタイム型のアプリケーションの処理速度と、ベストエフォート型のアプリケーションの処理速度が異なっているため、バッファ処理が必要となる。
(第1実施形態)
図1は、本開示の実施形態に係る医療情報制御システム1の構成の一例を示す図である。図1に示すように、本実施形態に係る医療情報制御システム1は、複数の画像イメージング装置10と、信号処理サーバ20と、複数の入力側のIP(Internet Protocol)コンバータ30と、IPスイッチ40と、複数の出力側のIPコンバータ50と、複数の画像受信装置60と、操作端末70と、制御サーバ80とを備える。また、複数の入力側のIPコンバータ30と、IPスイッチ40と、複数の出力側のIPコンバータ50と、操作端末70と、制御サーバ80とは、例えば院内画像ネットワークシステムとして映像ネットワーク2000を構成する。
図1は、本開示の実施形態に係る医療情報制御システム1の構成の一例を示す図である。図1に示すように、本実施形態に係る医療情報制御システム1は、複数の画像イメージング装置10と、信号処理サーバ20と、複数の入力側のIP(Internet Protocol)コンバータ30と、IPスイッチ40と、複数の出力側のIPコンバータ50と、複数の画像受信装置60と、操作端末70と、制御サーバ80とを備える。また、複数の入力側のIPコンバータ30と、IPスイッチ40と、複数の出力側のIPコンバータ50と、操作端末70と、制御サーバ80とは、例えば院内画像ネットワークシステムとして映像ネットワーク2000を構成する。
画像イメージング装置10は、画像送出装置として機能する。例えば、画像イメージング装置10は、モダリティとも称され、医療用画像の撮像に用いられる装置である。例えば、画像イメージング装置10が内視鏡の場合、内視鏡カメラヘッドとCCU(Camera Control Unit)を有する。画像イメージング装置10は、内視鏡に限らず、術野カメラや顕微鏡等の種々の医療機器であってもよい。すなわち、画像イメージング装置10は、内視鏡に限らず、医療用画像を撮像する機能を有する装置であればよく、その構成は特に限定されない。
なお、本実施形態では、座標情報と関連づけられた信号値の集合を画像と称する。また、本実施形態では、画像を画像データ、又は画像信号と呼ぶ場合がある。特に、画像イメージング装置10における撮像部、例えば二次元センサ、内の撮像素子の位置情報に対応する座標情報と関連づけられた信号値の集合を医療用画像と称する。すなわち、医療情報制御システム1においては、医療用画像は、医療用画像データ又は医療用画像信号として処理される。
信号処理サーバ20は、信号処理装置である。信号処理サーバ20は、画像処理などの信号処理を実行する信号処理装置(コンピュータ)である。信号処理サーバ20は、例えば手術室外に配置されるサーバ装置であり、各々が異なる手術室内に配置される複数のIPコンバータ30にIPスイッチ40および映像ネットワーク2000を介して接続される。信号処理サーバ20は、例えば操作端末70を介した操作指示に応じて制御サーバ80から出力される制御コマンドに基づいて処理を実行する。なお、信号処理サーバ20の詳細は後述する。また、本実施形態に係る信号処理サーバ20が手術サーバに対応する。
医療情報制御システム1における信号処理サーバ20の配置は、上記のような手術室外に配置される形態に限られない。例えば、信号処理サーバ20の運用形態は、手術室内や手術室が設けられた施設内に配置されるようなオンプレミスの形態であってもよいし、或いは、手術室外や手術室が設けられた施設外に配置されるようなクラウドの形態であってもよい。すなわち、医療情報制御システム1における信号処理サーバ20は、医療情報制御システム1の運用に関する条件等を満たせば、設置位置はいずれの位置であってもよい。ただし、信号処理サーバ20が手術室外に設けられている場合は、手術室に設置できない大型の冷却設備などを使用できるため、画像処理サーバを高性能化できる。
IPコンバータ30は、画像イメージング装置10から供給される画像信号をIP伝送可能な信号、例えば、イーサネット(登録商標)信号に変換するコンバータである。画像イメージング装置10、及び画像受信装置60側の入出力はSDI、HDM(登録商標)I、及びDisplay Portといったインターフェイスが一般的である。すなわち、IPコンバータ30は、SDI、HDMI、及びDisplay Portといったインターフェイスから供給される画像信号をIP伝送可能な信号に変換する。画像イメージング装置10をどの画像受信装置60につなげるかは、ユーザの操作端末70を介した操作指示に応じて、制御サーバ80が制御を行う。
IPスイッチ40(光スイッチャ等)は、例えば操作端末70を介した操作指示に応じて制御サーバ80から出力される制御コマンドに基づいて、受信した信号を所定の機器に送信する機能を備える。これにより、画像イメージング装置10から供給される画像信号は、対応するIPコンバータ30によって例えばイーサネット信号に変換され、IPスイッチ40よって、信号処理サーバ20やIPコンバータ50に出力される。例えば、IPコンバータ30、50と、IPスイッチ40との間はイーサネット等により接続される。
IPコンバータ50は、IPスイッチ40から供給されるIP伝送可能な信号を、画像受信装置60側の入力インターフェイスであるSDI、HDMI(登録商標)、及びDisplay Portなどに対応する信号に変換し、対応する画像受信装置60に供給する。より詳細には、IPコンバータ50は、供給されるIP伝送可能な信号を表示画像信号に変換する。そして、IPコンバータ50は、生成した表示画像信号を、対応する画像受信装置60に供給する。
画像受信装置60は、例えばモニタである。画像受信装置60は、IPコンバータ50から供給される表示画像信号に基づき、医療用画像を表示する。操作端末70は、例えばマウスやキーボードで構成される。操作端末70は、ユーザの操作に応じて、操作信号を制御サーバ80に入力する。制御サーバ80は、制御装置(コンピュータ)である。制御サーバ80は、操作端末70からの操作信号に従い、医療情報制御システム1全体を制御する。
このように映像ネットワーク2000は、イーサネットを基盤とした映像ネットワークとして構築される。イーサネットを基盤とした映像ネットワークは、物理的なスペースを抑制することが可能となる。この際に画像イメージング装置10と画像受信装置60とを直接接続するのではなく、手術室内もしくは病院内の映像ネットワーク2000を経由して接続することが可能である。これにより、内視鏡をはじめ超音波診断装置や生体情報モニタなど手術で利用される様々な映像を任意のモニタで表示したり切り替えたりできる。
ところで、手術室においては様々な画像イメージング装置10が用いられており、所望の画像処理機能を医療イメージング装置が備えていない場合がある。そこで、本実施形態では、信号処理サーバ20が、画像イメージング装置10から出力された医療用画像に対して画像処理を行うことにより、個別の機器やベンダーに依存しない機能を実現する。また、画像イメージング装置10の画像処理に対する操作性も統一化が可能となる。
上述のように、医療情報制御システム1では、画像イメージング装置10から供給される画像に対する画像処理を手技の妨げとならないように、より小さい遅延(レイテンシ)で実行することが求められる。例えば、医療用画像に行われる画像処理では、4K等の高解像度の画像に対して60fps等のフレームレートで画像受信装置60に表示することが求められる。このように、本実施形態では、観察に対する支障が発生しないように、一定時間以内に行われる1フレーム分の信号処理をリアルタイム信号処理と称する。また、これらの性能要件を包括してリアルタイム性と称する。
一方で、リアルタイム信号処理としての画像処理の他に、AIによる画像認識等によって手技のサポートを行う医療アプリケーションの実用化も進められている。これらの処理は、その内容によって処理時間が変動することがある。また、一般的に処理負荷が高いことから、より低フレームレートでの動作となったり、フレームレートに変動が生じたりする場合がある。一方で、認識処理などの信号処理は、必ずしもリアルタイム性が求められない。本実施形態では、画像認識等により、手技に対する付加情報を提供する画像処理などをベストエフォート型信号処理と称する。
手術では、手術用内視鏡から取得した医療画像に輝度補正を行うようなレイテンシが重視されるリアルタイム型信号処理と、画像認識による腫瘍判別のように計算量を多大にかけても結果を重視するベストエフォート型信号処理と、の両方が同時に求められる場合がある。このとき、リアルタイム型信号処理と、ベストエフォート型信号処理とで同時並列的に処理することが求められる。
そこで、本実施形態では、画像イメージング装置10を信号処理サーバ20に接続する。信号処理サーバ20では、低レイテンシ処理が求められるリアルタイム型のアプリケーションと、低レイテンシは強く要求されないが複雑な計算処理が求められるベストエフォート型のアプリケーションとを並行して動作し、リアルタイム性を維持しつつ手技の効率化に役立つ情報を表示する。
ここで、図2に基づき信号処理サーバ20の詳細を説明する。図2は、信号処理サーバ20の構成例を示すブロック図である。信号処理サーバ20は、リアルタイム型信号処理アプリケーション100とベストエフォート型信号処理アプリケーション300とを並行して実行可能なサーバである。
図2に示すように、信号処理サーバ20は、リアルタイム型信号処理アプリケーション100と、仮想共有バッファ200と、ベストエフォート型信号処理アプリケーション300と、仮想共有バッファ400と、制御アプリケーション500とを有する。この、信号処理サーバ20は、所謂仮想コンテナを作成可能なサーバであり、リアルタイム型信号処理アプリケーション100と、ベストエフォート型信号処理アプリケーション300と、制御アプリケーション500とは、それぞれ独立したコンテナとして信号処理サーバ上に配置される。すなわち、これらのアプリケーションを個別のコンテナ上で実行する。このように、リアルタイム型信号処理アプリケーション100と、ベストエフォート型信号処理アプリケーション300と、制御アプリケーション500とをコンテナ化することにより、論理的に両者の計算機リソースを切り離すことが可能となる。より具体的には、コンテナをサポートしている仮想環境の例としてDocker社が開発を行っている”Docker”が挙げられる。
また、一般にこのような仮想コンテナ環境ではアプリケーションが利用するCPUのコア数やメモリの上限、利用できるGPUの台数などを指定することが可能である。これを利用することでリアルタイム型信号処理アプリケーション100に必要なリソースを優先的に割り当て、リアルタイム型信号処理アプリケーション100とベストエフォート型信号処理アプリケーション300の計算機リソースを物理的に切り離すことが可能である。
リアルタイム型信号処理アプリケーション100は、一定時間以内に1フレーム分の信号処理が可能なアプリケーションであり、入力処理100aと、分配処理100bと、複数の信号処理100c、100dと、重畳処理100eと、出力処理100fとを、例えばパイプライン処理により行う。入力処理100aは、IPコンバータ30から供給される信号を入力する。分配処理100bは、入力処理100aにより供給された入力信号を仮想共有バッファ200と、信号処理100cに分配する。複数の信号処理100c、100dは、例えば、ノイズ除去、各種歪み補正、解像感の改善、階調感の改善、色再現や色強調、デジタルズームなどの画像処理を行う。なお、本実施形態では、信号処理として、ノイズ除去、各種歪み補正、解像感の改善、階調感の改善、色再現や色強調、デジタルズームなどの画像処理を行うが、これに限定されない。
重畳処理100eは、複数の信号処理100c、100dを行った画像に仮想共有バッファ400から供給される画像を重畳する。例えば、重畳処理100eは、係数αにより2つの画像を合成する所謂アルファブレンドにより画像を重畳する。出力処理100fは、重畳後の画像をIPコンバータ50に供給する。
仮想共有バッファ200は、リアルタイム型信号処理アプリケーション100とベストエフォート型信号処理アプリケーション300とが共有するバッファであり、リアルタイム型信号処理アプリケーション100が入力画像をバッファに書き込み、ベストエフォート型信号処理アプリケーション300が書き込まれた画像を読み出す。
ベストエフォート型信号処理アプリケーション300は、画像認識等により、手技に対する付加情報を提供する画像処理を行うアプリケーションであり、入力処理300aと、複数の信号処理300b、300cと、出力処理300dとを、例えばパイプライン処理により行う。入力処理300aは、仮想共有バッファ200から画像を読み込み、複数の信号処理300b、300cに供給する。
複数の信号処理300b、300cは、例えばSLAM(Simultaneous Localization and Mapping)または機械学習による物体認識処理である。例えば、複数の信号処理300b、300cは、鉗子の認識処理、出血領域の認識処理などに対応する認識処理であり、鉗子の認識処理、出血領域の認識処理などを画像に施し、例えば領域情報を透明画像に重畳する。出力処理300dは、複数の信号処理300b、300cにより生成された画像を仮想共有バッファ400に書き込む処理を行う。また、複数の信号処理300b、300cで鉗子の認識処理、及び出血領域の認識処理を行っても良いし、或いは、複数の信号処理300b、300cで鉗子の認識処理、及び出血領域の認識処理のうちのいずれかだけを行っても良い。なお、透明画像とは、少なくとも一部の領域が透過性を有する透過領域である画像である。
仮想共有バッファ400は、リアルタイム型信号処理アプリケーション100とベストエフォート型信号処理アプリケーション300とが共有するバッファである。すなわち、ベストエフォート型信号処理アプリケーション300が処理画像をバッファに書き込み、リアルタイム型信号処理アプリケーション100が書き込まれた画像をバッファから読み出す。仮想共有バッファ200及び仮想共有バッファ400の詳細は、後述する。
制御アプリケーション500は、リアルタイム型信号処理アプリケーション100と、仮想共有バッファ200と、ベストエフォート型信号処理アプリケーション300と、仮想共有バッファ400とを制御する。なお、制御アプリケーション500の制御例は後述する。
ここで、図3に基づき、仮想共有バッファ200、及び仮想共有バッファ400の構成及び処理例を説明する。図3は、仮想共有バッファ200の構成及び処理例を示す図である。なお、仮想共有バッファ400も仮想共有バッファ200と同等の構成であるので説明を省略する。
上述のように、リアルタイム型信号処理アプリケーション100の処理速度と、ベストエフォート型のアプリケーション300の処理速度が異なっているため、バッファ処理が必要となる。このため、本実施形態に係る仮想共有バッファ200、及び仮想共有バッファ400は、所謂トリプルバッファリングにより、バッファ処理を行う。図3に示すように、仮想共有バッファ200は、3つの仮想メモリ領域200a、200b、200cを有する。ここでは、書き込み側の方が読み込み側より処理が速いものとする。
図3の左図に示すように、書き込み側が第1仮想メモリ領域200aに書き込みを行っており、読み出し側は第3仮想メモリ領域200cから読み出しを行っている状態である。書き込み側は第1仮想メモリ領域200aへの書き込みが終了した際に、もし第3仮想メモリ領域200cの読み出しが完了していなければ、それを待たずに第2仮想メモリ領域200bへの書き込みを行う。以下同様に第3仮想メモリ領域200cの読み出しが終わるまでは第1仮想メモリ領域200aと第2仮想メモリ領域200bに交互に書き出しを行う。第3仮想メモリ領域200cの読み出しが完了したら、読み出し側は第1仮想メモリ領域200aと第2仮想メモリ領域200bのうち書き込み中でない側の仮想メモリ領域を読み出す。それが仮に第2仮想メモリ領域200bであった場合を図6の右図に示す。読み出し側が第2仮想メモリ領域200bにアクセスしている間、書き込み側は、今度は第1仮想メモリ領域200aと200cとに交互に書き出しを行う。このように、仮想共有バッファ200は、書き込み側と読み込み側が非同期に処理を実行することが可能である。
なお、図3において、仮に読み出し側の処理が書き込み側の処理より速いような状況では、図3左図の状態であり、読み出し側が第3仮想メモリ領域200cへのアクセスを完了したタイミングで、第2仮想メモリ領域200bに書き込まれた情報が第3仮想メモリ領域200cより古いまま残っている可能性がある。このような場合は、読み出し側が第3仮想メモリ領域200cからもう一度読み出しを行うことで時間的に正しい順序でデータを受け渡しすることができる。これらから分かるように、書き込み側は読み出し側の処理速度に影響を受けることなく非同期に処理を行うことができ、読み出し側は常に書き込みが完了した最新のデータを読み出すことができる。
このように、トリプルバッファリングである仮想共有バッファ200、及び仮想共有バッファ400を利用した非同期データの共有により、ベストエフォート型のアプリケーション300の処理速度がリアルタイム型信号処理アプリケーション100の処理速度に影響を及ぼさないようにすることができる。
図4は、比較例1として、仮想共有バッファ200、及び仮想共有バッファ400に、ダブルバッファリングを用いた構成及び処理例を説明する図である。図4に示すように、所謂ダブルバッファリングでは、2つの第1仮想メモリ領域200a、200bを用いて、書き込み側と読み込み側の間でデータを共有する。ダブルバッファリングでは、書き込み側と読み出し側は常に異なるバッファにアクセスする。例えば図4の左図では書き込み側は第1仮想メモリ領域200aにデータを書き込んでいる。その間、読み出し側は第2仮想メモリ領域200bからデータを読み込む。書き込みと読み込みが終了したら、図4の右図のように同じタイミングで読み書きするバッファを相互に切り替える。仮に書き込み中のデータを読み込んだり、読み込み中のデータに書き込んだりすると正しい出力が得られないが、上記のようにダブルバッファリングを利用することでこれを防ぐことができる。ダブルバッファリングの課題として、同じタイミングでバッファの切り替えを行うので、書き込み側と読み出し側の処理速度に差がある場合、速い方は遅い方の処理が終わるまで次の処理を待つ必要があり、性能に影響することが挙げられる。
一方で、リアルタイム型信号処理アプリケーション100は60fpsといった高フレームレートを保って動作させ、ベストエフォート型信号処理アプリケーション300はより遅いフレームレートで動作させることが想定される。すなわち両者が非同期に共有バッファに対して読み書きを行える必要がある。従って仮に共有バッファをダブルバッファリングとして実現した場合、図4の分配処理において、リアルタイム型信号処理アプリケーション100が共有バッファに書き込みを行おうとしても、そのバッファに対してベストエフォート型信号処理アプリケーション300の読み込みが終了しておらず、リアルタイム型信号処理アプリケーション100の処理がブロックされる(待ち状態になる)ということが起こってしまう。これらから分かるように、仮想共有バッファ200、及び仮想共有バッファ400にダブルバッファリングを用いた構成よっては、リアルタイム性が保証できなくなってしまう。これに対して本実施形態に係る医療情報制御システム1では、上述のように、トリプルバッファリングを利用した非同期データの共有により、ベストエフォート型のアプリケーション300の処理速度がリアルタイム型信号処理アプリケーション100の処理速度に影響を及ぼさないようにすることができる。
ここで、図5に基づき、図2に示す重畳処理100eの詳細を説明する。図5は、図2に示す重畳処理100eの例を示す図である。ここでは、ベストエフォート型信号処理アプリケーション300が、医療用画像に対して鉗子認識を施す例を説明する。
入力された入力画像602に対し、ベストエフォート型信号処理アプリケーション300の信号処理300b、300cなどは、例えばDL等の機械学習を用いて鉗子を認識する。そして、信号処理300b、300cは、そのバウンディングボックス(位置と大きさを示す矩形)604a、604b、604cを透明度付き重畳画像604に描画する。
この際、ベストエフォート型信号処理アプリケーション300側では認識のみ行い、その位置とサイズをリアルタイム型信号処理アプリケーション100に渡して、リアルタイム型信号処理アプリケーション100側でバウンディングボックスを描画する方法が考えられる。だがこの方法では、認識した鉗子の数だけ描画が必要であり、必要な処理負荷を見積れない。従って描画の対象が多い場合、リアルタイム性に影響が出る可能性がある。
これに対して、本実施形態では、図5に示すように、ベストエフォート型信号処理アプリケーション300側で透明度付きの重畳画像604のバッファを用意して、そこに必要な描画を行う。そして、ベストエフォート型信号処理アプリケーション300は、仮想共有バッファ400を介して、透明度付きの重畳画像604をリアルタイム型信号処理アプリケーション100に渡す。
リアルタイム型信号処理アプリケーション100では、受け取った透明度付きの重畳画像604を、その透明度の情報をもとに、自らのパイプラインを流れてきた入力画像602の上にアルファブレンディングで重畳した重畳画像602aを生成する。
このようにすることで、リアルタイム型信号処理アプリケーション100はベストエフォート型信号処理アプリケーション300で行っている処理の内容に依存せず、常に全画面についてアルファブレンディングを行えば良いことになる。従ってその処理負荷は一定でかつ容易に見積もることができる。これにより、リアルタイム性を保証することができる。このように、ベストエフォート型信号処理アプリケーション300は、透明度付きの重畳画像604をリアルタイム型信号処理アプリケーション100に渡し、リアルタイム型信号処理アプリケーション100はその重畳処理のみを行うことで、リアルタイム型信号処理アプリケーションの処理負荷の上限を一定に保つことができる。
図6は、図2に示す重畳処理100eの別の例を示す図である。ここでは、ベストエフォート型信号処理アプリケーション300が、医療用画像に対して鉗子認識を施す例を説明する。この場合、全画面に対してアルファブレンディングを行うのではなく、図6に示すように、入力画像602の一部の領域6040に対してピクチャー、イン、ピクチャー(Picture in Picture)でベストエフォート型信号処理アプリケーション300の処理結果を重畳しても良い。ただし、全画面に対してアルファブレンディングを行う方法の方が表現力は高くなる場合がある。
なお、本実施形態では画像の重畳について述べたが、画像データと合わせてメタデータを受け渡しすることで、リアルタイム型信号処理アプリケーション100の実行パラメータを制御するようなことも考えられる。例として、リアルタイム型信号処理アプリケーション100で画像処理としてデジタルズームを行い、そのズーム倍率をベストエフォート型信号処理アプリケーション300の処理結果で制御するというような連携が挙げられる。
ここで、図7及び図8に基づき、本実施形態の処理シーケンスについて述べる。図7は、本実施形態の処理シーケンス例を示す図である。図8は、鉗子認識及び出血箇所の認識の例を示す図である。ベストエフォート型信号処理アプリケーション300の信号処理300b、300cは、鉗子認識に加え、もう一つのベストエフォート型信号処理アプリケーション300の例として、医療用画像に対する出血認識を行う。入力された入力画像602は、例えば医療画像であり、入力画像602に対し、ベストエフォート型信号処理アプリケーション300においてDL等の機械学習を用いて出血箇所を認識し、そのバウンディングボックス(位置と大きさを示す矩形)610a、610bを出力画像602cに描画する。なお、本実施形態では画像を画像データと呼ぶ場合もある。
図7に示すように、まずユーザが操作端末70を介してリアルタイム型信号処理アプリケーションを起動する(ステップS100)。この際、操作端末70は、制御サーバ80を介して信号処理サーバ20の制御アプリケーション500と通信しても良いが、ここでは直接的に信号処理サーバ20と通信する。
続けて、制御アプリケーション500は、リアルタイム型信号処理アプリケーション100を起動する(ステップS102)。リアルタイム型信号処理アプリケーション100は指定された画像イメージング装置10から入力された入力画像602に対して画像処理を行い、画像受信装置60に対して出力する。この時点での出力画像のイメージを図8のG10に示す。これと同時にリアルタイム型信号処理アプリケーション100は仮想共有バッファ200に対して読み書きを開始する(ステップS104)。しかし、共有先のアプリケーションが存在しないため特に結果画像に効果は及ぼさない。
次に、ユーザは操作端末70を介して、制御アプリケーション500に対して、ベストエフォート型信号処理アプリケーション300として、鉗子認識アプリケーションを起動させる(ステップS106)。制御アプリケーション500を介して、鉗子認識アプリケーションが開始されると、当該アプリケーションは仮想共有バッファ200から得られた画像に対して鉗子認識を行い(ステップS108)、その結果を出力側の仮想共有バッファ400に書き出す(ステップS110)。リアルタイム型信号処理アプリケーション100の処理内容には変更がないが、これにより図8のG20に示す出力画像602bが得られる。この時の信号処理の流れは、上述の図5の状態と同等であり、鉗子認識アプリケーションがベストエフォート型信号処理アプリケーション300に相当する。
次に、ユーザは鉗子認識アプリケーションを出血認識アプリケーションに切り替えるものとする。ユーザは、操作端末70を介して、制御アプリケーション500に対して、鉗子認識アプリケーションを終了させる操作を行う(ステップS112)。そして、制御アプリケーション500が鉗子認識アプリケーションを終了させる(ステップS114)。この際に鉗子認識アプリケーションは出力画像が残らないよう、出力側の仮想共有バッファ400をクリアした上で読み書きを終了する(ステップS116)。
次に、ユーザは、操作端末70を介して、制御アプリケーション500に対して、出血認識アプリケーションが起動させる(ステップS118)。制御アプリケーション500を介して、出血認識アプリケーションが開始されると、当該アプリケーションは仮想共有バッファ200から得られた画像に対して出血認識を行い(ステップS120)、その結果を出力側の仮想共有バッファ400に書き出す(ステップS122)。リアルタイム型信号処理アプリケーション100の処理内容には変更がないが、これにより図8のG30に示す出力画像602cが得られる。この時の信号処理の流れは、図5においてベストエフォート型信号処理アプリケーションの内容が鉗子認識アプリから出血認識アプリに差し変わったことと同等になる。
その後、ユーザが出血認識アプリケーションを終了する(ステップS124,ステップS126,ステップS128)と出力画像は図8のG10の状態に戻る。
このようにベストエフォート型信号処理アプリケーション300を起動したり、終了したり、切り替えたりしても、リアルタイム型信号処理アプリケーション100の処理内容や負荷は変わらない。すなわち、同じ分配処理と重畳処理を続けるだけであるので、切替による画乱れやフレームレートの変動は発生せず、リアルタイム型信号処理アプリケーション100のリアルタイム性が保証される。
図9は、比較例2に係る医療情報制御システム1aの構成例を示す図である。図9に示すように、比較例2に係る医療情報制御システム1aは、複数の画像イメージング置10と、送信側の複数のIPコンバータ30と、IPスイッチ40と、受信側の複数のIPコンバータ500と、複数の画像受信装置60とを備える。また、IPコンバータ500は、画像処理を実行する。
図9に示すように、比較例2に係る医療情報制御システム1aは、信号処理を行う信号サーバを有しない。このため、比較例2に係る医療情報制御システム1aでは、画像イメージング装置10のCCUがリアルタイム信号処理及びベストエフォート型信号処理の機能を実行する。これにより、比較例2に係る医療情報制御システム1では、画像イメージング装置10内の機能が肥大化し開発及び品質管理コストの増加につながってしまう。また同じような機能を機器ベンダーごとに提供することにより操作性が統一されず使い勝手が悪くなってしまう。
これに対して、本実施形態に係る医療情報制御システム1は、画像イメージング装置10から信号処理サーバ20に入力される医療用画像は、上述したように、SDIやHDMI(登録商標)といった一般的なフォーマットであるので、個別の機器やベンダーに依存しない機能を実現できる。これにより、機能をベンダー共通にできるので操作性も統一される。また、各画像イメージング装置10に対して信号処理サーバ20により統一的に信号処理を行うことが可能となるので、画像イメージング装置10内の機能が抑制可能となり、開発及び品質管理コストを減少させることができる。
図10は、比較例3に係る医療情報制御システム1bの構成例を示す図である。図9に示すように、比較例3に係る医療情報制御システム1bは、画像イメージング置10 と、送信側のIPコンバータ30と、受信側のIPコンバータ500と、画像受信装置60とを備える。また、IPコンバータ500は、信号処理を実行する。すなわち、IPコンバータ500は、入力処理500aと、複数の信号処理500b、500cと、出力処理500dとを行う。画像イメージング装置10からIPコンバータ500に入力される画像は上述したように、SDIやHDMI(登録商標)といった一般的なフォーマットであるので、個別の機器やベンダーに依存しない機能を実現できる。これにより、機能をベンダー共通にできるので操作性も統一される。
一方、IPコンバータ500は、一般に小型で計算能力に限りがあるため、実現できる画像処理などの信号処理性能や機能に制限がかかってしまう。特に画像の中から特定の物体や状況を検出するような、機械学習を用いた画像認識の場合は一般に処理負荷が高くなる。また、画像の内容に依存して処理負荷が変動し、画像イメージング装置10から出力される医療用画像の表示を行う際のリアルタイム性が損なわれてしまう。これに対して、本実施形態に係る医療情報制御システム1は、信号処理サーバ20により信号処理を行う。この場合、上述のように、トリプルバッファリングにより、ベストエフォート型信号処理アプリケーション300を起動したり、終了したり、切り替えたりしても、リアルタイム型信号処理アプリケーション100の処理内容や負荷は変わらないように構成している。このため、本実施形態に係るリアルタイム型信号処理アプリケーション100では、同じ分配処理と重畳処理を続けるだけであるので、切替による画乱れやフレームレートの変動は発生せず、リアルタイム性を保証することが可能である。
以上説明したように、本実施形態によれば、信号処理サーバ20が、第1のコンテナ仮想領域にインストールされたリアルタイム型信号処理アプリケーション100と、第2のコンテナ仮想領域にインストールされたベストエフォート型信号処理アプリケーション300と、がアクセス可能な複数の仮想共有バッファ200,400と、制御アプリケーション500と、を有する。そして、仮想共有バッファ200,400は、それぞれ第1仮想メモリ領域200aと、第2仮想メモリ領域200bと、第3仮想メモリ領域200cと、を備え、制御アプリケーション500は、リアルタイム型信号処理アプリケーション100及びベストエフォート型信号処理アプリケーション300の書き込みと、読み込みとを第1仮想メモリ領域200aと、第2仮想メモリ領域200bと、第3仮想メモリ領域200cと、を交互に用いるようにリアルタイム型信号処理アプリケーション100及びベストエフォート型信号処理アプリケーション300を制御することとした。これにより、リアルタイム型信号処理アプリケーション100、及びベストエフォート型信号処理アプリケーション300が互いの動作に干渉せずデータを共有することが可能となり、リアルタイム型信号処理アプリケーション100のリアルタイム性が維持される。
また、リアルタイム型信号処理アプリケーション100と、ベストエフォート型信号処理アプリケーション300と、制御アプリケーション500とは、それぞれ独立したコンテナとして信号処理サーバ上のコンテナ仮想環境に配置される。これにより、各アプリケーションをコンテナ化することで、論理的に両者の計算機リソースを切り離すことが可能となる。さらにまた、その優先度に応じて信号処理サーバ20のCPUやGPU等のリソースを優先度に応じて割り当てることで、物理的に各アプリケーションの計算機リソースを切り離すことが可能となる。
(第1実施形態の変形例)
第1実施形態に係る医療情報制御システム1は、信号処理サーバ20が有するリアルタイム型信号処理アプリケーション100が一つであったが、第1実施形態の変形例に係る医療情報制御システム1は、信号処理サーバ20が複数のリアルタイム型信号処理アプリケーション100を備える点で相違する。以下では、第1実施形態に係る医療情報制御システム1と相違する点を説明する。
第1実施形態に係る医療情報制御システム1は、信号処理サーバ20が有するリアルタイム型信号処理アプリケーション100が一つであったが、第1実施形態の変形例に係る医療情報制御システム1は、信号処理サーバ20が複数のリアルタイム型信号処理アプリケーション100を備える点で相違する。以下では、第1実施形態に係る医療情報制御システム1と相違する点を説明する。
図11は、第1実施形態の変形例に係る信号処理サーバ20の構成例を示すブロック図である。図11に示すように、信号処理サーバ20は、複数のリアルタイム型信号処理アプリケーション100を備える。このような構成にすることで、信号処理サーバが複数の画像受信装置60に対してリアルタイム型信号処理アプリケーション100を提供できる。
なお、ベストエフォート型信号処理アプリケーション300を複数組み合わせた構成や、3つ以上のアプリケーションを組み合わせた構成をとることも可能である。例えば、信号処理サーバ20は、複数のリアルタイム型信号処理アプリケーション100と、複数のベストエフォート型信号処理アプリケーション300を備えることが可能である。このように、種々の要件に応じて、信号処理サーバ20を構成することが可能である。
(第2実施形態)
第2実施形態に係る医療情報制御システム1は、ベストエフォート型信号処理アプリケーション300による遅延時間を考慮した重畳処理も可能である点で第1実施形態に係る医療情報制御システム1と相違する。以下では、第1実施形態に係る医療情報制御システム1と相違する点を説明する。
第2実施形態に係る医療情報制御システム1は、ベストエフォート型信号処理アプリケーション300による遅延時間を考慮した重畳処理も可能である点で第1実施形態に係る医療情報制御システム1と相違する。以下では、第1実施形態に係る医療情報制御システム1と相違する点を説明する。
図12は、第2実施形態に係る信号処理サーバ20の構成例を示すブロック図である。図12に示すように、仮想共有バッファ200に分配される入力画像602は、タイムスタンプもしくは連番のIDを付加するメタデータ領域6020と、差分値領域6022とを有する。同様に、出力画像604は、タイムスタンプもしくは連番のIDを付加するメタデータ領域6040aを有する。
上述したように、ベストエフォート型信号処理アプリケーション300は、リアルタイム型信号処理アプリケーション100と比較して、低フレームレートであったり、処理時間が変動したりする場合が多い。その際に、リアルタイム型信号処理アプリケーション100の出力に対して、それに重畳するベストエフォート型信号処理アプリケーション300の出力(重畳画像)はより時間的に遅れる。この遅れの度合いによってはユーザの操作性に影響を与えてしまう。
これに対して、本実施形態に係るベストエフォート型信号処理アプリケーション300においては、上記の遅れを加味して時間の補正をかける処理を行う。例えば、本実施形態では、遅延している時間に対する将来の値を予測して出力する処理を行う。また遅延が一定以上であれば、遅延している旨をアラート表示するといった処理も行うことが可能である。
以下では、より具体的に説明する。図12中では、タイムスタンプの受け渡し処理における時系列の時間経過をA→B→C→D→E→F→Gの順で示す。
Aでは、アルタイム信号処理アプリケーション100は、画像イメージング装置10から入力画像602を入力したら、その入力画像602のメタデータ領域6020にメタデータとしてタイムスタンプ(現在時刻)を付与する。その上で、入力画像602を仮想共有バッファ200に書き込む。また、当入力画像602を自らのパイプラインに流す。例えば、信号処理A→信号処理B→…とタイムスタンプが付与された画像データを受け渡す処理を行う。
次に、Bでは、ベストエフォート型信号処理アプリケーション300は、仮想共有バッファ200を介してタイムスタンプが付与された入力画像602を読み出し、自らのパイプラインに流す(信号処理C→信号処理D→…とタイムスタンプが付与された画像データを受け渡していく)。
次に、Cでは、ベストエフォート型信号処理アプリケーション300は仮想共有バッファ400へ出力を行う際、パイプラインを流れてきた入力画像602に付与されているタイムスタンプの値を、それに対応する出力画像(重畳画像)データ604のメタデータ領域6040aにメタデータとして付与し、仮想共有バッファ400に書き出す。
次に、Dでは、リアルタイム型信号処理アプリケーション100は、仮想共有バッファ400からタイムスタンプが付与された重畳画像データ6040aを読み出す。これを自らのパイプラインを流れてきた入力画像602に付与されているタイムスタンプと比較する。上述したように仮想共有バッファ200,400の読み書きは非同期で行われるため、前者は後者よりも過去の値になっていると考えられる。リアルタイム型信号処理アプリケーション100はこの差分値を計算する。
次に、Eでは、リアルタイム型信号処理アプリケーション100はAにおけるタイムスタンプに加えて、Dで計算した差分値もメタデータとして入力画像602の差分値領域6022に付与して仮想共有バッファ200に出力する。
次に、Fでは、ベストエフォート型信号処理アプリケーション300は仮想共有バッファ200を介して読み出した入力画像602に付与されている差分値を読み出して、Bと同様に自らのパイプラインに流す。
次に、Gでは、ベストエフォート型信号処理アプリケーション300は、入力画像602に付与されている差分値を遅延と見なして、信号処理の際にその分の時間補正を行う(差分の分だけ将来の値を予測して信号処理を行う)。もしくは仮想共有バッファ400への出力の際に遅延している旨のアラートを重畳画像に描画する。
次に、Gの結果画像がリアルタイム型信号処理アプリケーション100において重畳処理され、IPコンバータ50を介して画像受信装置60に出力される。なお、本実施例ではタイムスタンプを用いる前提とするが、連番IDでも考え方は変わらない。
以上説明したように、本実施形態に係る医療情報制御システム1は、ベストエフォート型信号処理アプリケーション300のリアルタイム型信号処理アプリケーション100に対する遅延時間を測定し、遅延時間に対応する時間補正を行うこととした。これにより、ベストエフォート型信号処理アプリケーション300のリアルタイム型信号処理アプリケーション100に対する遅延時間による位置ずれを、出力画像606において抑制可能となる。
(第3実施形態)
第3実施形態に係る医療情報制御システム1は、リアルタイム型信号処理アプリケーション100の処理変更を考慮した重畳処理も可能である点で第2実施形態に係る医療情報制御システム1と相違する。以下では、第3実施形態に係る医療情報制御システム1と相違する点を説明する。
第3実施形態に係る医療情報制御システム1は、リアルタイム型信号処理アプリケーション100の処理変更を考慮した重畳処理も可能である点で第2実施形態に係る医療情報制御システム1と相違する。以下では、第3実施形態に係る医療情報制御システム1と相違する点を説明する。
図13は、第3実施形態に係る信号処理サーバ20の構成例を示すブロック図である。図13に示すように、仮想共有バッファ200に分配される入力画像602は、タイムスタンプ以外のメタデータを付与することも可能であるメタデータ領域6024を更に有する。本実施系形態に係る画像送出装置10は、画像イメージング置に対応する。
ここでは、リアルタイム型信号処理アプリケーション100の信号処理100gで画像のズームを行って、ベストエフォート型信号処理アプリケーションで鉗子認識アプリケーションを動かす場合を説明する。
まず、リアルタイム型信号処理アプリケーション100の信号処理100gは、画像602ズーム処理を行い、ズーム画像6028を生成する。
次に、リアルタイム型信号処理アプリケーション100の信号処理100gのズーム倍率を、リアルタイム型信号処理アプリケーション100は、入力画像602のメタデータ領域6024に付与する。ベストエフォート型信号処理アプリケーション300のバウンディングボックス描画を行う信号処理200gは、バウンディングボックスを描画する際にメタデータ領域6024に付与された倍率を反映する。さらに、バウンディングボックスは、最終的にズーム画像と重ね合わせたときに、信号処理300a(入力)、300b(鉗子認識)、300g(バウンディングボックス生成)、出力300dによって生成されたバッファに格納された内容が、ズーム画像に表示されている内容と一致するように、対応する1.5倍のズーム率で描画されるようになっている。
このように、リアルタイム型信号処理アプリケーション100からベストエフォート型信号処理アプリケーション300に対して仮想共有バッファ200のメタデータとして常に倍率を渡すようにする。これにより、ベストエフォート型信号処理アプリケーション300が鉗子のバウンディングボックスを描画する際にその倍率を反映することが可能となる。このため、リアルタイム型信号処理アプリケーション100のズーム処理に鉗子認識結果の描画を合わせることができると共に、滑らかなアニメーションで連続的に倍率を変えてズームする場合でも追従することが可能となる。出力画像6060は、画像受信装置60に提供され、重畳データ6042のコンテンツが、ズーム画像6028に重ねて表示される。重畳データ6042のコンテンツは、ベストエフォートで作成されるため、リアルタイムで更新されない場合がある。重畳データ6042のコンテンツは、透過領域を有するために出力画像6060において基礎となるズーム画像6028を完全に覆い隠していない。したがって、手術スタッフは、ズーム画像6028に重畳されたコンテンツによって手術部位の一部が覆い隠されていることに不満を感じずに手術を行うことができる。
(第4実施形態)
第4実施形態に係る医療情報制御システム1は、仮想共有バッファの構成やGPU構成において他実施形態に係る医療情報制御システム1と相違する。以下では、第4実施形態に係る医療情報制御システム1と相違する点を説明する。
第4実施形態に係る医療情報制御システム1は、仮想共有バッファの構成やGPU構成において他実施形態に係る医療情報制御システム1と相違する。以下では、第4実施形態に係る医療情報制御システム1と相違する点を説明する。
図14は、第4実施形態に係る信号処理サーバ(Serverに対応)20の構成例を示すブロック図である。図14は、信号処理サーバが2つのGPU(Graphics Processing Unit)であるGPU1441(GPU#1)と、GPU1442(GPU#2)とを含むこと以外は、図13に示す構成と同様のブロック図である。さらに、GPU#2は、複数のベストエフォート型信号処理アプリケーションを実行し、それぞれが独自の共有バッファ1405および1407を有するとともに、図16にてより詳細に説明する共有バッファ1403を有している。なお、共有バッファはShared Bufferに、ベストエフォート型信号処理アプリケーションはBest-effort applicationに、画像送出装置はMedical imaging deviceに、IPコンバータはIP converterに、リアルタイム型信号処理アプリケーションはReal-time applicationに、入力処理はInput Processingに、分配処理はDistribution Processingに、信号処理はSignal Processingに、重畳処理はSuperpositionに、出力処理はOutputに、画像受信装置はDisplayに対応する。
図14に示す構成では、GPU#1は、リアルタイム型信号処理アプリケーションを実行している。これは画像送出装置からの画像を各フレームで受信したときに処理し、一定の時間枠(術者が一般的に知覚できない小さな処理遅延)内でフレームが入力されるのと実質的に同じレートでフレームを出力することを意味する。 例となる入力フレーム1410は、信号処理A、信号処理Bとして示される複数の信号処理プロセスによって処理される例として示されているが、GPU#1上では、より多くのプロセスがリアルタイムで実行されてもよい。第3の実施形態のズームアプリケーションは、医療画像に適用され得る信号処理プロセスの1つのタイプに関する例に過ぎず、他のアプリケーションが適用されてもよい。
共有バッファ1405からの出力は、GPU#2で実行される信号処理Cと信号処理Dを含むベストエフォート型信号処理アプリケーション#2によって生成されるオーバーレイコンテンツ1430を提供する。この例では、オーバーレイコンテンツ1430は、医療機器/ツール検出を行うバウンディングボックス1431、1432、1433である。 なお、必ずしもリアルタイムで生成されるわけではないが、医療機器/ツール検出バウンディングボックス1431、1432、1433は、出力画像1450に示されるように、手術画像に存在する医療機器を識別する。同様に、共有バッファ1403を介して入力画像に信号処理C、及び信号処理Dを適用することにより、GPU#2においてベストエフォート型信号処理アプリケーション#1が実行される。この例では、ベストエフォート型信号処理アプリケーション#1は、手術シーンの組織が活発な出血を示す領域を検出する。このとき、2つのバウンディングボックス1421及び1422は、ベストエフォート型信号処理アプリケーション#1によって提供されるオーバーレイコンテンツ1420の一部であり、出力画像1450において出血部位を識別するように、重畳処理により最終的に画像1410上にオーバーレイされる。 出力画像1450は、GPU#1上で実行されたリアルタイム型信号処理アプリケーションによって提供されたリアルタイム画像内の画像特徴を識別するために、GPU#2上で実行されたベストエフォート型信号処理アプリケーションによって生成されたオーバーレイ用のバウンディングボックス(それぞれ不透明でもよいが、透過度を有する)を含む。
図14では、共有バッファ1403が、GPU#1にホストされるのではなく、GPU#2にホストされるものとして示されている。共有バッファ1403をGPU#1にホストすることは可能であるが、本発明者は、そのような構成では、GPU間で2倍のデータを転送する必要があり、既にリアルタイム処理を行う役割を担っているGPU#1に負荷がかかることを見出した。これに対し、GPU#2に共有バッファをホストすることで、GPU内バス1501(図15)を介して伝達する必要のあるデータは半分で済むようになる。 なお、GPU#2は2つのベストエフォート型信号処理アプリケーションを実行する例を示しているが、GPU#2はより多くのベストエフォート型信号処理アプリケーションを実行することも可能である。GPU#2でN個のアプリケーションが実行されたとしても、共有バッファ1403がGPU#2でホストされている限り、データバスの使用量や、GPU#1のプロセッサ間通信の負荷がそれ以上拡大することはなく、GPU#2でより多くのベストエフォート型信号処理アプリケーションをサポートするためのスケーラビリティを可能とする構成となっている。
図16は、第4実施形態に係る共有バッファの構成及び処理例を示すブロック図である。共有バッファ1403の構造は、4つの内部デュアルポート共有バッファ(Buffer1、Buffer2、Buffer3、Buffer4)を有するものとして示されているが、この構造は単なる例示である。より一般的には、共有バッファ1403は、N+2バッファであり、ここで、Nは、共有バッファ1403によって供給される「コンシューマ・プロセス (Consumer Process)」(または、実行されるベストエフォート型信号処理アプリケーション)の数である。 なお、N+2以上の内部バッファが使用されてもよいが、2以上の追加バッファでは、内部バッファの少なくとも1つが、入力(GPU#1にホストされた分配処理を介して提供される画像送出装置からの画像入力などのプロデューサ・プロセス(Producer Process))またはコンシューマ・プロセスのいずれによっても使用されないことが好ましい。2つ(あるいはそれ以上)の追加バッファを必要とする理由は、図16に関して後述する。
入力側が特定の共有バッファにデータを格納している最中は(例えば、データD1を共有バッファ1に格納する)、バッファ1のデータは安定しておらず、完了していないので取り出すことができない。しかし、データD1がバッファ1に完全に書き込まれると、コンシューマ・プロセス1および2(CP1およびCP2)はそれを取り出すことができる。なお、プロデューサ・プロセスがデータD1をバッファ1に書き込み終えると、共有バッファ1403は、コントローラモニタ、フラグ設定などの任意の方法によって、バッファ1が安定していることを示すことができる。
データD1がバッファ1に格納されると、プロデューサ・プロセスは、バッファ2(またはN+1の別のバッファ)にデータD2の書き込みを開始する。 その後、バッファ1はCP1およびCP2からアクセスできるようになる。データD2がバッファ2に書き込まれると、CP1およびCP2がアクセスできるようになる。しかし、CP1の方がCP2よりもスループットが速いため、CP1がバッファ2にアクセスを開始した後に、CP2がバッファ2にアクセスすることがある。このように、CP1とCP2はアクセスが同期していない可能性があるため、N個のベストエフォート型信号処理アプリケーションは、任意の時間にN個のバッファにアクセスすることになる。しかし、プロデューサ・プロセスは、これらのN個のバッファのいずれかに同時にデータを保存することはできない。そのため、追加のバッファをアクティブにしてそこにデータを保存し、合計でN+1個のバッファを作ることになる。しかし、プロデューサ・プロセスは、1つの内部バッファへのデータの保存を終えようとすると、次に利用可能なバッファを知る必要があり、そのバッファに入ってくるデータをすぐに満たして、オーバーロードの状況が発生しないようにする必要がある。さらに、プロデューサ・プロセスは、自分が満たしている現在のバッファに加えて、次に利用可能なバッファを知る必要がある。したがって、入力側(すなわち、プロデューサー・プロセス)は、独立して動作する(CP1またはCP2との調整を必要としない)2つのバッファを必要とする。すなわち、独立した非同期の入力および出力動作をサポートするためにプロデューサ・プロセスが共有バッファ1403にデータを書き込むのをサポートするための2個の追加の内部バッファが必要となり、N個のベストエフォートアプリケーション用のN+2個のバッファが必要となる。このとき、CP2およびCP2は、すべての入力データを必要としない可能性があるアプリケーションであってもよい。 例えば、CP2は、プロセッサを多用するプロセスであり、すべての画像データを解析する必要がない場合がある。この場合、CP2は、CP1よりもはるかに遅い速度で内部バッファのデータにアクセスしてもよく、そのようなCP2は、バッファ1403の2番目/3番目/4番目...のデータエントリごとにしか読まなくてもよい。
また、CP1および/またはCP2は、特にCP1とCP2が同じ速度または同じタイミングで読み取りを開始した場合、待機モードで動作してもよい。 言い換えれば、CP1がCP2と同じデータを処理することが望ましいが、CP2はCP1よりも遅くデータを読み取るとする。この場合、CP1を待機モードにして、CP2が前のバッファの読み出しを終えるのを待ってから、CP1がCP2と一緒に次のバッファを読み出すことができる。また、次のバッファへの書き込みが完了していない場合も、CP1を待機モードにすることができる。CP1が待機モードで動作する利点は、CP1がCP2よりも低いレイテンシ要件を持つ場合があるため、レイテンシ(入力から出力までの遅延時間)が最も短いコンシューマ・プロセスを待機モードに設定可能となる点である。
共有バッファは、N+2以上のバッファを持つことができ、N+2を超える追加のバッファは、追加のプロセス(例えばCP3)がオンラインになった場合に備えて予備として保持してもよい。例えば、CP3がオンラインになるまで、プロデューサ・プロセスは、5番目の内部バッファに書き込まない(5 = N (now 3) +2)。 同様に、CPがオフラインになった場合は、内部バッファがオフラインになり、予備として保持される。
なお、本技術は以下のような構成をとることができる。
(1) 手術室の医療機器にネットワークを介して接続され、コンテナ仮想環境が構築された手術サーバと、
を備え、
前記手術サーバは、
第1のコンテナ仮想領域にインストールされた、前記医療機器から出力された情報に基づいて第1の処理を行って第1の医療情報を生成する第1の医療アプリケーションと、第2のコンテナ仮想領域にインストールされた、前記第1の処理とは異なる処理量の第2の処理を行って第2の医療情報を生成する第2の医療アプリケーションと、がアクセス可能な複数の仮想共有バッファと、
制御アプリケーションと、を有し、
前記複数の仮想共有バッファは、それぞれ第1仮想メモリ領域と、第2仮想メモリ領域と、第3仮想メモリ領域と、を備え、
前記制御アプリケーションは、前記第1の医療アプリケーションの書き込みと前記第2の医療アプリケーションの読み込みとを前記第1仮想メモリ領域と、前記第2仮想メモリ領域と、前記第3仮想メモリ領域と、を交互に用いるように前記第1の医療アプリケーションまたは前記第2の医療アプリケーションを制御する
、医療情報制御システム。
(2) 前記第2の医療アプリケーションは、前記第1の医療アプリケーションよりも処理量が大きい、
(1)に記載の医療情報制御システム。
(3) 前記第2の医療アプリケーションは、処理対象となる入力画像の内容によって処理量が変動する信号処理である、(1)に記載の医療情報制御システム。
(4) 前記第1の医療アプリケーションは、前記複数の仮想共有バッファのうちの入力側の仮想共有バッファを介して入力画像を前記第2の医療アプリケーションに供給し、
前記第2の医療アプリケーションは、前記入力画像に基づき、前記第2の医療情報を生成し、前記複数の仮想共有バッファのうちの出力側の仮想共有バッファを介して、前記第2の医療アプリケーションに供給する、(3)に記載の医療情報制御システム。
(5) 前記第2の医療アプリケーションは、時系列に供給される入力画像に基づき、第1の医療情報を時系列に生成すると共に、前記出力側の仮想共有バッファを介して供給される前記第2の医療情報に基づく情報を付与して出力する、(4)に記載の医療情報制御システム。
(6) 前記第2の医療アプリケーションは、処理時間に応じた予測処理により前記第2の医療情報を生成する、(4)又は(5)に記載の医療情報制御システム。
(7) 前記入力画像に関連づけられた処理の開始時刻と処理の終了時刻とに基づき、前記第2の医療アプリケーションの遅延時間を計測し、
前記第2の医療アプリケーションは、前記遅延時間に基づき、前記予測処理を行う、(6)に記載の医療情報制御システム。
(8) 前記第2の医療アプリケーションは、前記入力画像に対する信号処理により生成された位置情報を示す情報を透明度付きの画像上に生成し、前記第2の医療アプリケーションは、前記出力側の仮想共有バッファを介して供給された前記透明度付きの画像と前記入力画像に基づく画像とを前記透明度を用いて重畳する、(4)乃至(7)のいずれかに記載の医療情報制御システム。
(9) 前記入力画像に対する信号処理は、鉗子、及び出血部の少なくとも一方の認識処理である、(8)に記載の医療情報制御システム。
(10) 前記第1の医療アプリケーションは、前記第1の医療アプリケーションにおける信号処理の変更に関する情報を前記入力画像に関連づけて前記第2の医療アプリケーションに供給し、前記第2の医療アプリケーションは、前記信号処理の変更に関する情報に基づき、信号処理を変更する、(4)乃至(9)のいずれかに記載の医療情報制御システム。
(11) 医療イメージング装置と、
前記医療イメージング装置で撮像された医療用画像を所定の画像形式に変更する入力側のIPコンバータと、
前記所定の画像形式の医療用画像、及び前記手術サーバから供給される処理済み画像の供給先を切り換えるIPスイッチであって、前記所定の画像形式の医療用画像を前記手術サーバに供給可能なIPスイッチと、
前記IPスイッチから供給される画像を所定の画像形式に変更する出力側のIPコンバータと、
前記出力側のIPコンバータから供給される画像を表示する画像受信装置と、
を更に備える、(1)乃至(10)のいずれかに記載の医療情報制御システム。
(12) 前記のIPコンバータ、前記IPスイッチ及び前記手術サーバの少なくとも1つは、他の装置から取得した制御コマンドに基づいて処理を実行する、(11)に記載の医療情報制御システム。
(13) 手術室の医療機器にネットワークを介して接続され、コンテナ仮想環境が構築された手術用の信号処理装置であって、
第1のコンテナ仮想領域にインストールされた、前記医療機器から出力された情報に基づいて第1の処理を行って第1の医療情報を生成する第1の医療アプリケーションと、第2のコンテナ仮想領域にインストールされた、前記第1の処理とは異なる処理量の第2の処理を行って第2の医療情報を生成する第2の医療アプリケーションと、がアクセス可能な複数の仮想共有バッファと、
制御アプリケーションと、を有し、
前記複数の仮想共有バッファは、それぞれ第1仮想メモリ領域と、第2仮想メモリ領域と、第3仮想メモリ領域と、を備え、
前記制御アプリケーションは、前記第1の医療アプリケーションの書き込みと前記第2の医療アプリケーションの読み込みとを前記第1仮想メモリ領域と、前記第2仮想メモリ領域と、前記第3仮想メモリ領域と、を交互に用いるように前記第1の医療アプリケーションまたは前記第2の医療アプリケーションを制御する
、信号処理装置。
(14) 手術室の医療機器にネットワークを介して接続され、コンテナ仮想環境が構築され、
第1のコンテナ仮想領域にインストールされた、前記医療機器から出力された情報に基づいて第1の処理を行って第1の医療情報を生成する第1の医療アプリケーションと、第2のコンテナ仮想領域にインストールされた、前記第1の処理とは異なる処理量の第2の処理を行って第2の医療情報を生成する第2の医療アプリケーションと、がアクセス可能な複数の仮想共有バッファと、
制御アプリケーションと、を有し、
前記複数の仮想共有バッファは、それぞれ第1仮想メモリ領域と、第2仮想メモリ領域と、第3仮想メモリ領域と、を備える信号処理装置の医療情報制御方法であって、
前記制御アプリケーションは、前記第1の医療アプリケーションの書き込みと前記第2の医療アプリケーションの読み込みとを前記第1仮想メモリ領域と、前記第2仮想メモリ領域と、前記第3仮想メモリ領域と、を交互に用いるように前記第1の医療アプリケーションまたは前記第2の医療アプリケーションを制御する、医療情報制御方法。
本開示の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本開示の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容およびその均等物から導き出される本開示の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。
(1) 手術室の医療機器にネットワークを介して接続され、コンテナ仮想環境が構築された手術サーバと、
を備え、
前記手術サーバは、
第1のコンテナ仮想領域にインストールされた、前記医療機器から出力された情報に基づいて第1の処理を行って第1の医療情報を生成する第1の医療アプリケーションと、第2のコンテナ仮想領域にインストールされた、前記第1の処理とは異なる処理量の第2の処理を行って第2の医療情報を生成する第2の医療アプリケーションと、がアクセス可能な複数の仮想共有バッファと、
制御アプリケーションと、を有し、
前記複数の仮想共有バッファは、それぞれ第1仮想メモリ領域と、第2仮想メモリ領域と、第3仮想メモリ領域と、を備え、
前記制御アプリケーションは、前記第1の医療アプリケーションの書き込みと前記第2の医療アプリケーションの読み込みとを前記第1仮想メモリ領域と、前記第2仮想メモリ領域と、前記第3仮想メモリ領域と、を交互に用いるように前記第1の医療アプリケーションまたは前記第2の医療アプリケーションを制御する
、医療情報制御システム。
(2) 前記第2の医療アプリケーションは、前記第1の医療アプリケーションよりも処理量が大きい、
(1)に記載の医療情報制御システム。
(3) 前記第2の医療アプリケーションは、処理対象となる入力画像の内容によって処理量が変動する信号処理である、(1)に記載の医療情報制御システム。
(4) 前記第1の医療アプリケーションは、前記複数の仮想共有バッファのうちの入力側の仮想共有バッファを介して入力画像を前記第2の医療アプリケーションに供給し、
前記第2の医療アプリケーションは、前記入力画像に基づき、前記第2の医療情報を生成し、前記複数の仮想共有バッファのうちの出力側の仮想共有バッファを介して、前記第2の医療アプリケーションに供給する、(3)に記載の医療情報制御システム。
(5) 前記第2の医療アプリケーションは、時系列に供給される入力画像に基づき、第1の医療情報を時系列に生成すると共に、前記出力側の仮想共有バッファを介して供給される前記第2の医療情報に基づく情報を付与して出力する、(4)に記載の医療情報制御システム。
(6) 前記第2の医療アプリケーションは、処理時間に応じた予測処理により前記第2の医療情報を生成する、(4)又は(5)に記載の医療情報制御システム。
(7) 前記入力画像に関連づけられた処理の開始時刻と処理の終了時刻とに基づき、前記第2の医療アプリケーションの遅延時間を計測し、
前記第2の医療アプリケーションは、前記遅延時間に基づき、前記予測処理を行う、(6)に記載の医療情報制御システム。
(8) 前記第2の医療アプリケーションは、前記入力画像に対する信号処理により生成された位置情報を示す情報を透明度付きの画像上に生成し、前記第2の医療アプリケーションは、前記出力側の仮想共有バッファを介して供給された前記透明度付きの画像と前記入力画像に基づく画像とを前記透明度を用いて重畳する、(4)乃至(7)のいずれかに記載の医療情報制御システム。
(9) 前記入力画像に対する信号処理は、鉗子、及び出血部の少なくとも一方の認識処理である、(8)に記載の医療情報制御システム。
(10) 前記第1の医療アプリケーションは、前記第1の医療アプリケーションにおける信号処理の変更に関する情報を前記入力画像に関連づけて前記第2の医療アプリケーションに供給し、前記第2の医療アプリケーションは、前記信号処理の変更に関する情報に基づき、信号処理を変更する、(4)乃至(9)のいずれかに記載の医療情報制御システム。
(11) 医療イメージング装置と、
前記医療イメージング装置で撮像された医療用画像を所定の画像形式に変更する入力側のIPコンバータと、
前記所定の画像形式の医療用画像、及び前記手術サーバから供給される処理済み画像の供給先を切り換えるIPスイッチであって、前記所定の画像形式の医療用画像を前記手術サーバに供給可能なIPスイッチと、
前記IPスイッチから供給される画像を所定の画像形式に変更する出力側のIPコンバータと、
前記出力側のIPコンバータから供給される画像を表示する画像受信装置と、
を更に備える、(1)乃至(10)のいずれかに記載の医療情報制御システム。
(12) 前記のIPコンバータ、前記IPスイッチ及び前記手術サーバの少なくとも1つは、他の装置から取得した制御コマンドに基づいて処理を実行する、(11)に記載の医療情報制御システム。
(13) 手術室の医療機器にネットワークを介して接続され、コンテナ仮想環境が構築された手術用の信号処理装置であって、
第1のコンテナ仮想領域にインストールされた、前記医療機器から出力された情報に基づいて第1の処理を行って第1の医療情報を生成する第1の医療アプリケーションと、第2のコンテナ仮想領域にインストールされた、前記第1の処理とは異なる処理量の第2の処理を行って第2の医療情報を生成する第2の医療アプリケーションと、がアクセス可能な複数の仮想共有バッファと、
制御アプリケーションと、を有し、
前記複数の仮想共有バッファは、それぞれ第1仮想メモリ領域と、第2仮想メモリ領域と、第3仮想メモリ領域と、を備え、
前記制御アプリケーションは、前記第1の医療アプリケーションの書き込みと前記第2の医療アプリケーションの読み込みとを前記第1仮想メモリ領域と、前記第2仮想メモリ領域と、前記第3仮想メモリ領域と、を交互に用いるように前記第1の医療アプリケーションまたは前記第2の医療アプリケーションを制御する
、信号処理装置。
(14) 手術室の医療機器にネットワークを介して接続され、コンテナ仮想環境が構築され、
第1のコンテナ仮想領域にインストールされた、前記医療機器から出力された情報に基づいて第1の処理を行って第1の医療情報を生成する第1の医療アプリケーションと、第2のコンテナ仮想領域にインストールされた、前記第1の処理とは異なる処理量の第2の処理を行って第2の医療情報を生成する第2の医療アプリケーションと、がアクセス可能な複数の仮想共有バッファと、
制御アプリケーションと、を有し、
前記複数の仮想共有バッファは、それぞれ第1仮想メモリ領域と、第2仮想メモリ領域と、第3仮想メモリ領域と、を備える信号処理装置の医療情報制御方法であって、
前記制御アプリケーションは、前記第1の医療アプリケーションの書き込みと前記第2の医療アプリケーションの読み込みとを前記第1仮想メモリ領域と、前記第2仮想メモリ領域と、前記第3仮想メモリ領域と、を交互に用いるように前記第1の医療アプリケーションまたは前記第2の医療アプリケーションを制御する、医療情報制御方法。
本開示の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本開示の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容およびその均等物から導き出される本開示の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。
1:医療情報制御システム、10:医療イメージング装置、20:信号処理サーバ、30:IPコンバータ、40:IPスイッチ、50:IPコンバータ50:リアルタイム型信号処理アプリケーション、200:仮想共有バッファ、300:ベストエフォート型信号処理アプリケーション、400:仮想共有バッファ、500:制御アプリケーション。
Claims (19)
- 手術室に設置された医療機器とネットワークを介して接続された手術サーバと、
を備え、
前記手術サーバは、
医療機器で生成された医療画像を取得し、
コンテナ仮想領域にインストールされユーザが選択可能なリアルタイム型信号処理アプリケーションおよびベストエフォート型信号処理アプリケーションを実行し、
前記リアルタイム型信号処理アプリケーションによって処理された医療画像に前記ベストエフォート型信号処理アプリケーションの処理結果を重ね合わせる、
医療情報制御システム。 - 前記手術サーバは、
第1のコンテナ仮想領域にインストールされた、前記医療機器から出力された情報に基づいて第1の処理を行って第1の医療情報を生成するリアルタイム型信号処理アプリケーションと、第2のコンテナ仮想領域にインストールされた、前記第1の処理とは異なる処理量の第2の処理を行って第2の医療情報を生成するベストエフォート型信号処理アプリケーションと、がアクセス可能な複数の仮想共有バッファと、
制御アプリケーションと、を有し、
前記複数の仮想共有バッファは、それぞれ第1仮想メモリ領域と、第2仮想メモリ領域と、第3仮想メモリ領域と、を備え、
前記制御アプリケーションは、前記リアルタイム型信号処理アプリケーションの書き込みと前記ベストエフォート型信号処理アプリケーションの読み込みとを前記第1仮想メモリ領域と、前記第2仮想メモリ領域と、前記第3仮想メモリ領域と、を交互に用いるように前記リアルタイム型信号処理アプリケーションまたは前記ベストエフォート型信号処理アプリケーションを制御する
、請求項1に記載の医療情報制御システム。 - 前記ベストエフォート型信号処理アプリケーションは、前記リアルタイム型信号処理アプリケーションよりも処理量が大きい請求項1に記載の医療情報制御システム。
- 前記ベストエフォート型信号処理アプリケーションは、処理対象となる入力画像の内容によって処理量が変動する信号処理である、請求項1に記載の医療情報制御システム。
- 前記リアルタイム型信号処理は、前記複数の仮想共有バッファのうちの入力側の仮想共有バッファを介して入力画像を前記ベストエフォート型信号処理アプリケーションに供給し、
前記ベストエフォート型信号処理アプリケーションは、前記入力画像に基づき、前記第2の医療情報を生成し、前記複数の仮想共有バッファのうちの出力側の仮想共有バッファを介して、前記リアルタイム型信号処理アプリケーションに供給する、請求項4に記載の医療情報制御システム。 - 前記リアルタイム型信号処理アプリケーションは、時系列に供給される入力画像に基づき、第1の医療情報を時系列に生成すると共に、前記出力側の仮想共有バッファを介して供給される前記第2の医療情報に基づく情報を付与して出力する、請求項1に記載の医療情報制御システム。
- 前記ベストエフォート型信号処理アプリケーションは、処理時間に応じた予測処理により前記第2の医療情報を生成する、請求項1に記載の医療情報制御システム。
- 前記入力画像に関連づけられた処理の開始時刻と処理の終了時刻とに基づき、前記ベストエフォート型信号処理アプリケーションの遅延時間を計測し、
前記ベストエフォート型信号処理アプリケーションは、前記遅延時間に基づき、前記予測処理を行う、請求項7に記載の医療情報制御システム。 - 前記ベストエフォート型信号処理アプリケーションは、前記入力画像に対する信号処理により生成された位置情報を示す情報を透明度付きの画像上に生成し、前記リアルタイム型信号処理アプリケーションは、前記出力側の仮想共有バッファを介して供給された前記透明度付きの画像と前記入力画像に基づく画像とを前記透明度を用いて重畳する、請求項1に記載の医療情報制御システム。
- 前記入力画像に対する信号処理は、鉗子、及び出血部の少なくとも一方の認識処理である、請求項9に記載の医療情報制御システム。
- 前記リアルタイム型信号処理アプリケーションは、前記リアルタイム型信号処理アプリケーションにおける信号処理の変更に関する情報を前記入力画像に関連づけて前記ベストエフォート型信号処理アプリケーションに供給し、前記ベストエフォート型信号処理アプリケーションは、前記信号処理の変更に関する情報に基づき、信号処理を変更する、請求項5に記載の医療情報制御システム。
- 医療イメージング装置と、
前記医療イメージング装置で撮像された医療用画像を所定の画像形式に変更する入力側のIPコンバータと、
前記所定の画像形式の医療用画像、及び前記手術サーバから供給される処理済み画像の供給先を切り換えるIPスイッチであって、前記所定の画像形式の医療用画像を前記手術サーバに供給可能なIPスイッチと、
前記IPスイッチから供給される画像を所定の画像形式に変更する出力側のIPコンバータと、
前記出力側のIPコンバータから供給される画像を表示する画像受信装置と、
を更に備える、請求項1に記載の医療情報制御システム。 - 前記のIPコンバータ、前記IPスイッチ及び前記手術サーバの少なくとも1つは、他の装置から取得した制御コマンドに基づいて処理を実行する、請求項12に記載の医療情報制御システム。
- 前記手術サーバは、
前記リアルタイム型信号処理アプリケーションが書き込み、N個のベストエフォート型信号処理アプリケーションが読み込む共有バッファにおいて、仮想共有バッファ領域の数がN+2以上となるように設定する、
請求項1に記載の医療情報制御システム。 - 前記手術サーバは、
複数のベストエフォート型信号処理アプリケーションのうちいずれか1つのベストエフォート型信号処理アプリケーションの読み込みが待機となる待機モードを設定する、
請求項1に記載の医療情報制御システム。 - 前記手術サーバは、
実行されるベストエフォート型信号処理アプリケーションの数に基づいて、仮想共有バッファ領域のアクティベートを制御する、
請求項14に記載の医療情報制御システム。 - 前記手術サーバは、複数のGPUを備え、前記リアルタイム型信号処理アプリケーションを実行するGPUと、前記ベストエフォート型信号処理アプリケーションを実行するGPUと、を異ならせる
請求項1に記載の医療情報制御システム。 - 機器とネットワークを介して接続された信号処理装置であって、
前記機器で生成された画像を取得し、
コンテナ仮想領域にインストールされユーザが選択可能なリアルタイム型信号処理アプリケーションおよびベストエフォート信号処理アプリケーションを実行し、
前記リアルタイム型信号処理アプリケーションによって処理された画像に前記ベストエフォート信号処理アプリケーションの処理結果を重ね合わせる、
信号処理装置。 - 手術室に設置された医療機器とネットワークを介して接続された医療情報処理システムの動作方法であって、
医療機器で生成された医療画像を取得し、
コンテナ仮想領域にインストールされユーザが選択可能なリアルタイム型信号処理アプリケーションおよびベストエフォート型信号処理アプリケーションを実行し、
前記リアルタイム型信号処理アプリケーションによって処理された医療画像に前記ベストエフォート型信号処理アプリケーションの処理結果を重ね合わせる、
医療情報処理システムの動作方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020147074 | 2020-09-01 | ||
JP2020147074 | 2020-09-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022042011A true JP2022042011A (ja) | 2022-03-11 |
Family
ID=80491768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021142655A Pending JP2022042011A (ja) | 2020-09-01 | 2021-09-01 | 医療情報制御システム、信号処理装置、及び医療情報制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230100302A1 (ja) |
JP (1) | JP2022042011A (ja) |
WO (1) | WO2022050227A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023200491A1 (en) * | 2022-04-12 | 2023-10-19 | Utech Products, Inc. | Multithreading video processing with cloud services to detect and analyze objects |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019116592A1 (ja) * | 2017-12-14 | 2019-06-20 | オリンパス株式会社 | 内視鏡の表示画像の調整装置及び手術システム |
WO2019181432A1 (ja) * | 2018-03-20 | 2019-09-26 | ソニー株式会社 | 手術支援システム、情報処理装置、及びプログラム |
WO2020020959A1 (en) * | 2018-07-24 | 2020-01-30 | Sony Corporation | Distributed image processing system in operating theater |
-
2021
- 2021-08-30 WO PCT/JP2021/031765 patent/WO2022050227A1/en active Application Filing
- 2021-08-30 US US17/911,428 patent/US20230100302A1/en active Pending
- 2021-09-01 JP JP2021142655A patent/JP2022042011A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022050227A1 (en) | 2022-03-10 |
US20230100302A1 (en) | 2023-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8042094B2 (en) | Architecture for rendering graphics on output devices | |
JP7051457B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP4327175B2 (ja) | マルチグラフィックプロセッサシステム、グラフィックプロセッサおよび描画処理方法 | |
Clarkson et al. | The NifTK software platform for image-guided interventions: platform overview and NiftyLink messaging | |
JP6882868B2 (ja) | 画像処理装置、画像処理方法、システム | |
KR20070039982A (ko) | 비디오 카메라 공유 | |
US20140074911A1 (en) | Method and apparatus for managing multi-session | |
JP2007058857A (ja) | 医用画像の分散画像処理 | |
US20140320592A1 (en) | Virtual Video Camera | |
US11302439B2 (en) | Medical image processing apparatus, medical image processing method, and computing device | |
US20110317763A1 (en) | Information processing apparatus and information processing method | |
JP2022042011A (ja) | 医療情報制御システム、信号処理装置、及び医療情報制御方法 | |
JP5510120B2 (ja) | 情報処理装置、情報処理方法 | |
WO2021095659A1 (ja) | 医療イメージングシステム、医療イメージング方法及び画像処理装置 | |
US20070233975A1 (en) | Data processor with a built-in memory | |
US8447035B2 (en) | Contract based memory management for isochronous streams | |
WO2013183223A1 (en) | Information processor, information processing method, program, and image display device | |
JP4011082B2 (ja) | 情報処理装置、グラフィックプロセッサ、制御用プロセッサおよび情報処理方法 | |
US20220253966A1 (en) | Graphics Processing System | |
KR20110068863A (ko) | 정보 처리 시스템 및 방법, 정보 처리 장치 및 방법, 컴퓨터 판독 가능한 매체 및 촬상 장치 및 방법 | |
CN115934383A (zh) | Wayland合成器下多显卡渲染方法 | |
JP2019028652A (ja) | 表示制御装置および表示制御方法 | |
CN114496175A (zh) | 一种医疗图像查看方法、装置、设备和存储介质 | |
JP2000101992A (ja) | カメラ制御システムおよびその方法およびそのプログラムを記憶した記憶媒体およびそのクライアント | |
JP2010048976A (ja) | 信号処理装置および信号処理方法 |