肖 嘯 ,李 凌 ,蘇 航,楊 華 ,鄭世寶
(1.上海交通大學 電子工程系 圖像通信與信息處理研究所,上海 200240;2.上海市數字媒體處理與傳輸重點實驗室,上海 200240)
傳統的醫療技術容易受到時間和空間的限制,往往具有非常大的局限性,無法為廣泛的人群提供有保障的醫療服務[1]。如今,隨著信息技術和計算機技術的不斷進步,遠程醫療技術得到了迅速的發展。遠程醫療是一種網絡化的醫療技術,它可以克服醫生和病人之間的空間距離,以及大病、老年病修養期病人去醫院復診勞累等問題,非常適于鄉村醫院或醫務所遠程專家巡診、家庭醫監醫保病人的復診等場合,為病人提供一些在他們無法確診或無需去醫院排隊等候復診等情況下的治療手段[2]。
一般來說,要實現一個穩定可靠的遠程醫療系統,必須要解決兩個重要的問題:一是要有一個穩定可靠又兼具靈活性的前端數據采集設備;二是如何實現服務器端和客戶端的交互性。
為了解決上面兩個問題,筆者研制了一種嵌入式可視化遠程醫療監控前端系統,利用嵌入式多媒體信息采集與編碼SoC硬件平臺、嵌入式Web服務器技術,實現了穩定可靠的醫學生理健康監測數據的Web服務、交互語音和高清監控視頻傳輸,實現了遠程醫療前端設備和醫生客戶端的多媒體數據的友好交互。為了滿足在線實時數據顯示以及增加遠程醫療終端的適應性,保證服務器和客戶端的交互性,采用B/S模式的架構。與傳統C/S模式架構不同,B/S模式架構以網頁瀏覽器的形式作為客戶端,由此帶來的不僅僅是客戶端成本的下降,同時也具有了跨平臺、兼容性強的特性。
遠程醫療的目的在于為遠程病人提供與本地病人盡可能相同的醫療環境。為此,在傳統遠程醫療系統的基礎上,本系統在以下幾個方面進行了改進。首先,傳統的遠程醫療系統只對病人的醫學生理參數進行采集,無法實現“望、聞、問、切”的功能。本系統引入了高清圖像監控技術,在提供遠程醫學健康檢測數據服務的同時(實現了醫生遠程“切”的功能),增加了對前端病人音頻、視頻監控上的技術支持,讓醫生診斷的依據更加充分,醫生與病人之間的交互更加直接便捷,更加接近本地診斷的醫療環境,實現了醫生遠程“望、聞、問”的功能。其次,以往的遠程醫療系統一般多使用PC作為前端采集設備,并采用C/S服務架構實現醫生客戶端,客戶端軟件處理的數據需要借助中間的中轉服務器。這樣不但使得前端系統移動性差,而且后端醫生終端過分依賴中間服務器的服務模式和性能,系統的兼容性差。本系統采用嵌入式Web服務器作為遠程醫療數據的傳輸核心,前端硬件采用多媒體SoC方案,設備體積更加小巧,也徹底擺脫了對PC計算機的依賴,服務器工作環境相對獨立,不易出現異常。第三,軟件終端的弊端在于如果醫生希望瀏覽病人的實時醫療信息,就必須另外進行軟件安裝,而對于不同的遠程醫療前端采集系統,數據協議的非標準化,使得軟件的兼容性得不到保障,會給終端用戶帶來許多不便。本系統在嵌入式Web服務器的支持下,使用網頁瀏覽器作為客戶終端,提高客戶端的兼容性和適應性,讓醫生可以在PC、手機,甚至是電視上對病人進行實時診斷。
嵌入式可視化遠程醫療監控前端系統的主要數據類型包括由高清攝像頭采集的視頻監控數據、揚聲器采集的音頻數據和醫學傳感器采集的醫學生理數據。整個系統分為嵌入式遠程醫療監控前端和可視對講網頁客戶端兩個主要部分,其中嵌入式前端由前端多媒體數據采集與編碼硬件模塊和嵌入式Web服務器軟件模塊組成。
前端多媒體數據采集與編碼硬件模塊負責對心電波、心率、無創血壓(收縮壓、舒張壓、平均壓)、血氧飽和度、呼吸和體溫等生理參數以及話音、視頻監控數據進行采集和編碼,由多媒體SoC硬件實現。
嵌入式Web服務器軟件模塊,是運行在SoC內的ARM嵌入式軟件,它基于Linux實時操作系統和Web服務器,網頁瀏覽器功能在前端實現,客戶端只要進行瀏覽器下載和瀏覽網頁即可實現與Web服務器的交互。除此之外,嵌入式Web服務器還負責醫學健康生理數據、音頻、視頻監控數據的IP協議傳輸,同時服務器還可以響應網頁客戶終端的設置指令,并轉義成相應的串口或FPGA指令,對醫療數據采集模塊、音頻、視頻編碼硬件設備進行設置。
網頁客戶端負責對從Internet接收到的各類型數據進行解碼、處理,并最終在網頁中實現實時顯示。用戶還可以通過揚聲器和攝像頭與前端病人實現交互,并通過發送網頁命令,由嵌入式Web服務器對前端硬件設備進行包括攝像機云臺控制、編解碼參數配置、醫療設備工作模式選擇等操作。
客戶端和嵌入式Web服務器之間通過IP網絡進行通信,服務器一方面實現音視頻數據和醫療數據的實時協議傳輸,另一方面還要實現客戶端對前端的交互工作。
整體系統結構如圖1所示。

本系統中,嵌入式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等對遠程病人的音視頻和醫療數據進行瀏覽,還可以操控前端設備,與病人進行語音對講。網頁瀏覽器作為終端,不需要另外安裝終端軟件,并且可以跨平臺實現,提高了系統的適應性和兼容性,使得更廣泛的用戶可以通過瀏覽器訪問遠程醫療服務。
嵌入式可視化遠程醫療監控系統分為前端多媒體數據采集與編碼硬件模塊、前端嵌入式服務器軟件模塊和網頁客戶端這3個主要模塊。
本系統基于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以太網或其他物理網口進行分發。

嵌入式Web服務器軟件模塊是整個系統的核心部分,是網頁客戶端和前端采集編碼硬件數據通信和交互操作的橋梁。它的主要功能包括:1)最基本的網頁支持功能;2)服務器能夠對采集設備、編解碼硬件進行控制;3)對不同類型的業務數據的網絡傳輸功能。在GoA-head Web服務器的基礎上,對嵌入式Web服務器的功能進行了擴展,使其不但具備GoAhead Web服務器的所有優點,同時也能夠實現可視化遠程醫療服務所需的一系列功能。
具體來說,整個嵌入式Web服務器可以分為系統管理模塊、數據編解碼控制模塊以及網絡傳輸模塊等3個主要模塊,分別實現上述3個主要功能,如圖3所示。

系統管理模塊主要包括用戶管理、系統初始化、系統接口管理和系統配置,負責對嵌入式Web服務器進行初始化配置,包括Web服務器網頁服務初始化、前端采集設備的啟動配置以及整個嵌入式Web服務器各模塊之間的接口管理和用戶管理,并對不同的訪問用戶進行權限劃分。除此之外,系統管理模塊的另一個主要功能是對嵌入式Web服務器進行系統設置,例如時間設置、串口功能配置、攝像機云臺控制命令配置和系統運行參數配置等。
數據編解碼控制模塊的主要功能是對前端監控攝像頭、傳聲器以及醫學傳感器所采集到的各種類型數據按照不同的需要進行協議編碼。其中音頻和視頻的編碼由H51編碼芯片完成,醫學傳感器數據解碼由嵌入式服務器完成。在數據編解碼完成后,碼流將一起傳輸到緩沖區,根據不同的傳輸需求,分配系統資源,采用不同的封裝協議,最后進行數據發送。圖4為數據編解碼控制模塊的基本流程圖。
整個流程可以分為3層,每層都有1~2個獨立的線程,各自完成相應的任務。各層的具體功能如下:
1)輸入層。負責初始化數據接收接口,配置接口參數,實現數據的讀取,為之后的編碼器提供數據來源。

2)編碼層。負責對輸入層提供的數據進行編解碼。根據數據類型的不同,選擇合適的編碼方式。音頻和視頻數據可以通過H51硬件進行編碼,醫學數據由嵌入式服務器進行解碼后,進行打包協議封裝后,傳送到緩沖區。
3)輸出層。負責對緩沖區的數據進行資源分配,對不同類型數據按照業務需求采取不同的發送機制。
網絡功能模塊包含了緩沖管理、碼流管理、網絡協議以及網頁服務功能等4個部分。
在遠程醫療系統中,音頻、視頻數據對延遲較為敏感,應優先保證其延遲較小;而醫療數據對延遲不敏感,應以保證準確性為前提。緩沖管理和碼流管理模塊負責對數據編碼模塊編碼后得到的碼流進行優先級管理,分配系統資源,根據多種數據的業務要求進行數據發送。
網頁服務部分決定了服務器的人機交互功能,還包含對網頁客戶端視頻顯示和醫學數據顯示的支持。一方面,前端采集設備所采集到的音頻、視頻、醫療數據在經過編解碼控制模塊后,將統一由碼流管理模塊進行TCP或UDP協議的傳輸,保證前端數據能夠實時準確地傳輸到網頁客戶端,供客戶端進行解碼顯示。另外一個方面,用戶可以根據實際需求,從網頁客戶端向前端發送指令,改變前端采集設備的運行狀態或運行方式,而這一系列的指令都將通過網頁服務功能模塊進行轉義,并通過調用系統管理模塊所提供的各種接口函數對前端硬件設備進行控制。
網頁客戶端是供用戶瀏覽病人的實時醫學數據和音頻、視頻監控數據的PC客戶終端,它負責對由嵌入式Web服務器分發的各種類型的業務數據進行解碼并且顯示。通過對數據進行觀察對比,從而達到遠程診斷的目的。
一般的網頁并不具備數據處理和碼流解碼能力,因此如何將原始數據在網頁環境下實現處理,是影響到網頁客戶端功能的一個關鍵問題。
本系統通過采用ActiveX插件技術將原本需要軟件實現的復雜數據解碼功能在網頁上進行實現。用戶只需要通過網頁瀏覽器,就可以實時查看遠程醫療信息,大大提高了系統的便捷性。網頁瀏覽器對于大多數系統均適用,也使得客戶端的適應性得到了很大的提高。此外,借助GoAhead嵌入式Web服務器提供的ASP支持,可以輕松地通過調用GoForms函數實現用戶對前端設備的操作和配置。
圖5為網頁客戶端的最終效果圖。

本系統通過網頁瀏覽器可以實現前端采集數據顯示、語音對講和監控視頻顯示等功能,實現結果主要包括視頻、音頻和醫學參數等主要方面,如表2~表4所示。

表2 視頻方面的實現結果

表3 音頻方面的實現結果

表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.