IPTV媒體分發(fā)技術(shù)之一——代理緩存
——
摘要 媒體分發(fā)技術(shù)在保證IPTV業(yè)務(wù)的服務(wù)質(zhì)量上具有相當關(guān)鍵的作用。CDN(內容分發(fā)網(wǎng)絡(luò ))技術(shù)在Web業(yè)務(wù)上得到了較為廣泛的應用,但與傳統的Web業(yè)務(wù)不同,IPTV需要分發(fā)的內容是數據量相當大的視頻數據,采用傳統的CDN技術(shù)不能完全滿(mǎn)足IPTV業(yè)務(wù)的需要。本文介紹應用于IPTV視頻流分發(fā)的代理緩存技術(shù)。
關(guān)鍵詞 IPTV媒體流分發(fā) 分層編碼 分段緩存
1、概述
自有電視業(yè)務(wù)以來(lái),人們便不滿(mǎn)足于僅被動(dòng)地接收電視節目。用戶(hù)一直希望能夠按自己的意愿獲得所喜愛(ài)的電視節目。這也不難理解為什么20世紀80年代,人們希望使用MTV;20世紀90年代人們希望使用視頻點(diǎn)播業(yè)務(wù);近幾年,人們希望使用Internet協(xié)議電視(IPTV)業(yè)務(wù)。事實(shí)上目前所談的IPTV在某種意義上講是20世紀90年代視頻點(diǎn)播業(yè)務(wù)(VOD)的一種繼續。
VOD出現之初。人們希望能夠針對大眾喜愛(ài)的電視節目?jì)热萏峁r(shí)移電視,這樣人們就可以在家里非常舒服地在方便的時(shí)候觀(guān)看電影或電視節目?;镜乃枷胧菍热荽鎯υ诖鎯ζ髦型瑫r(shí)發(fā)展分發(fā)網(wǎng)絡(luò )提供接入并投遞這些視頻內容。最初業(yè)務(wù)的推動(dòng)者來(lái)自廣播電視業(yè)務(wù)提供者和電影制片者。但遺憾的是由于在當時(shí)的技術(shù)條件下(當時(shí)期望的承載網(wǎng)絡(luò )是基于A(yíng)TM技術(shù)的寬帶ISDN)所需要的基礎設施費用相對于VOD業(yè)務(wù)的需求顯得太高了一些。這樣VOD在一段時(shí)間內發(fā)展緩慢,除了在一些局域網(wǎng)絡(luò )上開(kāi)放了一些VOD業(yè)務(wù)外,大多數的VOD停留在研究和試驗層面。同時(shí)Web業(yè)務(wù)的出現,給人們帶來(lái)了使用Web業(yè)務(wù)獲得文本信息的喜悅。
隨著(zhù)數字攝像機的出現、存儲系統能力的增強、網(wǎng)絡(luò )傳輸帶寬的增加以及移動(dòng)電話(huà)終端能力的增強,對網(wǎng)絡(luò )視頻信息的傳輸又一次成為人們關(guān)注的熱點(diǎn)問(wèn)題之一。與20世紀90年代的VOD的不同點(diǎn)在于網(wǎng)絡(luò )視頻的承載網(wǎng)絡(luò )是IP網(wǎng)絡(luò ),而用戶(hù)的顯示終端也擴展到包括電視終端、計算機、移動(dòng)手機等。提供視頻的方式也由廣播電視的純“推”的方式擴展到包括原有電視的“推”方式和VOD的“拉”方式。用戶(hù)可以根據自己的意愿獲取節目信息。也就是說(shuō)IPTV將以類(lèi)似于Web業(yè)務(wù)向用戶(hù)提供文本信息一樣向用戶(hù)提供視頻信息。
雖然IPTV主要是向用戶(hù)提供視頻信息,但由于IPTV業(yè)務(wù)的業(yè)務(wù)形式和用戶(hù)終端種類(lèi)的增加,使得業(yè)務(wù)提供者不能僅采用單一的信息源同時(shí)向數量眾多、終端能力各異的用戶(hù)提供業(yè)務(wù)。本文將介紹IPTV業(yè)務(wù)中進(jìn)行視頻內容分發(fā)的一種技術(shù)——代理緩存技術(shù)。
2、IPTV業(yè)務(wù)服務(wù)質(zhì)量要求
由于視頻節目?jì)热莸男畔⒘枯^大、若采用下載后播放的方式,用戶(hù)在下載全部節目信息時(shí)需要花費較長(cháng)的時(shí)間,為此在提供業(yè)務(wù)時(shí)不能使用下載后播放的方式而應采用類(lèi)似于現有廣播電視播放的方式,也就是說(shuō)在下載的同時(shí)進(jìn)行播放,從用戶(hù)的角度看就是邊下載邊播放。IPTV業(yè)務(wù)主要提供媒體直播(廣播)業(yè)務(wù)和媒體信息點(diǎn)播業(yè)務(wù)。對于直播方式要求視頻流在播放時(shí)不能出現中斷,同時(shí)播放時(shí)允許用戶(hù)在多個(gè)節目中進(jìn)行切換,切換時(shí)間要在相對短的時(shí)間范圍內。而對于點(diǎn)播方式的業(yè)務(wù)要求用戶(hù)可以找到所希望觀(guān)看的節目同時(shí)可以對觀(guān)看的節目進(jìn)行適當的控制(包括快進(jìn)、快退、暫停等),同時(shí)要求播放的視頻節目信息流暢沒(méi)有明顯的中斷。
就目前視頻編碼技術(shù)的發(fā)展現狀,實(shí)現用戶(hù)在線(xiàn)實(shí)時(shí)播放視頻節目信息所需的網(wǎng)絡(luò )傳輸帶寬通常在每秒兆比特數量級。IPTV業(yè)務(wù)主要以提供雙向不對稱(chēng)的視頻信息為主。用戶(hù)和業(yè)務(wù)提供者之間主要是客戶(hù)端/服務(wù)器方式進(jìn)行通信。這樣若多個(gè)用戶(hù)同時(shí)觀(guān)看存儲在一個(gè)視頻存儲器中的視頻節目信息對存儲服務(wù)器的輸入輸出具有較高的要求,同時(shí)通信網(wǎng)絡(luò )的帶寬要求也較高。為此,對于IPTV業(yè)務(wù)通常采用類(lèi)似目前CDN的技術(shù)將視頻節目信息緩存到接近用戶(hù)的邊緣設施,以減小主視頻存儲服務(wù)器和通信網(wǎng)絡(luò )的壓力。但視頻信息通常比文本信息的信息量大,若將全部的視頻信息均緩存到邊緣存儲設備中會(huì )造成存儲設施的浪費,同時(shí)由于用戶(hù)采用具有不同能力的終端,要求業(yè)務(wù)提供者提供傳輸速率不同的視頻信息。這樣采用代理緩存技術(shù)成為解決Internet上媒體流傳輸的一個(gè)重要手段。
3、代理緩存技術(shù)簡(jiǎn)介
3.1 媒體流代理緩存輔助的系統結構
采用代理緩存的基本思想是用戶(hù)(客戶(hù)端)的控制信息和媒體投遞信息在傳輸時(shí)采用兩個(gè)不同的信道來(lái)進(jìn)行。媒體流服務(wù)器根據控制信息的指令向用戶(hù)(客戶(hù)端)傳遞媒體信息。用戶(hù)將其控制信息上傳到媒體代理,若媒體代理的緩存器中存儲有用戶(hù)所要的媒體內容,則代理直接將其緩存器中存儲的信息投遞給用戶(hù)(客戶(hù)端)的緩存空間,緩存空間接收到媒體信息后將其傳遞給播放器用于播放。若緩存代理的緩存器中沒(méi)有用戶(hù)要求的信息,則發(fā)送指令給服務(wù)器請求傳遞相應的媒體信息。根據緩存代理的不同策略,服務(wù)器將媒體信息直接傳輸到代理的交換器或存儲到緩存代理的緩存器中,由緩存器將媒體流信息再通過(guò)交換器傳送給用戶(hù)。
3.2 緩存代理技術(shù)
從緩存代理技術(shù)本身來(lái)講,是將媒體信息緩存在緩存代理處,然后將其傳送給用戶(hù)。但由于視頻媒體信息本身信息量大的特點(diǎn),若緩存代理作為服務(wù)器的備份,那么對緩存代理的要求將太高,勢必增大業(yè)務(wù)提供者的成本。同時(shí)由于不同的節目?jì)热萦脩?hù)的點(diǎn)擊率并不相同,為此將所有的媒體內容采用相同的方式進(jìn)行緩存沒(méi)有必要。因而目前采用的代理緩存通常采用對熱播的內容采用全部存儲,而對點(diǎn)播量不大的媒體內容采用部分緩存的方式進(jìn)行。但如何確定需要緩存什么、緩存多長(cháng)時(shí)間的算法就成了研究者研究和討論的一個(gè)問(wèn)題?,F有的緩存算法主要包括用于同質(zhì)客戶(hù)端的代理緩存和用于不同質(zhì)客戶(hù)端的代理緩存。
3.3 用于同質(zhì)客戶(hù)端的代理緩存
目前大多數代理緩存技術(shù)適用于在代理之后具有相同或類(lèi)似配置和能力的同質(zhì)客戶(hù)端。這樣同一版本的媒體信息可以滿(mǎn)足所有同質(zhì)客戶(hù)端對相同內容請求,同時(shí)對客戶(hù)端連接到網(wǎng)絡(luò )的帶寬以及客戶(hù)端的播放能力具有相同的要求。即使是這樣,在代理緩存中存儲一個(gè)節目?jì)热莸哪男┎糠忠约叭绾喂芾泶砭彺嬷幸呀?jīng)存儲的信息(如何放置以及如何替換所存的信息)仍然是具有挑戰性的問(wèn)題。不同算法會(huì )帶來(lái)不同服務(wù)質(zhì)量以及代理資源的不同消耗。本文主要介紹目前研究較多的4類(lèi)代理緩存算法:可變時(shí)間間隔緩存、前綴緩存、分段緩存以及變速緩存。
3.3.1 可變時(shí)間間隔緩存
可變時(shí)間間隔緩存算法采用緩存可變時(shí)間間隔的媒體信息以用于連續地接入流媒體。該算法的實(shí)現方式如下:當兩個(gè)客戶(hù)端在一段時(shí)間間隔內向同一個(gè)代理緩存器請求同一個(gè)媒體內容時(shí),根據第一個(gè)客戶(hù)端的請求,代理緩存器向媒體服務(wù)器請求發(fā)送媒體信息并將接收到的媒體信息發(fā)送給第一個(gè)請求者,同時(shí)將媒體信息存儲在代理緩存器中,在第二個(gè)客戶(hù)端的請求到來(lái)時(shí),代理緩存器就可以將已經(jīng)存儲在緩存器中的媒體信息直接發(fā)送給第二個(gè)請求者,待媒體信息發(fā)送給第二個(gè)請求者后代理緩存器釋放該媒體信息。這樣媒體服務(wù)器只需要通過(guò)骨干網(wǎng)絡(luò )將媒體信息傳送一次便可以服務(wù)于兩個(gè)客戶(hù)端。從而節省了骨干網(wǎng)絡(luò )帶寬,同時(shí)減少了第二個(gè)請求者開(kāi)始的等待時(shí)間,提高了服務(wù)質(zhì)量。當多個(gè)客戶(hù)端在一定的時(shí)間間隔內請求同一個(gè)媒體信息時(shí),就可以將媒體信息從媒體服務(wù)器中請求一次然后存儲在代理緩存器中,根據后續請求者的請求發(fā)送給相應的請求者,在媒體信息發(fā)送給最后一個(gè)請求者時(shí)釋放媒體信息。這樣僅在第一個(gè)客戶(hù)端請求媒體信息時(shí)需要代理緩存器從媒體服務(wù)器中請求傳送媒體信息,后續的客戶(hù)端僅需從代理緩存器中獲得媒體信息便可。根據請求同一媒體信息的第一個(gè)客戶(hù)端到最后一個(gè)客戶(hù)端請求的時(shí)間間隔不同,需要將媒體信息在代理緩存器中對媒體信息保留不同的時(shí)間間隔,當該間隔與整個(gè)節目的播放時(shí)間相同時(shí),在代理緩存器中就保留了請求節目的全部信息。在一個(gè)節目熱播期間通常需要在代理緩存器中存儲熱播節目的全部信息。
3.3.2 前綴緩存
在上一種算法中,主要是減少對骨干網(wǎng)絡(luò )的傳輸帶寬的壓力,同時(shí)提高后續請求者的初始播放速度。但第一個(gè)請求者的起始播放時(shí)間并沒(méi)有減少,若在沒(méi)有用戶(hù)請求之前將每一個(gè)節目的開(kāi)始部分存儲在代理緩存器中,在第一個(gè)客戶(hù)端請求媒體信息時(shí)也可以提高其起始速度,同時(shí)代理緩存器向每一個(gè)媒體服務(wù)器請求后續部分內容。這便是前綴緩存算法的基本思想。
在采用前綴緩存算法時(shí)一個(gè)需要考慮的問(wèn)題是最初在代理緩存器中應當緩存多長(cháng)一段節目?jì)热???紤]到,客戶(hù)端需要平滑地播放媒體內容,代理緩存器中至少要存儲從代理服務(wù)器到媒體服務(wù)器處接收到后續媒體信息的一段時(shí)間內足夠客戶(hù)端播放的信息。在代理緩存器的存儲空間比較富裕的情況下,可以盡可能將前綴信息存儲的相對長(cháng)一些。
3.3.3 分段緩存
前綴緩存算法主要解決起始響應速度問(wèn)題,在其中隱含了一個(gè)媒體信息分段問(wèn)題。前綴本身就意味著(zhù)將媒體信息分成了不同的段信息。在代理緩存器從媒體服務(wù)器后續請求過(guò)程中也需要根據媒體信息的特征分段請求或發(fā)送。特別是針對點(diǎn)播類(lèi)業(yè)務(wù),客戶(hù)端需要快進(jìn)、快退等操作,這意味著(zhù)需要在媒體信息中在分段處有標注信息。這也要求將媒體信息本身進(jìn)行分段。
分段緩存算法是目前學(xué)術(shù)界研究較多的一種算法,根據不同的用途分段緩存算法又分為指數級分段和“慢分段”,指數級分段是根據內容信息距起始點(diǎn)距離的不同將信息分成不同長(cháng)度的段,距起始點(diǎn)越遠段落的長(cháng)度越大,這主要是用于代理緩存器快速調整所緩存的內容,在需要的時(shí)候可以丟棄大塊的媒體信息內容?!奥侄巍逼浠舅枷胧潜M可能晚地對媒體信息進(jìn)行分段,而要等到收集到了盡可能多的統計信息再對媒體信息進(jìn)行分段,這樣可以最好地降低對帶寬的要求,提高服務(wù)質(zhì)量。
分段緩存的最大好處在于可以進(jìn)行可變比特率傳輸,為此也有提出根據內容提供者的意見(jiàn)將內容信息中最為精彩的片段取出來(lái)進(jìn)行分段,并在客戶(hù)端最初觀(guān)看內容時(shí)為其提供這些精彩片段,然后由用戶(hù)確定是否繼續觀(guān)看所選擇的內容或者是直接跳轉到其認為最為好看的部分內容。
3.3.4 分速率緩存
上面三種算法均是根據時(shí)間順序進(jìn)行緩存以減少對網(wǎng)絡(luò )帶寬的壓力,沒(méi)有考慮到媒體信息編碼后不同時(shí)間上信息量的不同從而帶來(lái)的網(wǎng)絡(luò )傳輸帶寬需求的變化。分速率緩存算法的基本思想是,將從時(shí)間軸上看不同時(shí)間段上不同速率的信息,在媒體服務(wù)器中存儲等速率的部分信息,而在代理緩存器中存儲變化速率的部分信息。這樣在代理緩存器與媒體服務(wù)器之間將采用等速率傳輸媒體信息,代理緩存器將接收到的等速媒體信息與已經(jīng)緩存在代理緩存器中變速率部分的媒體信息組合起來(lái)發(fā)送給客戶(hù)端,以滿(mǎn)足播放器連續播放的要求。
3.4 用于不同質(zhì)客戶(hù)端的代理緩存
3.3中所介紹的代理緩存主要適用于可以接收相同速率并可以使用相同格式的客戶(hù)端。IPTV業(yè)務(wù)可以向采用不同的接入網(wǎng)絡(luò )接入并具有不同設備配置的客戶(hù)端提供業(yè)務(wù)。在這種情況下,為滿(mǎn)足不同能力客戶(hù)端的需要,媒體服務(wù)器需要存儲采用不同格式適用于網(wǎng)絡(luò )速率的同一內容的多種備份,這樣耗費了大量的存儲和網(wǎng)絡(luò )資源。為解決該問(wèn)題,分層編碼方式應運而生。這種算法是將媒體信息按層進(jìn)行編碼,將具有重要信息的層編碼存儲在代理緩存器中,將其他層信息存儲在媒體服務(wù)器中。對于要求速率低的客戶(hù)端,代理緩存器直接將所存儲的信息發(fā)送過(guò)去就可以滿(mǎn)足其需要,而對于要求速率高的客戶(hù)端,代理緩存器可以先將所存儲的信息發(fā)送到客戶(hù)端,同時(shí)向媒體服務(wù)器請求其他層的信息再轉發(fā)給客戶(hù)端,以滿(mǎn)足客戶(hù)端對信息速率和信息格式的要求。目前通常是將媒體信息分為2~3層。最優(yōu)的分層方式還在研究之中。
通??蛇m用于速率范圍較大的編碼速率,如MPEG-4多采用分層編碼算法。其最大的優(yōu)點(diǎn)就是對傳輸速率和顯示格式有不同要求的客戶(hù)端,采用不同層信息的不同組合,從而節省存儲空間和傳輸帶寬。
3.5 重疊網(wǎng)絡(luò )上的代理緩存
目前的Internet運營(yíng)商多苦于類(lèi)似BT一類(lèi)的視頻下載軟件在網(wǎng)絡(luò )上的使用。多對一的視頻信息的傳輸消耗了網(wǎng)絡(luò )的大量資源,造成了網(wǎng)絡(luò )擁塞。據有關(guān)統計,目前BT下載信息在Internet上的全部信息量中占有很大的比例。從實(shí)現機理上來(lái)講采用peer to peer的方式進(jìn)行視頻信息傳遞也是一種代理緩存,在peer to peer環(huán)境中,每一個(gè)客戶(hù)端即是服務(wù)器也是客戶(hù)端。而從代理緩存的角度,由于客戶(hù)端所存儲的信息是來(lái)自于同一個(gè)媒體服務(wù)器,在這種意義上講每一個(gè)客戶(hù)端起到代理緩存器的作用。
peer to peer環(huán)境通常是一個(gè)松耦合的環(huán)境,每一個(gè)客戶(hù)端均可能在不通知其他客戶(hù)端的情況下離開(kāi)或者禁止其他客戶(hù)端訪(fǎng)問(wèn)。這樣勢必會(huì )影響業(yè)務(wù)的服務(wù)質(zhì)量,若是將peer to peer配置在第二層代理緩存,而第一層代理緩存采用由業(yè)務(wù)提供商配置固定的代理緩存器來(lái)完成,這樣一方面可以提高業(yè)務(wù)的服務(wù)質(zhì)量,一方面可以節省業(yè)務(wù)提供者代理緩存器的資源。
4、結束語(yǔ)
IPTV業(yè)務(wù)是目前業(yè)界的一個(gè)熱點(diǎn)問(wèn)題,雖然IP網(wǎng)絡(luò )目前的傳輸帶寬已經(jīng)達到一定的程度并且有能力傳輸像視頻信息一類(lèi)對傳輸帶寬要求較高的信息。但是在提供以單播形式為主的點(diǎn)播類(lèi)視頻業(yè)務(wù)時(shí)如何投遞視頻信息以滿(mǎn)足用戶(hù)的需要仍然是一個(gè)很大的挑戰。代理緩存技術(shù)在Web業(yè)務(wù)采用的CDN上已經(jīng)有很多的應用。但與文本信息相比,點(diǎn)播類(lèi)視頻業(yè)務(wù)本身信息量大、傳輸帶寬要求高、交互性要求高的特點(diǎn)不能將用于Web業(yè)務(wù)的代理緩存技術(shù)簡(jiǎn)單地應用于視頻點(diǎn)播業(yè)務(wù)。而需要采用特定的算法來(lái)實(shí)現節省存儲器和傳輸資源的目的。本文中簡(jiǎn)單介紹了目前正在使用或處于研究階段的代理緩存算法。這些算法通常是針對某種特定場(chǎng)合而設計的,它們之間沒(méi)有排斥性,通常具有互補性,在具體使用中可以同時(shí)采用,也可以針對不同的應用環(huán)境采用部分算法。目前已經(jīng)商用的代理緩存通常采用相對簡(jiǎn)單的算法以滿(mǎn)足實(shí)現簡(jiǎn)單的目的。代理緩存算法仍處于發(fā)展之中,這些技術(shù)的順利進(jìn)展并在IPTV業(yè)務(wù)中應用將有利于IPTV業(yè)務(wù)的健康發(fā)展。
評論