李長生
(商洛職業技術學院,商洛 726000)
基于圖像拼接技術的全景視頻拼接,提供了一種完整的三維視覺效果,使用者可以按照自身意愿放大、縮小或者觀看上下前后左右各個角度的圖像信息。相對于傳統視頻來說,視野范圍更大、交互性更好,這種全景視頻拼接為旅游景觀的展示帶來了全新的視覺呈現,為旅游產業注入了新的活力,對旅游景點的發展起到了良好的促進作用。
全景視頻以一種基于圖像渲染的全方位全角度的視頻,為使用者提供虛擬的現實體驗,為使用者提供圖像拼接起來的場景。其視野廣闊的特點特別適合旅游景觀的展示與介紹。全景視頻的拼接主要包括以下幾個步驟:
1)統一坐標系
攝像機直接拍攝的圖像是經過透視變換的投影,為了保證視覺的一致性,在進行全景視頻拼接之前需要定義統一的坐標系。常用的包括球面和柱面兩種方式,其中,球面投影因為包括多個相鄰的圖像,定位相對來說會比較困難;柱面投影可以充分呈現水平向的環視效果,相對來說比較易于理解。
2)視頻拼接
視頻拼接是在圖像拼接的基礎之上來完成的,計算出視頻中第一幀的相對變換關系之后,給出單應性矩陣,同樣可以應用于后面的幀,以此來生成全景視頻。
3)視頻圖像融合
圖像拼接要保證最終生成的圖像正確并且協調,常用的融合方法包括多段融合以及像素融合。其中多段融合運算量較大,我們選用像素融合法,以此來降低不同圖像之間的差異,確保最終的全景視頻畫面準確協調。
旅游景觀全景視頻展示系統需要具備以下功能:
1)實現多路視頻的全景編輯、瀏覽;
2)提供全景圖像的制作,確保信息含量豐富且交互性良好;
3)利用網絡技術,完成網絡傳輸;
4)保證數據傳輸實時性;
5)保證畫面顯示連續性。
旅游景區全景視頻展示系統結構采用C/S模式,包括客戶端與服務端兩個部分。這種體系結構的突出特點在于功能分布,一些功能放在客戶端執行,另一些功能放在服務器執行,客戶端提出請求之后,服務端對接受到的請求進行處理與反饋。
旅游景觀全景視頻展示系統的工作原理如下。
首先,在網絡視頻服務器上設置DNS解析服務器的IP地址,如此在建立連接之后可以發送相關的IP地址、端口等信息。中心服務器線連接DNS主機,讀取相應的信息之后連接前端設備。視頻工作站以及其他客戶端可以直連中心服務器來獲取信息。整體系統架構,如圖1所示。

圖1 系統整體架構圖
旅游景觀全景視頻展示系統在功能上包括兩大塊:全景采集以及全景展示。全景采集負責進行視頻的采集以及壓縮編碼,全景展示負責解碼、縫合以及全景瀏覽。
根據旅游景觀全景視頻展示系統的功能,可將基于C/S模式的整體系統劃分為采集、傳輸、解碼、顯示等幾大部分,具體軟件模塊劃分,如圖2所示。

圖2 系統模塊構成
其中,服務器端由視頻采集管理、壓縮控制處理、原始碼流預覽以及網絡傳輸控制4個模塊組成:
1)視頻采集模塊:管理采集設備,完成視頻采集任務;
2)壓縮控制處理模塊:將視頻按照相關協議進行壓縮編碼,提供給網絡傳輸控制模塊進行發送;
3)原始碼流預覽模塊: 對采集效果進行預覽,監控采集設備運行情況;
4)網絡傳輸控制模塊:偵聽到客戶端的連接請求之后調用數據發送線程將壓縮編碼之后的視頻以及位置、亮度、對比度等相關信息發送給客戶端。
客戶端由網絡接收反饋、解碼處理、實時縫合以及全景顯示4個模塊組成:
1)網絡接收反饋模塊:負責向服務端發送連接請求,接收視頻之后存入緩沖區并反饋相關結果信息;
2)解碼處理模塊:從緩沖完讀取視頻之后對視頻進行解碼;
3)實時縫合模塊:將解碼之后的視頻按照有關參數實時進行縫合,記錄相關參數以供查詢;
4)全景展示模塊:對最終的旅游全景視頻進行展示。
旅游景觀全景視頻展示系統的圖像采集利用directshow配合攝像設備來完成,服務端與客戶端之間通過socket技術進行數據傳輸,客戶端的展示主要用到SDK以及API技術,其中還需用到direct3D的繪制功能,軟件及硬件設備之間的層次關系,如圖3所示。

圖3 軟硬件層次關系圖
旅游景觀全景視頻展示系統的視頻采集利用directshow配合攝像設備來完成,將多個攝像頭排列在一起,投影中心互相吻合,每個攝像頭負責一個視角,實現全方位覆蓋,最終利用全景視頻拼接技術縫合成準確協調的全景視頻。
旅游景觀全景視頻展示系統采用C/S模式,其中服務端與客戶端之間的信息傳遞采用Socket技術來實現。Socket技術支持多種協議,提供數據發送以及接收機制。服務器調用socket()來建立套接字,調用bind()函數進行綁定,然后調用listen()函數進行監聽。客戶端同樣調用socket()函數建立連接套接字,然后調用connct()函數向服務端發送連接請求,在服務端應答之后建立連接,然后通過send()和recv()函數實現數據的發送以及接收,最后兩端都可以調用closesocket()函數來關閉連接。其工作流程,如圖4所示。

圖4 socket套接字調用時序圖
全景展示作為C/S模式中的客戶端,主要負責接收從網絡傳輸過來的服務器的視頻以及相關信息,并展示出來供使用者查看,具體工作流程,如圖5所示。
其中,全景展示分為實時與回放兩個方面,工作流程,如圖6所示。

圖5 全景展示處理流程

圖6 回放以及實時流程圖
全景視頻覆蓋的視野范圍非常廣,交互性好,可以讓觀看者沉浸其中,三維立體的進行欣賞。將全景視頻用于旅游景觀的展示,可以破除傳統視頻的視野范圍窄,交互性弱的缺陷,本文給出的基于C/S結構模式的旅游景觀全景視頻展示系統從全景視頻拼接、網絡傳輸、全景展示幾個方面分別進行了詳細的闡述,以期設計出實時、準確、交互性好的展示系統,為旅游景觀的展示提供強大助力。