應(yīng)用于虛擬桌面環(huán)境的攝像頭視頻處理方法和相應(yīng)設(shè)備的制作方法
【專利摘要】一種應(yīng)用于虛擬桌面環(huán)境的攝像頭視頻處理方法和相應(yīng)設(shè)備,客戶機(jī)通過(guò)視頻業(yè)務(wù)專用通道接收虛擬機(jī)發(fā)送的啟動(dòng)攝像頭視頻業(yè)務(wù)的指令及窗口信息,攝像頭視頻業(yè)務(wù)具有回顯功能;客戶機(jī)根據(jù)指令啟動(dòng)攝像頭,接收本地?cái)z像頭采集的視頻數(shù)據(jù),生成未經(jīng)壓縮的視頻流;客戶機(jī)根據(jù)窗口信息和未經(jīng)壓縮的視頻流生成顯示數(shù)據(jù)并在顯示器進(jìn)行回顯;其中,視頻業(yè)務(wù)專用通道是客戶機(jī)與虛擬機(jī)之間交互攝像頭視頻業(yè)務(wù)數(shù)據(jù)且獨(dú)立于外設(shè)映射通道的通信通道。虛擬機(jī)則通過(guò)視頻業(yè)務(wù)專用通道向客戶機(jī)發(fā)送啟動(dòng)攝像頭視頻業(yè)務(wù)的指令及窗口信息,在攝像頭視頻業(yè)務(wù)具有回顯功能時(shí),屏蔽回顯功能。本發(fā)明可避免大量的回路流量,使視頻業(yè)務(wù)可以正常開(kāi)展。
【專利說(shuō)明】應(yīng)用于虛擬桌面環(huán)境的攝像頭視頻處理方法和相應(yīng)設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻壓縮,更具體地,涉及一種應(yīng)用于虛擬桌面系統(tǒng)的攝像頭視頻處理方法及相應(yīng)的客戶機(jī)和虛擬機(jī)。
【背景技術(shù)】
[0002]桌面虛擬化是在物理服務(wù)器上安裝虛擬主機(jī)系統(tǒng),由虛擬主機(jī)系統(tǒng)模擬出操作系統(tǒng)運(yùn)行所需要的硬件資源,如:CPU、內(nèi)存、網(wǎng)卡、存儲(chǔ)等。操作系統(tǒng)運(yùn)行在這些虛擬的硬件資源之上,可以達(dá)到多個(gè)操作系統(tǒng)共享物理服務(wù)器的硬件資源,從而提高資源利用率。桌面虛擬化將所有桌面虛擬機(jī)(簡(jiǎn)稱為虛擬機(jī))在數(shù)據(jù)中心進(jìn)行托管并統(tǒng)一管理,虛擬桌面的存儲(chǔ)、運(yùn)算和執(zhí)行(包括操作系統(tǒng)、應(yīng)用程序和用戶數(shù)據(jù))都集中在數(shù)據(jù)中心,僅將操作系統(tǒng)桌面呈現(xiàn)在用戶面前。用戶可以通過(guò)客戶機(jī)在局域網(wǎng)或者遠(yuǎn)程訪問(wèn)虛擬機(jī),獲得與傳統(tǒng)PC一致的用戶體驗(yàn)。
[0003]虛擬桌面環(huán)境的邏輯架構(gòu)如圖1所示,包括通過(guò)網(wǎng)絡(luò)連接的多臺(tái)客戶機(jī)10和物理服務(wù)器2,物理服務(wù)器2上運(yùn)行有多臺(tái)虛擬機(jī)20,客戶機(jī)與虛擬機(jī)之間通過(guò)外設(shè)映射通道相互通信。
[0004]如圖2所示,客戶機(jī)10上連接各種外設(shè),如攝像頭、顯示器、打印機(jī)、掃描儀、U盤(pán)等,它們是通過(guò)并口、串口、USB等接口連接到客戶機(jī)10,客戶機(jī)10的操作系統(tǒng)模塊101安裝有相應(yīng)的外設(shè)驅(qū)動(dòng)程序。為了在虛擬機(jī)20中同樣使用這些外設(shè),需在客戶機(jī)10的操作系統(tǒng)模塊101上安裝虛擬桌面客戶機(jī)側(cè)的外設(shè)映射接口 102??蛻魴C(jī)10所連接的外設(shè)的硬件信息、狀態(tài)以及從外設(shè)中讀取的數(shù)據(jù)均通過(guò)該外設(shè)映射接口 102發(fā)送到虛擬機(jī)20。
[0005]相應(yīng)地,如圖3所示,虛擬機(jī)20的操作系統(tǒng)模塊201上安裝有虛擬桌面服務(wù)器側(cè)的外設(shè)映射接口 202,該外設(shè)映射接口 202與虛擬桌面客戶機(jī)側(cè)的外設(shè)映射接口 102之間構(gòu)成了外設(shè)映射通道??蛻魴C(jī)10發(fā)送的外設(shè)硬件信息、狀態(tài)以及從外設(shè)中讀取的數(shù)據(jù)通過(guò)外設(shè)映射通道發(fā)送給虛擬機(jī)20,同時(shí)虛擬機(jī)對(duì)外設(shè)的寫(xiě)入數(shù)據(jù)及控制信息也通過(guò)外設(shè)映射通道發(fā)送給客戶機(jī)10??蛻魴C(jī)10收到后對(duì)外設(shè)進(jìn)行數(shù)據(jù)寫(xiě)入或控制。其中,客戶機(jī)10所需的屏幕顯示數(shù)據(jù)由虛擬機(jī)20的屏幕顯示數(shù)據(jù)生成模塊203根據(jù)虛擬機(jī)20的操作系統(tǒng)模塊201及各種應(yīng)用程序模塊(包括攝像頭視頻應(yīng)用模塊205)生成的顯示數(shù)據(jù)統(tǒng)一生成,生成屏幕顯示數(shù)據(jù)時(shí)可以調(diào)用視頻壓縮解壓模塊204對(duì)視頻流進(jìn)行壓縮和/或解壓縮。
[0006]攝像頭視頻業(yè)務(wù)是一種很常見(jiàn)的業(yè)務(wù)類型,用戶進(jìn)行攝像時(shí)或者用戶之間通過(guò)視頻通話時(shí)都需要啟動(dòng)攝像頭視頻業(yè)務(wù)。攝像頭視頻業(yè)務(wù)可能涉及到以下功能中的一種或多種:回顯功能,即將終端本地連接的攝像頭采集的視頻直接在本地顯示;向通信對(duì)端傳送視頻功能,即將終端本地連接的攝像頭采集的視頻傳送到通信對(duì)端;顯示通信對(duì)端視頻功能,即將通信對(duì)端傳送過(guò)來(lái)的視頻在本地顯示。
[0007]在傳統(tǒng)的虛擬桌面環(huán)境下開(kāi)展攝像頭視頻業(yè)務(wù)時(shí),涉及的設(shè)備的連接關(guān)系如圖4所示,攝像頭通過(guò)USB線或其他連接線與客戶機(jī)10連接,而客戶機(jī)10與虛擬機(jī)20之間,及虛擬機(jī)20和通信對(duì)端之間一般是通過(guò)IP網(wǎng)絡(luò)通信。由于虛擬桌面的存儲(chǔ)、運(yùn)算和執(zhí)行等處理都集中在虛擬機(jī)側(cè),攝像頭視頻業(yè)務(wù)涉及的幾種功能的數(shù)據(jù)流如下所述:
[0008]一,攝像頭視頻業(yè)務(wù)的回顯功能涉及的流量:
[0009]客戶機(jī)連接的本地?cái)z像頭獲取的未經(jīng)壓縮的視頻數(shù)據(jù)到達(dá)客戶機(jī),客戶機(jī)生成未經(jīng)壓縮的視頻流,通過(guò)外設(shè)映射通道傳送到虛擬機(jī)中,虛擬機(jī)根據(jù)該未經(jīng)壓縮的視頻流生成攝像頭視頻業(yè)務(wù)的顯示數(shù)據(jù),和其他業(yè)務(wù)的顯示數(shù)據(jù)統(tǒng)一生成屏幕顯示數(shù)據(jù)后回送給客戶機(jī),再在客戶機(jī)連接的顯示器上進(jìn)行回顯。其路徑可表示為:攝像頭_〉客戶機(jī)_〉虛擬機(jī)_〉客戶機(jī)_〉顯示器,即但流量經(jīng)虛擬機(jī)走了一個(gè)回路,會(huì)帶來(lái)大量的回路流量。
[0010]二、攝像頭視頻業(yè)務(wù)的向通信對(duì)端傳送視頻功能涉及的流量
[0011]客戶機(jī)連接的本地?cái)z像頭獲取的未經(jīng)壓縮的視頻數(shù)據(jù)到達(dá)客戶機(jī),客戶機(jī)生成未經(jīng)壓縮的視頻流,通過(guò)外設(shè)映射通道傳送到虛擬機(jī)中,虛擬機(jī)對(duì)該視頻流進(jìn)行壓縮后,通過(guò)網(wǎng)絡(luò)發(fā)送到通信對(duì)端。其中,外設(shè)映射通道中傳送的是未經(jīng)壓縮的視頻流。不經(jīng)壓縮的視頻流的數(shù)據(jù)量隨攝像設(shè)置的分辨率、幀速在十幾到幾十Mbps左右。而通過(guò)MPEG-4、H.264等算法壓縮后,會(huì)降低到幾百Kbps到幾Mbps。
[0012]三,攝像頭視頻業(yè)務(wù)的顯示通信對(duì)端視頻功能涉及的流量
[0013]虛擬機(jī)收到通信對(duì)端傳輸過(guò)來(lái)的壓縮視頻流,在虛擬機(jī)內(nèi)進(jìn)行解壓縮后生成攝像頭視頻業(yè)務(wù)的顯示數(shù)據(jù),和其他業(yè)務(wù)的顯示數(shù)據(jù)統(tǒng)一生成屏幕顯示數(shù)據(jù)后回送給客戶機(jī),再在客戶機(jī)連接的顯示器上進(jìn)行回顯。雖然屏幕顯示數(shù)據(jù)時(shí)也可以進(jìn)行壓縮,但其壓縮率往往小于視頻流的壓縮率。
[0014]可見(jiàn)攝像頭視頻業(yè)務(wù)在虛擬化環(huán)境下帶來(lái)大量回路流量和未壓縮視頻流量,而因?yàn)榭蛻魴C(jī)與虛擬機(jī)的網(wǎng)絡(luò)連接為IP網(wǎng)絡(luò),該網(wǎng)絡(luò)甚至可能為廣域網(wǎng)范圍的,其網(wǎng)絡(luò)時(shí)延帶寬等指標(biāo)無(wú)法滿足這些視頻流的傳輸需求。
【發(fā)明內(nèi)容】
[0015]本發(fā)明要解決的技術(shù)問(wèn)題是提供一種應(yīng)用于虛擬桌面環(huán)境的可以更好地滿足視頻流傳輸需求的攝像頭視頻處理方法和相應(yīng)的客戶機(jī)和虛擬機(jī)。
[0016]為了解決的上述技術(shù)問(wèn)題,本發(fā)明提供了一種應(yīng)用于虛擬桌面系統(tǒng)的攝像頭視頻處理方法,所述虛擬桌面系統(tǒng)包括通過(guò)網(wǎng)絡(luò)連接的客戶機(jī)和虛擬機(jī),所述方法包括:
[0017]所述客戶機(jī)通過(guò)視頻業(yè)務(wù)專用通道接收所述虛擬機(jī)發(fā)送的啟動(dòng)攝像頭視頻業(yè)務(wù)的指令及窗口信息,所述攝像頭視頻業(yè)務(wù)具有回顯功能;
[0018]所述客戶機(jī)根據(jù)所述指令啟動(dòng)攝像頭,接收本地?cái)z像頭采集的視頻數(shù)據(jù),生成未經(jīng)壓縮的視頻流;
[0019]所述客戶機(jī)根據(jù)所述窗口信息和未經(jīng)壓縮的視頻流生成顯示數(shù)據(jù)并在顯示器進(jìn)行回顯;
[0020]其中,所述視頻業(yè)務(wù)專用通道是所述客戶機(jī)與虛擬機(jī)之間交互攝像頭視頻業(yè)務(wù)數(shù)據(jù)且獨(dú)立于外設(shè)映射通道的通信通道。
[0021]較佳地,
[0022]所述攝像頭視頻業(yè)務(wù)還具有向通信對(duì)端傳送視頻的功能;
[0023]所述客戶機(jī)生成未經(jīng)壓縮的視頻流之后,還包括:通過(guò)復(fù)制得到兩份所述未經(jīng)壓縮的視頻流,一份用于生成所述顯示數(shù)據(jù),另一份先進(jìn)行壓縮,得到的壓縮視頻流再通過(guò)所述視頻業(yè)務(wù)專用通道發(fā)送給所述虛擬機(jī)。
[0024]較佳地,
[0025]所述方法還包括:所述客戶機(jī)通過(guò)所述視頻業(yè)務(wù)專用通道接收所述虛擬機(jī)轉(zhuǎn)發(fā)的通信對(duì)端的壓縮視頻流,解壓后生成顯示數(shù)據(jù)并在顯示器顯示。
[0026]為了解決的上述技術(shù)問(wèn)題,本發(fā)明還提供了一種應(yīng)用于虛擬桌面系統(tǒng)的攝像頭視頻處理方法,所述虛擬桌面系統(tǒng)包括通過(guò)網(wǎng)絡(luò)連接的客戶機(jī)和虛擬機(jī),所述方法包括:
[0027]所述虛擬機(jī)通過(guò)視頻業(yè)務(wù)專用通道向所述客戶機(jī)發(fā)送啟動(dòng)攝像頭視頻業(yè)務(wù)的指令及窗口信息,在所述攝像頭視頻業(yè)務(wù)具有回顯功能時(shí),屏蔽所述回顯功能;
[0028]所述虛擬機(jī)通過(guò)視頻業(yè)務(wù)專用通道接收所述客戶機(jī)發(fā)送的所述攝像頭視頻業(yè)務(wù)的壓縮視頻流,并發(fā)送給通信對(duì)端;
[0029]其中,所述視頻業(yè)務(wù)專用通道是所述虛擬機(jī)與客戶機(jī)之間交互攝像頭視頻業(yè)務(wù)數(shù)據(jù)且獨(dú)立于外設(shè)映射通道的通信通道。
[0030]較佳地,
[0031]還包括:所述虛擬機(jī)接收到通信對(duì)端的壓縮視頻流后,通過(guò)所述視頻業(yè)務(wù)專用通道直接轉(zhuǎn)發(fā)給所述客戶機(jī)。
[0032]相應(yīng)地,本發(fā)明提供的虛擬桌面系統(tǒng)中的客戶機(jī),包括操作系統(tǒng)模塊及外設(shè)映射接口,還包括視頻業(yè)務(wù)專用接口和視頻顯示處理模塊,其中:
[0033]所述視頻業(yè)務(wù)專用接口是所述客戶機(jī)用于與虛擬機(jī)交互攝像頭視頻業(yè)務(wù)數(shù)據(jù)且獨(dú)立于所述外設(shè)映射接口的通信接口;
[0034]所述視頻顯示處理模塊包括:
[0035]業(yè)務(wù)啟動(dòng)單元,用于通過(guò)視頻業(yè)務(wù)專用接口接收到虛擬機(jī)發(fā)送的啟動(dòng)攝像頭視頻業(yè)務(wù)的指令及窗口信息后,通過(guò)所述操作系統(tǒng)模塊啟動(dòng)本地?cái)z像頭,并從所述操作系統(tǒng)模塊接收本地?cái)z像頭采集的視頻數(shù)據(jù),生成未經(jīng)壓縮的視頻流,其中,所述攝像頭視頻業(yè)務(wù)具有回顯功能;
[0036]圖像回顯單元,用于在啟動(dòng)本地?cái)z像頭后,根據(jù)所述窗口信息和未經(jīng)壓縮的視頻流生成顯示數(shù)據(jù),通過(guò)所述操作系統(tǒng)模塊在顯示器進(jìn)行回顯。
[0037]較佳地,
[0038]所述客戶機(jī)還包括:視頻壓縮模塊,用于對(duì)視頻流進(jìn)行壓縮;
[0039]所述視頻顯示處理模塊還包括:圖像傳送單元;
[0040]所述視頻顯示處理模塊中的業(yè)務(wù)啟動(dòng)單元還用于在所述攝像頭視頻業(yè)務(wù)具有向通信對(duì)端傳送視頻的功能時(shí),通過(guò)復(fù)制得到兩份所述未經(jīng)壓縮的視頻流,一份輸出到所述圖像回顯單元,另一份輸出到所述圖像傳送單元;
[0041]所述圖像傳送單元,用于調(diào)用所述視頻壓縮模塊對(duì)所述未經(jīng)壓縮的視頻流進(jìn)行壓縮,得到的壓縮視頻流通過(guò)所述視頻業(yè)務(wù)專用接口發(fā)送給所述虛擬機(jī)。
[0042]較佳地,
[0043]所述客戶機(jī)還包括:視頻解壓模塊,用于對(duì)壓縮視頻流進(jìn)行解壓縮;
[0044]所述視頻顯示處理模塊還包括:圖像顯示單元,用于通過(guò)所述視頻業(yè)務(wù)專用接口接收所述虛擬機(jī)轉(zhuǎn)發(fā)的通信對(duì)端的壓縮視頻流,調(diào)用所述視頻解壓模塊對(duì)所述壓縮視頻流解壓后,生成顯示數(shù)據(jù)并通過(guò)所述操作系統(tǒng)模塊在顯示器顯示。
[0045]相應(yīng)地,本發(fā)明提供的虛擬桌面系統(tǒng)中的虛擬機(jī)包括操作系統(tǒng)模塊、攝像頭視頻應(yīng)用模塊及外設(shè)映射接口,還包括視頻業(yè)務(wù)專用接口,其中:
[0046]所述視頻業(yè)務(wù)專用接口是所述虛擬機(jī)用于與客戶機(jī)交互攝像頭視頻業(yè)務(wù)數(shù)據(jù)且獨(dú)立于所述外設(shè)映射接口的通信接口;
[0047]所述攝像頭視頻應(yīng)用模塊包括:
[0048]業(yè)務(wù)控制單元,用于通過(guò)所述視頻業(yè)務(wù)專用接口向客戶機(jī)發(fā)送啟動(dòng)攝像頭視頻業(yè)務(wù)的指令及窗口信息,且在所述攝像頭視頻業(yè)務(wù)具有回顯功能時(shí),屏蔽所述回顯功能;
[0049]第一收發(fā)單元,用于通過(guò)所述視頻業(yè)務(wù)專用接口接收客戶機(jī)發(fā)送的所述攝像頭視頻業(yè)務(wù)的壓縮視頻流,再通過(guò)所述操作系統(tǒng)模塊發(fā)送給通信對(duì)端。
[0050]較佳地,
[0051]所述攝像頭視頻應(yīng)用模塊還包括:
[0052]第二收發(fā)單元,用于通過(guò)所述操作系統(tǒng)模塊接收通信對(duì)端的壓縮視頻流后,然后通過(guò)所述視頻業(yè)務(wù)專用接口直接轉(zhuǎn)發(fā)給所述客戶機(jī)。
[0053]上述應(yīng)用于虛擬桌面環(huán)境的攝像頭視頻處理方法和相應(yīng)的設(shè)備,對(duì)傳統(tǒng)虛擬桌面環(huán)境下的客戶機(jī)和虛擬機(jī)的工作機(jī)制進(jìn)行了改進(jìn),在客戶機(jī)和虛擬機(jī)之間創(chuàng)建視頻業(yè)務(wù)專用通道,通過(guò)該視頻業(yè)務(wù)專用通道來(lái)完成客戶機(jī)和虛擬機(jī)之間的攝像頭視頻業(yè)務(wù)的信息交互,并在客戶機(jī)新增視頻顯示處理功能,從而可以在客戶機(jī)本地完成回顯功能,避免大量的回路流量。此外,通過(guò)客戶機(jī)預(yù)先對(duì)攝像頭采集的視頻流進(jìn)行壓縮,再通過(guò)視頻業(yè)務(wù)專用通道發(fā)送到虛擬機(jī);及虛擬機(jī)將通信對(duì)端發(fā)送的壓縮視頻流通過(guò)視頻業(yè)務(wù)專用通道直接轉(zhuǎn)發(fā)給客戶機(jī)等方式,可以使得客戶機(jī)到虛擬機(jī)的視頻流占用帶寬大大降低,更好地滿足視頻業(yè)務(wù)的正常開(kāi)展需要。
【專利附圖】
【附圖說(shuō)明】
[0054]圖1是現(xiàn)有桌面虛擬環(huán)境的邏輯架構(gòu)圖;
[0055]圖2是現(xiàn)有虛擬桌面環(huán)境下客戶機(jī)的模塊示意圖;
[0056]圖3是現(xiàn)有虛擬桌面環(huán)境下虛擬機(jī)的模塊示意圖;
[0057]圖4是虛擬桌面環(huán)境下攝像頭視頻業(yè)務(wù)相關(guān)設(shè)備的連接示意圖;
[0058]圖5是本發(fā)明實(shí)施例攝像頭視頻處理方法客戶機(jī)側(cè)的流程圖;
[0059]圖6是本發(fā)明實(shí)施例攝像頭視頻處理方法虛擬機(jī)側(cè)的流程圖;
[0060]圖7是本發(fā)明實(shí)施例虛擬桌面環(huán)境下客戶機(jī)的模塊示意圖;
[0061]圖8是本發(fā)明實(shí)施例虛擬桌面環(huán)境下虛擬機(jī)的模塊示意圖。
【具體實(shí)施方式】
[0062]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說(shuō)明。需要說(shuō)明的是,在不沖突的情況下,本發(fā)明中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
[0063]本實(shí)施例虛擬桌面環(huán)境相對(duì)于傳統(tǒng)的虛擬桌面環(huán)境,在客戶機(jī)與虛擬機(jī)之間新增了視頻業(yè)務(wù)專用通道,即客戶機(jī)與虛擬機(jī)之間交互攝像頭視頻業(yè)務(wù)數(shù)據(jù)且獨(dú)立于外設(shè)映射通道的通信通道??蛻魴C(jī)與虛擬機(jī)之間的其他視頻業(yè)務(wù)數(shù)據(jù)交互可以使用該視頻業(yè)務(wù)專用通道,也可以使用原有的外設(shè)映射通道。另外,本實(shí)施例的客戶機(jī)可以實(shí)現(xiàn)回顯功能和對(duì)視頻流的壓縮解壓功能。而虛擬機(jī)對(duì)攝像頭視頻業(yè)務(wù)的處理也與傳統(tǒng)虛擬桌面環(huán)境下的虛擬機(jī)有所不同,屏蔽了回顯功能和對(duì)通信對(duì)端壓縮視頻流的解壓縮功能。
[0064]本實(shí)施例的攝像頭視頻業(yè)務(wù)具有回顯功能、向通信對(duì)端傳送視頻功能及顯示通信對(duì)端視頻功能。本實(shí)施例的攝像頭視頻業(yè)務(wù)處理方法中,客戶機(jī)側(cè)的流程如圖5所示,包括:
[0065]步驟110,客戶機(jī)通過(guò)視頻業(yè)務(wù)專用通道接收虛擬機(jī)發(fā)送的啟動(dòng)攝像頭視頻業(yè)務(wù)的指令及窗口信息;
[0066]本實(shí)施例中,攝像頭視頻業(yè)務(wù)可以由客戶機(jī)發(fā)起,但也可以由通信對(duì)端發(fā)起。由客戶機(jī)發(fā)起時(shí),如用戶通過(guò)鍵盤(pán)、鼠標(biāo)、觸摸屏等進(jìn)行輸入操作來(lái)發(fā)起,相應(yīng)的輸入指令將由客戶機(jī)通過(guò)外設(shè)映射通道發(fā)送到虛擬機(jī),虛擬機(jī)根據(jù)該輸入指令啟動(dòng)攝像頭視頻業(yè)務(wù)。如果是通信對(duì)端發(fā)起,客戶機(jī)會(huì)將通信對(duì)端的攝像頭視頻業(yè)務(wù)請(qǐng)求呈現(xiàn)給用戶,并將用戶同意該請(qǐng)求的輸入指令通過(guò)外設(shè)映射通道發(fā)送到虛擬機(jī),虛擬機(jī)再根據(jù)該輸入指令啟動(dòng)攝像頭視頻業(yè)務(wù)。
[0067]本實(shí)施例虛擬機(jī)啟動(dòng)攝像頭視頻業(yè)務(wù)后,會(huì)通過(guò)視頻業(yè)務(wù)專用通道向客戶機(jī)發(fā)送啟動(dòng)攝像頭視頻業(yè)務(wù)的指令及窗口信息。其中的窗口信息包括窗口大小、窗口位置、窗口中回顯區(qū)域的信息,窗口狀態(tài)(如是否激活,是否隱藏)等等。在傳統(tǒng)虛擬桌面環(huán)境下,虛擬機(jī)并不會(huì)將攝像頭視頻業(yè)務(wù)的窗口信息下發(fā)給客戶機(jī),而是會(huì)生成攝像頭視頻業(yè)務(wù)的顯示數(shù)據(jù),再和其他顯示數(shù)據(jù)統(tǒng)一生成屏幕顯示數(shù)據(jù),再發(fā)送給客戶機(jī)。而本實(shí)施例為了避免回路流量,對(duì)傳統(tǒng)虛擬桌面環(huán)境下的客戶機(jī)和虛擬機(jī)的分工機(jī)制進(jìn)行了改進(jìn),將回顯功能的顯示數(shù)據(jù)生成處理放在客戶機(jī)側(cè)執(zhí)行,因而虛擬機(jī)需要將相應(yīng)的窗口信息下發(fā)給客戶機(jī)以生成所述顯示數(shù)據(jù)。
[0068]步驟120,所述客戶機(jī)根據(jù)所述指令啟動(dòng)攝像頭,接收本地?cái)z像頭采集的視頻數(shù)據(jù),生成未經(jīng)壓縮的視頻流;
[0069]客戶機(jī)接收本地?cái)z像頭采集的視頻數(shù)據(jù)后,其上的操作系統(tǒng)會(huì)調(diào)用攝像頭驅(qū)動(dòng)程序來(lái)生成未經(jīng)壓縮的視頻流。
[0070]步驟130,所述客戶機(jī)通過(guò)復(fù)制得到兩份所述未經(jīng)壓縮的視頻流;
[0071]該步驟是可選的,因?yàn)楸緦?shí)施例的攝像頭視頻業(yè)務(wù)同時(shí)具有回顯功能和向通信對(duì)端傳送視頻功能,因此需要對(duì)未經(jīng)壓縮的視頻流進(jìn)行復(fù)制,在另一實(shí)施例中,攝像頭視頻業(yè)務(wù)不具有向通信對(duì)端傳送視頻功能,則無(wú)需復(fù)制,也無(wú)需在下一步驟中對(duì)未經(jīng)壓縮的視頻流進(jìn)行壓縮和發(fā)送。
[0072]步驟140,所述客戶機(jī)根據(jù)所述窗口信息和一份未經(jīng)壓縮的視頻流生成顯示數(shù)據(jù)并在顯示器進(jìn)行回顯;同時(shí)對(duì)另一份未經(jīng)壓縮的視頻流進(jìn)行壓縮,得到的壓縮視頻流通過(guò)所述視頻業(yè)務(wù)專用通道發(fā)送給所述虛擬機(jī)。
[0073]從本步驟可以看出,本實(shí)施例客戶機(jī)根據(jù)本地?cái)z像頭采集的視頻數(shù)據(jù)生成未經(jīng)壓縮的視頻流后,直接就利用該未經(jīng)壓縮的視頻流生成顯示數(shù)據(jù)在顯示器回顯,而不是等待虛擬機(jī)發(fā)送的屏幕顯示數(shù)據(jù)再回顯,因而避免了大量的回路流量。而在攝像頭視頻業(yè)務(wù)具有向通信對(duì)端傳送視頻功能時(shí),由于先進(jìn)行了壓縮,因而所占用的帶寬大大減少。
[0074]步驟150,所述客戶機(jī)通過(guò)所述視頻業(yè)務(wù)專用通道接收所述虛擬機(jī)轉(zhuǎn)發(fā)的通信對(duì)端的壓縮視頻流,解壓后生成顯示數(shù)據(jù)并在顯示器顯示。
[0075]本步驟對(duì)通信對(duì)端壓縮視頻流的處理與對(duì)本地?cái)z像頭采集的視頻數(shù)據(jù)的處理并無(wú)一定的先后順序。
[0076]與傳統(tǒng)虛擬桌面環(huán)境下客戶機(jī)接收屏幕顯示數(shù)據(jù)不同的是,本實(shí)施例的客戶機(jī)具有對(duì)視頻進(jìn)行解壓縮的功能及根據(jù)視頻流生成顯示數(shù)據(jù)的功能,因而可以通過(guò)視頻業(yè)務(wù)專用通道接收到通信對(duì)端發(fā)送的攝像頭視頻業(yè)務(wù)的壓縮視頻流,對(duì)其進(jìn)行解壓,生成顯示數(shù)據(jù)并在顯示器顯示。從而節(jié)約傳輸通信對(duì)端的視頻流所需的帶寬資源。
[0077]需要說(shuō)明的是,在另一實(shí)施例中,如果攝像頭視頻業(yè)務(wù)不具有顯示通信對(duì)端視頻功能,則無(wú)需執(zhí)行本步驟。
[0078]相應(yīng)的,本實(shí)施例的攝像頭視頻業(yè)務(wù)處理方法中,虛擬機(jī)側(cè)的流程如圖6所示,包括:
[0079]步驟210,虛擬機(jī)通過(guò)視頻業(yè)務(wù)專用通道向所述客戶機(jī)發(fā)送啟動(dòng)攝像頭視頻業(yè)務(wù)的指令及窗口信息,在所述攝像頭視頻業(yè)務(wù)具有回顯功能時(shí),屏蔽所述回顯功能;
[0080]虛擬機(jī)可以根據(jù)客戶機(jī)傳送的輸入指令啟動(dòng)攝像頭視頻業(yè)務(wù),在啟動(dòng)攝像頭視頻業(yè)務(wù)后,通過(guò)視頻業(yè)務(wù)專用通道向所述客戶機(jī)發(fā)送啟動(dòng)攝像頭視頻業(yè)務(wù)的指令及窗口信肩、O
[0081]因?yàn)楸緦?shí)施例回顯功能在客戶機(jī)本地實(shí)現(xiàn),因此虛擬機(jī)需要屏蔽攝像頭視頻業(yè)務(wù)的回顯功能。所謂屏蔽攝像頭視頻業(yè)務(wù)的回顯功能,即在收到客戶機(jī)傳送的攝像頭視頻業(yè)務(wù)的視頻流后,不再生成用于回顯的顯示數(shù)據(jù),因而虛擬機(jī)傳送回客戶機(jī)的屏幕顯示數(shù)據(jù)中就不包括用于攝像頭視頻業(yè)務(wù)回顯功能的顯示數(shù)據(jù),從而節(jié)約大量帶寬。
[0082]步驟220,所述虛擬機(jī)通過(guò)視頻業(yè)務(wù)專用通道接收所述客戶機(jī)發(fā)送的所述攝像頭視頻業(yè)務(wù)的壓縮視頻流,并發(fā)送給通信對(duì)端;
[0083]在本實(shí)施例中,因?yàn)榻邮盏囊曨l流已經(jīng)過(guò)壓縮,因此無(wú)需再進(jìn)行壓縮,而因?yàn)榛仫@功能被屏蔽,因而本步驟收到客戶機(jī)發(fā)送的壓縮視頻流后,不再生成用于回顯的顯示數(shù)據(jù)。
[0084]步驟230,所述虛擬機(jī)接收到通信對(duì)端的壓縮視頻流后,通過(guò)所述視頻業(yè)務(wù)專用通道直接轉(zhuǎn)發(fā)給所述客戶機(jī)。
[0085]本步驟對(duì)通信對(duì)端的壓縮視頻流的轉(zhuǎn)發(fā)處理與對(duì)客戶機(jī)發(fā)送的壓縮視頻流的處理并無(wú)一定的先后順序。
[0086]本步驟是可選的,因?yàn)楸緦?shí)施例客戶機(jī)具有解壓縮功能和生成顯示數(shù)據(jù)的功能,因而對(duì)于通信對(duì)端的壓縮視頻流,虛擬機(jī)可以不進(jìn)行解壓縮和生成顯示數(shù)據(jù),而是可以直接轉(zhuǎn)發(fā),即簡(jiǎn)化了虛擬機(jī)側(cè)的處理,又可以節(jié)約傳輸帶寬。
[0087]可見(jiàn),基于本實(shí)施例的方案,避免了攝像頭視頻業(yè)務(wù)在虛擬化環(huán)境下帶來(lái)的大量回路流量和未壓縮視頻流量,可以這些視頻流的傳輸需求。
[0088]本實(shí)施例的虛擬桌面系統(tǒng)中的客戶機(jī)30如圖7所示,包括操作系統(tǒng)模塊301和外設(shè)映射接口 302,新增了視頻顯示處理模塊303、視頻業(yè)務(wù)專用接口 304和視頻壓縮解壓模塊305,其中:
[0089]視頻業(yè)務(wù)專用接口 304是客戶機(jī)用于與虛擬機(jī)交互攝像頭視頻業(yè)務(wù)數(shù)據(jù)且獨(dú)立于所述外設(shè)映射接口的通信接口。
[0090]視頻壓縮解壓模塊305包括:視頻壓縮模塊,用于對(duì)視頻流進(jìn)行壓縮;及視頻解壓模塊,用于對(duì)壓縮視頻流進(jìn)行解壓縮。
[0091 ] 視頻顯示處理模塊303包括:
[0092]業(yè)務(wù)啟動(dòng)單元,用于通過(guò)視頻業(yè)務(wù)專用接口接收到虛擬機(jī)發(fā)送的啟動(dòng)攝像頭視頻業(yè)務(wù)的指令及窗口信息后,通過(guò)所述操作系統(tǒng)模塊啟動(dòng)本地?cái)z像頭,并從所述操作系統(tǒng)模塊接收本地?cái)z像頭采集的視頻數(shù)據(jù),生成未經(jīng)壓縮的視頻流,所述攝像頭視頻業(yè)務(wù)具有回顯功能。如果所述攝像頭視頻業(yè)務(wù)還具有向通信對(duì)端傳送視頻的功能,則業(yè)務(wù)啟動(dòng)單元還通過(guò)復(fù)制得到兩份所述未經(jīng)壓縮的視頻流,一份輸出到所述圖像回顯單元,另一份輸出到所述圖像傳送單元。
[0093]圖像回顯單元,用于在啟動(dòng)本地?cái)z像頭后,根據(jù)所述窗口信息和未經(jīng)壓縮的視頻流生成顯示數(shù)據(jù),通過(guò)所述操作系統(tǒng)模塊在顯示器進(jìn)行回顯。
[0094]圖像傳送單元,用于調(diào)用視頻壓縮模塊對(duì)所述未經(jīng)壓縮的視頻流進(jìn)行壓縮,得到的壓縮視頻流通過(guò)所述視頻業(yè)務(wù)專用接口發(fā)送給所述虛擬機(jī)。
[0095]圖像顯示單元,用于通過(guò)所述視頻業(yè)務(wù)專用接口接收所述虛擬機(jī)轉(zhuǎn)發(fā)的通信對(duì)端的壓縮視頻流,調(diào)用所述視頻解壓模塊對(duì)所述壓縮視頻流解壓后,生成顯示數(shù)據(jù)并通過(guò)所述操作系統(tǒng)模塊在顯示器顯示。
[0096]雖然本實(shí)施例的客戶機(jī)具有以上模塊和單元,但本發(fā)明在客戶機(jī)涉及的攝像頭視頻業(yè)務(wù)的功能有所不同時(shí),如不具有向通信對(duì)端傳送視頻功能和/或顯示通信對(duì)端視頻功能,上述的圖像傳送單元和視頻壓縮模塊,和/或圖像顯示單元和視頻解壓模塊是可選的。
[0097]本實(shí)施例的虛擬桌面系統(tǒng)中的虛擬機(jī)40如圖8所示,包括操作系統(tǒng)模塊401、外設(shè)映射接口 402、屏幕顯示數(shù)據(jù)生成模塊403、視頻壓縮解壓模塊404及攝像頭視頻應(yīng)用模塊405,其中,攝像頭視頻應(yīng)用模塊405與傳統(tǒng)虛擬桌面環(huán)境下的虛擬機(jī)中的攝像頭視頻應(yīng)用模塊不同,并新增了視頻業(yè)務(wù)專用接口 406。其中:
[0098]視頻業(yè)務(wù)專用接口 406是所述虛擬機(jī)用于與客戶機(jī)交互攝像頭視頻業(yè)務(wù)數(shù)據(jù)且獨(dú)立于所述外設(shè)映射接口的通信接口;
[0099]攝像頭視頻應(yīng)用模塊405包括:
[0100]業(yè)務(wù)控制單元,用于通過(guò)所述視頻業(yè)務(wù)專用接口向客戶機(jī)發(fā)送啟動(dòng)攝像頭視頻業(yè)務(wù)的指令及窗口信息,且在所述攝像頭視頻業(yè)務(wù)具有回顯功能時(shí),屏蔽所述回顯功能。
[0101]第一收發(fā)單元,用于通過(guò)所述視頻業(yè)務(wù)專用接口接收客戶機(jī)發(fā)送的所述攝像頭視頻業(yè)務(wù)的壓縮視頻流,再通過(guò)所述操作系統(tǒng)模塊發(fā)送給通信對(duì)端。
[0102]第二收發(fā)單元,用于通過(guò)所述操作系統(tǒng)模塊接收通信對(duì)端的壓縮視頻流后,然后通過(guò)所述視頻業(yè)務(wù)專用接口直接轉(zhuǎn)發(fā)給所述客戶機(jī)。
[0103]本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過(guò)程序來(lái)指令相關(guān)硬件完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤(pán)或光盤(pán)等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來(lái)實(shí)現(xiàn),相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。
[0104]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種應(yīng)用于虛擬桌面系統(tǒng)的攝像頭視頻處理方法,所述虛擬桌面系統(tǒng)包括通過(guò)網(wǎng)絡(luò)連接的客戶機(jī)和虛擬機(jī),所述方法包括: 所述客戶機(jī)通過(guò)視頻業(yè)務(wù)專用通道接收所述虛擬機(jī)發(fā)送的啟動(dòng)攝像頭視頻業(yè)務(wù)的指令及窗口信息,所述攝像頭視頻業(yè)務(wù)具有回顯功能; 所述客戶機(jī)根據(jù)所述指令啟動(dòng)攝像頭,接收本地?cái)z像頭采集的視頻數(shù)據(jù),生成未經(jīng)壓縮的視頻流; 所述客戶機(jī)根據(jù)所述窗口信息和未經(jīng)壓縮的視頻流生成顯示數(shù)據(jù)并在顯示器進(jìn)行回顯; 其中,所述視頻業(yè)務(wù)專用通道是所述客戶機(jī)與虛擬機(jī)之間交互攝像頭視頻業(yè)務(wù)數(shù)據(jù)且獨(dú)立于外設(shè)映射通道的通信通道。
2.如權(quán)利要求1所述的方法,其特征在于: 所述攝像頭視頻業(yè)務(wù)還具有向通信對(duì)端傳送視頻的功能; 所述客戶機(jī)生成未經(jīng)壓縮的視頻流之后,還包括:通過(guò)復(fù)制得到兩份所述未經(jīng)壓縮的視頻流,一份用于生成所述顯示數(shù)據(jù),另一份先進(jìn)行壓縮,得到的壓縮視頻流再通過(guò)所述視頻業(yè)務(wù)專用通道發(fā)送給所述虛擬機(jī)。
3.如權(quán)利要求1或2所述的方法,其特征在于: 所述方法還包括:所述客戶機(jī)通過(guò)所述視頻業(yè)務(wù)專用通道接收所述虛擬機(jī)轉(zhuǎn)發(fā)的通信對(duì)端的壓縮視頻流,解壓后生成顯示數(shù)據(jù)并在顯示器顯示。
4.一種應(yīng)用于虛擬桌面系統(tǒng)的攝像頭視頻處理方法,所述虛擬桌面系統(tǒng)包括通過(guò)網(wǎng)絡(luò)連接的客戶機(jī)和虛擬機(jī),所述方法包括: 所述虛擬機(jī)通過(guò)視頻業(yè)務(wù)專用通道向所述客戶機(jī)發(fā)送啟動(dòng)攝像頭視頻業(yè)務(wù)的指令及窗口信息,在所述攝像頭視頻業(yè)務(wù)具有回顯功能時(shí),屏蔽所述回顯功能; 所述虛擬機(jī)通過(guò)視頻業(yè)務(wù)專用通道接收所述客戶機(jī)發(fā)送的所述攝像頭視頻業(yè)務(wù)的壓縮視頻流,并發(fā)送給通信對(duì)端; 其中,所述視頻業(yè)務(wù)專用通道是所述虛擬機(jī)與客戶機(jī)之間交互攝像頭視頻業(yè)務(wù)數(shù)據(jù)且獨(dú)立于外設(shè)映射通道的通信通道。
5.如權(quán)利要求4所述的方法,其特征在于: 還包括:所述虛擬機(jī)接收到通信對(duì)端的壓縮視頻流后,通過(guò)所述視頻業(yè)務(wù)專用通道直接轉(zhuǎn)發(fā)給所述客戶機(jī)。
6.一種虛擬桌面系統(tǒng)中的客戶機(jī),包括操作系統(tǒng)模塊及外設(shè)映射接口,其特征在于,還包括視頻業(yè)務(wù)專用接口和視頻顯示處理模塊,其中: 所述視頻業(yè)務(wù)專用接口是所述客戶機(jī)用于與虛擬機(jī)交互攝像頭視頻業(yè)務(wù)數(shù)據(jù)且獨(dú)立于所述外設(shè)映射接口的通信接口; 所述視頻顯示處理模塊包括: 業(yè)務(wù)啟動(dòng)單元,用于通過(guò)視頻業(yè)務(wù)專用接口接收到虛擬機(jī)發(fā)送的啟動(dòng)攝像頭視頻業(yè)務(wù)的指令及窗口信息后,通過(guò)所述操作系統(tǒng)模塊啟動(dòng)本地?cái)z像頭,并從所述操作系統(tǒng)模塊接收本地?cái)z像頭采集的視頻數(shù)據(jù),生成未經(jīng)壓縮的視頻流,其中,所述攝像頭視頻業(yè)務(wù)具有回顯功能; 圖像回顯單元,用于在啟動(dòng)本地?cái)z像頭后,根據(jù)所述窗口信息和未經(jīng)壓縮的視頻流生成顯示數(shù)據(jù),通過(guò)所述操作系統(tǒng)模塊在顯示器進(jìn)行回顯。
7.如權(quán)利要求6所述的客戶機(jī),其特征在于: 所述客戶機(jī)還包括:視頻壓縮模塊,用于對(duì)視頻流進(jìn)行壓縮; 所述視頻顯示處理模塊還包括:圖像傳送單元; 所述視頻顯示處理模塊中的業(yè)務(wù)啟動(dòng)單元還用于在所述攝像頭視頻業(yè)務(wù)具有向通信對(duì)端傳送視頻的功能時(shí),通過(guò)復(fù)制得到兩份所述未經(jīng)壓縮的視頻流,一份輸出到所述圖像回顯單元,另一份輸出到所述圖像傳送單元; 所述圖像傳送單元,用于調(diào)用所述視頻壓縮模塊對(duì)所述未經(jīng)壓縮的視頻流進(jìn)行壓縮,得到的壓縮視頻流通過(guò)所述視頻業(yè)務(wù)專用接口發(fā)送給所述虛擬機(jī)。
8.如權(quán)利要求6所述的客戶機(jī),其特征在于: 所述客戶機(jī)還包括:視頻解壓模塊,用于對(duì)壓縮視頻流進(jìn)行解壓縮; 所述視頻顯示處理模塊還包括:圖像顯示單元,用于通過(guò)所述視頻業(yè)務(wù)專用接口接收所述虛擬機(jī)轉(zhuǎn)發(fā)的通信對(duì)端的壓縮視頻流,調(diào)用所述視頻解壓模塊對(duì)所述壓縮視頻流解壓后,生成顯示數(shù)據(jù)并通過(guò)所述操作系統(tǒng)模塊在顯示器顯示。
9.一種虛擬桌面系統(tǒng)中的虛擬機(jī),包括操作系統(tǒng)模塊、攝像頭視頻應(yīng)用模塊及外設(shè)映射接口,其特征在于,還包括視頻業(yè)務(wù)專用接口,其中: 所述視頻業(yè)務(wù)專用接口是所述虛擬機(jī)用于與客戶機(jī)交互攝像頭視頻業(yè)務(wù)數(shù)據(jù)且獨(dú)立于所述外設(shè)映射接口的通信接口; 所述攝像頭視頻應(yīng)用模塊包括: 業(yè)務(wù)控制單元,用于通過(guò)所述視頻業(yè)務(wù)專用接口向客戶機(jī)發(fā)送啟動(dòng)攝像頭視頻業(yè)務(wù)的指令及窗口信息,且在所述攝像頭視頻業(yè)務(wù)具有回顯功能時(shí),屏蔽所述回顯功能; 第一收發(fā)單元,用于通過(guò)所述視頻業(yè)務(wù)專用接口接收客戶機(jī)發(fā)送的所述攝像頭視頻業(yè)務(wù)的壓縮視頻流,再通過(guò)所述操作系統(tǒng)模塊發(fā)送給通信對(duì)端。
10.如權(quán)利要求9所述的虛擬機(jī),其特征在于: 所述攝像頭視頻應(yīng)用模塊還包括: 第二收發(fā)單元,用于通過(guò)所述操作系統(tǒng)模塊接收通信對(duì)端的壓縮視頻流后,然后通過(guò)所述視頻業(yè)務(wù)專用接口直接轉(zhuǎn)發(fā)給所述客戶機(jī)。
【文檔編號(hào)】H04N7/14GK104301687SQ201410585043
【公開(kāi)日】2015年1月21日 申請(qǐng)日期:2014年10月27日 優(yōu)先權(quán)日:2014年10月27日
【發(fā)明者】周巍, 賈寶軍, 張?jiān)朴? 申請(qǐng)人:中國(guó)聯(lián)合網(wǎng)絡(luò)通信集團(tuán)有限公司