嵌入式可视化远程医疗监控前端系统的设计

2011-03-15 01:22郑世宝
电视技术 2011年11期
关键词:网页嵌入式客户端

肖 啸 ,李 凌 ,苏 航,杨 华 ,郑世宝

(1.上海交通大学 电子工程系 图像通信与信息处理研究所,上海 200240;2.上海市数字媒体处理与传输重点实验室,上海 200240)

0 引言

传统的医疗技术容易受到时间和空间的限制,往往具有非常大的局限性,无法为广泛的人群提供有保障的医疗服务[1]。如今,随着信息技术和计算机技术的不断进步,远程医疗技术得到了迅速的发展。远程医疗是一种网络化的医疗技术,它可以克服医生和病人之间的空间距离,以及大病、老年病修养期病人去医院复诊劳累等问题,非常适于乡村医院或医务所远程专家巡诊、家庭医监医保病人的复诊等场合,为病人提供一些在他们无法确诊或无需去医院排队等候复诊等情况下的治疗手段[2]。

一般来说,要实现一个稳定可靠的远程医疗系统,必须要解决两个重要的问题:一是要有一个稳定可靠又兼具灵活性的前端数据采集设备;二是如何实现服务器端和客户端的交互性。

为了解决上面两个问题,笔者研制了一种嵌入式可视化远程医疗监控前端系统,利用嵌入式多媒体信息采集与编码SoC硬件平台、嵌入式Web服务器技术,实现了稳定可靠的医学生理健康监测数据的Web服务、交互语音和高清监控视频传输,实现了远程医疗前端设备和医生客户端的多媒体数据的友好交互。为了满足在线实时数据显示以及增加远程医疗终端的适应性,保证服务器和客户端的交互性,采用B/S模式的架构。与传统C/S模式架构不同,B/S模式架构以网页浏览器的形式作为客户端,由此带来的不仅仅是客户端成本的下降,同时也具有了跨平台、兼容性强的特性。

1 系统构成与设计

远程医疗的目的在于为远程病人提供与本地病人尽可能相同的医疗环境。为此,在传统远程医疗系统的基础上,本系统在以下几个方面进行了改进。首先,传统的远程医疗系统只对病人的医学生理参数进行采集,无法实现“望、闻、问、切”的功能。本系统引入了高清图像监控技术,在提供远程医学健康检测数据服务的同时(实现了医生远程“切”的功能),增加了对前端病人音频、视频监控上的技术支持,让医生诊断的依据更加充分,医生与病人之间的交互更加直接便捷,更加接近本地诊断的医疗环境,实现了医生远程“望、闻、问”的功能。其次,以往的远程医疗系统一般多使用PC作为前端采集设备,并采用C/S服务架构实现医生客户端,客户端软件处理的数据需要借助中间的中转服务器。这样不但使得前端系统移动性差,而且后端医生终端过分依赖中间服务器的服务模式和性能,系统的兼容性差。本系统采用嵌入式Web服务器作为远程医疗数据的传输核心,前端硬件采用多媒体SoC方案,设备体积更加小巧,也彻底摆脱了对PC计算机的依赖,服务器工作环境相对独立,不易出现异常。第三,软件终端的弊端在于如果医生希望浏览病人的实时医疗信息,就必须另外进行软件安装,而对于不同的远程医疗前端采集系统,数据协议的非标准化,使得软件的兼容性得不到保障,会给终端用户带来许多不便。本系统在嵌入式Web服务器的支持下,使用网页浏览器作为客户终端,提高客户端的兼容性和适应性,让医生可以在PC、手机,甚至是电视上对病人进行实时诊断。

1.1 系统组成

嵌入式可视化远程医疗监控前端系统的主要数据类型包括由高清摄像头采集的视频监控数据、扬声器采集的音频数据和医学传感器采集的医学生理数据。整个系统分为嵌入式远程医疗监控前端和可视对讲网页客户端两个主要部分,其中嵌入式前端由前端多媒体数据采集与编码硬件模块和嵌入式Web服务器软件模块组成。

前端多媒体数据采集与编码硬件模块负责对心电波、心率、无创血压(收缩压、舒张压、平均压)、血氧饱和度、呼吸和体温等生理参数以及话音、视频监控数据进行采集和编码,由多媒体SoC硬件实现。

嵌入式Web服务器软件模块,是运行在SoC内的ARM嵌入式软件,它基于Linux实时操作系统和Web服务器,网页浏览器功能在前端实现,客户端只要进行浏览器下载和浏览网页即可实现与Web服务器的交互。除此之外,嵌入式Web服务器还负责医学健康生理数据、音频、视频监控数据的IP协议传输,同时服务器还可以响应网页客户终端的设置指令,并转义成相应的串口或FPGA指令,对医疗数据采集模块、音频、视频编码硬件设备进行设置。

网页客户端负责对从Internet接收到的各类型数据进行解码、处理,并最终在网页中实现实时显示。用户还可以通过扬声器和摄像头与前端病人实现交互,并通过发送网页命令,由嵌入式Web服务器对前端硬件设备进行包括摄像机云台控制、编解码参数配置、医疗设备工作模式选择等操作。

客户端和嵌入式Web服务器之间通过IP网络进行通信,服务器一方面实现音视频数据和医疗数据的实时协议传输,另一方面还要实现客户端对前端的交互工作。

整体系统结构如图1所示。

1.2 方案设计综述

本系统中,嵌入式Web服务器是核心部分,因此必须选择一个功能完善、稳定性好、可移植的Web服务器。目前比较流行的嵌入式Web服务器主要包括GoA-head,BOA以及thttpd,其性能比较见表1。

表1GoAhead,BOA和thttpd的性能比较

由表1可以看到,GoAhead服务器在内存占用和功能支持上有一定优势。因此本系统使用的嵌入式Web服务器选择以GoAhead服务器作为原型。GoAhead Web服务器是一款由GoAhead公司推出的源码免费、功能强大、并且可以在多个平台上运行的嵌入式Web服务器。它的优点包括支持ASP、嵌入式JavaScript、标准的CGI执行,具有独特的内存CGI处理方式——GoForms,拥有众多扩展的API,方便用户进行开发,支持多种操作系统,如 eCos,Linux,Lynx,VxWorks,WinCE 等。在 GoAhead Web服务器的基础上,可以按照嵌入式可视化远程医疗监控前端系统的需求进行功能扩展,并将其移植到嵌入式平台上[3]。

鉴于医疗系统要求,医疗数据具备可靠性高,差错率低等必要条件,因此在客户端和服务器之间,采取TCP/IP协议对医疗数据进行传输。TCP协议具有很高的可靠性,使得医疗数据的准确性得到了根本的保障。实时音视频编码数据则采用RTP/UDP/IP协议传输。

网页客户端的设计中,传统的HTML技术只提供静态数据支持,无法满足系统对于前后端交互的需求,ASP动态网页技术可以很好地弥补这一不足。GoAhead Web服务器对ASP的支持非常优秀,专用的GoForms函数使ASP页面可以直接对底层函数进行调用。用户只须在本地网页浏览器登录远程服务器就可以通过Web浏览器,例如IE,FireFox等对远程病人的音视频和医疗数据进行浏览,还可以操控前端设备,与病人进行语音对讲。网页浏览器作为终端,不需要另外安装终端软件,并且可以跨平台实现,提高了系统的适应性和兼容性,使得更广泛的用户可以通过浏览器访问远程医疗服务。

2 关键技术实现

嵌入式可视化远程医疗监控系统分为前端多媒体数据采集与编码硬件模块、前端嵌入式服务器软件模块和网页客户端这3个主要模块。

2.1 前端多媒体数据采集与编码硬件模块实现

本系统基于PowerPC平台,主芯片采用MPC8313,主要基于高性能和多种扩展接口,音视频编解码芯片是富士通H51,能够支持编码或者解码,CPU频率为333 MHz,嵌入式系统采用Linux-2.6.20,要求Flash为16 Mbyte,DDR为256 Mbyte。

整个前端多媒体数据采集与编码硬件模块的硬件原理图如图2所示。其中,高清数字视频数据通过SDI接口,经由SDI串行模块传输到FPGA模块进行接口转换,形成Y/Cb/Cr数组,然后经过H51编码模块进行H.264编码(HD Profile);扬声器采集的音频数据,经过AD变换,进入H51编码模块进行G.711编码;医学生理检测数据则由CN808采集模块进行获取,通过RS-232串口传输到嵌入式服务器CPU模块。最后所有数据统一由CPU控制模块进行IP化处理,其中医学数据和控制数据,采用TCP/IP协议传输,音视频编码数据采用RTP/UDP/IP协议传输,网络接口采用RJ-45以太网或其他物理网口进行分发。

2.2 基于嵌入式Web服务器的系统应用软件模块实现

嵌入式Web服务器软件模块是整个系统的核心部分,是网页客户端和前端采集编码硬件数据通信和交互操作的桥梁。它的主要功能包括:1)最基本的网页支持功能;2)服务器能够对采集设备、编解码硬件进行控制;3)对不同类型的业务数据的网络传输功能。在GoA-head Web服务器的基础上,对嵌入式Web服务器的功能进行了扩展,使其不但具备GoAhead Web服务器的所有优点,同时也能够实现可视化远程医疗服务所需的一系列功能。

具体来说,整个嵌入式Web服务器可以分为系统管理模块、数据编解码控制模块以及网络传输模块等3个主要模块,分别实现上述3个主要功能,如图3所示。

2.2.1 系统管理模块

系统管理模块主要包括用户管理、系统初始化、系统接口管理和系统配置,负责对嵌入式Web服务器进行初始化配置,包括Web服务器网页服务初始化、前端采集设备的启动配置以及整个嵌入式Web服务器各模块之间的接口管理和用户管理,并对不同的访问用户进行权限划分。除此之外,系统管理模块的另一个主要功能是对嵌入式Web服务器进行系统设置,例如时间设置、串口功能配置、摄像机云台控制命令配置和系统运行参数配置等。

2.2.2 数据编解码控制模块

数据编解码控制模块的主要功能是对前端监控摄像头、传声器以及医学传感器所采集到的各种类型数据按照不同的需要进行协议编码。其中音频和视频的编码由H51编码芯片完成,医学传感器数据解码由嵌入式服务器完成。在数据编解码完成后,码流将一起传输到缓冲区,根据不同的传输需求,分配系统资源,采用不同的封装协议,最后进行数据发送。图4为数据编解码控制模块的基本流程图。

整个流程可以分为3层,每层都有1~2个独立的线程,各自完成相应的任务。各层的具体功能如下:

1)输入层。负责初始化数据接收接口,配置接口参数,实现数据的读取,为之后的编码器提供数据来源。

2)编码层。负责对输入层提供的数据进行编解码。根据数据类型的不同,选择合适的编码方式。音频和视频数据可以通过H51硬件进行编码,医学数据由嵌入式服务器进行解码后,进行打包协议封装后,传送到缓冲区。

3)输出层。负责对缓冲区的数据进行资源分配,对不同类型数据按照业务需求采取不同的发送机制。

2.2.3 网络功能模块

网络功能模块包含了缓冲管理、码流管理、网络协议以及网页服务功能等4个部分。

在远程医疗系统中,音频、视频数据对延迟较为敏感,应优先保证其延迟较小;而医疗数据对延迟不敏感,应以保证准确性为前提。缓冲管理和码流管理模块负责对数据编码模块编码后得到的码流进行优先级管理,分配系统资源,根据多种数据的业务要求进行数据发送。

网页服务部分决定了服务器的人机交互功能,还包含对网页客户端视频显示和医学数据显示的支持。一方面,前端采集设备所采集到的音频、视频、医疗数据在经过编解码控制模块后,将统一由码流管理模块进行TCP或UDP协议的传输,保证前端数据能够实时准确地传输到网页客户端,供客户端进行解码显示。另外一个方面,用户可以根据实际需求,从网页客户端向前端发送指令,改变前端采集设备的运行状态或运行方式,而这一系列的指令都将通过网页服务功能模块进行转义,并通过调用系统管理模块所提供的各种接口函数对前端硬件设备进行控制。

2.3 网页客户端实现

网页客户端是供用户浏览病人的实时医学数据和音频、视频监控数据的PC客户终端,它负责对由嵌入式Web服务器分发的各种类型的业务数据进行解码并且显示。通过对数据进行观察对比,从而达到远程诊断的目的。

一般的网页并不具备数据处理和码流解码能力,因此如何将原始数据在网页环境下实现处理,是影响到网页客户端功能的一个关键问题。

本系统通过采用ActiveX插件技术将原本需要软件实现的复杂数据解码功能在网页上进行实现。用户只需要通过网页浏览器,就可以实时查看远程医疗信息,大大提高了系统的便捷性。网页浏览器对于大多数系统均适用,也使得客户端的适应性得到了很大的提高。此外,借助GoAhead嵌入式Web服务器提供的ASP支持,可以轻松地通过调用GoForms函数实现用户对前端设备的操作和配置。

图5为网页客户端的最终效果图。

3 数据分析

本系统通过网页浏览器可以实现前端采集数据显示、语音对讲和监控视频显示等功能,实现结果主要包括视频、音频和医学参数等主要方面,如表2~表4所示。

表2 视频方面的实现结果

表3 音频方面的实现结果

表4 医学参数的实现结果

4 小结

当前乡村医疗还不发达,缺少高水平的医生资源;城市老龄化问题越来越高,老人和大病修养期病人的医监医保、护理以及复诊问题愈发突出。基于高速信息网络和三网融合发展背景,笔者研究和开发了可视化远程医疗监控系统,能够使大医院、名医的医疗服务延伸到乡村医院或家庭医监医保与护理范围,具有重要的社会经济意义。

[1]刘军,马文丽,姚文娟,等.基于GPRS远程医疗系统的移动终端设计与实现[J].计算机应用与软件,2010(3):9-11.

[2]朱士俊.我国远程医疗发展现状、难点和对策分析[J].中国信息界,2006(4):60-63.

[3]左明文,张剑英.基于GoAhead嵌入式Web服务器的应用软件设计[J].中国新通信:技术版,2006(9):37-40.

[4]黄布毅,张海霞,陈富强,等.基于CATV的家庭远程医疗监护系统[J].电视技术,2008,32(5):85-87.

猜你喜欢
网页嵌入式客户端
如何看待传统媒体新闻客户端的“断舍离”?
基于CSS的网页导航栏的设计
基于HTML5静态网页设计
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
搭建基于Qt的嵌入式开发平台
基于URL和网页类型的网页信息采集研究
嵌入式软PLC在电镀生产流程控制系统中的应用
网页制作在英语教学中的应用
Altera加入嵌入式视觉联盟