秦 超
[摘要]網(wǎng)絡(luò)實(shí)時(shí)視頻系統(tǒng)一般分為4大模塊:采集系統(tǒng)、壓縮編碼系統(tǒng)、傳輸控制系統(tǒng)和輸出系統(tǒng)。其中傳輸控制系統(tǒng)是實(shí)時(shí)視頻流的一項(xiàng)關(guān)鍵核心技術(shù)。設(shè)計(jì)一個(gè)網(wǎng)絡(luò)實(shí)時(shí)視頻傳輸控制系統(tǒng),分析代理服務(wù)器的運(yùn)行原理,并針對(duì)CBR和VBR兩種傳輸方法說明緩存的控制機(jī)制。
[關(guān)鍵詞]實(shí)時(shí)視頻流 傳輸控制 代理服務(wù)器
中圖分類號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)0910023-01
一、引言
網(wǎng)絡(luò)視頻給人們的學(xué)習(xí)、生活帶來了極大的便利,實(shí)時(shí)視頻流傳輸技術(shù)應(yīng)運(yùn)而生。網(wǎng)絡(luò)實(shí)時(shí)視頻系統(tǒng)一般分為4大模塊:采集系統(tǒng)、壓縮編碼系統(tǒng)、傳輸控制系統(tǒng)和輸出系統(tǒng)。其中傳輸控制系統(tǒng)是實(shí)時(shí)視頻流的一項(xiàng)關(guān)鍵核心技術(shù)。視頻流傳輸所需的資源包括:中央服務(wù)器存儲(chǔ)空間和存儲(chǔ)系統(tǒng)的I/O存取能力帶寬;帶寬管理是視頻流傳輸控制的一個(gè)重點(diǎn)。如何使有限的帶寬資源更好的分配,是決定視頻播放是否流暢的關(guān)鍵;另外,各種視頻壓縮技術(shù)也廣泛應(yīng)用于流媒體傳輸,大大減少了有效數(shù)據(jù)的傳輸數(shù)量。
二、實(shí)時(shí)視頻傳輸系統(tǒng)
一般視頻流媒體系統(tǒng)的基本組成部分包括:存儲(chǔ)視頻庫的中央服務(wù)器,流傳輸網(wǎng)絡(luò),一組客戶端,如圖1所示。
傳統(tǒng)的視頻流媒體系統(tǒng)是基于客戶-服務(wù)器模式的,客戶端向服務(wù)器發(fā)出請(qǐng)求,視頻服務(wù)器根據(jù)其要求,訪問數(shù)據(jù)庫并傳送視頻幀到用戶端,這種系統(tǒng)被稱為視頻點(diǎn)播服務(wù)。
我們將要構(gòu)建的是一個(gè)實(shí)時(shí)視頻傳輸系統(tǒng)??蛻舳酥苯訌拇矸?wù)器獲取視頻,從而避免直接從廣域網(wǎng)傳輸,代理服務(wù)器可以緩存視頻數(shù)據(jù),這樣可以降低對(duì)中心服務(wù)器的I/ O存取能力和網(wǎng)絡(luò)帶寬的負(fù)荷。另外,代理服務(wù)器和客戶端之間的通常有豐富的低成本的帶寬資源,提供了良好的可擴(kuò)展能力。
流共享技術(shù)主要應(yīng)用于服務(wù)器端資源管理。一次傳送一個(gè)視頻流到多個(gè)客戶端,而不是分別傳輸多個(gè)視頻流到多個(gè)客戶端,這種方式大大提高了系統(tǒng)的性能。對(duì)服務(wù)器資源的要求減少,相應(yīng)的對(duì)客戶端資源需求增加。客戶端接收數(shù)據(jù)時(shí),前面接收到的幀存儲(chǔ)在磁盤上,緩沖供日后使用,這樣一個(gè)過程,需要一定的存儲(chǔ)空間和I/O讀寫能力??蛻舳诉€可以同時(shí)接收多個(gè)視頻片段,這樣就進(jìn)一步增加了客戶端的帶寬要求。流共享技術(shù)還降低了帶寬的占用,如果多個(gè)請(qǐng)求客戶端之間的位置接近,那么這種對(duì)帶寬占用的降低將自動(dòng)產(chǎn)生。另一方面用于視頻流分裂的組播機(jī)制中,分裂點(diǎn)應(yīng)盡量遠(yuǎn)離服務(wù)器,以達(dá)到盡量減少服務(wù)器段帶寬占用的目的。
三、視頻傳輸控制
在上一部分提到的視頻實(shí)施傳輸模型中添加一個(gè)輔助服務(wù)器作為代理服務(wù)器,擴(kuò)展模型的視頻流媒體系統(tǒng)如圖2。
代理服務(wù)器位于中央服務(wù)器和客戶端的網(wǎng)絡(luò)路徑中靠近客戶端的位置,將服務(wù)器和客戶端之間的網(wǎng)絡(luò)路徑分隔成兩個(gè)部分,前一部分屬于廣域網(wǎng),成本相對(duì)較高,后一部分屬于本地網(wǎng)絡(luò),其特點(diǎn)是豐富的網(wǎng)絡(luò)和低成本的帶寬。此外,后者傳輸速度快,與代理服務(wù)器和中央服務(wù)器件的網(wǎng)絡(luò)延遲相比,代理服務(wù)器和客戶端之間的網(wǎng)絡(luò)延遲是微不足道的。通常代理服務(wù)器與相近的多個(gè)客戶群體相連,這樣的群體被稱為客戶組。
代理服務(wù)器的主要功能之一是緩存全部或部分視頻。當(dāng)視頻被訪問時(shí),客戶端接收存儲(chǔ)于代理服務(wù)器中的部分視頻,同時(shí)向中央服務(wù)器請(qǐng)求其余部分,代理服務(wù)器還可以作為接收后一部分視頻的中間件來緩存來自中央服務(wù)器的數(shù)據(jù)。
代理服務(wù)器所需的資源包括:存儲(chǔ)空間和存取緩存數(shù)據(jù)的I/O帶寬。代理提供服務(wù)的客戶數(shù)量和視頻數(shù)量通常遠(yuǎn)小于中央服務(wù)器的總客戶數(shù)量和視頻量,因此,代理服務(wù)器是存儲(chǔ)資源有限并且成本較低的服務(wù)器,它可能無法緩存客戶想要訪問的全部影片。解決這一問題的方法,一種是存儲(chǔ)視頻片斷,代理服務(wù)器根據(jù)當(dāng)?shù)赜脩舻恼?qǐng)求數(shù)據(jù)選擇緩存哪些視頻,即對(duì)某一視頻的請(qǐng)求數(shù)越多,代理服務(wù)器緩存這一視頻的可能性和數(shù)據(jù)量越大。由于視頻存儲(chǔ)往往需要大量空間,因此如果不加選擇的緩存視頻,可能造成緩存空間的大量浪費(fèi)。只緩存視頻的初始部分可以減少啟動(dòng)延遲,而緩存整個(gè)視頻可以平滑傳輸率。另外,還要考慮到代理服務(wù)器I/O存取能力的限制。
(一)帶寬平滑的VBR(Variable Bit rate)視頻傳輸。代理緩存可以減少廣域網(wǎng)帶寬消耗,不僅減少通過廣域網(wǎng)傳輸?shù)臄?shù)據(jù)量,而且還有助于平滑帶寬。壓縮視頻的特點(diǎn)是幀大小變異率高,這一變化可以利用緩存技術(shù)降低。在[4]中,根據(jù)固定閾值緩存幀,如果幀小于閾值,整個(gè)幀將從中央服務(wù)器下載,否則視頻幀的一部分從中央服務(wù)器下載,而閾值和實(shí)際幀大小之間的部分將緩存于代理服務(wù)器。這樣的方法可以減少傳輸中峰值出現(xiàn)的頻率。
(二)視頻的CBR(Constants Bit Rate)傳輸。VBR視頻以固定速率傳輸,傳輸速率必須足夠高才可確保每一幀都能及時(shí)的傳輸,在這種情況下,緩沖空間用來補(bǔ)充傳輸速率和播放速率之間的差異。CBR傳輸中,對(duì)某一特定傳輸速率,代理緩存機(jī)制可以減少對(duì)存儲(chǔ)空間的需求。此時(shí)選定的緩存幀會(huì)分布于整個(gè)視頻,客戶端收到代理服務(wù)器發(fā)送的緩存幀然后播放,其余幀通過中央服務(wù)器利用CBR發(fā)送到客戶端。這里有一種減少緩沖區(qū)的方法:只緩存較大的幀。在[5]中,選擇緩存的幀的方式為客戶端的緩沖區(qū)設(shè)定閾值,超過這個(gè)閾值的幀將被緩存。
代理緩存也可以解決基于CBR的傳輸序列問題。由于客戶端緩沖區(qū)空間大小不同,有時(shí)緩沖空間很低并可能達(dá)到緩沖底。當(dāng)客戶端達(dá)到緩沖底時(shí),會(huì)發(fā)生某些視頻幀延遲或停止,緩存機(jī)制可以減少系統(tǒng)的這種脆弱性。這種方法在[2]中提出,如果客戶端資源有限,增加客戶端的存儲(chǔ)空間,并暫停該緩沖服務(wù)器的傳輸。
四、總結(jié)
在實(shí)時(shí)視頻傳輸中,本文基于視頻廣播技術(shù),使用了代理服務(wù)器技術(shù)和傳輸控制的幾種方法,在解決視頻傳輸?shù)臄?shù)據(jù)延遲,帶寬平滑等方面有很好的效果。實(shí)時(shí)視頻傳輸協(xié)議是我們未來研究的方向。
參考文獻(xiàn):
[1]W.Ma and D.H.C.Du.Design a progressive video caching policy for video proxy server.In IEEE Transactions of Multimedia,To appear.
[2]范新南、邢超,基于Internet的端到端視頻傳輸技術(shù)研究,計(jì)算機(jī)工程[J].2007年03期.
作者簡(jiǎn)介:
秦超(1982-),男,山東日照人,四川大學(xué)電子信息學(xué)院圖像信息研究所電路與系統(tǒng)專業(yè),在讀研究生,主要研究方向?yàn)?圖像處理。