本文研究并開發了一種帶有鼻內鏡功能的新型超聲波鼻炎治療儀可視化系統。在Linux平臺下,用視頻采集卡采集鼻內鏡視頻數據,借助操作系統提供的視頻應用程序接口Video4Linux2(V4L2)獲取視頻采集卡數據,并利用Qt實時顯示視頻圖像,實現了新型超聲波鼻炎治療儀的可視化功能,解決了當前超聲波鼻炎治療儀依賴龐大且昂貴的鼻內窺鏡成像設備的問題,簡化了醫生的操作,滿足了治療時監控鼻腔的需求,大大降低了治療成本,有利于該儀器的推廣。經過測試,鼻內鏡圖像清晰流暢,完全滿足超聲波治療鼻炎的臨床需求。
引用本文: 趙強, 曾德平, 張逸. 基于V4L2的超聲波鼻炎治療儀可視化研究. 生物醫學工程學雜志, 2014, 31(5): 1127-1131. doi: 10.7507/1001-5515.20140212 復制
引言
變應性鼻炎是常見的慢性疾病,對患者的正常生活有較大影響。近年來隨著變應原物質的明顯增多,全球范圍內發病率有逐漸上升的趨勢[1]。目前治療變應性鼻炎的方法有藥物治療、針灸治療和物理治療。物理治療有激光、微波、射頻、生物共振等方式,這些治療方式要么缺乏可靠的對照試驗客觀評定其療效,要么對正常組織存在傷害,以及對環境有輻射和污染。聚焦超聲是一種新型的物理治療手段,具有無創、高效、并發癥低、可重復治療的優點,并且無污染,患者痛苦小,醫生培訓簡單。臨床研究表明,聚焦超聲治療總有效率可達76%以上,是一種較好的治療方式[1-2]。
超聲波鼻炎治療儀正是利用聚焦超聲技術治療變應性鼻炎的一種新型設備,然而該治療儀目前所采用的硬件系統功能擴展有限,人機交互界面不甚友好,關鍵是在治療過程中需要單獨的鼻內窺鏡成像系統作為影像監控,而鼻內窺鏡系統成像設備成本較高,在一定程度上影響了該治療方式的推廣和使用。另外,在臨床使用時,鼻內窺鏡的作用僅僅是引導治療,對視頻圖像要求不高,也不需要諸如生成病例報告等額外的復雜功能,因此無需采用完整的鼻內窺鏡系統配合治療。
本文提出設計一種帶鼻內鏡功能的新型超聲波鼻炎治療儀,實現治療系統和影像系統一體化,即儀器可視化;并進行了的相關研究與開發,解決當前超聲波鼻炎治療儀對鼻內窺鏡系統的依賴問題,同時增強功能擴展能力,有利于超聲波鼻炎治療儀的推廣和使用。
1 可視化系統結構介紹
1.1 硬件設計
本文設計的新型系統選用CYMO B.V.公司生產的1502型內窺鏡作為可視化系統的視頻采集設備,選用威強公司生產的PM-945GSE-N270主板作為可視化超聲波鼻炎治療儀的主控制板,其處理器性能可達到Intel Pentium 4 處理器的水平[3]。而現有系統沒有可視化功能的硬件支持,主板擴展能力較弱,運行效果較差。新型系統與現有系統對比如表 1所示。

從表 1中可以看出,相比現有系統,本文設計的新型系統接口豐富、CPU處理速度快、圖形界面優秀,因此新系統在功能擴展能力、響應速度和人機交互能力三個方面都大幅度提高。良好的硬件平臺使得下一步集成鼻內窺鏡成為可能。硬件結構框圖如圖 1所示。

鼻內窺鏡圖像由視頻采集卡進行采集,通過USB接口連接到主控制板。在Linux系統下,通過USB驅動模塊將鼻內窺鏡加載到主控制板控制端口,并建立計算機與鼻內鏡之間的通信管道。這樣,主控制板通過USB接口的視頻采集卡與鼻內窺鏡設備進行通信。
1.2 軟件設計
可視化系統軟件是在芬蘭Digia公司的Qt集成環境中開發的。軟件流程如圖 2所示。

可視化視頻采集部分被放在采集子線程中,通過調用Linux系統下的視頻設備應用程序接口Video4Linux2(V4L2)實現對視頻數據時序性的管理、緩沖區內存管理和配置相關采集參數,并借助USB驅動控制硬件以獲得視頻數據[4-5]。采集到每一幀圖像以事件的方式發送給主線程,主線程將其格式轉換后顯示出來。
2 視頻采集的實現
采集前利用一段測試代碼通過VIDEOC_QUERYCAP、VIDIOC_ENUMSTD、VIDIOC_ENUM_FMT、VIDIOC_ENUMINPUT獲取視頻設備的驅動功能、制式、視頻格式和輸入頻道等信息。從這些信息中可以得到視頻設備支持packet型16bppYUYV格式,支持sliced VBI和raw VBI模式,有捕獲能力,可控制輸入輸出流,可通過調用系統讀寫函數讀寫視頻流。視頻采集過程如圖 3所示。

具體過程如下:
(1)以讀寫方式打開視頻設備。int fd=open(“/dev/video0”,O_RDWR)。
(2)設置視頻采集屬性。由于視頻采集卡以PAL制式采集視頻,因此需要配置采集視頻制式。用VIDIOC_S_STD設置視頻制式為PAL,用VIDIOC_S_FMT設置視頻格式為YUYV,大小為640×480。視頻數據流類型一直保持V4L2_BUF_TYPE_VIDEO_CAPTURE。
(3)向驅動空間申請4個內存,并映射到用戶空間。V4L2支持三種數據交換模式,分別是:用戶指針方式(userptr)、直接讀取設備文件方式(read/write)和內存映射(mmap)方式。考慮到程序響應速度,本文通過V4L2_MEMORY_MMAP設置視頻采集為mmap映射方式,這種方式驅動和應用程序共享申請到的緩沖區,在進行數據處理時不需要進行拷貝,大大提高了視頻采集效率,提升了顯示效果[6-7]。用VIDIOC_REQBUFS向內核申請4個YUYV內存空間。用VIDIOC_QUERYBUF獲得緩沖區的長度和偏移地址,通過mmap函數映射到用戶空間。
(4)用VIDIOC_QBUF將每個緩沖區放入視頻采集隊列。
(5)用VIDIOC_STREAMON啟動視頻采集,啟動后,驅動會不斷地將從視頻設備中采集到的幀加入緩存隊列。
(6)在視頻采集過程中,采用緩沖機制提高幀速率。緩沖機制如圖 4所示。在正常的視頻采集流程進行到啟動視頻采集步驟時,采用一個while(1)循環實現緩沖。在這個循環中,用VIDIOC_DQBUF得到一幀圖像,程序會以事件的方式把這一幀數據發送給主線程進一步處理,然后繼續利用VIDIOC_QBUF將一個緩沖區放入視頻采集隊列。因此,在程序處理一幀視頻的過程中,仍可以采集下一幀,從而增大了幀速,提高了視頻質量。

3 視頻的實時顯示
本文選用Qt作為可視化系統的圖形用戶界面開發工具,顯示采集到的圖像。它提供的QImage類是一個與硬件設備無關的圖像表達結構,可以直接操作圖像中的像素數據,也可以作為繪圖設備。同時采用雙緩沖繪圖機制,避免顯示時的閃爍[8]。顯示流程如圖 5所示。 主線程接收到采集線程發送來的一幀數據后,完成其格式轉換和顯示工作[9]。

3.1 格式轉換
RGB24格式每個像素占3個字節,YUYV格式每個像素占2個字節,所以每一幀RGB24格式的內存大小為YUYV格式內存大小的2/3,而一幀鼻內窺鏡YUYV格式圖像占用內存的大小可通過VIDIOC_QUERYBUF,由structv4l2_buffer結構體中length成員得知,由此得到一幀RGB24格式圖像需要的內存大小。接下來填充該內存。
y1,u,y2,v為一幀YUYV格式圖像一個像素的y,u,v分量。對于YUYV格式,每個色差信道(u,v)的抽樣率是亮度信道(y)的一半。對非壓縮的8比特量化的圖像來說,每個由兩個水平方向相鄰的像素組成的宏像素需要占用4字節內存。內存布局為y0,u0,y1,v0,y2,u1,y3,v1,y4,u2,y5,v2……。對于RGB24格式使用24位來表示一個像素,RGB分量都用8位表示,取值范圍為0~255,內存布局為BGR BGR BGR……。
提取一幀YUYV格式每個像素中亮度分量y1,y2,色度分量u,v。則 y1=?pYUV++-16; u=?pYUV++-128; y2=?pYUV++-16; v=?pYUV++-128。
根據RGB分量與YUV分量的數值與內存布局關系通過換算填充RGB24格式的圖像。相關代碼如下:
?pRgb++=clip[(298?y1+409?v+128) ? 8];
?pRgb++=clip[(298?y1-100?u-208?v+128) >> 8];
?pRgb++=clip[(298?y1+516?u+128) >> 8];
?pRgb++=clip[(298?y2+409?v+128)>> 8];
?pRgb++=clip[(298?y2-100?u-208?v+128) >> 8];
?pRgb++=clip[(298?y2+516?u+128) >> 8];
其中g_imgBufSize 為一幀YUYV格式圖像緩存大小,pYUV 指向一幀YUYV格式圖像,pRgb指向一幀RGB24格式圖像,clip函數將運算結果限制在0~255之間。
3.2 顯示
用QImage類來構建一幅圖像,并利用QPainter類提供的繪圖函數drawImage和重繪函數update在部件QLabel上連續顯示每一幀圖像,形成視頻流。
4 結果
圖 6為一例變應性鼻炎引起的鼻腔肥大病例。從治療前的影像可見鼻腔肥大嚴重影響呼吸。經聚焦超聲治療后可見,癥狀明顯緩解,鼻腔通氣量達到正常水平。治療儀主界面如圖 7所示。


經過測試,可視化系統動態監控時視頻幀速率為25 幀/s,最大影像分辯率為720×576,畫面清晰、流暢。經過醫生試用,該可視化系統的視頻顯示效果可以達到臨床治療鼻炎時監控的要求。原超聲波鼻炎治療儀與改進后超聲波鼻炎治療儀對比如表 2所示。

綜上所述,本文創新性地將鼻內鏡和超聲波鼻炎治療儀集成一體為新型鼻炎治療儀,設計的可視化系統在不影響引導治療和實時監控的條件下,豐富了超聲波鼻炎治療儀的功能,降低了設備成本,簡化了醫生操作,并使設備的人機交互界面更加友好,有助于促進該儀器的推廣和使用。
5 總結
本文在新的硬件平臺下,基于V4L2視頻采集技術,創新性地設計了一款具有可視化功能的新型超聲波鼻炎治療儀,并詳盡地闡述了可視化模塊的設計開發過程。實驗結果表明,在利用超聲波鼻炎治療儀進行治療時,利用本文開發的可視化模塊,可以安全有效地引導治療頭對病灶區域的治療,減輕臨床醫師的操作難度,使該儀器的人機交互界面更加友好,有利于儀器的推廣和使用。
遠程醫療逐步成為現代醫學重要的輔助手段,本文設計的系統還可以添加網絡功能,將本地患者鼻內病灶情況以視頻的方式實時傳送給不在現場的專家進行會診,共同協商擬定治療方案,這為醫療資源的共享提供了一個解決方法。這部分功能模塊將在今后的工作中結合臨床實際需求進一步研究開發。
引言
變應性鼻炎是常見的慢性疾病,對患者的正常生活有較大影響。近年來隨著變應原物質的明顯增多,全球范圍內發病率有逐漸上升的趨勢[1]。目前治療變應性鼻炎的方法有藥物治療、針灸治療和物理治療。物理治療有激光、微波、射頻、生物共振等方式,這些治療方式要么缺乏可靠的對照試驗客觀評定其療效,要么對正常組織存在傷害,以及對環境有輻射和污染。聚焦超聲是一種新型的物理治療手段,具有無創、高效、并發癥低、可重復治療的優點,并且無污染,患者痛苦小,醫生培訓簡單。臨床研究表明,聚焦超聲治療總有效率可達76%以上,是一種較好的治療方式[1-2]。
超聲波鼻炎治療儀正是利用聚焦超聲技術治療變應性鼻炎的一種新型設備,然而該治療儀目前所采用的硬件系統功能擴展有限,人機交互界面不甚友好,關鍵是在治療過程中需要單獨的鼻內窺鏡成像系統作為影像監控,而鼻內窺鏡系統成像設備成本較高,在一定程度上影響了該治療方式的推廣和使用。另外,在臨床使用時,鼻內窺鏡的作用僅僅是引導治療,對視頻圖像要求不高,也不需要諸如生成病例報告等額外的復雜功能,因此無需采用完整的鼻內窺鏡系統配合治療。
本文提出設計一種帶鼻內鏡功能的新型超聲波鼻炎治療儀,實現治療系統和影像系統一體化,即儀器可視化;并進行了的相關研究與開發,解決當前超聲波鼻炎治療儀對鼻內窺鏡系統的依賴問題,同時增強功能擴展能力,有利于超聲波鼻炎治療儀的推廣和使用。
1 可視化系統結構介紹
1.1 硬件設計
本文設計的新型系統選用CYMO B.V.公司生產的1502型內窺鏡作為可視化系統的視頻采集設備,選用威強公司生產的PM-945GSE-N270主板作為可視化超聲波鼻炎治療儀的主控制板,其處理器性能可達到Intel Pentium 4 處理器的水平[3]。而現有系統沒有可視化功能的硬件支持,主板擴展能力較弱,運行效果較差。新型系統與現有系統對比如表 1所示。

從表 1中可以看出,相比現有系統,本文設計的新型系統接口豐富、CPU處理速度快、圖形界面優秀,因此新系統在功能擴展能力、響應速度和人機交互能力三個方面都大幅度提高。良好的硬件平臺使得下一步集成鼻內窺鏡成為可能。硬件結構框圖如圖 1所示。

鼻內窺鏡圖像由視頻采集卡進行采集,通過USB接口連接到主控制板。在Linux系統下,通過USB驅動模塊將鼻內窺鏡加載到主控制板控制端口,并建立計算機與鼻內鏡之間的通信管道。這樣,主控制板通過USB接口的視頻采集卡與鼻內窺鏡設備進行通信。
1.2 軟件設計
可視化系統軟件是在芬蘭Digia公司的Qt集成環境中開發的。軟件流程如圖 2所示。

可視化視頻采集部分被放在采集子線程中,通過調用Linux系統下的視頻設備應用程序接口Video4Linux2(V4L2)實現對視頻數據時序性的管理、緩沖區內存管理和配置相關采集參數,并借助USB驅動控制硬件以獲得視頻數據[4-5]。采集到每一幀圖像以事件的方式發送給主線程,主線程將其格式轉換后顯示出來。
2 視頻采集的實現
采集前利用一段測試代碼通過VIDEOC_QUERYCAP、VIDIOC_ENUMSTD、VIDIOC_ENUM_FMT、VIDIOC_ENUMINPUT獲取視頻設備的驅動功能、制式、視頻格式和輸入頻道等信息。從這些信息中可以得到視頻設備支持packet型16bppYUYV格式,支持sliced VBI和raw VBI模式,有捕獲能力,可控制輸入輸出流,可通過調用系統讀寫函數讀寫視頻流。視頻采集過程如圖 3所示。

具體過程如下:
(1)以讀寫方式打開視頻設備。int fd=open(“/dev/video0”,O_RDWR)。
(2)設置視頻采集屬性。由于視頻采集卡以PAL制式采集視頻,因此需要配置采集視頻制式。用VIDIOC_S_STD設置視頻制式為PAL,用VIDIOC_S_FMT設置視頻格式為YUYV,大小為640×480。視頻數據流類型一直保持V4L2_BUF_TYPE_VIDEO_CAPTURE。
(3)向驅動空間申請4個內存,并映射到用戶空間。V4L2支持三種數據交換模式,分別是:用戶指針方式(userptr)、直接讀取設備文件方式(read/write)和內存映射(mmap)方式。考慮到程序響應速度,本文通過V4L2_MEMORY_MMAP設置視頻采集為mmap映射方式,這種方式驅動和應用程序共享申請到的緩沖區,在進行數據處理時不需要進行拷貝,大大提高了視頻采集效率,提升了顯示效果[6-7]。用VIDIOC_REQBUFS向內核申請4個YUYV內存空間。用VIDIOC_QUERYBUF獲得緩沖區的長度和偏移地址,通過mmap函數映射到用戶空間。
(4)用VIDIOC_QBUF將每個緩沖區放入視頻采集隊列。
(5)用VIDIOC_STREAMON啟動視頻采集,啟動后,驅動會不斷地將從視頻設備中采集到的幀加入緩存隊列。
(6)在視頻采集過程中,采用緩沖機制提高幀速率。緩沖機制如圖 4所示。在正常的視頻采集流程進行到啟動視頻采集步驟時,采用一個while(1)循環實現緩沖。在這個循環中,用VIDIOC_DQBUF得到一幀圖像,程序會以事件的方式把這一幀數據發送給主線程進一步處理,然后繼續利用VIDIOC_QBUF將一個緩沖區放入視頻采集隊列。因此,在程序處理一幀視頻的過程中,仍可以采集下一幀,從而增大了幀速,提高了視頻質量。

3 視頻的實時顯示
本文選用Qt作為可視化系統的圖形用戶界面開發工具,顯示采集到的圖像。它提供的QImage類是一個與硬件設備無關的圖像表達結構,可以直接操作圖像中的像素數據,也可以作為繪圖設備。同時采用雙緩沖繪圖機制,避免顯示時的閃爍[8]。顯示流程如圖 5所示。 主線程接收到采集線程發送來的一幀數據后,完成其格式轉換和顯示工作[9]。

3.1 格式轉換
RGB24格式每個像素占3個字節,YUYV格式每個像素占2個字節,所以每一幀RGB24格式的內存大小為YUYV格式內存大小的2/3,而一幀鼻內窺鏡YUYV格式圖像占用內存的大小可通過VIDIOC_QUERYBUF,由structv4l2_buffer結構體中length成員得知,由此得到一幀RGB24格式圖像需要的內存大小。接下來填充該內存。
y1,u,y2,v為一幀YUYV格式圖像一個像素的y,u,v分量。對于YUYV格式,每個色差信道(u,v)的抽樣率是亮度信道(y)的一半。對非壓縮的8比特量化的圖像來說,每個由兩個水平方向相鄰的像素組成的宏像素需要占用4字節內存。內存布局為y0,u0,y1,v0,y2,u1,y3,v1,y4,u2,y5,v2……。對于RGB24格式使用24位來表示一個像素,RGB分量都用8位表示,取值范圍為0~255,內存布局為BGR BGR BGR……。
提取一幀YUYV格式每個像素中亮度分量y1,y2,色度分量u,v。則 y1=?pYUV++-16; u=?pYUV++-128; y2=?pYUV++-16; v=?pYUV++-128。
根據RGB分量與YUV分量的數值與內存布局關系通過換算填充RGB24格式的圖像。相關代碼如下:
?pRgb++=clip[(298?y1+409?v+128) ? 8];
?pRgb++=clip[(298?y1-100?u-208?v+128) >> 8];
?pRgb++=clip[(298?y1+516?u+128) >> 8];
?pRgb++=clip[(298?y2+409?v+128)>> 8];
?pRgb++=clip[(298?y2-100?u-208?v+128) >> 8];
?pRgb++=clip[(298?y2+516?u+128) >> 8];
其中g_imgBufSize 為一幀YUYV格式圖像緩存大小,pYUV 指向一幀YUYV格式圖像,pRgb指向一幀RGB24格式圖像,clip函數將運算結果限制在0~255之間。
3.2 顯示
用QImage類來構建一幅圖像,并利用QPainter類提供的繪圖函數drawImage和重繪函數update在部件QLabel上連續顯示每一幀圖像,形成視頻流。
4 結果
圖 6為一例變應性鼻炎引起的鼻腔肥大病例。從治療前的影像可見鼻腔肥大嚴重影響呼吸。經聚焦超聲治療后可見,癥狀明顯緩解,鼻腔通氣量達到正常水平。治療儀主界面如圖 7所示。


經過測試,可視化系統動態監控時視頻幀速率為25 幀/s,最大影像分辯率為720×576,畫面清晰、流暢。經過醫生試用,該可視化系統的視頻顯示效果可以達到臨床治療鼻炎時監控的要求。原超聲波鼻炎治療儀與改進后超聲波鼻炎治療儀對比如表 2所示。

綜上所述,本文創新性地將鼻內鏡和超聲波鼻炎治療儀集成一體為新型鼻炎治療儀,設計的可視化系統在不影響引導治療和實時監控的條件下,豐富了超聲波鼻炎治療儀的功能,降低了設備成本,簡化了醫生操作,并使設備的人機交互界面更加友好,有助于促進該儀器的推廣和使用。
5 總結
本文在新的硬件平臺下,基于V4L2視頻采集技術,創新性地設計了一款具有可視化功能的新型超聲波鼻炎治療儀,并詳盡地闡述了可視化模塊的設計開發過程。實驗結果表明,在利用超聲波鼻炎治療儀進行治療時,利用本文開發的可視化模塊,可以安全有效地引導治療頭對病灶區域的治療,減輕臨床醫師的操作難度,使該儀器的人機交互界面更加友好,有利于儀器的推廣和使用。
遠程醫療逐步成為現代醫學重要的輔助手段,本文設計的系統還可以添加網絡功能,將本地患者鼻內病灶情況以視頻的方式實時傳送給不在現場的專家進行會診,共同協商擬定治療方案,這為醫療資源的共享提供了一個解決方法。這部分功能模塊將在今后的工作中結合臨床實際需求進一步研究開發。