嚴正國,胡明月
(西安石油大學光電油氣測井與檢測國家教育部重點實驗室,西安 710065)
井下電視是用來獲取井下直觀圖像資料的一種電視成像測井儀器[1],主要用于石油、氣、水井中套管問題診斷。視頻成像測井儀即井下電視(downhole video)以其圖像直觀、清晰、實時性好而在成像測井儀器中獨樹一幟[4]。隨著測井技術的發(fā)展,井下電視有了重要的突破,搭載新一代測井電纜高速傳輸技術的網(wǎng)絡高清井下電視可取得高清井下視頻圖像資料,解決了模擬視頻無法遠距離傳輸?shù)膯栴}。為測井人員設計井下作業(yè)方案提供了可靠的依據(jù),并且可對井下作業(yè)效果檢查評估。設計一款客戶端軟件可最大程度人為直觀地控制網(wǎng)絡高清井下電視,實現(xiàn)其客戶端控制、決策和管理。
網(wǎng)絡高清井下電視整體上分為三大部分[3]:網(wǎng)絡高清井下電視下井儀,網(wǎng)絡高清井下電視地面儀、PC,如圖1所示:攝像頭在下井儀部分采集井下視頻通過處理由測井電纜傳輸?shù)降孛鎯x,地面儀對傳回的視頻處理后顯示在PC端。網(wǎng)絡高清井下電視可實現(xiàn)在鎧裝電纜上傳輸距離長達7000m、電纜傳輸速率超過1Mb?ps,電纜自適應,網(wǎng)絡化等優(yōu)勢,其傳輸?shù)膱D像為流暢的彩色全幀率圖像,開辟了測井技術的新鄰域。
圖1 井下電視結構框圖
SDK是提供給軟件開發(fā)人員進行應用程序開發(fā)的,程序員據(jù)此就可以快速地建立應用軟件,而省去了編寫硬件代碼和基礎代碼框架的過程。通過調用SDK提供的API函數(shù)完成系統(tǒng)各個模塊的功能??蛻舳塑浖_發(fā)中視頻處理和字符疊加模塊是基于海康威視設備網(wǎng)絡SDK開發(fā)包進行二次開發(fā)。設備網(wǎng)絡SDK是基于設備私有網(wǎng)絡通信協(xié)議開發(fā)的,為嵌入式網(wǎng)絡硬盤錄像機、網(wǎng)絡攝像機等網(wǎng)絡產品服務的配套模塊[2]。考慮到硬件兼容性問題,云臺控制模塊采用雄邁的設備網(wǎng)絡SDK開發(fā)[7]。利用功能強大的SDK開發(fā)網(wǎng)絡高清井下電視客戶端軟件具有功能完善,可靠性高,開發(fā)周期短,效率高,開發(fā)成本低等優(yōu)點。
該客戶端軟件是在Windows7操作系統(tǒng)下使用Mi?crosoft Visual Studio 2005進行開發(fā)。在開發(fā)中使用C++面向對象編程語言進行編程。基于MFC進行軟件界面設計,SDK進行具體功能開發(fā)。采用面向對象的程序設計思想,將系統(tǒng)整體劃分為界面層和邏輯處理層兩大模塊。
根據(jù)測井需要,客戶端軟件視頻處理包括:視頻連接、播放、錄像,抓圖功能;利用MFC將這部分功能控件置于客戶端軟件主界面,主界面是整個軟件的核心部分,實現(xiàn)實時預覽井下狀況,診斷井下問題;錄像,并抓圖分析,測井過程中需要配置下井儀下井速度與深度,標注井號,井況等信息。字符疊加功能在參數(shù)配置框中,用于深度參數(shù)配置(包括編碼器脈沖常數(shù),同步輪周長,深度值),OSD設置(視頻標題設置,用戶標注設置)。井下環(huán)境復雜,空間狹小,黑暗。PTZ控制攝像頭上、下、左、右、居中以及攝像頭焦距和燈光,可對井下狀況進行全面準確的參數(shù)配置對深度參數(shù)及OSD進行設置,云臺控制實現(xiàn)對攝像頭方位及燈光亮暗進行控制。
測井人員直接與界面層接觸,設置友好的操作界面和操作方式可為測井人員在測井過程中提供良好的體驗??蛻舳塑浖慕缑嬖O計如圖2所示。
圖2 井下電視界面框架圖
利用面向對象設計思想,把整個客戶端軟件劃分為界面層和邏輯處理層兩部分,界面層由測井人員直接操作,界面層使用MFC根據(jù)需求實現(xiàn)設計,同時對不同功能模塊分別創(chuàng)建不同的類,調用SDK提供的庫函數(shù)實現(xiàn)軟件功能[5]。
客戶端軟件按功能模塊分為三個類:class CReal?PlayDlg主要用于選擇一路播放通道,井下視頻實時播放,錄像,抓圖;class SerialTransDlg主要用于深度參數(shù)設置,OSD設置;class TransparentDemonDlg主要用于進行云臺控制。
視頻播放是從網(wǎng)絡設備取實時碼流,解碼顯示到客戶端界面;該功能主要是調用SDK的接口NET_DVR_RealPlay_V30實現(xiàn)視頻預覽播放;調用接口NET_DVR_StopRealPlay停止播放;錄像主要實現(xiàn)網(wǎng)絡攝像機實時數(shù)據(jù)流存儲,錄像按照如:20170323091834_ch01.mp4格式存儲在record文件夾里。在測井過程中抓取圖片有利于輔助測井人員分析井況,抓取圖片調用NET_DVR_CapturePicture接口,抓圖之前保持一路通道播放測井視頻,抓圖模式分為BMP和JPG。
參數(shù)配置部分主要分為深度參數(shù)配置合OSD設置,深度參數(shù)配置用來配置下井儀下井速度與深度。OSD設置部分用來設置測井視頻標題如:井號信息,位置,疊加的方式,字體型號,顏色大小,顯示模式疊加到視頻碼流中去。用戶標注,以及數(shù)據(jù)的顯示位置,行為10,列為24調用SDK接口NET_DVR_SerialSend通過透明通道向設備發(fā)送數(shù)據(jù),調用NET_DVR_SerialStart建立透明通道,NET_DVR_SerialStop停止透明通道,數(shù)據(jù)編碼標準為字符型和ascii。
云臺控制攝像頭位置,攝像頭中燈光的亮暗,以及焦距的遠近,云臺控制協(xié)議為PELCO-D,利用該協(xié)議對攝像頭的上、下、左、右、居中,攝像頭焦距遠近進行控制;利用自定義協(xié)議控制燈光。整個軟件的流程框圖如圖3所示。
圖3 客戶端流程框圖
圖5 套管結垢測井圖片
網(wǎng)絡高清井下電視客戶端軟件設計完成后,界面圖如圖4所示,軟件與網(wǎng)絡高清井下電視連接成功,在多次測井中取得了良好的效果,系統(tǒng)運行穩(wěn)定,從井下傳輸回來的實時圖像清晰流暢。圖5為客戶端軟件測井圖片。高清井下電視客戶端軟件的設計,該軟件支持TCP/IP協(xié)議,兼容性良好,界面美觀易操作,能顯著提高測井人員的工作效率,為設定井下作業(yè)方案提供了可靠的依據(jù)。且實現(xiàn)了設備登錄,視頻連接,播放,錄像,抓圖,深度參數(shù)配置(包括編碼器脈沖常數(shù),同步輪周長,深度清零,深度設置),OS D設置(視頻標題設置,位置設置,用戶標注設置),云臺控制等功能。并在實際測井應用中取得了很好的效果,有較高的應用推廣價值。
通過使用HIKVISON SDK和雄邁SDK實現(xiàn)網(wǎng)絡
參考文獻:
[1]嚴正國.井下電視成像測井圖像壓縮技術研究[D].西安電子科技大學,2005.
[2]海康威視.設備網(wǎng)絡SDK編程指南[EB/OL].http://www.hikvision.com/cn/download_61.html
[3]嚴正國,張家田.井下電視圖像壓縮技術[J].西安石油大學學報(自然科學)
[4]張家田,嚴正國,胡長嶺等.井下視頻成像測井技術[J].儀器儀表學報,2007,28(4):714~717.
[5]王永嘉.監(jiān)控系統(tǒng)-客戶端設計與實現(xiàn)[D].浙江大學,2009.
[6]Barron J,Fleet D,Beauchemin S.Performance of Optical Flow Techniques.International Journal of Computer Vision,1994,12(1):42-77.
[7]雄邁.網(wǎng)絡SDK開發(fā)手冊[EB/OL].https://pan.sohu.net/f/MTY4MzQsaGR1a20.html.