发明领域
本发明涉及一种显示系统,用于显示表示实时数据的图像以及 同时显示表示非实时数据的图像。
发明背景
显示表示实时数据的图像的系统具有悠久历史。例如,用于显 示表示实时生理学数据、如心电图(ECG)数据的波形图像的系统已经 存在了很长时间。最近已经研制出同时显示表示相应实时数据的多 个图像的系统。例如,目前的ECG系统能够同时显示完整的12导 联线(lead)ECG的全部12个波形。2000年8月15日颁发给Bogart 等人的美国专利6104948公开了一种系统,它用于从不同源接收多 个生理学实时数据,例如ECG、脑电图(EEG)、皮肤传导信息、眼睛 测量仪衍生视点数据以及皮肤温度等。该系统还接收其它实时数据, 例如心血管循环影像(cardiac cine-loop video)。然后,该系统同时且 同步地显示包含表示全部所接收实时数据的相应图像的合成图像。 合成图像可采用录像机上的扫描变换器进行记录以便将来研究。
还存在同时显示表示相应非实时数据的图像的系统。例如,诸 如UNIX X-windows、Apple Macintosh以及Microsoft Windows之类 的计算机窗口操作系统允许编写程序,以便显示表示相应非实时数 据的多个图像。例如,1999年9月21日颁发给Raj等人的美国专利 5956013公开了基于Microsoft Windows的系统,它用于从例如霍尔 特心脏监护仪接收预先记录的ECG数据,并显示表示若干秒ECG 数据的波形的第一图像,同时显示在相互在顶部以其R波对齐的所 选数量(如一至五个)心跳波形的第二图像。
还存在用于同时显示表示实时数据的图像以及表示非实时数据 的图像的其它系统。例如,在上述窗口操作系统控制下工作的计算 机系统的设计已包含实时数据收集装置,并且表示所收集的实时数 据的图像与表示非实时数据的图像同时显示。1989年7月4日颁发 给Conrad等人的美国专利4845653公开了一种系统,在其中同时显 示多个二参数数据字段,表示相同的多参数数据的各个方面。这种 数据可以在接收时实时显示。用户可定义包含在这些数据字段之一 中的一个区域的轮廓,在其它数据字段中高亮显示该区域中与其对 应的数据点。从所包含的数据点生成的其它非实时信息也可显示。
本领域的技术人员知道,上述计算机窗口操作系统使设计并实 现同时显示实时和非实时数据的程序较为简便。因此,为这些操作 系统编写了许多程序来执行各种各样非常合乎需要的任务。本领域 的技术人员还知道,这类操作系统是不可靠的,经常需要重启、复 位或重新引导,尤其是在执行包含多个任务或线程的某个程序或多 个程序的情况下。然而,我们始终希望系统以极高的可靠性进行工 作。在某些应用、如医疗监护设备中,系统以可能实现的最高可靠 性进行工作是必要的。例如,对于ECG监护仪,表示ECG数据的 波形图像的显示绝不可以中断,并且必需在接收实时ECG数据和显 示数据之间以最小的等待时间进行工作。
本领域的技术人员会知道,与实时(如ECG)数据的显示同时的非 实时数据的显示是有用的。例如,分析患者的实时ECG显示的医生 可能希望同时显示该患者的实验室文本结果、或X光图像、或来自 患者图表的数据、或者甚至是来自医药公司万维网网站的信息。专 业人员还了解通过采用窗口操作系统作为这种系统的基础所提供的 优点,例如熟悉用法、易于编程以及有各种各样的程序可供使用等。 最后,专业人员会了解,在非实时信息的显示是重要且合乎需要时, 在任何情况下,都不应当允许非实时数据显示程序中的故障(例如在 使用这种窗口操作系统时必需预计到的)中断实时ECG数据的显示。 因此需要一种系统,它允许利用现有的窗口操作系统同时显示实时 和非实时数据,但不允许非实时数据的显示中的故障中断实时数据 的显示。
发明概述
根据本发明的原理,同时显示表示实时数据和非实时数据的相 应图像的方法及设备通过首先接收非实时数据并且接收实时数据进 行工作。运行窗口操作系统来控制响应非实时数据的应用程序的操 作,以及调节显示装置来显示表示非实时数据的相应图像。实时显 示进程与窗口操作系统同时但独立地运行,用于调节显示装置来与 非实时数据的显示同时地显示表示实时数据的相应图像。
附图概述
图中:
图1是根据本发明的原理的一种计算机系统的框图;以及
图2是软件体系结构图,说明根据本发明的原理、运行于处理 器上以控制该系统的一种体系结构;
图3、图4及图5是屏幕示意图,说明通过根据本发明的系统所 显示的图像。
本发明的详细描述
图1是根据本发明的原理的计算机系统10的框图。图1中,处 理器102具有:第一双向端子,与数据存储装置104连接;以及一 个或多个其它双向端子,与相应的网络接口电路(NIC)106连接。各 NIC 106连接相应网络114。网络114可包括具有从患者传感器到显 示器之间小于200ms的所需等待时间的诸如患者区域网络之类的实 时网络、具有大约数秒等待时间的病房区域网络和/或没有实时等待 时间要求的医院网络。与医院网络极为相似的一个或多个网络114 还可包括与诸如因特网之类的广域网相连的桥接器(未标出)。用户输 入信号源108连接处理器102的第一输入端子,实时输入信号源110 连接处理器102的第二输入端子。处理器102的输出端子连接显示 装置112的输入端子。
在操作中,处理器102从数据存储装置104接收程序代码和数 据。处理器102在所接收程序代码的指导下控制系统10的操作。下 面详细说明这个程序代码的体系结构。一般来说,处理器102从实 时数据源110和/或实时网络114接收实时数据,并调节显示装置112 显示表示实时数据的图像。例如,实时信号源110和/或实时网络114 可包括具有用于连接患者的电极的ECG模块。来自电极的信号由处 理器102进行处理,随后,处理器102又调节显示装置112显示表 示实时12导联线ECG的图像。根据医疗监护系统的要求,这个实 时显示具有从接收来自ECG模块的数据到该数据在显示装置112上 显示之间的最大等待时间200毫秒,并且必须具有最大的应用可靠 性。
处理器102还监测来自用户输入信号源108的用户输入信号。 用户输入信号可以从例如键盘和/或鼠标(未标出)或其它任何输入装置 中产生。处理器102则响应用户输入信号来对系统10进行控制。这 些用户输入信号能够控制诸如12导联线ECG图像等实时图像的显 示的大小、位置和/或非实时数据的选择和显示之类的各个方面。例 如,响应经用户输入信号源108从用户接收的标识信息,执行非实 时应用程序,使非实时数据可从数据存储装置104中的指定文件进 行检索,或者经NIC 106从网络114上的指定位置进行检索,例如 来自医院LAN服务器的患者图表数据、实验室结果或X光图像或来 自因特网的其它数据。控制器102调节显示装置112在显示装置112 上与表示来自实时数据源110和/或实时网络114的实时数据的图像 同时显示表示所检索的非实时数据和/或从用户输入信号源108接收 的其它数据的图像。处理器102还响应来自用户输入信号源108的 用户输入信号,以下面将详细说明的方式在整体上控制系统10的操 作。
在一个最佳实施例中,处理器102在窗口操作系统的控制下进 行工作,在所述实施例中,窗口操作系统是Microsoft NT操作系统。 图2是示意图,说明由处理器102执行以控制系统10的程序代码的 体系结构。操作系统(OS)202为由在系统20上执行的其它所有软件 模块共用的功能及数据构成的软件系统20的其余部分提供服务。例 如,多重处理所需的消息传送系统以及图形显示界面在OS 202中进 行管理。另外,在OS 202中,可以启动及结束进程和线程,并且存 储器可以分配给进程和/或线程或者从其中解除分配。
与软件系统20的操作有关的参数也在OS 202中维护。例如, 与整个处理器使用有关的数据、各进程及线程的消息队列长度、可 用存储器、虚拟存储页面存取故障、工作集大小及分页速率、分配 给进程及线程的句柄计数、各进程或线程所用处理器时间的比例、 网络114中数据传输的速率以及各进程及线程对用户输入信号的响 应性均可由OS 202来确定并存储在其中。硬件系统10的物理参数 由OS 202控制下的电路接收以及与这些参数相关的数据存储在OS 202中也是可行的。例如,诸如中央处理器(CPU)芯片温度、电源电 压、硬盘使用历时以及硬盘存储器自由空间之类的数据可在OS 202 中维护。
一般来说,程序20是三层体系结构。第一层是公共软件体系结 构204,它提供应用程序包(206和208)与OS 202之间的软件接口。 公共软件体系结构204为应用程序提供应用程序接口(API)。通过提 供API,操作系统简化了编制应用程序的任务。诸如请求开始某个线 程或分配存储器之类的功能均以已知方式通过简单的函数调用来提 供给应用程序设计人员。
公共及专用应用程序包206和208形成第二层。公共应用程序 包206表示由操作系统提供商所提供的应用程序。它们一般是由操 作系统的大多数或全部用户所使用的应用程序。公共应用程序包208 可包括文本编辑器、图像阅读器、HTML阅读器(万维网浏览器)等。 此外,这些公共应用程序包的一部分可由专用应用程序包208使用。 专用应用程序包208是提供系统所需的特殊功能的应用程序。一般 来说,单一的专用程序包208提供所需的特殊处理。公共及专用应 用程序包206和208经公共软件体系结构204中的API接收操作系 统服务,并产生将通过公共人界面210在显示装置112上显示的图 像。人界面210形成第三层。人界面210是作为操作系统的组成部 分而提供的,并提供另一个API,以便允许公共及专用应用程序206、 208以已知方式在显示装置112上产生图像。
到此为止所描述的软件体系结构20的部分是用于在Windows NT 操作系统上实现的非实时程序的标准体系结构。软件体系结构的这 个部分作为单一的可执行程序来执行,通过上述各种API调用函数, 产生任务和线程,并根据需要请求及返回内存。
在所述实施例中,附加进程212从实时信号源110和/或实时LAN 114接收实时ECG信号,并对所接收的实时ECG信号进行处理,以 稍后详细说明的方式为显示装置112生成表示对应于所接收信号的12 导联线ECG的图像。实时显示进程212仅从OS 202接收操作系统 服务。它不使用公共软件体系结构204或公共人界面210中的服务。 这个进程作为第二可执行程序来执行,与上述非实时可执行程序无 关但与其协调。另外,实时进程212以单线程来实现,它处理自从 数据源的接收到显示图像的生成的数据,确保最少等待时间。
下列工作参数均与Windows NT环境有关。其它窗口操作系统具 有类似的参数。在所述实施例中,所有非实时应用程序以及这些应 用程序所产生的所有进程、线程均被指定13或以下的优先级,实时 进程212被指定高于非实时进程中的任何进程或线程的优先级 (>13),为实时应用程序提供较高的执行优先级。因此,实时显示进 程212以速率确定方式处理来自OS 202的消息。本领域的技术人员 知道,它保证发送给实时显示进程212的所有消息都会被正确地处 理,因为实时进程具有较高优先级,并且不会被非实时线程中断。
另外,非实时进程及线程的“应用程序提升”参数设置为“无”。 实时网络114必须使用LAN交换机而不是集线器。在网络114中不 允许使用路由器。计算环境被进一步控制,以便使“中断服务例程” 和“延期过程调用”的调用减至最少。非实时进程212的工作集(用 于将存储器页面包含在虚拟存储器环境中的页帧)采用OS 202中的设 备驱动程序进行锁定,使工作集在虚拟存储器对换过程中不会被换 出到存储装置104中。最后,OS 202的GDI探针锁定GDI引擎及其 相关资源的示例,以供实时进程212专用。
因此,图2所示的体系结构20包括两种可执行程序,一个用于 处理非实时数据,另一个则用于处理实时数据。这种体系结构提供 以下优点。第一,可执行程序的分离提供了健壮性。有两种由OS 202 维护的分离消息队列。如果一个队列被封锁,则另一个仍然在工作。 第二,显示装置112通过两个分离且独立的图形显示界面来驱动。 公共人界面210仅提供单一窗口显示界面,其中,把不同的窗口安 排成父-子关系,要求消息和/或事件传播从子到父并返回。通过提供 实时显示进程的分离图形界面,与其它窗口不存在任何父-子关系, 从而改善可靠性并减少消息和/或事件传播。这又减少了从来自实时 信号源110的实时数据的接收到表示该数据的图像在显示装置112 上的显示之间的等待时间。
本领域的技术人员知道,为了改善用户的可读性和可控性,希 望使实时显示进程212的图形“外观”与公共人界面210控制下所 生成的非实时显示的“外观”相同或极为相似。在所述实施例中, 实时显示进程212所生成的图形界面设计为在图形上与公共人界面 210所生成的图形界面相结合。更具体地说,在所述实施例中,实时 显示进程212以及公共人界面210的图形界面都采用标记卡片样式。 下面更详细说明生成组合显示的进程。本领域的技术人员知道,“外 观”的细节与本发明没有密切关系,只是它们对于非实时以及实时 处理是相同或相似的。
通过使用内置于OS 202的图形设备接口(GDI)引擎,将实时进 程212所生成的图像与非实时进程204、206、208、210所生成的图 像相结合。本领域的技术人员知道,GDI引擎从应用程序接收图像 描述指令。响应这些指令,GDI更新存储在硬件视频适配器(未标出) 的视频存储器中的值,以表示应用程序的组合图像。视频适配器又 响应视频存储器的内容而生成显示装置112所用的视频信号。
实时进程212以普通方式从OS 202请求并接收标识图形句柄。 单线程实时进程212则从实时信号源110接收实时信号,并由所指 定的图形句柄标识,生成GDI引擎的指令以显示所需实时图像。实 时进程212则对专门分配给实时进程212的GDI示例进行调用,以 提供这些指令。这个GDI引擎被指定与实时进程212同样高的优先 级,使其执行不会被非实时应用程序中断。GDI引擎又调节显示装 置112,通过显示装置驱动程序来显示组合的实时及非实时图像。
更具体地说,在所述实施例中,实时信号是ECG信号,实时显 示进程线程从实时信号源110或实时LAN 114接收ECG电极信号, 并生成表示12个ECG导联线信号的瞬间波形图像的位图。实时进 程线程212则直接调用OS 202中的GDI,并为它提供指令(位块传输 指令),将位图传送到显示装置112中的视频存储器。GDI引擎将位 图传送到视频适配器的视频存储器中的适当位置。
采用这种技术,实时图像可以与例如由OS 202的GDI所提供的、 采用相同“外观”的非实时图像相结合。本领域的技术人员知道, 直接与显示装置适配器接口也是可行的,但它会带来许多安全性及 可靠性问题。本领域的技术人员还知道,其它接口方法、如DirectX 也可用来向视频适配器提供图像表示信号。
图3是屏幕示意图,说明根据本发明的系统在实时显示进程212 控制下显示的实时图像。图3说明一个示范的12个导联线ECG图 像。图3中,显示装置112包括显示屏幕113,例如CRT表面,它 显示12个实时波形(I、II、III、aVR、aVL、aVF、V1、V2、V3、V4、 V5及V6)的相应图像302。这些波形在上述等待时间限制(200ms)以 内被实时更新。所显示的波形好象是包含在具有相关标记306的标 记页面304中一样,其中包括标识相关页面内容的标志(“患者视图”)。 稍后详细说明附加标记312。
图4说明一个显示屏幕113,其中,胸腔X光的非实时显示图 像308显示在标记页面310中。标记页面310包括相关标记312,其 中包含标识相关页面内容的标志(“定制视图”)。这个标记页面310 覆盖与标记306相关的实时数据标记页面,使它完全隐藏。本领域 的技术人员知道,图4所示图像仅表示单一标记页面,但一个以上 的这种标记页面也是能够同时可用的,其中每一个表示不同的非实 时数据。此外,各标记页面可同时显示一个以上的窗口,其中的每 一个显示表示相应非实时数据的图像。例如,如上所述,实验室文 本结果或万维网页面可同时按照Windows NT操作系统所控制的方式 显示在不同的标记页面上或者显示在单一标记页面的重叠窗口上。
如上所述以及正如本领域的技术人员所熟知的那样,非实时处 理软件发生故障是有可能的。如果出现故障,实时(ECG)信息则可能 被显示在显示装置212上的非实时信息的图像阻挡而无法看见。例 如,如果程序体系结构20的非实时部分(204、206、208、210)在显 示图4所示图像时出现故障,表示实时ECG数据302的图像将被隐 藏。为了解决这个问题,OS 202被调节为对来自用户输入信号源108 的数据进行响应,以激活显示表示来自实时信号源110的实时信息 的图像302的标记页面304,如图3所示。例如,键盘上的特定键或 键组合、例如