專利名稱:一種改進(jìn)流媒體播放流暢性的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)技術(shù)領(lǐng)域以及多媒體技術(shù)領(lǐng)域,特別是涉及一種改進(jìn)流媒體播放流暢性的方法。
背景技術(shù):
流媒體是指采用流式傳輸?shù)姆绞皆贗nternet播放的媒體格式。
流式傳輸方式則是將整個A/V及3D等多媒體文件經(jīng)過特殊的壓縮方式分成一個個壓縮包,由視頻服務(wù)器向用戶計(jì)算機(jī)連續(xù)、實(shí)時傳送。在采用流式傳輸方式的系統(tǒng)中,用戶不必像采用下載方式那樣等到整個文件全部下載完畢,而是只需經(jīng)過幾秒或幾十秒的啟動延時即可在用戶的計(jì)算機(jī)上利用解壓設(shè)備(硬件或軟件)對壓縮的A/V、3D等多媒體文件解壓后進(jìn)行播放和觀看。
流式傳輸?shù)膶?shí)現(xiàn)需要緩存。因?yàn)镮nternet以包傳輸為基礎(chǔ)進(jìn)行斷續(xù)的異步傳輸,對一個實(shí)時A/V源或存儲的A/V文件,在傳輸中它們要被分解為許多包,由于網(wǎng)絡(luò)是動態(tài)變化的,各個包選擇的路由可能不盡相同,故到達(dá)客戶端的時間延遲也就不等,甚至先發(fā)的數(shù)據(jù)包還有可能后到。為此,使用緩存系統(tǒng)來彌補(bǔ)延遲和抖動的影響,并保證數(shù)據(jù)包的順序正確,從而使媒體數(shù)據(jù)能連續(xù)輸出,而不會因?yàn)榫W(wǎng)絡(luò)暫時擁塞使播放出現(xiàn)停頓。通常高速緩存所需容量并不大,因?yàn)楦咚倬彺媸褂铆h(huán)形鏈表結(jié)構(gòu)來存儲數(shù)據(jù)通過丟棄已經(jīng)播放的內(nèi)容,流可以重新利用空出的高速緩存空間來緩存后續(xù)尚未播放的內(nèi)容。流式傳輸?shù)膶?shí)現(xiàn)需要合適的傳輸協(xié)議。由于TCP需要較多的開銷,故不太適合傳輸實(shí)時數(shù)據(jù)。在流式傳輸?shù)膶?shí)現(xiàn)方案中,一般采用HTTP/TCP來傳輸控制信息,而用RTP/UDP來傳輸實(shí)時聲音數(shù)據(jù)。
然而對于網(wǎng)絡(luò)中可能出現(xiàn)的擁塞現(xiàn)象,即使使用了擁塞控制。由于網(wǎng)絡(luò)的總體性能還是下降了,服務(wù)器端傳送到客戶端的數(shù)據(jù)量還是會相對少了很多。因此在網(wǎng)絡(luò)性能不好的時候,采用流媒體播放會經(jīng)常出現(xiàn)停頓現(xiàn)象。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服流媒體的網(wǎng)絡(luò)適應(yīng)差的問題,設(shè)計(jì)一種可以提高流媒體播放流暢性的方法。
為實(shí)現(xiàn)上述發(fā)明目的,采用的技術(shù)方案如下一種改進(jìn)流媒體播放流暢性的方法,包括了服務(wù)端和客戶端兩大模塊??蛻舳嗽诰W(wǎng)絡(luò)性能差的時候反饋網(wǎng)絡(luò)狀態(tài)信息,服務(wù)端通過分析網(wǎng)絡(luò)信息,將媒體數(shù)據(jù)最優(yōu)化縮減,然后將媒體數(shù)據(jù)發(fā)送到客戶端。
本發(fā)明的設(shè)計(jì)方法是在流媒體的基礎(chǔ)上加以改進(jìn)的??蛻舳私邮辗?wù)端的數(shù)據(jù)流,在接收的媒體數(shù)據(jù)不滿足播放需求或者探測到網(wǎng)絡(luò)性能不良的時候,可以通過反饋網(wǎng)絡(luò)狀態(tài)等信息來通知服務(wù)端。服務(wù)端通過分析網(wǎng)絡(luò)狀態(tài)的信息,可以智能的將要發(fā)送的媒體數(shù)據(jù),主要是視頻圖像數(shù)據(jù)進(jìn)行對于網(wǎng)絡(luò)狀態(tài)的最優(yōu)化縮減。從而達(dá)到利用網(wǎng)絡(luò)資源發(fā)送更多的數(shù)據(jù)幀,讓流媒體播放器更加流暢的播放的目的。
本發(fā)明包括服務(wù)端和服務(wù)端客戶端通過接收媒體數(shù)據(jù)并播放,在接收到的媒體數(shù)據(jù)不足以支持連續(xù)播放的時候,或者是通過網(wǎng)絡(luò)檢測模塊檢測,在網(wǎng)絡(luò)性能不好的時候,將能接收到的媒體數(shù)據(jù)和可以支持連續(xù)播放的媒體數(shù)據(jù)的比例,以及能接收到的網(wǎng)絡(luò)流量等信息通過網(wǎng)絡(luò)反饋信息模塊發(fā)送給服務(wù)端。
服務(wù)端接收來自客戶端網(wǎng)絡(luò)狀態(tài)信息發(fā)送模塊發(fā)送來的信,并將圖像信息的象素位數(shù)的信息提取出來,然后根據(jù)網(wǎng)絡(luò)狀態(tài)信息對圖像信息生成新的象素位數(shù)的圖像信息,最后將新生成的幀數(shù)據(jù)發(fā)送到客戶端。從而適應(yīng)網(wǎng)絡(luò),保證了播放的流暢性同時達(dá)到最優(yōu)播放效果,本發(fā)明的工作過程可歸結(jié)為(1).客戶端接收服務(wù)端的媒體播放信息并進(jìn)行播放,同時緩沖區(qū)和網(wǎng)絡(luò)監(jiān)測模塊檢測緩沖區(qū)數(shù)據(jù)和網(wǎng)絡(luò)狀態(tài),如果緩沖池?cái)?shù)據(jù)滿足連續(xù)播放并且網(wǎng)絡(luò)流量良好,則不進(jìn)行操作,延遲幾秒后再次監(jiān)測,進(jìn)入步驟(1),否則當(dāng)檢測到接收到的媒體數(shù)據(jù)不足以支持連續(xù)播放或者網(wǎng)絡(luò)的性能在變差的時候,客戶端可以發(fā)送網(wǎng)絡(luò)狀態(tài)等相關(guān)信息給服務(wù)端。;(2).服務(wù)端接收并分析反饋的信息,根據(jù)緩沖區(qū)的現(xiàn)有數(shù)據(jù)情況和網(wǎng)絡(luò)的流量變化信息,計(jì)算出最適應(yīng)網(wǎng)絡(luò)的新的圖像幀中圖像象素位數(shù)的大??;
(3).服務(wù)端判斷新象素位數(shù)大小,如果新象素位數(shù)小于一閥值,則不對原圖像信息進(jìn)行操作,進(jìn)入步驟(6);(4).服務(wù)端根據(jù)新的象素位數(shù)對原圖像信息進(jìn)行圖像幀數(shù)據(jù)的縮減,生成新的該圖像象素位數(shù)的圖像信息;(5).將新的圖像信息打包成新的圖像幀數(shù)據(jù);(6).服務(wù)端將新的圖像幀數(shù)據(jù)發(fā)送給客戶端。
本發(fā)明的有益效果在于客戶端反饋網(wǎng)絡(luò)狀態(tài)等信息,服務(wù)端通過最優(yōu)縮減媒體數(shù)據(jù)的大小,提高流媒體的播放流暢性。
客戶端在接收到的媒體數(shù)據(jù)不足以支持連續(xù)播放的時候,或者是在網(wǎng)絡(luò)性能不好的時候,將能接收到的媒體數(shù)據(jù)和可以支持連續(xù)播放的媒體數(shù)據(jù)的比例,以及能接收到的網(wǎng)絡(luò)流量等信息發(fā)送給服務(wù)端。服務(wù)端通過分析網(wǎng)絡(luò)狀態(tài)和要發(fā)送的媒體數(shù)據(jù)的圖像幀的象素位數(shù),通過計(jì)算生成適應(yīng)網(wǎng)絡(luò)的最優(yōu)的新的圖像象素位數(shù),并且根據(jù)新的象素位數(shù)對要發(fā)送的圖像幀進(jìn)行圖像處理生成新的圖像幀。然后通過發(fā)送模塊將新的媒體數(shù)據(jù)發(fā)送過去。
圖1是本發(fā)明的結(jié)構(gòu)示意圖;圖2是服務(wù)端的流程示意圖;圖3是服務(wù)端的圖像處理模塊的流程示意圖。
具體實(shí)施例方式
下面結(jié)合附圖對本發(fā)明進(jìn)行進(jìn)一步的說明。
本發(fā)明的結(jié)構(gòu)示意圖如圖1所示。包括服務(wù)端和客戶端兩個部分。
服務(wù)端有網(wǎng)絡(luò)反饋信息接收模塊,要發(fā)送的圖像信息分析模塊,圖像處理模塊,發(fā)送媒體數(shù)據(jù)模塊。客戶端有接收媒體模塊,網(wǎng)絡(luò)檢測模塊和網(wǎng)絡(luò)狀態(tài)信息發(fā)送模塊。
服務(wù)端中網(wǎng)絡(luò)反饋信息接收模塊接收來自客戶端網(wǎng)絡(luò)狀態(tài)信息發(fā)送模塊發(fā)送來的信;圖像信息分析模塊可以將圖像信息的象素位數(shù)的信息提取出來;圖像處理模塊可根據(jù)網(wǎng)絡(luò)狀態(tài)信息對圖像信息生成新的象素位數(shù)的圖像信息,從而適應(yīng)網(wǎng)絡(luò),保證了播放的流暢性同時達(dá)到最優(yōu)播放效果;發(fā)送媒體數(shù)據(jù)模塊將新生成的幀數(shù)據(jù)發(fā)送到客戶端。
客戶端的接收媒體模塊接收到服務(wù)端發(fā)送來到流媒體幀數(shù)據(jù);緩沖區(qū)和網(wǎng)絡(luò)監(jiān)測模塊反饋緩沖池和網(wǎng)絡(luò)狀態(tài)等信息;網(wǎng)絡(luò)信息發(fā)送模塊發(fā)送反饋的網(wǎng)絡(luò)狀態(tài)的等信息。
服務(wù)端的流程如圖2所示。
服務(wù)端接收來自客戶端反饋的緩沖區(qū)數(shù)據(jù)變化和網(wǎng)絡(luò)狀態(tài)變化的信息。
如果網(wǎng)絡(luò)狀態(tài)良好則不對幀數(shù)據(jù)進(jìn)行處理,否則提取要發(fā)送的圖像幀的信息,獲取圖像信息中的象素位數(shù)。通過計(jì)算,計(jì)算出可以適應(yīng)網(wǎng)絡(luò)狀態(tài),讓客戶端流媒體可以流暢播放的新的圖像象素的位數(shù)。
服務(wù)端根據(jù)新的象素位數(shù),對要發(fā)送的圖像信息進(jìn)行圖像處理,生成新的圖像信息。并打包成新的圖像幀。
服務(wù)端新的圖像幀等媒體數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送給客戶端。
服務(wù)端的圖像處理的具體流程如圖3所示。
服務(wù)端首先獲取要發(fā)送的媒體數(shù)據(jù)的圖像信息。如果發(fā)送的圖像信息的象素位數(shù)低于4比特,則該圖像信息已經(jīng)是可以認(rèn)為很小,并可以不進(jìn)行操作而將媒體數(shù)據(jù)發(fā)送出去。
當(dāng)圖像象素位數(shù)高于4比特的時候,通過生成的新的圖像的最佳象素位數(shù),對要發(fā)送的幀數(shù)據(jù)的圖像信息進(jìn)行處理,生成新的圖像象素位數(shù)對應(yīng)的圖像信息,并將生成的新的圖像信息打包成圖像幀,然后發(fā)送給客戶端。
權(quán)利要求
1一種改進(jìn)流媒體播放流暢性的方法,其特征在于,該方法包括以下步驟(1).客戶端網(wǎng)絡(luò)檢測模塊,如果緩沖池?cái)?shù)據(jù)滿足連續(xù)播放并且網(wǎng)絡(luò)流量良好,則不進(jìn)行操作,延遲幾秒后再次監(jiān)測,進(jìn)入步驟(1),否則反饋緩沖池和網(wǎng)絡(luò)狀態(tài)等信息;(2).服務(wù)端接收并分析反饋的信息,計(jì)算出最適應(yīng)網(wǎng)絡(luò)的新的圖像幀中圖像象素位數(shù)的大??;(3).服務(wù)端判斷新象素位數(shù)大小,如果新象素位數(shù)小于一閥值,則不對原圖像信息進(jìn)行操作,進(jìn)入步驟(6);(4).服務(wù)端根據(jù)新的象素位數(shù)對原圖像信息進(jìn)行處理,生成新的圖像信息;(5).將新的圖像信息打包成圖像幀數(shù)據(jù);(6).服務(wù)端發(fā)送圖像幀數(shù)據(jù)給客戶端。
2根據(jù)權(quán)利要求1所述的改進(jìn)流媒體播放流暢性的方法,其特征在于服務(wù)端新的象素位數(shù)可以為任意正整數(shù),新象素位數(shù)必定小于原圖像象素位數(shù),所述象素位數(shù)閥值可在程序設(shè)定,默認(rèn)為4比特。
3根據(jù)權(quán)利要求1所述的改進(jìn)流媒體播放流暢性的方法,其特征在于客戶端可以通過緩沖池中的數(shù)據(jù)大小變化和網(wǎng)絡(luò)流量狀態(tài)變化,生成控制信息,反饋給服務(wù)端。
全文摘要
本發(fā)明提供一種改進(jìn)流媒體播放流暢性的方法。該方法通過設(shè)置客戶端和服務(wù)端??蛻舳私邮辗?wù)端的數(shù)據(jù)流,在接收的媒體數(shù)據(jù)不滿足播放需求或者探測到網(wǎng)絡(luò)性能不良的時候,可以通過反饋網(wǎng)絡(luò)狀態(tài)等信息來通知服務(wù)端。服務(wù)端通過分析網(wǎng)絡(luò)狀態(tài)的信息,可以智能的將要發(fā)送的媒體數(shù)據(jù),主要是視頻圖像數(shù)據(jù)進(jìn)行對于網(wǎng)絡(luò)狀態(tài)的最優(yōu)化縮減。從而達(dá)到利用網(wǎng)絡(luò)資源發(fā)送更多的數(shù)據(jù)幀,讓流媒體播放器更加流暢的播放的目的。
文檔編號H04L1/12GK1929358SQ20061012247
公開日2007年3月14日 申請日期2006年9月28日 優(yōu)先權(quán)日2006年9月28日
發(fā)明者麥章燦, 羅笑南 申請人:中山大學(xué)