文/鄭明
隨著高清監(jiān)控時代的到來,網(wǎng)絡(luò)高清高速球發(fā)展迅速,在高清產(chǎn)品的應(yīng)用中占據(jù)了很大地份額。相對與前代產(chǎn)品,新一代高分辨率CMOS器件和高性能編碼芯片的使用,網(wǎng)絡(luò)高清高速球的圖像質(zhì)量,畫面流暢性等取得了非常大的進步。在這個即將全面引爆的高清監(jiān)控時代中,我們必須冷靜認(rèn)識到網(wǎng)絡(luò)高清高速球在發(fā)展中存在哪些技術(shù)短板。
第一個短板是互聯(lián)互通的問題。對應(yīng)目前主流的NVR,我們的網(wǎng)絡(luò)高清高速球出現(xiàn)了私有協(xié)議接入自家NVR沒有問題,而采用目前主流的ONVIF、PSIA、GB28181等協(xié)議接入第三方的NVR都存在圖像卡幀嚴(yán)重,或者PTZ不能控制,或者球機功能嚴(yán)重缺失等問題,具體如不能保存預(yù)置位,不能預(yù)置位巡航,更不用說其他一些更高級一點的PTZ動作。
從目前的NVR應(yīng)用情況來看,我們只能等待標(biāo)準(zhǔn)協(xié)議的進一步升級。當(dāng)然,NVR廠家能夠提供功能齊全而又開放的私有協(xié)議,高清網(wǎng)絡(luò)高速球機快速配合NVR廠家開發(fā)。在目前的發(fā)展階段來說,開放式的私有協(xié)議,更能夠開發(fā)出功能齊全,性能優(yōu)良的網(wǎng)絡(luò)高清高速球產(chǎn)品,則對網(wǎng)絡(luò)高清行業(yè)的前期推廣有著難以言喻的好處。
第二個短板是網(wǎng)絡(luò)高速球的操控問題。網(wǎng)絡(luò)高清高速球相對于傳統(tǒng)模擬球具有網(wǎng)絡(luò)延遲的先天不足,目前的網(wǎng)絡(luò)高清高速球控制都是采用調(diào)出PTZ控制界面來進行變倍、轉(zhuǎn)動等控制,由于網(wǎng)絡(luò)的延遲性和控制步長的原因,目前的網(wǎng)絡(luò)高清高速球很難精確控制,想要監(jiān)控活動物體,非常困難。這樣就把網(wǎng)絡(luò)高清高速球的應(yīng)用體驗降低了很多,遠遠不如傳統(tǒng)模擬球的控制得心應(yīng)手。隨著高清監(jiān)控的發(fā)展,這個弊端必然會逐步暴露出來,會給高清行業(yè)的發(fā)展帶來很大的弊端。當(dāng)然,很多公司也發(fā)現(xiàn)了這些問題,在局部上都作出了一些優(yōu)秀的解決方案,比如網(wǎng)絡(luò)鍵盤、3維定位技術(shù)等。
虛擬搖桿技術(shù)作為解決上述高速球短板的優(yōu)秀解決方案之一,大受業(yè)內(nèi)關(guān)注。概念本身由一款新型的攝像機控制器延伸而來。攝像機控制器的設(shè)計初衷是為了在DVR等設(shè)備上更好的控制高速球,可以把其部分的系統(tǒng)控制高速球機的理念剝離出來,用于控制網(wǎng)絡(luò)高清高速球,會發(fā)揮更好的效用,會達到非常好的用戶體驗,并實現(xiàn)了網(wǎng)絡(luò)高清高速球的所有精確控制和便捷操作。
在一個現(xiàn)實的場景中,需要的是快速監(jiān)控可疑目標(biāo),快速瀏覽周邊場景,并能跟上目標(biāo)的移動速度,做到精確地監(jiān)控目標(biāo)對象。虛擬搖桿技術(shù)就是利用鼠標(biāo)的方便操作,將鼠標(biāo)作為虛擬搖桿來定義鼠標(biāo)的所有功能:
左鍵單擊:按下鼠標(biāo)左按鍵, 然后松開。此時高速球快速到達按鍵目標(biāo),并使按鍵目標(biāo)處于屏幕中心位置。
左按鍵雙擊:連續(xù)快速的按下鼠標(biāo)左按鍵然后松開。此時高速球快速到達按鍵目標(biāo),并放大鏡頭光學(xué)倍數(shù)3倍,使目標(biāo)處于屏幕中心位置,并顯示更多細節(jié),多次左按鍵雙擊,可以達到鏡頭最大光學(xué)倍數(shù)。
左按鍵向右上或右下拖動并釋放:保持左按鍵按下狀態(tài), 并向右上或者右下移動鼠標(biāo),形成矩形區(qū)域然后放開。此時,高速球快速調(diào)整位置和鏡頭光學(xué)放大倍數(shù),并使該矩形區(qū)域盡可能充滿屏幕畫面,多次重復(fù)操作,可以達到鏡頭最大光學(xué)倍數(shù)。
左按鍵向左上或左下拖動并釋放:保持左按鍵按下狀態(tài), 并向左上或者左下移動鼠標(biāo),形成矩形區(qū)域然后放開。此時,高速球快速調(diào)整位置和鏡頭光學(xué)縮小倍數(shù),并使該矩形區(qū)域達到屏幕畫面中心,多次重復(fù)操作,可以達到鏡頭最小光學(xué)倍數(shù)。
右按鍵拖動:保持右按鍵按下狀態(tài), 并移動鼠標(biāo)。此時,屏幕畫出按鍵中心位置和鼠標(biāo)移動位置之間的箭頭方向和距離,高速球按照箭頭的方向和距離跟隨運動,隨著鼠標(biāo)的拖動,隨時改變移動速度和方向。
滾動滾輪向前:向前滾動滾輪。此時,屏幕逐漸拉遠,高速球的鏡頭倍數(shù)逐漸減少,直到鏡頭的最小放大倍數(shù)。
滾動滾輪向后:向后滾動滾輪。此時,屏幕逐漸拉近,高速球的鏡頭倍數(shù)逐漸增加,直到鏡頭的最大放大倍數(shù)。
為了實現(xiàn)以上動作,鼠標(biāo)的各種動作必須以統(tǒng)一的坐標(biāo)計算方法傳送,以下為杭州途視定義的坐標(biāo)計算方法:
(1)以圖像中心為參考原點,將圖像劃分成四個部分,相對于參考原點,分別為右上、左上、左下、右下,其中右、下為正,左、上為負(fù)。
(2)得到當(dāng)前坐標(biāo)相對于原點的值,再除以單位長度,得到相對的比例值,此比例值已經(jīng)與具體的分辨率無關(guān)
(3)因為得到的相對比例值一定小于等于1,為了避免為小數(shù),統(tǒng)一將得到的比例值乘以8192,將乘積后的值取整,作為參數(shù)填入到協(xié)議對應(yīng)字節(jié)。
舉例如下:
當(dāng)前分辨率為1024×768,則圖像中心點坐標(biāo)為(512,384),如果目標(biāo)位置坐標(biāo)為(768,576),則可知目標(biāo)位置處于右上,其比例值為:水平:(768-512)/512 = 0.5,再乘以8192,即為4096,因為是右邊,所以為4096,填入對應(yīng)字節(jié)即可。垂直:(576-384)/384 = 0.5,再乘以8192,即為4096,因為是上邊,所以為-4096,填入對應(yīng)字節(jié)即可。
圖示如下:
圖1:虛擬搖桿坐標(biāo)圖
根據(jù)以上的鼠標(biāo)動作規(guī)則定義和鼠標(biāo)位置坐標(biāo)定義,網(wǎng)絡(luò)高清高速球和后臺控制設(shè)備之間就可以完成完整的聯(lián)動,杭州途視結(jié)合常用的通訊協(xié)議習(xí)慣和目前最為流行的PELCO通訊協(xié)議,定義如下的虛擬搖桿的控制規(guī)則定義命令
左鍵單擊:串口通訊格式,采用9字節(jié)發(fā)送方式:
?
左按鍵雙擊:串口通訊格式,采用9字節(jié)發(fā)送方式:
?
左按鍵向右上或右下拖動并釋放:串口通訊格式,采用9字節(jié)發(fā)送方式:
?
左按鍵向左上或左下拖動并釋放:串口通訊格式,采用9字節(jié)發(fā)送方式:
?
右按鍵拖動:串口通訊格式,采用7字節(jié)發(fā)送方式:PELCO-D協(xié)議
?
滾動滾輪向前:串口通訊格式,采用7字節(jié)發(fā)送方式:PELCO-D協(xié)議
?
拖動滾輪向后:串口通訊格式,采用7字節(jié)發(fā)送方式:PELCO-D協(xié)議
?
參數(shù)說明:0x3A為同步符。
目的地址碼:為球機設(shè)備的物理地址號,地址范圍:0x00-0xFF。
指令碼:10H(表示虛擬搖桿功能)
水平坐標(biāo):目標(biāo)位置的水平坐標(biāo),有符號整形數(shù),2字節(jié), 高字節(jié)在前,低字節(jié)在后。
垂直坐標(biāo):目標(biāo)位置的垂直坐標(biāo),有符號整形數(shù),2字節(jié), 高字節(jié)在前,低字節(jié)在后。
變倍參數(shù):定位到目標(biāo)位置后,自動進行放大的倍數(shù),為0表示不放大,否則代表放大倍數(shù)。無符號整形數(shù),1字節(jié),一般使用中的攝像機99%為35倍以內(nèi)。默認(rèn)值可設(shè)為2。最高位表示放大/縮小,為0表示放大,為1表示縮小,低7位表示具體放大/縮小的倍數(shù),為0不進行變倍操作。
校驗碼:(字節(jié)2+字節(jié)3+…+字節(jié)8)%256。
通過上述對虛擬搖桿技術(shù)分析,下一步便可在網(wǎng)絡(luò)高清高速球中實現(xiàn)該技術(shù)了。只需將顯示界面的中心位置作為原點,把界面的原點對應(yīng)于當(dāng)前水平和垂直電機的微步位置,將圖象上的定位坐標(biāo)轉(zhuǎn)化為云臺水平和垂直電機定位的微步位置,然后控制電機定位到相應(yīng)的位置即可,如圖2。
首先,讀出相機當(dāng)前的變倍倍數(shù),由當(dāng)前變倍倍數(shù)查表得到水平一屏電機需要運行的微步數(shù)(需要實際測量得到該查找表)。由于相機垂直方向所在的位置不同,導(dǎo)致相機環(huán)視一周時水平電機運行的微步數(shù)不同,因此需要對水平電機進行昂角修正,此時要根據(jù)不同的角度使水平一屏電機需要運行的微步數(shù)乘以一個比例系數(shù)。然后,將從接收命令中解析出來的水平坐標(biāo)轉(zhuǎn)換成水平電機從當(dāng)前位置開始需要運行的微步數(shù)。具體做法是將水平坐標(biāo)的絕對值乘以水平一屏電機需要運行的微步數(shù)的一半。接著,計算出水平電機定位的微步位置。具體實現(xiàn)時,若水平坐標(biāo)為負(fù)數(shù),將當(dāng)前微步位置減去需要運行的微步數(shù),否則加上需要運行的微步數(shù)。最后,將水平電機定位到上述計算得到的水平微步位置。
圖2:虛擬搖桿在高清高速球的應(yīng)用圖
首先,根據(jù)當(dāng)前相機變倍倍數(shù)查表得到垂直一屏電機需要運行的微步數(shù)(需要實際測量得到該查找表)。然后,將從接收命令中解析出來的垂直坐標(biāo)轉(zhuǎn)換成垂直電機從當(dāng)前位置開始需要運行的微步數(shù)。具體做法是將垂直坐標(biāo)的絕對值乘以垂直一屏電機需要運行的微步數(shù)的一半。接著,計算出垂直電機定位的微步位置。具體實現(xiàn)時,若垂直坐標(biāo)為負(fù)數(shù),將當(dāng)前微步位置減去需要運行的微步數(shù),否則加上需要運行的微步數(shù)。最后,將垂直電機定位到上述計算得到的處置方向的微步位置。
首先,將從接收命令中解析出來的相機變倍值轉(zhuǎn)換成相機變倍時間(此值時根據(jù)屏幕上鼠標(biāo)拖動框的大小而定);然后,給相機發(fā)送啟動變倍命令,相機自動進行變倍;最后,當(dāng)相機變倍時間到時,給相機發(fā)送停止變倍命令。
通過上述的幾個技術(shù)步驟,便可完成虛擬搖桿的完整定義,
高清網(wǎng)絡(luò)高速球作為高清視頻監(jiān)控最主要的組成部分之一,其在視頻監(jiān)控的地位不言而喻,但高速球的操控性一直是廠商與用戶所關(guān)注的焦點,筆者在此提出虛擬搖桿控制技術(shù)的全新的高速球控制理念可為高速球帶來更加便捷、簡單、高效的操控。行業(yè)發(fā)展正在逐步走向成熟,高速球產(chǎn)品的技術(shù)差異化如今已是太明顯,廠商之間的競爭需要在細微之處體現(xiàn)出產(chǎn)品的差異性,同時又能貼合實際應(yīng)用,這樣才能在競爭中掌握主動權(quán)。