亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于DirectShow技術(shù)開發(fā)通用數(shù)字高清視頻工作站

        2012-09-20 03:38:14于冬張勇劉鈺
        中國醫(yī)療設(shè)備 2012年11期
        關(guān)鍵詞:設(shè)備模型

        于冬,張勇,劉鈺

        內(nèi)蒙古巴彥淖爾市醫(yī)院 計(jì)算機(jī)中心,內(nèi)蒙古 巴彥淖爾 015000

        0 前言

        數(shù)字視頻工作站是醫(yī)院影像歸檔和通訊系統(tǒng)(Picture Archiving and Communication System,PACS)中不可分割的一部分,在內(nèi)鏡、超聲、檢驗(yàn)、病理等領(lǐng)域有著不可替代的作用。但是,隨著時(shí)間的推移,醫(yī)院目前使用的這類工作站均面臨過時(shí)和被淘汰的境況。由于這類工作站幾乎都采用二次開發(fā)包開發(fā),綁定采集設(shè)備類型,隨著采集設(shè)備的不斷更新?lián)Q代,一旦發(fā)生采集設(shè)備的損壞,現(xiàn)時(shí)往往無法買到相同型號(hào)的采集設(shè)備,整個(gè)工作站系統(tǒng)就只能報(bào)廢;二次開發(fā)包還特定于不同的操作系統(tǒng),隨著操作系統(tǒng)的升級,開發(fā)模型的改變和進(jìn)化,導(dǎo)致原有工作站無法在當(dāng)前的新系統(tǒng)上運(yùn)行。新的醫(yī)療設(shè)備為了提升影像質(zhì)量,已經(jīng)逐漸采用了數(shù)字高清的輸出接口(HDMI),如IEEE1394等,當(dāng)前的工作站無法支持這類新式接口。原有的工作站系統(tǒng)都是單機(jī)版的,隨著PACS不斷地在醫(yī)院鋪開,影像系統(tǒng)必須連片成網(wǎng),這樣才能有助于醫(yī)師及時(shí)查詢相關(guān)知識(shí),提高診斷和科研能力[1]。因此,迫切需求開發(fā)統(tǒng)一的網(wǎng)絡(luò)版的新型通用工作站。

        1 DirectShow技術(shù)的設(shè)計(jì)模型和框架

        DirectShow在動(dòng)態(tài)數(shù)據(jù)流動(dòng)中采用“媒體流”模型,在靜態(tài)數(shù)據(jù)加工中采用“過濾器”模型,這種模型類似現(xiàn)代工業(yè)中的生產(chǎn)流水線,產(chǎn)品通過流水線最終成型,過濾器則是一道道加工工序。DirectShow還采用可插拔接口模型,基于Windows組件對象模型(COM),以過濾器圖(Filter Graph)作為總框架。各種標(biāo)準(zhǔn)以及可訂制的過濾器(Filter)作為基本框架,其運(yùn)行方式是,開發(fā)人員首先創(chuàng)建一個(gè)全局過濾器圖,根據(jù)用戶的需求將已經(jīng)注冊的各種過濾器加入過濾器圖中,通過插針(Pin)進(jìn)行連接,在用戶的請求下,其智能功能將過濾器圖建立和運(yùn)轉(zhuǎn)起來,最終成為一個(gè)流媒體架構(gòu)下可以執(zhí)行高質(zhì)量視頻和音頻采集和回放的定型模型。由于其中的過濾器是可訂制、可插拔的,因此,它能夠支持各種媒體格式和壓縮方式,包括未來將出現(xiàn)的新的媒體格式和壓縮方式。插針的連接是智能可調(diào)的,就相當(dāng)于水管的導(dǎo)流閥,既能采集數(shù)字視頻,也可以采集模擬視頻;既可以播放來自硬盤之類存儲(chǔ)設(shè)備中的文件,也可以播放來自互聯(lián)網(wǎng)或者攝像機(jī)中的媒體。DirectShow還有一個(gè)出眾的優(yōu)點(diǎn),它本身會(huì)自動(dòng)探測且使用可用的視頻和音頻加速硬件,同時(shí)在沒有加速硬件的情況下也能正常工作,這就為我們開發(fā)視頻工作站系統(tǒng)提供了設(shè)備無關(guān)性,增強(qiáng)了通用性。DirectShow的整體框架圖[2],見圖1。

        圖1 DirectShow的整體框架圖

        2 開發(fā)環(huán)境的建立

        DirectShow雖然有著優(yōu)越的通用性和可擴(kuò)展性,但同時(shí)也因其復(fù)雜性而聲名狼藉,與此同時(shí)很多人認(rèn)為它是微軟最復(fù)雜的庫和應(yīng)用編程接口(API),其中的COM對象的絕對數(shù)量也是巨大的[3]。因此,我們?yōu)榱诉m應(yīng)這個(gè)通用的框架,也付出了很大的代價(jià)。選擇一個(gè)恰當(dāng)?shù)拈_發(fā)環(huán)境至關(guān)重要。DirectShow本身是為VC++設(shè)計(jì)的,VB只能存取部分功能,如以前二次開發(fā)包中輕松調(diào)用一個(gè)函數(shù)就能解決采集圖像這樣的事,現(xiàn)在也必須做得很復(fù)雜,需要操作一類COM對象來完成,VB已經(jīng)遠(yuǎn)不能勝任了,如果轉(zhuǎn)而使用VC++,界面設(shè)計(jì)和事件處理方面引入的復(fù)雜性也使開發(fā)者不勝其煩。最終,我們選用Delphi作為開發(fā)語言,再配之以DSPACK。一套用于Delphi的開源多媒體部件庫,目前最新的版本號(hào)為2.3.4,在http://code.google.com/p/dspack這個(gè)頁面可以下載到。在DSPACK包的幫助文件中有一個(gè)完整的類關(guān)系框圖。但是,我們的開發(fā)已經(jīng)遠(yuǎn)不能局限于這個(gè)框圖中的有限類了,為了完成精確的功能,必須直接使用DirectShow提供的一些COM,好在DSPACK做得足夠好,已經(jīng)為我們聲明好了這些COM對象的接口。

        DSPACK部件包的具體安裝過程如下[4]:

        在Delphi的集成開發(fā)環(huán)境(IDE)中,選擇Tools(工具)→Environment Options(環(huán)境選項(xiàng))→Library(庫)標(biāo)簽頁,在Library path(庫路徑)中加入DSPACK的源碼目錄(DSPackDir)srcDirectX9、(DSPackDir)srcDSPack,然后選擇 File(文件)→Open project…(打開項(xiàng)目)打開(DSPackDir)packagesDirectX9_D7.dpk以及(DSPackDir)packagesDSPack_D7.dpk進(jìn)行編譯,最后選擇File→Open project…打開(DSPackDir)packagesDSPackDesign_D7.dpk進(jìn)行安裝,就可以使用各種DSPACK設(shè)計(jì)器部件了。

        3 開發(fā)中實(shí)現(xiàn)的需求及要點(diǎn)解析

        3.1 視頻采集設(shè)備的選擇

        醫(yī)院原有的視頻工作站幾乎都是默認(rèn)選擇第一塊采集卡作為視頻輸入源,這種默認(rèn)行為在以前計(jì)算機(jī)采集設(shè)備種類和個(gè)數(shù)稀少的情況下尚且可用,但對現(xiàn)在的采集設(shè)備就顯得難以應(yīng)付。很多筆記本電腦本身內(nèi)置攝像頭,雖然這種情況可以通過筆記本電腦的硬開關(guān)或者是設(shè)備管理器中禁用對應(yīng)設(shè)備的方法來解決,但在實(shí)際操作中總有人誤按硬開關(guān),造成設(shè)備自動(dòng)啟用的情況。另外,如果顯卡上自帶采集設(shè)備或者用戶自行插入U(xiǎn)SB類型的采集設(shè)備就更麻煩了。所以,我們必須通過配置文件的方式鎖定特定的采集設(shè)備作為輸入源。

        DirectShow對系統(tǒng)中的不可預(yù)知性硬件提供了良好的支持,由于不可預(yù)知性,導(dǎo)致事先我們無法知道系統(tǒng)中到底有多少采集設(shè)備,是什么型號(hào)的采集設(shè)備,DirectShow提供的解決辦法是使用設(shè)備枚舉—使用WDM Video Capture Filter(符合Windows驅(qū)動(dòng)模型的視頻采集過濾器)支持WDM卡,使用另外一個(gè)VFW Capture Filter(符合Windows視頻模型的采集過濾器)支持VFW卡[5],但不管哪種類型的卡,只要是代表視頻采集卡的Filter都被注冊為CLSID_VideoInputDeviceCategory類型。因此,我們只需要對該類型設(shè)備進(jìn)行枚舉就可以知道系統(tǒng)中有多少采集設(shè)備,在設(shè)備枚舉的過程中,我們可以得到當(dāng)前枚舉設(shè)備的具體屬性,從設(shè)備標(biāo)識(shí)中一般可以獲得兩種名字:Display Name(顯示名稱)和Friendly Name(友好名稱)。前者是一串帶有CLSID的復(fù)雜字符,一般不直接顯示給用戶;而后者是一種讓用戶從字面上理解的字符串,一般在界面元素中顯示。這樣我們也就知道該設(shè)備的型號(hào)了[2]。操作的具體代碼如下:

        在此,利用DSPack的FilterIndexFriendlyName函數(shù),使得操作代碼簡捷、高效。

        3.2 過濾器圖的建立

        過濾器圖(Filter Graph)的建立,是使用DirectShow技術(shù)開發(fā)視頻工作站的核心部分。其目的是將上一級過濾器的輸出插針和下一級過濾器的輸入插針連接起來,最終使得加入過濾器圖中的各種過濾器的輸入和輸出插針首尾相連,組成順暢的流媒體管路。不同的應(yīng)用場景需要建立不同的過濾器圖,過濾器圖一旦建立錯(cuò)誤,就會(huì)發(fā)生無法運(yùn)轉(zhuǎn),即所謂的黑屏現(xiàn)象。本設(shè)計(jì)使用DirectShow中ICaptureGraphBuilder2接口的“智能連接”機(jī)制,該機(jī)制的好處是不用考慮過濾器的缺失以及過濾器間插針的連接問題,缺失的過濾器在過濾器圖建立過程中會(huì)自動(dòng)加入。

        經(jīng)過多次失敗的嘗試,最后我們?yōu)殪o態(tài)圖像采集建立過濾器圖的代碼是:

        3.3 采集設(shè)備屬性頁的顯示

        DirectShow技術(shù)主要的優(yōu)點(diǎn)就是設(shè)備無關(guān)性,但是每種類型采集設(shè)備往往都有自己獨(dú)特的屬性。最常見的就是采集設(shè)備擁有可調(diào)節(jié)的亮度、對比度、色調(diào)、飽和度,甚至還有可調(diào)節(jié)的清晰度,這些特性對于采集設(shè)備應(yīng)付不同的采集條件非常重要。原有工作站采用二次開發(fā)包進(jìn)行開發(fā),對每種屬性的調(diào)節(jié)需要調(diào)用特定的函數(shù)來完成,而且不同的開發(fā)包對于某個(gè)屬性進(jìn)行調(diào)節(jié)的函數(shù)是不同的,并沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)。DirectShow通過顯示一個(gè)設(shè)備自身的定制屬性頁給用戶,用以進(jìn)行各項(xiàng)屬性的調(diào)節(jié)。本設(shè)計(jì)采用如下代碼來實(shí)現(xiàn):

        3.4 視頻影像的凍結(jié)和靜態(tài)采集

        在測試時(shí),我們發(fā)現(xiàn)原有視頻工作站在進(jìn)行視頻采集時(shí),采集到的影像普遍存在延時(shí)和不同步的現(xiàn)象,而且由于采集影像的隨機(jī)性,采集到的影像還經(jīng)常發(fā)生扭曲、模糊、拖影等問題。針對該問題,我們仔細(xì)研究了原有視頻工作站軟件原理,同時(shí)也試圖用DirectShow技術(shù)來解決這個(gè)難題,最后終于從原理上揭示出了該問題的根源,并采用了新的代碼克服了這一現(xiàn)象。

        原有視頻工作站的影像靜態(tài)采集是,首先通過對屏幕上顯示的影像進(jìn)行凍結(jié),然后進(jìn)行屏幕采集得到靜態(tài)影像。而視頻采集卡存在兩個(gè)輸出插針—采集插針(Capture Pin)和預(yù)覽插針(Preview Pin),采集插針和預(yù)覽插針同樣都是輸出采集的視頻數(shù)據(jù),但用途不同,前者主要用于寫文件,后者主要用于顯示。為了保證采集插針的輸出性能,預(yù)覽插針會(huì)自動(dòng)丟幀,從采集插針出來的采樣(Sample)都打上了采集時(shí)刻的時(shí)間戳,而從預(yù)覽插針出來的Sample不打時(shí)間戳[2]。所以,按照上述采集方法,得到的影像其實(shí)是預(yù)覽針輸出的影像。為此,我們建立起的靜態(tài)采集過濾器圖,將SampleGrabber這個(gè)過濾器加入過濾器圖中,當(dāng)流媒體通過過濾器圖時(shí),它可以在需要的情況下從采集插針中攫取一幀完整采樣,然后從這個(gè)完整采樣中截取有效部分。采集用關(guān)鍵代碼如下:

        4 臨床使用效果總結(jié)

        我們采用DirectShow技術(shù)開發(fā)的視頻工作站克服了原有視頻工作站的固有缺陷,由于其設(shè)備無關(guān)性,使原有視頻工作站不用更換任何硬件設(shè)備就可以再次使用,降低了開發(fā)成本,同時(shí)提高了適用程度和使用效果。在此基礎(chǔ)上,我們采用USB采集設(shè)備使得工作站微型化,實(shí)現(xiàn)了筆記本電腦的工作站,真正實(shí)現(xiàn)了移動(dòng)醫(yī)療,可以在床旁這樣苛刻的條件下實(shí)時(shí)觀看,并進(jìn)行動(dòng)態(tài)視頻錄制[6],保留現(xiàn)場第一手資料,而不受物理環(huán)境的限制;在面對病理檢測中高清的顯微鏡,該視頻工作站直接支持HDMI接口的數(shù)字視頻采集卡,使得圖像的分辨率最高達(dá)到1920×1080的清晰度,可以幫助醫(yī)生提高診斷能力,并使典型影像具有更高的科研價(jià)值。我們的工作站本身支持網(wǎng)絡(luò)版數(shù)據(jù)庫[7],使得全院使用統(tǒng)一的工作站[8],方便了數(shù)據(jù)交換,且順利地連片成網(wǎng),和全院PACS融為了一體。

        [1]傅建群.超聲工作站綜合知識(shí)點(diǎn)查詢及教學(xué)、科研模板的開發(fā)與應(yīng)用[J].中國醫(yī)療設(shè)備,2011,26(5):76-77.

        [2]陸其明.DirectShow開發(fā)指南[M].北京:清華大學(xué)出版社,2003.

        [3]孫安華,徐家宴,李劍戈,等.一種簡便通用的超聲工作站的設(shè)計(jì)和開發(fā)[J].北京生物醫(yī)學(xué)工程,2008,(6):578-581.

        [4]裴赟,董宏,樓翔.用Delphi+DSPack開發(fā)數(shù)碼攝像程序[J].計(jì)算機(jī)時(shí)代,2007,(10):35-36.

        [5]徐子寧,張竹君,鐘孟兒.用Vfw實(shí)現(xiàn)的圖像采集超聲工作站的體會(huì)[J].影像診斷與介入放射學(xué),2006,(1):42-44.

        [6]徐盛海.自行開發(fā)超聲圖文工作站的應(yīng)用體會(huì)[J].中國實(shí)用醫(yī)藥,2011,(25):262-263.

        [7]陳捷,何達(dá)峰.內(nèi)鏡圖文工作站網(wǎng)絡(luò)信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].醫(yī)療衛(wèi)生裝備,2010,(6):57.

        [8]張平.醫(yī)院內(nèi)鏡中心圖文網(wǎng)絡(luò)的實(shí)施[J].醫(yī)療設(shè)備信息,2005,20(12):19-21.

        猜你喜歡
        設(shè)備模型
        一半模型
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
        基于MPU6050簡單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        3D打印中的模型分割與打包
        500kV輸變電設(shè)備運(yùn)行維護(hù)探討
        FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
        如何在設(shè)備采購中節(jié)省成本
        亚洲天堂av中文字幕在线观看| 亚洲欧美日韩高清中文在线| 无码精品国产午夜| 日本在线观看三级视频| 天天综合网网欲色| 久久水蜜桃亚洲av无码精品麻豆| 久久亚洲国产中v天仙www| 日本一区二区三区一级免费| 国产伦一区二区三区色一情| 国产ww久久久久久久久久| 亚洲午夜精品久久久久久人妖| 黑人一区二区三区在线| 中文字幕人妻日韩精品| 国产三级av在线播放| 亚洲日韩欧美国产高清αv| 亚洲啪啪AⅤ一区二区三区| 国产av丝袜熟女丰满一区二区| 国产欧美成人一区二区a片| 嫩草影院未满十八岁禁止入内| 国内精品久久久久影院蜜芽| 久久久人妻一区二区三区蜜桃d | 男女好痛好深好爽视频一区| 好看的中文字幕中文在线| 国产精品女同久久久久电影院 | 国产自拍伦理在线观看| 九九九免费观看视频| 日本丰满人妻xxxxxhd| 91精品日本久久久久久牛牛| 亚洲熟少妇一区二区三区| 亚洲av无码专区在线观看下载| 久久AV老司机精品网站导航| 亚洲av粉嫩性色av| 亚洲av片无码久久五月| 国产又滑又嫩又白| 丰满人妻AV无码一区二区三区 | 亚洲一区二区三区小说| 麻豆国产人妻欲求不满谁演的| 免费视频成人 国产精品网站| 久久精品熟女亚洲av香蕉 | 美女视频永久黄网站免费观看国产 | 国产精品人伦一区二区三|