摘 要: 通過對構件技術的研究,,設計了一種基于HIS的神經中央監(jiān)護系統(tǒng)" title="監(jiān)護系統(tǒng)">監(jiān)護系統(tǒng)模型,。闡述了監(jiān)護系統(tǒng)中的數(shù)據(jù)采集,、傳輸與讀取技術。通過對視頻編碼壓縮技術的對比,,選擇了適合本系統(tǒng)的壓縮編碼技術,,并探討了本系統(tǒng)中對視頻數(shù)據(jù)流的去噪聲技術。通過該系統(tǒng)的商業(yè)運行,,驗證了系統(tǒng)開發(fā)思路的正確性,。
關鍵詞: 構件 拓樸結構? 視頻采集? 噪聲
?
神經中央監(jiān)護" title="神經中央監(jiān)護">神經中央監(jiān)護系統(tǒng)是對重病人的生理參數(shù)進行實時監(jiān)護和集中管理的一套軟、硬件系統(tǒng),。通過該系統(tǒng)的應用,,可以實時查看重病人的生命體能參數(shù),對重危病人及時采取急救處理,,并能大大降低醫(yī)院護士的工作強度,,提高醫(yī)院對重病人病情監(jiān)控的快速反應能力,因此該系統(tǒng)的應用前景廣泛,。目前該系統(tǒng)已經在多家醫(yī)院的重病人病房投入使用,,運行效果良好,。
神經中央監(jiān)護系統(tǒng)作為一個科技項目與商業(yè)應用項目,在臨床應用上將會很廣泛,。本文介紹的系統(tǒng)最終要在多家醫(yī)院使用,,而由于各醫(yī)院對系統(tǒng)的要求各不相同,為了增強系統(tǒng)的適應性與可擴展性,,在系統(tǒng)的開發(fā)過程中,,通過采用基于構件的開發(fā)方法,增強了系統(tǒng)的擴展性與造就性,,提高了系統(tǒng)的理論研究價值與商業(yè)應用價值,。
1 構件技術
構件技術推廣了對象封裝的內涵,它側重于復雜系統(tǒng)中組成部分的協(xié)調關系,,強調實體在環(huán)境中的存在形式,。構件技術有四個基本屬性:
(1)構件是可獨立配置的單元,因此構件必須自包容,。
(2)構件強調與環(huán)境和其他構件的分離,,因此構件的實現(xiàn)是嚴格封裝的,外界沒有機會或沒有必要知道構件內部的實現(xiàn)細節(jié),。
(3)構件可以在適當?shù)沫h(huán)境中被復合使用,,因此構件需要提供清楚的接口規(guī)范,可以與環(huán)境交互,。
(4)構件不應當是持續(xù)的,,即構件沒有個體特有的屬性,可以理解為構件不應當與自身副本區(qū)別,,在任何環(huán)境中,,最多僅有特定構件的一份副本??梢钥闯?,構件沿襲了對象的封裝特性,但同時并不局限在一個對象,,其內部可以封裝一個或多個類,、原型對象甚至過程,結構是靈活的,。構件突出了自包容和被包容的特性,,這就是在軟件生產線上作為零件的必要特征。
從抽象程度來看,,面向對象技術已達到了類級重用(代碼重用),,它以類為封裝的單位。這樣的重用粒度還太小,不足以解決異構互操作和效率更高的重用,。構件將抽象的程度提到一個更高的層次,它是對一組類的組合進行封裝,,并代表完成一個或多個功能的特定服務,,也為用戶提供了多個接口。整個構件隱藏了具體的實現(xiàn),,只用接口提供服務,。這樣,在不同層次上,,構件均可以將底層的多個邏輯組合成高層次上的粒度更大的新構件,,甚至直接封裝到一個系統(tǒng),使模塊的重用從代碼級,、對象級,、架構級到系統(tǒng)級都可能實現(xiàn),從而使軟件像硬件一樣,,能任人裝配定制而成的夢想得以實現(xiàn),。采用基于構件的系統(tǒng)模型,大大縮短了系統(tǒng)的開發(fā)周期,,提高了代碼的重用性和擴展性,。
2 系統(tǒng)體系結構設計
該系統(tǒng)由用于分布式監(jiān)護的床旁機和用于集中管理的中央機組成。中央機和床旁機通過相應的數(shù)據(jù)線進行連接,,以實現(xiàn)數(shù)據(jù)的雙向傳輸,。中央監(jiān)護系統(tǒng)軟件部分包括中央機的監(jiān)控軟件和床旁機的功能軟件。中央監(jiān)護系統(tǒng)的實現(xiàn)除了硬件上的物理連接,,還需要軟件上的協(xié)調,。中央機的監(jiān)控軟件和床旁機的功能軟件各自有一個通訊模塊負責軟件上的連接,以保證數(shù)據(jù)的雙向傳輸,。利用RS485串口" title="串口">串口進行數(shù)據(jù)通訊具有操作簡單,、使用靈活方便、數(shù)據(jù)傳遞可靠等優(yōu)點,,因此本系統(tǒng)利用RS485串口負責中央監(jiān)護系統(tǒng)中的數(shù)據(jù)通訊,。
RS485標準作為一種多點、差分數(shù)據(jù)傳輸?shù)碾姎庖?guī)范已成為業(yè)界應用最為廣泛的標準通信接口之一,。這種通信接口允許在簡單的一對雙絞線上進行多點,、雙向通信,每一個終端只需通過接口掛在總線上便可以實現(xiàn)真正的多點總線結構;它所具有的噪聲抑制能力,、數(shù)據(jù)傳輸速率,、電纜長度及可靠性是其他標準無法比擬的;同時,,RS485標準只對接口的電氣特性做出規(guī)定,,而不涉及接插件,、電纜或協(xié)議,在此基礎上用戶可以建立自己的高層通信協(xié)議,。因此本系統(tǒng)的中央機和床旁機之間通過用RS485數(shù)據(jù)線連接其各自配置的串行通訊端口,,來實現(xiàn)硬件上的物理連接。用RS485總線作為數(shù)據(jù)傳輸鏈路實現(xiàn)半雙工異步通信,。
中央機由一臺安裝了MOXA公司的串口擴展卡的計算機構成,,使用擴展卡可以擴展計算機上的串口資源以滿足中央監(jiān)護系統(tǒng)中一機對多機(中央機對床旁機)的數(shù)據(jù)傳輸需要。床旁機采用工控機,,由相關的數(shù)據(jù)采集卡板和工控主板組成,。數(shù)據(jù)采集卡負責各種生理參數(shù)的采集,并由主板上的微處理器統(tǒng)一控制和管理,。 床旁機和中央機的數(shù)據(jù)傳輸也由主板上的微處理器控制,。
由于該系統(tǒng)比較復雜,而且可靠性要求很高,,因此在設計該系統(tǒng)中,,采用基于構件的智能控制技術,設計了如圖1所示的神經中央監(jiān)控系統(tǒng)拓撲結構,,有效地提高了系統(tǒng)的可靠性與穩(wěn)定性,。
?
3 床旁機設計
床旁機采用工控單板計算機實現(xiàn),通訊構件通過調用MOXA公司提供的串口程序開發(fā)函數(shù)庫中提供的庫函數(shù)完成,,整個床旁機的嵌入式程序采用WINCE C語言設計完成,。床旁機的中央處理構件利用中斷接收中央機發(fā)送的控制命令并將命令轉發(fā)到各數(shù)據(jù)采集構件;中央處理構件將數(shù)據(jù)采集構件發(fā)送過來的數(shù)據(jù)組織成預定的數(shù)據(jù)后,,通過串口發(fā)送給中央機,。系統(tǒng)啟動后首先對串口進行初始化(指定串口通訊參數(shù)并設置中斷服務程序),然后等待中斷的發(fā)生,??刂泼畹慕邮蘸吞幚碛芍袛喾諛嫾瓿伞V醒氡O(jiān)護軟件采用VC++語言開發(fā),。對串口的操作通過調用API函數(shù)實現(xiàn),。床旁機的工作原理圖如圖2所示。
在該系統(tǒng)中,,涉及的數(shù)據(jù)很多,。在所有要采集與傳輸?shù)臄?shù)據(jù)中,視頻數(shù)據(jù)的傳輸較為復雜,,目前主要采用MPEG-4和H.264壓縮編碼技術進行處理,,H.264編碼以低于28.8Kbps的碼率對視頻進行壓縮和解壓縮,可以完成對圖像序列和流動視頻的實時采集、壓縮,、解壓,、回放,而且采用獨特的自適應P幀及B幀壓縮技術,,進一步加強了壓縮算法的壓縮比,,配合IP組播功能,大大降低了數(shù)據(jù)實時傳輸所占用的網(wǎng)絡帶寬,。當多個監(jiān)控點同時工作,、出現(xiàn)大比特流的數(shù)據(jù)同時傳輸時,,平均占用帶寬不到250Kbps,,大大節(jié)約了用戶的網(wǎng)絡資源投入。本系統(tǒng)的視頻流" title="視頻流">視頻流采用H.264編碼,,采用AVI形式保存視頻數(shù)據(jù)文件,,系統(tǒng)中所有的數(shù)據(jù)文件全部以二進制形式保存,既保證了數(shù)據(jù)傳輸?shù)乃俣?,又有效地降低了系統(tǒng)數(shù)據(jù)的采集量,。系統(tǒng)視頻處理核心代碼如下:
AVIFileInit(); //初始化系統(tǒng)的AVIFILE庫
AVIFILE? af ; //文件指針
HRESULT hr;
Hr=AVIFileOpen(&af,LPCTSTR(filename),OF_CREATE,NULL); //生成視頻數(shù)據(jù)文件
AVISTREAMINFO sthd;??? ?//視頻數(shù)據(jù)流結構
AVISTREAM? as;??????????????? //視頻數(shù)據(jù)流接口
SetRect(&sthd.reFrame,0,0,biout.biWidth,biout.biHeight); //創(chuàng)建視頻數(shù)據(jù)流接口
系統(tǒng)獲得的視頻流,通過數(shù)據(jù)線傳輸給中央機,,中央機對采集的數(shù)據(jù)進行存儲與分析,。其中,系統(tǒng)采集的視頻流的傳輸過程由一個輔線程完成,。該輔線程采用RTP協(xié)議,,結合異步傳輸和多緩沖的方式對視頻數(shù)據(jù)流進行實時傳輸,很好地解決了本地播放和網(wǎng)絡傳輸?shù)臅r間差,。
由于醫(yī)院的環(huán)境比較復雜,,采集到的視頻圖像存在很大的噪聲。為了不影響系統(tǒng)的監(jiān)管性能,,在這個系統(tǒng)中開發(fā)了一個“去噪增強算法構件”,,通過這個構件對采集到的圖像進行“去噪增強”,具體實現(xiàn)為如下兩個步驟:
?。?)對監(jiān)控圖像采用YUV系統(tǒng)的Y分量進行數(shù)學形態(tài)學濾波,。由于監(jiān)控圖像采用RGB表示系統(tǒng),所以首先需要將圖像的RGB表示系統(tǒng)轉換為YUV表示系統(tǒng),,以獲取圖像的灰度值Y分量,,然后對圖像像素的灰度值即Y分量進行數(shù)學形態(tài)學濾波。
?。?)對經過數(shù)學形態(tài)學濾波的Y分量進行中值濾波,。因為圖像像素的Y分量進行數(shù)學形態(tài)學濾波后,已經消除了一部分噪聲,并把圖像的細節(jié)聚合在一起了,。這時再使用中值濾波法就可以消除圖像中剩余的噪聲,,使得圖像平滑,并且不會嚴重地丟失圖像細節(jié),。為了保持圖像的細節(jié),,選用3×3的二維滑動窗口進行中值濾波時。
對監(jiān)護系統(tǒng)的監(jiān)控圖像進行圖像去噪增強算法處理后,,不僅監(jiān)控圖像質量更加清晰平滑,,而且監(jiān)控圖像壓縮合成的編碼流數(shù)據(jù)量,比未經處理的編碼流數(shù)據(jù)量有明顯降低,。
4 中央機的設計
中央機的開發(fā)是整個系統(tǒng)的核心,,其功能比較多,開發(fā)過程相對比較復雜,。根據(jù)系統(tǒng)要采集的參數(shù)和實現(xiàn)的功能,,本系統(tǒng)首先采用UML建模,逐步細化系統(tǒng)的功能,,將系統(tǒng)功能模塊化,、構件化,然后得到系統(tǒng)完整的功能圖和軟件組成框架,,并針對系統(tǒng)開發(fā)一個構件庫管理系統(tǒng),。在監(jiān)護系統(tǒng)開發(fā)過程中,預留了與醫(yī)院現(xiàn)有的醫(yī)院信息系統(tǒng)HIS(Hospital Information System)的接口,,因此系統(tǒng)具有較好的實用性,,醫(yī)生、護士在使用該系統(tǒng)時,,如果要查閱病人的相關資料,,就可以通過預設的功能模塊直接查閱,而不需要再去查找病人的病歷等信息,,這為病人的急救與診治節(jié)省了寶貴的時間,,大大提高了病人的診治效率。系統(tǒng)主要功能模塊如圖3所示,。
在設計好系統(tǒng)的拓樸結構后,,根據(jù)系統(tǒng)的需求設計了一批通用構件和一個構件庫管理系統(tǒng),提供給項目小組中成員開發(fā)時使用,。這樣既提高了系統(tǒng)的開發(fā)效率,,又保證了系統(tǒng)中各功能模塊與數(shù)據(jù)控制接口的統(tǒng)一標準。更重要的是使系統(tǒng)在開發(fā)過程中,,能隨著需求的變更而方便快捷地升級系統(tǒng),。在開發(fā)該系統(tǒng)的構件時力求做到:功能單一,、通用,接口簡單,、清晰,,高度獨立。該構件庫管理系統(tǒng)主要完成以下幾個功能:構件查找,、構件擴充,、構件集成、構件刪除,、構件修改,。下面分別介紹系統(tǒng)的主要功能模塊。
(1)“病人管理構件”先錄入病人的基本信息,,選擇監(jiān)測參數(shù),,設置生理參數(shù)。由于系統(tǒng)預留了與HIS接口,,該系統(tǒng)與HIS對接后,,對病人的基本信息可以通過輸入病人的住院號,,直接從HIS系統(tǒng)中調入病人的相關信息,,并且可以將病人的體征監(jiān)控參數(shù)存入HIS系統(tǒng)。
(2)生理監(jiān)測參數(shù)設置后,,實時監(jiān)測構件開始工作,,此處監(jiān)測采用多路監(jiān)測和實時動態(tài)監(jiān)測技術。監(jiān)測界面由數(shù)字顯示區(qū),、視頻顯示區(qū),、參數(shù)設置區(qū)組成。數(shù)字顯示區(qū)和視頻圖像顯示區(qū)均為浮動窗口,,位置可以調整和移動,,且不影響波形顯示。通過對系統(tǒng)濾波參數(shù)的設置,,可以設定系統(tǒng)狀態(tài)為監(jiān)視或記錄,。在監(jiān)控屏幕上可同時顯示來自4個、9個直至16個床旁機的全部參數(shù),,并可對每個床旁機的視頻流進行凍結,、放大、縮小等操作,。對采集到的異常數(shù)據(jù),,系統(tǒng)將實時報警,并顯示具體的異常信息與病人的床位號,。系統(tǒng)工作原理框圖如圖4所示,。
(3)“回放功能構件”提供病歷回放功能,。在回放過程中,可以重新設定濾波參數(shù)和顯示靈敏度,,可根據(jù)事件和時間快速定位到讀寫位置,,對歷史數(shù)據(jù)可以剪輯、回放,、趨勢分析,,可測量波幅和頻率,可根據(jù)需要打印報告,;能夠立刻再現(xiàn)所有存儲的視頻流與參數(shù),,并通過系統(tǒng)圖像處理功能對畫面進行處理以便識別;也可通過網(wǎng)絡將圖像傳送到遠程用戶,。
(4)“睡眠呼吸暫停綜合癥分析構件”為一個獨立的功能模塊,,除具有“回放功能構件”的全部功能外,還具有睡眠,、呼吸暫停綜合癥的分析功能,,根據(jù)呼吸暫停和低通器的定義,可以自動分型和計數(shù),,并計算睡眠紊亂指數(shù),。
(5)“睡眠分期構件”可根據(jù)記錄的生理參數(shù)進行全自動或手動睡眠分期,全自動分期結果可繪制出睡眠結構圖,,可從睡眠結構圖上一點定位到數(shù)據(jù)文件的指定位置,。
(6)“腦功能分析構件”主要具有兩個功能:①選擇一導或多導腦電數(shù)據(jù),再選定每導要分析的頻段,,分析它的三維頻譜,、主頻、幅值和能量邊緣頻率,。②將腦電數(shù)據(jù)根據(jù)參數(shù)不同,,分段進行計算,對每段的數(shù)據(jù)點進行連線,。
(7)“綜合功能構件”主要由三部分組成:①監(jiān)測過程中床旁機參數(shù)修改模塊,。通過這個模塊可以在監(jiān)護過程中隨時調整床旁機的參數(shù),以便及時修正病人家屬的誤操作,。②監(jiān)測參數(shù)顯示設置模塊,。③系統(tǒng)參數(shù)設置模塊。
在中央機的主要功能構件之外,,本系統(tǒng)還開發(fā)了:設備控制管理構件,、歷史數(shù)據(jù)管理構件、歷史資料分析構件和數(shù)據(jù)資料備份構件,。這些構件主要是提供給醫(yī)生進行資料分析與科研之用,。
在系統(tǒng)開發(fā)過程中主要的創(chuàng)新技術有以下兩方面:(1)采用獨特流技術,,實現(xiàn)了同時對無限制多個監(jiān)控位點實施遠程實時監(jiān)控,并可實時查看各監(jiān)控點的各種監(jiān)控數(shù)據(jù),。(2)采用標準組網(wǎng)技術,,支持IP單播、組播功能,,可以組成點對點的監(jiān)控系統(tǒng),,還可以組成一個中心對各監(jiān)控點的系統(tǒng);在網(wǎng)絡上可以設置多個監(jiān)控工作站,,滿足多個用戶的需要,,也可以用WEB方式組成多級監(jiān)控系統(tǒng)。
采用構件化設計,,能夠平滑實現(xiàn)系統(tǒng)功能的升級,,以及與其他醫(yī)療系統(tǒng)的接口,如HIS,、CIS等系統(tǒng)的接口,。神經中央監(jiān)護系統(tǒng)的成功開發(fā)與投入商業(yè)運行,很好地驗證了基于構件的軟件開發(fā)方法的正確性與可行性,。
參考文獻
[1]曹小華,,趙成,陶德馨.基于現(xiàn)場總線CAN的實時監(jiān)控系統(tǒng)研究與設計[J].武漢理工大學學報:交通工程與科學版,2005,29(6):910-912,;916.
[2]王勇,,陳新,,陳新度,,等.基于多智能體的個性化信息系統(tǒng)研究[J].計算機工程" title="計算機工程">計算機工程,2005,,31(18):31-33.
[3]崔怡,,何繼淳,劉小丹.基于構件的遠程視頻監(jiān)控系統(tǒng)設計與實現(xiàn)[J].計算機工程,,2006,,32(5):232-234.
[4]余國華,馮啟明.基于CMOS圖像傳感器的視頻采集系統(tǒng)設計[J].武漢理工大學學報:交通工程與科學版,2004,28(1):145-147.
[5]廖良斌,喻方平.基于DSP和USB的圖像采集系統(tǒng)的研究[J].武漢理工大學學報:交通工程與科學版,2006,30(1):120-123.
[6]徐大華,,韓光曙.心腦血管疾病診治系統(tǒng)的體系結構設計[J].計算機工程與設計,,2005,26(12):3259-3260,;3266.
[7]徐大華.基于HIS的臨床診治系統(tǒng)的設計[J].計算機工程,,2006,32(14).
[8]TARR P L, OSSHER H, WILLIAM H, et al. N degrees of separation: multi-dimensional separation of concerns[C].International Conference on Software Engineering 99,Las Angeles: IEEE,ACM Press,1999:107-119.
[9]盛津芳,,王斌,,陳松喬.方面化構件模型及其組裝方法[J].計算機工程,,2006,32(5):39-40,;45.