專(zhuān)利名稱(chēng):一種頻道切換的方法、終端和媒體服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及IPTV (Internet Protocol Television,交互式網(wǎng)絡(luò)電視)技術(shù)領(lǐng)域, 尤其涉及一種IPTV中頻道切換的技術(shù)。
背景技術(shù):
IPTV又稱(chēng)網(wǎng)絡(luò)電視或?qū)拵щ娨暎且訧P網(wǎng)絡(luò)為基礎(chǔ),利用寬帶網(wǎng)絡(luò)為用戶(hù) 提供交互式服務(wù)的一種業(yè)務(wù),通過(guò)流媒體方式將經(jīng)數(shù)字化處理后的音視頻節(jié)目 以IP組播的方式提供給用戶(hù)。頻道切換時(shí)間是IPTV業(yè)務(wù)服務(wù)質(zhì)量的重要指標(biāo)之一,快速的頻道切換能顯 著提升IPTV業(yè)務(wù)的用戶(hù)體驗(yàn)。在傳統(tǒng)電視技術(shù)中,所有頻道內(nèi)容一般是按頻分復(fù)用的方式同時(shí)發(fā)送到 媒體接收設(shè)備的,如目前常用的有線電視(Cable TV),如果媒體接收設(shè)備 要切換頻道,只需要調(diào)諧到相應(yīng)頻道的播放頻率或頻帶上。對(duì)于IPTV而言,考慮傳輸帶寬等因素的限制,是按照需要將部分媒體 的內(nèi)容發(fā)送到媒體接收設(shè)備的,而不是同時(shí)發(fā)送所有頻道的內(nèi)容,由于此時(shí) 頻道切換涉及到媒體接收設(shè)備和網(wǎng)絡(luò)的信令交互過(guò)程,因此可能導(dǎo)致整個(gè)切 換過(guò)程的各個(gè)環(huán)節(jié)出現(xiàn)延遲,從而影響終端用戶(hù)的最終體驗(yàn)。其中,整個(gè)切 換過(guò)程中時(shí)延一般出現(xiàn)在以下三個(gè)環(huán)節(jié)1 、沖妄入節(jié)點(diǎn)處理IGMP (Internet Group Management Protocol,互耳關(guān)網(wǎng)組播管理協(xié)議)或MLD ( Multicast Listener Discovery,組播偵聽(tīng)者發(fā)現(xiàn)協(xié)議)時(shí)產(chǎn)生延遲;2、媒體流從媒體服務(wù)器傳送到媒體接收者的傳輸延遲,以及媒體接收 者為了消除IP網(wǎng)絡(luò)抖動(dòng)從而對(duì)收到的IP包文進(jìn)行消抖處理而引入的緩 存時(shí)延;3、媒體接收設(shè)備解碼媒體流并顯示所產(chǎn)生的延遲,主要包括音/視頻解 碼算法的處理時(shí)延以及搜尋節(jié)目特定信息和搜尋I幀的時(shí)延。所以,在IPTV的頻道切換過(guò)程中,由于出現(xiàn)-渚多的延遲,例如上述三 種延遲,對(duì)IPTV業(yè)務(wù)的播放畫(huà)面質(zhì)量產(chǎn)生較大的影響。發(fā)明內(nèi)容有鑒于此,本發(fā)明提供一種IPTV中頻道切換的方法、 一種終端和一種媒體 服務(wù)器,用于提高畫(huà)面的質(zhì)量,提高用戶(hù)的業(yè)務(wù)體驗(yàn)質(zhì)量。本發(fā)明實(shí)施例提供了一種IPTV中的頻道切換方法,終端切換到目標(biāo)頻 道后,該方法包4舌對(duì)收到的第一個(gè)組播RTP包進(jìn)行檢查,如果發(fā)現(xiàn)當(dāng)前幀是非I幀,向媒 體服務(wù)器發(fā)送傳輸I幀的請(qǐng)求消息;終端接收媒體服務(wù)器發(fā)送的以I幀為起始幀的媒體流。本發(fā)明實(shí)施例還提供了一種IPTV中的頻道切換方法,媒體服務(wù)器接收 終端發(fā)送的傳輸I幀的請(qǐng)求消息,所述傳輸I幀的請(qǐng)求消息為終端切換到目 標(biāo)頻道后,該方法包4舌對(duì)收到的第一個(gè)組播RTP包進(jìn)行檢查,發(fā)現(xiàn)當(dāng)前幀為非I幀時(shí)向媒體服 務(wù)器發(fā)送的;媒體服務(wù)器向終端發(fā)送以I幀為起始幀的媒體流。 本發(fā)明實(shí)施例還才是供了一種終端,該終端包括卩險(xiǎn)測(cè)單元,用于當(dāng)終端切換到目標(biāo)頻道后,對(duì)目標(biāo)頻道的第 一個(gè)組播RTP 包進(jìn)行檢查,確定是否為I幀;處理單元,用于當(dāng)所述第一個(gè)組播RTP包為非I幀時(shí),向媒體服務(wù)器發(fā) 送傳輸I幀的請(qǐng)求消息;接收單元,用于接收媒體服務(wù)器發(fā)送的以I幀為起始幀的媒體流。本發(fā)明實(shí)施例還提供了 一種媒體服務(wù)器,該媒體服務(wù)器包括接收單元,用于接收終端發(fā)送的傳輸I幀的請(qǐng)求消息,所述傳輸I幀的 請(qǐng)求消息為終端切換到目標(biāo)頻道后,對(duì)收到的第一個(gè)組播RTP包進(jìn)行檢查,發(fā)現(xiàn)當(dāng)前幀為非I幀時(shí)發(fā)送的;發(fā)送單元,用于向終端發(fā)送以I幀為起始幀的々某體流。 與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例中,通過(guò)在媒體服務(wù)器上對(duì)直播視頻流中最新發(fā)送的GOP (Group Of Pictures,圖片組)序列進(jìn)行緩存,當(dāng)終端切換到用 戶(hù)目標(biāo)頻道后,如果發(fā)現(xiàn)收到的第一個(gè)報(bào)文不是I幀,就發(fā)送傳輸I幀的請(qǐng)求消 息,要求發(fā)送以I幀為起始幀的媒體流,終端接收到以I幀為起始幀的媒體流后 就能解碼和輸出,從而有效提高畫(huà)面的質(zhì)量,有效消除時(shí)延的體現(xiàn),提高用戶(hù) 的業(yè)務(wù)體驗(yàn)質(zhì)量。
圖1為本發(fā)明一較佳實(shí)施方式之IPTV系統(tǒng)結(jié)構(gòu)示意圖; 圖2為本發(fā)明第 一 實(shí)施例的頻道切換中各網(wǎng)元的交互流程圖; 圖3為本發(fā)明第二實(shí)施例的頻道切換中各網(wǎng)元的交互流程圖; 圖4為本發(fā)明另一較佳實(shí)施方式之IPTV系統(tǒng)結(jié)構(gòu)示意圖; 圖5為本發(fā)明另一較佳實(shí)施方式之IPTV系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施方 式及附圖,對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。在IPTV的頻道切換過(guò)程所出現(xiàn)時(shí)延的各個(gè)環(huán)節(jié)中,I幀時(shí)延是比較主要和 關(guān)鍵的時(shí)延。MPEG編碼將畫(huà)面(即幀)分為I幀、P幀、B幀三種,其中,I是內(nèi)部編 碼幀,P是前向預(yù)測(cè)幀,B是雙向內(nèi)插幀。簡(jiǎn)單地講,I幀是一個(gè)完整的畫(huà)面,I 幀包含一個(gè)靜態(tài)畫(huà)面中最全面的信息,可以獨(dú)立的由解碼器解碼生成畫(huà)面,其編解碼完全由自身決定,而不需要依賴(lài)其它幀;P幀和B幀記錄的是相對(duì)于I 幀的變化,P幀要依賴(lài)前面的I幀才能完成編解碼;而B(niǎo)幀要依賴(lài)于當(dāng)前的I幀 和相關(guān)的P幀才能完成編解碼。因此,I幀在媒體流的編解碼中十分重要,解碼 器必須要收到I幀才能開(kāi)始解碼。所以,降低等待I幀的時(shí)延,對(duì)提高頻道切換 的速度效果非常明顯。
如圖l所示,為本發(fā)明實(shí)施例的一種IPTV系統(tǒng)結(jié)構(gòu)框圖,如圖l所示,該 IPTV系統(tǒng)包括頭端20、媒體服務(wù)器21、接入設(shè)備22、終端23、 EPG服務(wù)器24、 應(yīng)用服務(wù)器25。
其中,頭端20為提供節(jié)目?jī)?nèi)容的源頭設(shè)備,用于將非IPTV網(wǎng)絡(luò)的節(jié)目?jī)?nèi) 容轉(zhuǎn)換成適合在IPTV網(wǎng)絡(luò)中傳輸?shù)男问?。如?shí)際中,為節(jié)省帶寬,頭端20可 以將通過(guò)衛(wèi)星傳輸?shù)幕贛PEG-2編碼格式的直播節(jié)目?jī)?nèi)容接收下來(lái)后,轉(zhuǎn)碼 成基于H.264編碼格式的節(jié)目?jī)?nèi)容,再將重新生成的直播節(jié)目?jī)?nèi)容按照IP組播 方式的輸入到IPTV網(wǎng)絡(luò)中供用戶(hù)觀賞,例如傳給IPTV網(wǎng)絡(luò)中的媒體服務(wù)器21。
媒體服務(wù)器21 —般在本地存儲(chǔ)節(jié)目?jī)?nèi)容,用于為終端23提供VOD ( Video on Demand,視頻點(diǎn)播)業(yè)務(wù),本發(fā)明實(shí)施例中是基于媒體服務(wù)器21來(lái)加快直播 業(yè)務(wù)的快速頻道切換。
節(jié)目部署時(shí),頭端20將直播節(jié)目推送到媒體服務(wù)器21,媒體服務(wù)器21對(duì) 直播視頻流中最新發(fā)送的GOP序列進(jìn)行緩存。即媒體服務(wù)器21在節(jié)目部署時(shí) 加入從頭端20過(guò)來(lái)的組播報(bào)文的組播組,接收直播頻道的節(jié)目?jī)?nèi)容,并將接收 到的報(bào)文中最新的GOP序列去掉IP層的封裝后保存在循環(huán)緩存中,緩存深度需 要大于該直播節(jié)目的I幀間隔周期。 一個(gè)GOP序列就是一組連續(xù)的畫(huà)面。媒體 服務(wù)器21的緩存中保存的是最新的GOP序列,當(dāng)媒體服務(wù)器21從組播報(bào)文中 收到I幀所對(duì)應(yīng)的報(bào)文時(shí),將新收到的I幀所對(duì)應(yīng)的寺艮文放入循環(huán)緩存,I幀隨 后的P幀和B幀所對(duì)應(yīng)的才艮文也纟皮力文入循環(huán)纟爰存。
例如,假設(shè)々某體服務(wù)器21從頭端20收到的幀序列如下
II P2 B3 P4 B5 P6 B7 P8 B9 P10 Bll 112 P13 B14 P15 B16 P17 B18 P19 B20當(dāng)媒體服務(wù)器21從組播報(bào)文中收到II幀所對(duì)應(yīng)的報(bào)文時(shí)將新收到的II幀 所對(duì)應(yīng)的報(bào)文放入緩存,II幀隨后的P幀和B幀所對(duì)應(yīng)的報(bào)文也被放入緩存。 例如j某體月良務(wù)器21收到P10時(shí)》爰存的內(nèi)容為II P2 B3 P4 B5 P6 B7 P8 B9 PIO。 當(dāng)媒體服務(wù)器21收到P15幀報(bào)文后達(dá)到循環(huán)緩存的容量,則收到的新的報(bào)文后 從頭開(kāi)始填充緩存,例如媒體服務(wù)器收到P17時(shí)緩存的內(nèi)容為B16P17B3P4 B5 P6 B7 P8 B9P10B11 112 P13 B14 P15。
為了減少組播加入的時(shí)延,在節(jié)目部署時(shí),頭端20同樣將直播節(jié)目?jī)?nèi)容推 送到了接入設(shè)備22上,即接入設(shè)備22也加入組^番組-接收組播報(bào)文,實(shí)際中比 較常見(jiàn)的接入設(shè)備22可以為IP數(shù)字用戶(hù)線接入復(fù)用器(IP-Digital Subscriber Line Access Multiplexer, IP-DSLAM)或千兆以太網(wǎng)無(wú)源光網(wǎng)絡(luò)(Gigabit Ethernet Passive Optical Networks, GEPON)接入設(shè)備。這樣,接入設(shè)備22上就總能收 到頭端20傳過(guò)來(lái)的組播流,終端23接入時(shí),接入設(shè)備22就可以將組播數(shù)據(jù)發(fā) 給終端23。
在實(shí)際組網(wǎng)中,也可以由媒體服務(wù)器21接收到直播節(jié)目?jī)?nèi)容之后將直播節(jié) 目?jī)?nèi)容推動(dòng)到接入設(shè)備22。
終端23開(kāi)機(jī)后與應(yīng)用服務(wù)器25交互進(jìn)行必要的鑒權(quán)。終端23鑒權(quán)通過(guò)后, 通過(guò)與EPG ( Electronic Program Guide,電子節(jié)目菜單)服務(wù)器24的交互獲得 直播頻道列表信息。
該直播頻道列表信息中除了可以包含正常的直播節(jié)目的組播IP地址和用于 對(duì)直播節(jié)目音視頻碼流進(jìn)行解碼的編解碼參數(shù)信息外,還包括為終端23提供快 速頻道切換的媒體服務(wù)器21的IP地址和端口號(hào)信息,當(dāng)終端23在進(jìn)行快速頻 道切換時(shí),通過(guò)所述快速頻道切換的媒體服務(wù)器21的IP地址及端口號(hào)與所述快 速頻道切換的媒體服務(wù)器21進(jìn)行交互。
例如,如下是按照SDP (Session Description Protocol,會(huì)話描述協(xié)議)形式 給出直播頻道列表中某個(gè)頻道參數(shù)信息的示例〃協(xié)議版本
0=陽(yáng)2890844526 2890842807 IN IP4 192.16.24.202
〃會(huì)話標(biāo)識(shí)
s=SDP Session
〃會(huì)話名字
a=control: sdp:〃ts.example.com/twister/cctv 1
〃控制URL
m=video 7722 MP2T /AVP 33
〃在RFC3551中定義33為
MPEG-2 TS流對(duì)應(yīng)的PT類(lèi)型
c=INIP4 224.2.1.183
〃節(jié)目的組播IP地址
a=rtcp:3021 IN IP4 126.16.64.4
〃媒體服務(wù)器21接收RTCP請(qǐng)
求消息的IP地址和端口號(hào)。
終端23接收接入設(shè)備22發(fā)送的節(jié)目?jī)?nèi)容,如果終端23需要切換頻道,按 照正常切換頻道的方式切換到目標(biāo)頻道,即通過(guò)IGMP消息加入目標(biāo)頻道所對(duì) 應(yīng)的組播組。接入設(shè)備22完成IGMP消息處理后,將所述用戶(hù)目標(biāo)頻道的組播 報(bào)文轉(zhuǎn)發(fā)給終端23。
例如,參照前述的SDP,如果要加入某一目標(biāo)頻道,則加入該目標(biāo)頻道對(duì) 應(yīng)的組播組224.2.1.183。
終端23根據(jù)獲得的所述直播頻道列表信息中的直播節(jié)目的組播IP地址,通 過(guò)IGMP消息加入目標(biāo)頻道所對(duì)應(yīng)的組、!番組。
接入設(shè)備22完成IGMP消息處理后,將所述目標(biāo)頻道的組播報(bào)文轉(zhuǎn)發(fā)給終 端23。
終端23對(duì)收到第 一個(gè)組播RTP包進(jìn)行檢查,如果發(fā)現(xiàn)當(dāng)前幀不是I幀,則 向媒體服務(wù)器21發(fā)送傳輸I幀的請(qǐng)求消息,要求媒體服務(wù)器21發(fā)送以I幀為起 始幀的媒體流。
例如,i某體服務(wù)器21當(dāng)前緩存的目標(biāo)頻道的內(nèi)容為
II P2 B3 P4 B5 P6 B7 P8 B9 P10
假設(shè)終端23切換到目標(biāo)頻道后,當(dāng)前接收的幀為P6幀,由于P幀不能解 碼出圖像的主要部分,當(dāng)?shù)鹊浇邮障乱粋€(gè)I幀時(shí)才開(kāi)始解碼可能會(huì)表現(xiàn)出傳輸?shù)难訒r(shí)。所以,為提高畫(huà)面質(zhì)量,使得終端23切換到目標(biāo)頻道后解碼出的畫(huà)面是 靜態(tài)畫(huà)面中最全面的信息,進(jìn)而減少時(shí)延的表現(xiàn),則終端23判斷當(dāng)前接收的幀 不是I幀時(shí),就向媒體服務(wù)器21發(fā)送傳輸I幀的請(qǐng)求消息,要求媒體服務(wù)器21 發(fā)送以I幀為起始幀的々某體流。
例如,終端23可以通過(guò)向々某體服務(wù)器21發(fā)送擴(kuò)展的RTCP (Real-time Transport Control Protocol,實(shí)時(shí)傳輸控制協(xié)議)請(qǐng)求消息,要求媒體服務(wù)器21 發(fā)送以I幀為起始幀的媒體流。
所述擴(kuò)展的RTCP請(qǐng)求消息中包括終端23當(dāng)前收到的目標(biāo)頻道的RTP包序 列號(hào)以及可以進(jìn)一步包括終端23接入的線路帶寬、終端23緩沖區(qū)大小信息、 終端23接收?qǐng)?bào)文的IP地址和終端23接收?qǐng)?bào)文的UDP端口號(hào)信息。
所述擴(kuò)展的RTCP請(qǐng)求消息的報(bào)文格式可以有多種構(gòu)造方式,只要包含上 述當(dāng)前終端23收到的目標(biāo)頻道的RTP包序列號(hào)或者進(jìn)一步包括終端23接入的 線路帶寬、終端23緩沖區(qū)大小信息,終端23接收"l艮文的IP地址和終端23接收 報(bào)文的UDP端口號(hào)信息即可。例如,可根據(jù)實(shí)際應(yīng)用需要,擴(kuò)展應(yīng)用定義的RTCP 報(bào)文(Application-Defined RTCP Packet, APP ) , APP寺艮文才各式如下
0 12 3
0 12345 67890 1234567890 1234567890 1 +_+_+-+_+■+■+■+-+-+_+_+_+■+_+_+_+ +_+ +_+-+ +■+■+_+■+ +_+ + + +■+
|V=2|P| subtype IPT=APP=204 | length |
+_+_+—+_+■+_+_+—+_+ +_+_+—+_+_+ + + +_+_+_+■+_+_+_+_+_+_+_+■+-+_+
I SSRC/CSRC I
+-+ +-+-+-+-+_+-+-+-+-+ + +■+_+-+-+ + +_+-+ +-+-+_+-+-+-+_+_+_+-+
I name (ASCII) |
+_+ +_+-+_+■+■+_+_+ +_+_+_+-+ +_+_+ +_+_+ +_+■+_+_+ + +_+_+_+_+ +
I application-dependent data ...
+_+■+_+_+ +■+_+■+-+_+_+_+■+_+_+ + +■+_+_+_+ +■+■+_+_+
APP報(bào)文的包類(lèi)型(packettype, PT)固定為204 bits,子類(lèi)型subtype(5bits)可以根據(jù)實(shí)際應(yīng)用進(jìn)行擴(kuò)展,APP報(bào)文主要是利用應(yīng)用相關(guān)數(shù)據(jù) application-d印endentdata信元來(lái)傳輸收到的目標(biāo)頻道的RTP包序列號(hào)、終端23 接收重傳報(bào)文的UDP端口號(hào)、終端23接收重傳報(bào)文的IP地址、終端23接入的 線路帶寬和終端23緩沖區(qū)大小等相關(guān)信息,本實(shí)施例中,可以定義application -dependent data信元部分如下
收到的目標(biāo)頻道的RTP包序列號(hào) (16bits)
終端接收重傳報(bào)文的UDP端口號(hào) (16bits)
終端接收重傳報(bào)文的IP地址(32bits)
終端接入的線路帶寬(32bits,單位為bit/s)
終端緩沖區(qū)Buffer(32bits,單位為byte)
媒體服務(wù)器21收到所述傳輸I幀的請(qǐng)求消息后,向終端22發(fā)送以I幀為
起始幀的媒體;,
云
所以,當(dāng)終端23切換到目標(biāo)頻道后,當(dāng)接收的當(dāng)前幀為非I幀時(shí),由于重 新請(qǐng)求媒體服務(wù)器21傳輸以I幀為起始幀的媒體流,所以終端23解碼出的圖像 是靜態(tài)畫(huà)面中最全面的信息,所以終端23顯示出的圖像體現(xiàn)不出來(lái)時(shí)延,畫(huà)面 質(zhì)量比較高。
例如,假設(shè)媒體服務(wù)器21需要從頭端20接收的目標(biāo)頻道的內(nèi)容為 II P2 B3 P4 B5 P6 B7 P8 B9P10B11 I12P13B14P15 媒體服務(wù)器21當(dāng)前緩存的目標(biāo)頻道的內(nèi)容為 II P2 B3 P4 B5 P6 B7 P8 B9 P10
假設(shè)終端23切換到目標(biāo)頻道后,媒體服務(wù)器21發(fā)送的當(dāng)前幀為P8幀,媒 體服務(wù)器21接收到終端23發(fā)送的傳輸I幀的請(qǐng)求消息后,向終端23發(fā)送以I 幀為起始幀的媒體流時(shí),所述媒體流包括當(dāng)前幀之前的最近I幀,以及當(dāng)前幀與 最近I幀之間的內(nèi)容。
例如,媒體服務(wù)器21向終端23發(fā)送當(dāng)前P8幀之前最近的II幀,以及該Il幀之后的i某體流,即II P2 B3 P4 B5 P6 B7?;蛘撸┠丑w服務(wù)器21只向終端 23發(fā)送當(dāng)前P8幀之前最近的II幀,即Il,只發(fā)Il幀并讓終端基于Il幀對(duì)P8 幀進(jìn)行解碼會(huì)導(dǎo)致圖像質(zhì)量有所下降,但是這時(shí)可以基于II幀快速解碼顯示新 的頻道,降低了切換時(shí)延。
由于終端23切換到目標(biāo)頻道后,接收媒體服務(wù)器21發(fā)送的媒體流總是以I 幀為起始幀的媒體流,所以終端23解碼出的圖像是靜態(tài)畫(huà)面中最全面的信息, 所以終端23顯示出的圖像體現(xiàn)不出來(lái)時(shí)延,畫(huà)面質(zhì)量比較高。
另外,媒體服務(wù)器還可以根據(jù)自己的緩存情況來(lái)計(jì)算終端收到的RTP包相 對(duì)于之前最近的I幀的時(shí)間,并根據(jù)I幀周期計(jì)算出終端收到下一個(gè)I幀的等待 時(shí)延,再按照一定的策略決定是否重發(fā),如可以根據(jù)終端當(dāng)前所收到的報(bào)文、 節(jié)目的I幀間隔周期和系統(tǒng)對(duì)切換時(shí)間的要求來(lái)判斷是否需要重發(fā)
如果終端收到下一個(gè)I幀的等待時(shí)延小于預(yù)定的閾值,則媒體服務(wù)器可以不 做任何處理,其中閾值可以根據(jù)系統(tǒng)對(duì)切換時(shí)間的要求來(lái)設(shè)定;
如果終端收到下一個(gè)I幀的等待時(shí)延大于預(yù)定的閾值,則可以將之前最近的 I幀、以及I幀到當(dāng)前幀之間的報(bào)文重新發(fā)送給終端。
另外,為進(jìn)一步提高畫(huà)面的質(zhì)量,媒體服務(wù)器21收到終端23發(fā)送的擴(kuò)展 的RTCP請(qǐng)求消息后,可以根據(jù)所述擴(kuò)展的RTCP請(qǐng)求消息獲知當(dāng)前終端23已 經(jīng)收到了那個(gè)RTP包,并且還可以知道該終端23的接入帶寬和緩沖區(qū)大小。
所以,為了快速填充終端23的緩沖區(qū),從而減少緩沖時(shí)延,媒體服務(wù)器21 在發(fā)送Il幀至當(dāng)前幀P8之間的報(bào)文時(shí),發(fā)送該報(bào)文的發(fā)送速率大于正常報(bào)文的
收的報(bào)文的速率,這樣也可以減少與組播報(bào)文中即將到來(lái)的I幀的沖突。
終端23收到II幀報(bào)文后就可以開(kāi)始解碼輸出,之后按照收到的組播報(bào)文連 續(xù)解碼。
進(jìn)一步地,如果基于對(duì)所述擴(kuò)展的RTCP請(qǐng)求消息中的終端23接入的線路 帶寬和終端23緩沖區(qū)Buffer信息分析發(fā)現(xiàn),終端23接入的線路帶寬或者終端緩23沖區(qū)Buffer偏小,考慮到視頻流中的B幀主要是用來(lái)增加幀頻,并不影響 視頻的主要畫(huà)面,所以媒體服務(wù)器21在報(bào)文發(fā)送時(shí),可以將II幀至當(dāng)前幀P8 的報(bào)文中的B幀所對(duì)應(yīng)的RTP包丟棄,即不發(fā)送Il幀至當(dāng)前幀P3之間的B幀 給終端23,從而減小發(fā)送報(bào)文對(duì)終端23接入的線路帶寬和終端23緩沖區(qū)Buffer 的壓力,以減少時(shí)延。
例如,媒體服務(wù)器21當(dāng)前緩存的目標(biāo)頻道的內(nèi)容為
II P2 B3 P4 B5 P6 B7 P8 B9 P10
假設(shè)終端切換到目標(biāo)頻道后, 一企測(cè)首先接收到的P8幀不是I幀后,向媒體 服務(wù)器請(qǐng)求I幀,媒體服務(wù)器接收到終端發(fā)送的傳輸I幀的請(qǐng)求消息后向終端發(fā) 送II幀,P2 P4以及P6幀(II幀與P8幀之間的非B幀)。這時(shí)媒體服務(wù)器 發(fā)送的是II P2 P4以及P6幀,不發(fā)送II幀至當(dāng)前幀P8之間的B幀所對(duì)應(yīng)的 RTP包。
另外,由于實(shí)際中I幀的數(shù)據(jù)量相對(duì)P幀大,為了降低對(duì)重傳帶寬的要求, 媒體服務(wù)器21還可以對(duì)需要傳輸?shù)腎I幀做降質(zhì)處理,降質(zhì)處理后的II幀相對(duì) 原始Il幀數(shù)據(jù)量變小。
這樣,在媒體服務(wù)器21上緩存的是降質(zhì)后的II幀,媒體服務(wù)器21收到終 端23發(fā)送的傳輸I幀的請(qǐng)求消息后,就將降質(zhì)的II幀發(fā)送給終端23。
對(duì)Il幀的降質(zhì)處理可以采用先解碼,然后再根據(jù)比較低的編碼參數(shù)重新編 碼的方式,以降低對(duì)重傳帶寬的要求。也可以在參數(shù)域進(jìn)行,例如較為常用的 降質(zhì)處理方式為減少運(yùn)動(dòng)矢量的量化字長(zhǎng),并將高頻的DCT系數(shù)置為O或者 進(jìn)行重新量化,如對(duì)圖像編碼的DCT參數(shù)進(jìn)行重新量化,以降低量化精度,從 而減小重發(fā)報(bào)文對(duì)終端23接入的線路帶寬和終端23緩沖區(qū)Buffer的壓力,以 減少時(shí)延。
根據(jù)本發(fā)明另 一個(gè)實(shí)施例,如果媒體服務(wù)器21上具有實(shí)時(shí)編解碼轉(zhuǎn)換能力, 還可以利用媒體服務(wù)器21實(shí)時(shí)生成I幀來(lái)進(jìn)一步降低時(shí)延和對(duì)終端23接入的帶 寬的要求。例如,假設(shè)媒體服務(wù)器21從頭端20收到的某個(gè)目標(biāo)頻道的幀序列為 II P2 B3 P4 B5 P6 B7 P8 B9 P10 Bl 1 112 P13 B14 P15 ...,
媒體服務(wù)器21每收到一幀圖像信號(hào)就對(duì)其進(jìn)行解碼,恢復(fù)原始圖像Ol 02 03 04 05 06 07 08 09 O10…。
終端23切換到用戶(hù)目標(biāo)頻道后,如果收到的第 一個(gè)RTP包是B7幀的數(shù)據(jù), 則終端23通過(guò)擴(kuò)展的RTCP請(qǐng)求消息向媒體服務(wù)器21請(qǐng)求傳輸I幀。
媒體服務(wù)器21收到該傳輸I幀的請(qǐng)求消息,獲知終端23收到B7幀的數(shù)據(jù)。 此時(shí)可以才艮據(jù)B7之前的幀,如P6或B5或P4或B3或P2,重新編碼為I幀編 碼數(shù)據(jù)106或105或104或103或102。以將當(dāng)前幀B7之前最近P6幀重新編碼為I 幀編碼數(shù)據(jù)Io6為例,媒體服務(wù)器21除解碼P6幀獲得對(duì)應(yīng)的幀圖像06,還對(duì) 當(dāng)前幀(即B7 )之前的最近幀圖像(即06 )按照I幀^^莫式重新編碼生成對(duì)應(yīng)的 1幀編碼數(shù)據(jù)106,再將重新編碼的數(shù)據(jù)Io6發(fā)送給終端23。這樣終端23只要收 到IQ6后就可以開(kāi)始解碼,而々某體服務(wù)器21不用發(fā)送II幀以及II到P6幀之間 的數(shù)據(jù)。即媒體服務(wù)器21傳輸?shù)氖钱?dāng)前幀圖像B7之前最近的幀圖像06被重 新編碼的106。
這樣終端23收到的報(bào)文如下B7Io6P8B9P10Bll I12P13B14P15…。 另外,媒體服務(wù)器21還可以按照一定的幀間隔來(lái)編碼I幀。例如還是上面 的幀序列,媒體服務(wù)器21可以將P4、 P8和P10重新按照I幀模式編碼,這樣 如果終端23切換到該頻道后收到的第一個(gè)RTP包是B7幀的數(shù)據(jù)且終端23向 媒體服務(wù)器21請(qǐng)求傳輸I幀時(shí),當(dāng)前幀B7之前最近的且被重新編碼為I幀的幀 是P4,所以媒體服務(wù)器21發(fā)送按照I幀模式重新編碼的104幀以及104幀之后的 幀數(shù)據(jù)B5 P6,而不需要傳輸II幀到B3之間的幀數(shù)據(jù)。
另外,由于實(shí)際中I幀的數(shù)據(jù)量相對(duì)P幀大,為了降低對(duì)重傳帶寬的要求, 媒體服務(wù)器21可以對(duì)需要傳輸?shù)陌凑誌幀模式重新編碼的I幀做降質(zhì)處理。這 樣,媒體服務(wù)器21收到終端23發(fā)送的傳輸I幀的請(qǐng)求消息后就將降質(zhì)的I幀發(fā) 送給終端23,從而減小報(bào)文對(duì)終端23接入的線路帶寬和終端23緩沖區(qū)Buffer的壓力,以減少時(shí)延。
另外,從減少網(wǎng)絡(luò)成本的角度考慮,媒體服務(wù)器21的編解碼能力可以放在 最高層次的媒體服務(wù)器上,其所編碼的I幀報(bào)文通過(guò)單獨(dú)的組播通道傳輸?shù)娇拷?br>
終端23的媒體服務(wù)器上,靠近終端23的媒體服務(wù)器收到組播的I幀報(bào)文后緩存 下來(lái),當(dāng)收到終端23的擴(kuò)展的RTCP請(qǐng)求消息時(shí),靠近用戶(hù)的媒體服務(wù)器再將 所述緩存的I幀報(bào)文發(fā)給終端23。
根據(jù)本發(fā)明提供的另一實(shí)施例,如圖2所示,為本發(fā)明一較佳實(shí)施例所提 的一種頻道切換方法的流程示意圖,該頻道切換方法的具體實(shí)施步驟可以如下。
步驟IOI、頭端將直播節(jié)目推送到媒體服務(wù)器,媒體服務(wù)器對(duì)直播視頻流中 最新發(fā)送的GOP序列進(jìn)行緩存。
頭端是提供節(jié)目?jī)?nèi)容的源頭設(shè)備,用于將非IPTV網(wǎng)絡(luò)的節(jié)目?jī)?nèi)容轉(zhuǎn)換成適 合在IPTV網(wǎng)絡(luò)中傳輸?shù)男问健?br>
媒體服務(wù)器一般在本地存儲(chǔ)節(jié)目?jī)?nèi)容,用于為用戶(hù)提供VOD (Video on Demand,視頻點(diǎn)播)業(yè)務(wù),本發(fā)明實(shí)施例中是基于媒體服務(wù)器來(lái)加快直播業(yè)務(wù) 的快速頻道切換。
節(jié)目部署時(shí),頭端將直播節(jié)目推送到媒體服務(wù)器,即媒體服務(wù)器在節(jié)目部 署時(shí)加入從頭端過(guò)來(lái)的組播報(bào)文的組播組,接收直播頻道的節(jié)目?jī)?nèi)容,并將接 收到的報(bào)文中最新的GOP序列去掉IP層的封裝后保存在循環(huán)緩存中,緩存深度 需要大于該直播節(jié)目的I幀間隔周期。 一個(gè)GOP序列就是一組連續(xù)的畫(huà)面。媒 體服務(wù)器21的緩存中保存的是最新的GOP序列,當(dāng)4某體服務(wù)器21從組播報(bào)文 中收到I幀所對(duì)應(yīng)的報(bào)文時(shí),將新收到的I幀所對(duì)應(yīng)的報(bào)文放入緩存,I幀隨后 的P幀和B幀所對(duì)應(yīng)的4艮文也祐:放入循環(huán)緩存。
例如,假設(shè)媒體服務(wù)器21從頭端20收到的幀序列如下 II P2 B3 P4 B5 P6 B7 P8 B9 P10 Bll 112 P13 B14 P15 B16 P17 B18 P19 B20 P21 B22 123
當(dāng)媒體服務(wù)器21從組播報(bào)文中收到II幀所對(duì)應(yīng)的報(bào)文時(shí)將新收到的II幀所對(duì)應(yīng)的報(bào)文放入緩存,II幀隨后的P幀和B幀所對(duì)應(yīng)的報(bào)文也被放入緩存。
例如J某體月良務(wù)器21 4丈到P10時(shí)》爰存的內(nèi)容為II P2 B3 P4 B5 P6 B7 P8 B9 PIO。 當(dāng)媒體服務(wù)器21收到P15幀報(bào)文后達(dá)到循環(huán)緩存的容量,則收到的新的報(bào)文后 從頭開(kāi)始填充緩存,例如媒體服務(wù)器收到P17時(shí)緩存的內(nèi)容為P16P17B3P4 B5 P6 B7 P8 B9 P10 Bll 112 P13 B14 P15。
步驟102、頭端將直播節(jié)目?jī)?nèi)容推送到接入設(shè)備。
為減少組播加入的時(shí)延,在節(jié)目部署時(shí),頭端同樣將直播節(jié)目?jī)?nèi)容推送到 了接入設(shè)備上,即接入設(shè)備也加入組播組接收組播報(bào)文,實(shí)際中比較常見(jiàn)的接 入設(shè)備包括IP數(shù)字用戶(hù)線接入復(fù)用器和千兆以太網(wǎng)無(wú)源光網(wǎng)絡(luò)接入設(shè)備。這樣, 接入設(shè)備上就總能收到頭端傳過(guò)來(lái)的組播流,用戶(hù)接入時(shí),接入設(shè)備就可以將 組播數(shù)據(jù)發(fā)給用戶(hù)。
該步驟中,在實(shí)際組網(wǎng)中,也可以由媒體服務(wù)器接收到直播節(jié)目?jī)?nèi)容之后 將直播節(jié)目?jī)?nèi)容推動(dòng)到接入設(shè)備。
步驟103、終端開(kāi)機(jī)后與應(yīng)用服務(wù)器交互進(jìn)行必要的鑒權(quán)。
步驟104、終端鑒權(quán)通過(guò)后,通過(guò)與EPG服務(wù)器的交互獲得直播頻道列表
4呂息。
終端鑒權(quán)通過(guò)后,通過(guò)與EPG服務(wù)器的交互獲得直播頻道列表信息。該直 播頻道列表信息中除了包含正常的直播節(jié)目的組播IP地址和用于對(duì)直播節(jié)目音 視頻碼流進(jìn)行解碼的編解碼參數(shù)信息外,還包括為終端提供快速頻道切換的媒 體服務(wù)器的IP地址和端口號(hào)信息,當(dāng)終端在進(jìn)行快速頻道切換時(shí),通過(guò)所述快 速頻道切換的媒體服務(wù)器的IP地址及端口號(hào)與所述快速頻道切換的媒體服務(wù)器 進(jìn)行交互。
例如,如下是按照SDP ( Session Description Protocol,會(huì)話描述協(xié)議)形式 給出直播頻道列表中某個(gè)頻道參數(shù)信息的示例
v=0 //協(xié)議版本 0=- 2890844526 2890842807 IN IP4 192.16.24.202 〃會(huì)話標(biāo)識(shí)s=SDP Session
〃會(huì)話名字
a=control: sdp:〃ts.example.com/twister/cctvl〃4空制URL
m=video 7722 MP2T /AVP 33
〃在RFC3551中定義33為
MPEG-2 TS流對(duì)應(yīng)的PT類(lèi)型
c=INIP4 224.2.1.183
〃節(jié)目的組播IP地址
a=rtcp:3021 IN IP4 126.16.64.4
〃媒體服務(wù)器接收RTCP請(qǐng)求
消息的IP地址和端口號(hào)。
步驟105、終端接收接入設(shè)備發(fā)送的節(jié)目?jī)?nèi)容,如果終端需要切換頻道,按 照正常切換頻道的方式切換到目標(biāo)頻道,即通過(guò)IGMP消息加入目標(biāo)頻道所對(duì) 應(yīng)的紐i番組。
例如,參照步驟104的描述,如果要加入某一目標(biāo)頻道,則加入該目標(biāo)頻 道對(duì)應(yīng)的組播組224.2.1.183。
終端根據(jù)獲得的所述直播頻道列表信息中的直播節(jié)目的組播IP地址,通過(guò) IGMP消息加入目標(biāo)頻道所對(duì)應(yīng)的紐i番組。
步驟106、接入設(shè)備完成IGMP消息處理后,將所述用戶(hù)目標(biāo)頻道的組播報(bào) 文轉(zhuǎn)發(fā)給終端。
步驟107、終端對(duì)收到第一個(gè)組播RTP包進(jìn)行檢查,如果發(fā)現(xiàn)當(dāng)前幀是非I 幀,則向媒體服務(wù)器發(fā)送傳輸I幀的請(qǐng)求消息,要求々某體服務(wù)器發(fā)送以I幀為起 始幀的媒體流。
例如,媒體服務(wù)器當(dāng)前緩存的目標(biāo)頻道的內(nèi)容為
II P2 B3 P4 B5 P6 B7 P8 B9 P10
假設(shè)終端切換到目標(biāo)頻道后,當(dāng)前接收的幀為P6幀,由于P幀不能解碼出 圖像的主要部分,當(dāng)?shù)鹊浇邮障乱粋€(gè)I幀時(shí)才開(kāi)始解碼可能會(huì)表現(xiàn)出傳輸?shù)难?時(shí),所以,為提高畫(huà)面質(zhì)量,使得終端切換到目標(biāo)頻道時(shí)解碼出的畫(huà)面是靜態(tài) 畫(huà)面中最全面的信息,進(jìn)而減少時(shí)延的表現(xiàn),則終端判斷當(dāng)前接收的幀不是I 幀,就向媒體服務(wù)器發(fā)送傳輸I幀的請(qǐng)求消息,要求媒體服務(wù)器發(fā)送以I幀為起始幀的媒體流。
例如,終端可以通過(guò)向媒體服務(wù)器發(fā)送擴(kuò)展的RTCP請(qǐng)求消息,要求媒體
服務(wù)器發(fā)送最近的I幀。所述擴(kuò)展的RTCP請(qǐng)求消息中包括當(dāng)前終端收到的目標(biāo) 頻道的RTP包序列號(hào)以及可以進(jìn)一步包括終端接入的線路帶寬、終端緩沖區(qū)大 小信息、終端接收?qǐng)?bào)文的IP地址和終端接收?qǐng)?bào)文的UDP端口號(hào)信息。
所述擴(kuò)展的RTCP請(qǐng)求消息的報(bào)文格式可以有多種構(gòu)造方式,只要包含上 述當(dāng)前終端收到的目標(biāo)頻道的RTP包序列號(hào)或者進(jìn)一步包括終端接入的線路帶 寬、終端緩沖區(qū)大小信息,終端接收?qǐng)?bào)文的IP地址和終端接收?qǐng)?bào)文的UDP端口 號(hào)信息即可。例如,可#4居實(shí)際應(yīng)用需要,擴(kuò)展應(yīng)用定義的RTCP l艮文 (Application-Defined RTCP Packet, APP ) , APP報(bào)文格式如下
0 12 3
0 1234567890 1234567890 1234567890 1 +_+_+_+_+_+_+_+_+_+_+-+ + +_+■+_+_+_+_+■+_+_+ +■+■+■+_+_+-+—+_+_+
|V=2|P| subtype IPT=APP=204 | length |
+-+ +-+-+_+-+■+_+-+_+-+-+-+_+_+—+-+_+-+-+—+-+_+-+■+-+-+ + +■+-+-+
I SSRC/CSRC I
+-+-+-+-+ +-+_+-+-+ + +_+-+■+_+-+ +■+■+_+-+■+_+-+-+-+_+-+-+ +_+_+
I name (ASCII) |
+■+_+_+_+_+_+_+_+_+_+_+ + + +■+_+_+_+_+_+_+_+_+_+_+—+ +_+ + +■+■+
I application-dependent data …
+-+_+_+_+_+_+_+_+■+_+ +_+_+_+_+-+_+ +■+_+_+_+_+_+■+■+
APP報(bào)文的包類(lèi)型(packettype, PT)固定為204 bits,子類(lèi)型subtype(5
bits)可以根據(jù)實(shí)際應(yīng)用進(jìn)行擴(kuò)展,APP報(bào)文主要是利用應(yīng)用相關(guān)數(shù)據(jù)
application-dependent data信元來(lái)傳輸收到的目標(biāo)頻道的RTP包序列號(hào)、終端接
收重傳報(bào)文的UDP端口號(hào)、終端接收重傳報(bào)文的IP地址、終端接入的線路帶寬
和終端緩沖區(qū)大小等相關(guān)信息,本實(shí)施例中,可以定義application -dependent data
信元部分如下收到的目標(biāo)頻道的RTP包序列號(hào) C16bits)
終端接收重傳報(bào)文的UDP端口號(hào) (16bits)
終端接收重傳報(bào)文的IP地址(32bits)
終端接入的線路帶寬(32bits,單位為bit/s)
終端緩沖區(qū)Buffer(32bits,單位為byte)
步驟108、媒體服務(wù)器收到所述傳輸I幀的請(qǐng)求消息后,向終端發(fā)送以I 幀為起始幀的媒體流。
所以,當(dāng)終端切換到目標(biāo)頻道后,當(dāng)接收的當(dāng)前幀為非I幀時(shí),由于重新請(qǐng) 求媒體服務(wù)器傳輸以I幀為起始幀的媒體流,所以終端解碼出的圖像是靜態(tài)畫(huà)面 中最全面的信息,所以終端顯示出的圖像體現(xiàn)不出來(lái)時(shí)延,畫(huà)面質(zhì)量比較高。
例如,假設(shè)媒體服務(wù)器需要從頭端接收的目標(biāo)頻道的內(nèi)容為
II P2 B3 P4 B5 P6 B7 P8 B9 P10 Bll 112 P13 B14 P15
媒體服務(wù)器當(dāng)前緩存的目標(biāo)頻道的內(nèi)容為
II P2 B3 P4 B5 P6 B7 P8 B9 P10
假設(shè)終端切換到目標(biāo)頻道后,媒體服務(wù)器發(fā)送的當(dāng)前幀為P8幀,媒體服務(wù) 器接收到終端發(fā)送的傳輸I幀的請(qǐng)求消息后,向終端發(fā)送以I幀為起始幀的媒體 流時(shí),媒體流包括當(dāng)前幀之前的最近I幀,以及當(dāng)前幀與最近I幀之間的內(nèi)容。
例如,媒體服務(wù)器21向終端23發(fā)送當(dāng)前P3幀之前最近的II幀,以及該 Il幀之后的i某體流,即II P2 B3 P4 B5 P6 B7?;蛘?,々某體服務(wù)器21只向終端 23發(fā)送當(dāng)前P8幀之前最近的II幀,即Il,只發(fā)Il幀并讓終端基于Il頓對(duì)P8 幀進(jìn)行解碼會(huì)導(dǎo)致圖像質(zhì)量有所下降,但是這時(shí)可以基于Il幀快速解碼顯示新 的頻道,降低了切換時(shí)延。
由于終端切換到目標(biāo)頻道后,接收媒體服務(wù)器傳輸?shù)拿襟w流總是以I幀為起 始幀的媒體流,所以終端解碼出的圖像是靜態(tài)畫(huà)面中最全面的信息,所以終端 顯示出的圖像體現(xiàn)不出來(lái)時(shí)延,畫(huà)面質(zhì)量比較高。媒體服務(wù)器還可以根據(jù)自己的緩存情況來(lái)計(jì)算終端收到的RTP包相對(duì)于之 前最近的I幀的時(shí)間,并根據(jù)I幀周期計(jì)算出終端收到下一個(gè)I幀的等待時(shí)延, 再按照一定的策略決定是否重發(fā),如可以根據(jù)終端當(dāng)前所收到的報(bào)文、節(jié)目的I
幀間隔周期和系統(tǒng)對(duì)切換時(shí)間的要求來(lái)判斷是否需要重發(fā)
如果終端收到下一個(gè)I幀的等待時(shí)延小于預(yù)定的閾值,則媒體服務(wù)器不做任 何處理,其中閾值可以根據(jù)系統(tǒng)對(duì)切換時(shí)間的要求來(lái)設(shè)定;
如果終端收到下一個(gè)I幀的等待時(shí)延大于預(yù)定的閾值,則將之前最近的I幀、 以及I幀到當(dāng)前幀之間的報(bào)文重新發(fā)送給終端。
另外,為進(jìn)一步提高畫(huà)面的質(zhì)量,媒體服務(wù)器收到該擴(kuò)展的RTCP請(qǐng)求消 息后,可以根據(jù)所述擴(kuò)展的RTCP請(qǐng)求消息獲知當(dāng)前終端已經(jīng)收到了那個(gè)RTP 包,并且還可以知道該終端的接入帶寬和緩沖區(qū)大小。
所以,為了快速填充終端緩沖區(qū)從而減少緩沖時(shí)延,媒體服務(wù)器在發(fā)送II 幀至當(dāng)前幀P8之間的報(bào)文時(shí),發(fā)送該報(bào)文的發(fā)送速率大于正常報(bào)文的發(fā)送速率,
速率,這樣也可以減少與組#^艮文中即將到來(lái)的I幀的沖突。
終端收到II幀報(bào)文后就可以開(kāi)始解碼輸出,之后按照收到的組播報(bào)文連續(xù) 解碼。
進(jìn)一步地,如果基于對(duì)所述擴(kuò)展的RTCP請(qǐng)求消息中的終端接入的線路帶 寬和終端緩沖區(qū)Buffer信息分析發(fā)現(xiàn),終端接入的線路帶寬或者終端緩沖區(qū) Buffer偏小,考慮到視頻流中的B幀主要是用來(lái)增加幀頻,并不影響視頻的主 要畫(huà)面,所以媒體服務(wù)器在報(bào)文發(fā)送時(shí),可以將I1幀至當(dāng)前幀P3的報(bào)文中的B 幀所對(duì)應(yīng)的RTP包丟棄,即不發(fā)送Il幀至當(dāng)前幀P3之間的B幀給終端,從而 減小發(fā)送報(bào)文對(duì)終端接入的線路帶寬和終端緩沖區(qū)Buffer的壓力,以減少時(shí)延。
例如,媒體服務(wù)器當(dāng)前緩存的目標(biāo)頻道的內(nèi)容為
II P2 B3 P4 B5 P6 B7 P8 B9 P10
假設(shè)終端切換到目標(biāo)頻道后,檢測(cè)首先接收到的P8幀不是I幀后向媒體服務(wù)器請(qǐng)求I幀J某體服務(wù)器接收到終端發(fā)送的傳輸I幀的請(qǐng)求消息后向終端發(fā)送
II幀,P2 P4以及P6幀(II幀與P8幀之間的非B幀)。這時(shí)i某體服務(wù)器發(fā)送 的是II P2 P4以及P6幀,不發(fā)送II幀至當(dāng)前幀P8之間的B幀所對(duì)應(yīng)的RTP 包。
另外,由于實(shí)際中I幀的數(shù)據(jù)量相對(duì)P頓大,為了降低對(duì)重傳帶寬的要求, 媒體服務(wù)器還可以對(duì)需要傳輸?shù)腎I幀做降質(zhì)處理,降質(zhì)處理后的II幀相對(duì)原始 II幀數(shù)據(jù)量變小。
這樣,在媒體服務(wù)器上緩存的是降質(zhì)后的II幀,媒體服務(wù)器收到終端發(fā)送 的傳輸I幀的請(qǐng)求消息后,就將降質(zhì)的II幀發(fā)送給終端。
對(duì)Il幀的降質(zhì)處理可以采用先解碼,然后再根據(jù)比較低的編碼參數(shù)重新編 碼的方式,以降低對(duì)重傳帶寬的要求。也可以在參數(shù)域進(jìn)行,例如較為常用的 降質(zhì)處理方式為減少運(yùn)動(dòng)矢量的量化字長(zhǎng),并將高頻的DCT系數(shù)置為0或者 進(jìn)行重新量化,如對(duì)圖像編碼的DCT參數(shù)進(jìn)行重新量化,以降低量化精度,從 而減小重發(fā)報(bào)文對(duì)終端接入的線路帶寬和終端緩沖區(qū)Buffer的壓力,以減少時(shí) 延。
本發(fā)明提供的另一個(gè)實(shí)施例,如圖3所示,為一種頻道切換方法的流程示 意圖,該頻道切換方法與第一實(shí)施例中提供的頻道切換方法基本類(lèi)似,不同點(diǎn) 在于在步驟108中媒體服務(wù)器實(shí)時(shí)生成I幀并發(fā)送給終端,具體實(shí)施步驟如下。 步驟201,頭端將直播節(jié)目推送到媒體服務(wù)器,媒體服務(wù)器對(duì)直播視頻流中 最新發(fā)送的GOP序列進(jìn)行緩存。
步驟202、頭端將直播節(jié)目?jī)?nèi)容推送到接入設(shè)備。
步驟203、終端開(kāi)機(jī)后與應(yīng)用服務(wù)器交互進(jìn)行必要的鑒權(quán)。
步驟204、終端鑒權(quán)通過(guò)后,通過(guò)與EPG服務(wù)器的交互獲得直播頻道列表
4呂息。
步驟205、終端接收接入設(shè)備發(fā)送的節(jié)目?jī)?nèi)容,如果終端需要切換頻道,按 照正常切換頻道的方式切換到目標(biāo)頻道,即通過(guò)IGMP消息加入目標(biāo)頻道所對(duì)應(yīng)的組4番纟且。
步驟206、接入設(shè)備完成IGMP消息處理后,將所述用戶(hù)目標(biāo)頻道的組播報(bào)
文轉(zhuǎn)發(fā)給終端。
步驟207、終端對(duì)收到第一個(gè)組播RTP包進(jìn)行檢查,如果發(fā)現(xiàn)不是I幀,則 向媒體服務(wù)器發(fā)送傳輸I幀的請(qǐng)求消息。
步驟208、媒體服務(wù)器收到該傳輸I幀的請(qǐng)求消息后,實(shí)時(shí)生成I幀并發(fā)送 給終端。
為減少對(duì)終端接入的線路帶寬和終端緩沖Buffer大小的壓力,如果媒體服 務(wù)器上具有實(shí)時(shí)編解碼轉(zhuǎn)換能力,還可以利用媒體服務(wù)器實(shí)時(shí)生成I幀來(lái)進(jìn)一步 降低時(shí)延和對(duì)終端接入的帶寬的要求。
例如,假設(shè)媒體服務(wù)器從頭端收到的某個(gè)目標(biāo)頻道的幀序列為 II P2B3P4B5P6B7P8B9P10B11 I12P13B14P15…, 媒體服務(wù)器每收到一幀圖像信號(hào)就對(duì)其進(jìn)行解碼,恢復(fù)原始圖像Ol 02 03 04 05 06 07 08 09 010 ...。例如,終端切換到用戶(hù)目標(biāo)頻道后,收到的第一個(gè) RTP包是B7幀的數(shù)據(jù),則終端向媒體服務(wù)器通過(guò)擴(kuò)展的RTCP請(qǐng)求消息請(qǐng)求傳 輸I幀時(shí),媒體服務(wù)器獲知終端收到了 B7幀的數(shù)據(jù),此時(shí)可以根據(jù)B7之前的 幀,如P6或B5或P4或B3或P2,重新編碼為I幀編碼數(shù)據(jù)106或105或104或 103或Io2。以將當(dāng)前幀B7之前最近P6幀重新編碼為I幀編碼數(shù)據(jù)106為例,媒 體服務(wù)器除解碼P6幀獲得對(duì)應(yīng)的幀圖像06,還對(duì)當(dāng)前幀(即B7)之前的最近 幀圖像(即06 )按照I幀模式重新編碼生成對(duì)應(yīng)的I幀編碼數(shù)據(jù)106,再將重新 編碼的數(shù)據(jù)106發(fā)送給終端。這樣終端只要收到106后就可以開(kāi)始解碼,而々某體 服務(wù)器不用發(fā)送II幀以及II到P6幀之間的數(shù)據(jù)。即媒體服務(wù)器傳輸?shù)氖钱?dāng)前 幀之前最近的幀圖像06被重新編碼生成的106。
這樣終端收到的才艮文如下B7IO6P8B9P10Bll 112 P13 B14P15...。 另夕卜,i某體服務(wù)器還可以按照一定的幀間隔來(lái)編碼I幀。例如還是上面的幀 序列,媒體服務(wù)器可以將P4、 P8和P10重新按照I幀模式編碼,這樣如果終端切換到該頻道后收到的第一個(gè)RTP包是B7幀的數(shù)據(jù)且終端向媒體服務(wù)器請(qǐng)求 傳輸I幀時(shí),當(dāng)前幀B7之前最近的且被重新編碼為I幀的幀是P4,所以媒體服 務(wù)器傳輸按照I幀模式重新編碼的104幀以及104幀之后的幀數(shù)據(jù)B5 P6,而不需 要傳輸Il幀到B3之間的幀數(shù)據(jù)。
另外,由于實(shí)際中I幀的數(shù)據(jù)量相對(duì)P幀大,為了降低對(duì)重傳帶寬的要求, 媒體服務(wù)器可以對(duì)需要傳輸?shù)陌凑誌幀模式重新編碼的I幀估支降質(zhì)處理。這樣, 媒體服務(wù)器收到終端發(fā)送的傳輸I幀的請(qǐng)求消息后就將降質(zhì)的I幀發(fā)送給終端, 從而減小報(bào)文對(duì)終端接入的線路帶寬和終端緩沖區(qū)Buffer的壓力,以減少時(shí)延。
另外,從減少網(wǎng)絡(luò)成本的角度考慮,媒體服務(wù)器的編解碼能力可以放在最 高層次的媒體服務(wù)器上,其所編碼的I幀報(bào)文通過(guò)單獨(dú)的組播通道傳輸?shù)娇拷?戶(hù)的媒體服務(wù)器上,靠近用戶(hù)的媒體服務(wù)器收到組播的I幀報(bào)文后緩存下來(lái),當(dāng) 收到終端的擴(kuò)展的RTCP請(qǐng)求消息時(shí),靠近用戶(hù)的媒體服務(wù)器再將所述緩存的I 幀報(bào)文發(fā)給終端。
根據(jù)本發(fā)明的另 一個(gè)實(shí)施例,圖1對(duì)應(yīng)實(shí)施例所描述的媒體服務(wù)器21和終 端23的邏輯結(jié)構(gòu)進(jìn)一步可以參考圖4,如圖4所示,媒體服務(wù)器21可以進(jìn)一步 包括接收單元401, I幀選取單元403,發(fā)送單元405、緩存單元407。終端23 可以進(jìn)一步包括接收單元402,檢測(cè)單元404,處理單元406。
對(duì)所述媒體服務(wù)器21和終端23切換過(guò)程中的詳細(xì)過(guò)程,可以參考圖1所 對(duì)應(yīng)系統(tǒng)實(shí)施例的描述,下面僅就切換時(shí),所述+某體服務(wù)器21和終端23的工 作過(guò)程進(jìn)行描述。
終端23接收接入設(shè)備22的節(jié)目?jī)?nèi)容時(shí),接收單元402接收接入設(shè)備22發(fā) 送的節(jié)目?jī)?nèi)容,如果終端23需要切換頻道,按照正常切換頻道的方式切換到目 標(biāo)頻道。
切換發(fā)生過(guò)程中,檢測(cè)單元404對(duì)收到的目標(biāo)頻道的第一個(gè)組播RTP包進(jìn) 行檢查,如果發(fā)現(xiàn)當(dāng)前幀是非I幀,將結(jié)果通知處理單元406,處理單元406向 媒體服務(wù)器21發(fā)送傳輸I幀的請(qǐng)求消息,要求媒體服務(wù)器21發(fā)送以I幀為起始幀的媒體流。所述傳輸I幀的請(qǐng)求消息可以通過(guò)擴(kuò)展RTCP請(qǐng)求消息發(fā)送,具體 可以參考圖1所對(duì)應(yīng)系統(tǒng)實(shí)施例的描述。
例如,假設(shè)媒體服務(wù)器21需要從頭端20接收的目標(biāo)頻道的內(nèi)容為 II P2 B3 P4 B5 P6 B7 P8 B9P10B11 I12P13B14P15 媒體服務(wù)器21的緩存單元407當(dāng)前緩存的目標(biāo)頻道的內(nèi)容為 II P2 B3 P4 B5 P6 B7 P8 B9 P10
假設(shè)終端23切換到目標(biāo)頻道后,發(fā)送單元405發(fā)送的當(dāng)前幀為P8幀,則 檢測(cè)單元404可以判斷當(dāng)前幀為非I幀,處理單元406向媒體服務(wù)器21發(fā)送傳 輸I幀的請(qǐng)求消息,要求媒體服務(wù)器21發(fā)送以I幀為起始幀的媒體流。
接收單元401收到所述傳輸I幀的請(qǐng)求消息后,I幀選取單元403進(jìn)行I幀 選取。
I幀選取單元403選取的I幀可以是當(dāng)前幀之前的最近I幀。根據(jù)本發(fā)明的 另 一個(gè)實(shí)施例,所述媒體服務(wù)器21還可以包括判斷單元409,用于判斷終端收 到下一個(gè)I幀的等待時(shí)延是否小于預(yù)定的閾值,當(dāng)判斷單元409判斷終端收到下 一個(gè)I幀的等待時(shí)延小于預(yù)定的閾值時(shí),則媒體服務(wù)器不做任何處理,此時(shí)可以 直接丟棄終端的傳輸I幀的請(qǐng)求消息,其中閾值可以根據(jù)系統(tǒng)對(duì)切換時(shí)間的要求 來(lái)設(shè)定;當(dāng)判斷單元409判斷終端收到下一個(gè)I幀的等待時(shí)延大于預(yù)定的閾值 時(shí),則根據(jù)終端發(fā)送的傳輸I幀的請(qǐng)求消息,將以I幀為起始幀的媒體流發(fā)送給 終端。
根據(jù)本發(fā)明的另 一個(gè)實(shí)施例,I幀選取單元403還可以每收到一幀圖像信號(hào), 就對(duì)其進(jìn)行解碼,恢復(fù)原始圖像,I幀選取單元403選取當(dāng)前幀之前最近的且被 重新進(jìn)行I幀模式編碼的I幀。
如果I幀選取單元403選取的為當(dāng)前幀之前的最近I幀,則發(fā)送單元405向 終端23發(fā)送以I幀為起始幀的媒體流可以包括當(dāng)前幀之前的最近I幀及該最 近I幀之后的內(nèi)容,例如II P2B3P4B5P6B7?;蛘咧话ó?dāng)前幀之前的最近 I幀,例如II。在本發(fā)明的另一個(gè)實(shí)施例中,I幀選取單元403選取當(dāng)前幀之前最近的且被
重新進(jìn)行I幀才莫式編碼的I幀時(shí),其具體可以如下所述。
接收單元401接收所述傳輸I幀的請(qǐng)求消息,獲知終端23收到的當(dāng)前幀為 非I幀,這時(shí)I幀選取單元403選取當(dāng)前幀之前最近的且重新進(jìn)行I幀模式編碼 的I幀。發(fā)送單元405將該重新編碼的I幀發(fā)送給終端23,這樣終端23只要收 到該重新編碼的I幀后就可以開(kāi)始解碼。
發(fā)送單元405向終端23發(fā)送以I幀為起始幀的J 某體流。 例如,假設(shè)媒體服務(wù)器21從頭端20收到的某個(gè)目標(biāo)頻道的幀序列為 II P2 B3 P4 B5 P6 B7 P8 B9 P10 Bl 1 112 P13 B14 P15…, 媒體服務(wù)器21每收到一幀圖像信號(hào),I幀選取單元403就對(duì)其進(jìn)行解碼, 恢復(fù)原始圖像01 02 03 04 05 06 07 08 09 010 ...。例如,終端23切換到用 戶(hù)目標(biāo)頻道后,接收單元402收到的第一個(gè)RTP包是B7幀的數(shù)據(jù),檢測(cè)單元 404檢測(cè)為非I幀,則處理單元406向媒體服務(wù)器21通過(guò)擴(kuò)展的RTCP請(qǐng)求消 息請(qǐng)求傳輸I幀。
接收單元401接收所述傳輸I幀的請(qǐng)求消息,獲知終端23收到B7幀的數(shù) 據(jù),當(dāng)前幀B7之前最近的且重新進(jìn)行I幀模式編碼的幀為P6幀,這時(shí)I幀選取 單元403除解碼P6幀獲得對(duì)應(yīng)的原始圖像06外,還對(duì)原始圖像06按照I幀 模式重新編碼生成對(duì)應(yīng)的I幀編碼數(shù)據(jù)I06, I幀選取單元403選取當(dāng)前幀(即 B7幀)之前最近的且進(jìn)行I幀模式編碼的I幀,即I06。發(fā)送單元405將重新編 碼的數(shù)據(jù)Io6發(fā)送給終端23,這樣終端23只要收到IQ6后就可以開(kāi)始解碼,而發(fā) 送單元405不用發(fā)送Il幀以及Il到P6巾貞之間的數(shù)據(jù)。
這樣接收單元402收到的報(bào)文如下B7 I。6 P8 B9 P10 Bll 112 P13 B14 P15…。
所以,當(dāng)終端23切換到目標(biāo)頻道后,當(dāng)接收的當(dāng)前幀為非I幀時(shí),由于重 新請(qǐng)求媒體服務(wù)器21傳輸以I幀為起始幀的媒體流,所以終端23解碼出的圖像 是靜態(tài)畫(huà)面中最全面的信息,所以終端23顯示出的圖像體現(xiàn)不出來(lái)時(shí)延,畫(huà)面質(zhì)量比較高。
另外,I幀選取單元403還可以按照一定的幀間隔來(lái)編碼I幀。例如還是上
面的幀序列,I幀選取單元403可以將P4、 P8和Pll重新按照I幀模式編碼, 這樣如果終端23切換到該目標(biāo)頻道后收到的第一個(gè)RTP包是B7幀的數(shù)據(jù)且處 理單元406向々某體服務(wù)器21請(qǐng)求傳輸I幀時(shí),當(dāng)前幀B7之前最近的且被重新 編碼為I幀的幀是P4,所以I幀選取單元403選取當(dāng)前幀(即B7幀)之前最近 的且進(jìn)行I幀模式編碼的I幀,即104。發(fā)送單元405發(fā)送按照I幀模式重新編碼 的1(M幀以及Io4幀之后的幀數(shù)據(jù)B5 P6,而不需要傳輸Il幀到B3之間的幀數(shù)據(jù)。 所以,當(dāng)終端23切換到目標(biāo)頻道后,當(dāng)接收的當(dāng)前幀為非I幀時(shí),由于重 新請(qǐng)求媒體服務(wù)器21傳輸以I幀為起始幀的媒體流,所以終端23解碼出的圖像 是靜態(tài)畫(huà)面中最全面的信息,所以終端23顯示出的圖像體現(xiàn)不出來(lái)時(shí)延,畫(huà)面 質(zhì)量比較高。
根據(jù)本發(fā)明的另一個(gè)實(shí)施例,上述媒體服務(wù)器21和終端23的邏輯結(jié)構(gòu)還 可以參考圖5,如圖5所示,I幀選取單元403可以進(jìn)一步包括編碼單元501、 選擇單元502。
接收單元401接收所述傳輸I幀的請(qǐng)求消息,獲知終端23收到的當(dāng)前幀為 非I幀,編碼單元501對(duì)當(dāng)前幀之前最近的幀圖像重新進(jìn)行I幀模式編碼。選擇 單元502選擇該重新進(jìn)行I幀才莫式編碼的I幀為々某體流的起始幀。發(fā)送單元405 將該重新編碼的I幀發(fā)送給終端23,這樣終端23只要收到該重新編碼的I幀后 就可以開(kāi)始解碼。
發(fā)送單元405向終端23發(fā)送以I幀為起始幀的媒體流。 例如,假設(shè)i某體服務(wù)器21從頭端20收到的某個(gè)目標(biāo)頻道的幀序列為 II P2B3P4B5P6B7P8B9P10B11 I12P13B14P15…, 媒體服務(wù)器21每收到一幀圖像信號(hào),編碼單元501就對(duì)其進(jìn)行解碼,恢復(fù) 原始圖^f象01 02 03 04 05 06 07 08 09 010 ...。例如,終端23切換到用戶(hù)目 標(biāo)頻道后,接收單元402收到的第一個(gè)RTP包是B7幀的數(shù)據(jù),檢測(cè)單元404檢測(cè)為非I幀,則處理單元406向々某體服務(wù)器21通過(guò)擴(kuò)展的RTCP請(qǐng)求消息請(qǐng) 求傳輸I幀。
接收單元401接收所述傳輸I幀的請(qǐng)求消息,獲知終端23收到B7幀的數(shù) 據(jù),編碼單元501對(duì)當(dāng)前幀B7之前最近的幀圖像06按照I幀模式重新編碼生 成對(duì)應(yīng)的I幀編碼數(shù)據(jù)I06,選擇單元502選取當(dāng)前幀(即B7幀)之前最近的且 進(jìn)行I幀才莫式編碼的I幀,即I06。發(fā)送單元405將重新編碼的數(shù)據(jù)106發(fā)送給終 端23,這樣終端23只要收到106后就可以開(kāi)始解碼,而發(fā)送單元405不用發(fā)送 II幀以及Il到P6幀之間的凝:據(jù)。
這樣接收單元402收到的報(bào)文如下B7 I06 P8 B9 P10 Bll 112 P13 B14 P15…。
另外,編碼單元501還可以按照一定的幀間隔來(lái)編碼I幀。例如還是上面的 幀序列,編碼單元501可以將P4、 P8和P11重新按照I幀模式編碼,這樣如果 終端23切換到該目標(biāo)頻道后收到的第一個(gè)RTP包是B7幀的數(shù)據(jù)且處理單元406 向媒體服務(wù)器21請(qǐng)求傳輸I幀時(shí),當(dāng)前幀B7之前最近的且被重新編碼為I幀的 幀是P4,所以選擇單元502選取當(dāng)前幀(即B7幀)之前最近的且進(jìn)行I幀模式 編碼的I幀,即104。發(fā)送單元405發(fā)送按照I幀模式重新編碼的104幀以及104 幀之后的幀數(shù)據(jù)B5P6,而不需要傳輸Il幀到B3之間的幀數(shù)據(jù)。
所以,當(dāng)終端23切換到目標(biāo)頻道后,當(dāng)接收的當(dāng)前幀為非I幀時(shí),由于重 新請(qǐng)求媒體服務(wù)器21傳輸以I幀為起始幀的媒體流,所以終端23解碼出的圖像 是靜態(tài)畫(huà)面中最全面的信息,所以終端23顯示出的圖像體現(xiàn)不出來(lái)時(shí)延,畫(huà)面 質(zhì)量比較高。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例中任意實(shí)施例的全部或部分 步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于一計(jì)算 機(jī)可讀取的存儲(chǔ)介質(zhì)中,所述的存儲(chǔ)介質(zhì),如ROM/RAM、磁碟、光盤(pán)等。
綜上所述,本發(fā)明實(shí)施例中,通過(guò)在媒體服務(wù)器上對(duì)直播視頻流中最新發(fā) 送的GOP (Group Of Pictures,圖片組)序列進(jìn)行緩存,當(dāng)終端切換到目標(biāo)頻道后,如果發(fā)現(xiàn)收到的第一個(gè)報(bào)文不是I幀,就發(fā)送RTCP (Real-time Transport Control Protocol,實(shí)時(shí)傳輸控制協(xié)議)擴(kuò)展報(bào)文,終端接收到以I幀為起始幀的 報(bào)文后就能解碼和輸出,從而時(shí)延體現(xiàn)不明顯,提高頻道切換速度,提高用戶(hù) 的業(yè)務(wù)體驗(yàn)質(zhì)量。
但上述僅為本發(fā)明的較佳實(shí)施方式,并非用于限定本發(fā)明的保護(hù)范圍,任 何熟悉本技術(shù)領(lǐng)域的技術(shù)人員應(yīng)當(dāng)認(rèn)識(shí)到,凡在本發(fā)明的精神和原則范圍之內(nèi), 所做的任何修飾、等效替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種IPTV中的頻道切換方法,其特征在于,終端切換到目標(biāo)頻道后,該方法包括對(duì)收到的第一個(gè)組播RTP包進(jìn)行檢查,如果發(fā)現(xiàn)當(dāng)前幀是非I幀,向媒體服務(wù)器發(fā)送傳輸I幀的請(qǐng)求消息;終端接收媒體服務(wù)器發(fā)送的以I幀為起始幀的媒體流。
2、 如權(quán)利要求l所述的方法,其特征在于,所述終端接收媒體服務(wù)器發(fā)送的 以I幀為起始幀的媒體流具體包括終端接收媒體服務(wù)器發(fā)送的以當(dāng)前幀的最近I幀為起始幀的媒體流。
3、 如權(quán)利要求l所述的方法,其特征在于,所述終端接收媒體服務(wù)器發(fā)送的 以I幀為起始幀的媒體流具體包括終端接收媒體服務(wù)器發(fā)送的當(dāng)前幀之前的最近I幀,所述當(dāng)前幀的內(nèi)容, 以及所述當(dāng)前幀之后的媒體流。
4、 如權(quán)利要求l所述的方法,其特征在于,所述終端接收媒體服務(wù)器發(fā)送的 以I幀為起始幀的媒體流具體包括終端接收媒體服務(wù)器發(fā)送的當(dāng)前幀之前的最近I幀,以及所述最近I幀之 后的媒體流。
5、 如權(quán)利要求l所述的方法,其特征在于,所述終端接收媒體服務(wù)器發(fā)送的 以I幀為起始幀的媒體流具體包括終端接收媒體服務(wù)器發(fā)送的當(dāng)前幀之前的最近I幀,所述最近I幀與當(dāng)前 幀之間的非B幀,當(dāng)前幀以及當(dāng)前幀之后的i某體流。
6、 如權(quán)利要求1所述的方法,其特征在于,所述終端接收媒體服務(wù)器發(fā)送的 以I幀為起始幀的々某體流具體包括終端接收媒體服務(wù)器發(fā)送的以重新進(jìn)行I幀模式編碼的I幀為起始幀的媒 體流,所述重新進(jìn)行I幀模式編碼的I幀為媒體服務(wù)器對(duì)當(dāng)前幀之前最近的 幀圖像進(jìn)行I幀模式編碼所得的I幀。
7、 如權(quán)利要求6所述的方法,其特征在于,終端接收媒體服務(wù)器發(fā)送的以重 新進(jìn)行I幀模式編碼的I幀為起始幀的媒體流具體包括終端接收媒體服務(wù)器發(fā)送的以重新進(jìn)行I幀模式編碼的并進(jìn)行降質(zhì)處理 的I幀為起始幀的媒體流。
8、 如權(quán)利要求1所述的方法,其特征在于,所述對(duì)收到的第一個(gè)組播RTP 包進(jìn)行纟企查之前,還包括媒體服務(wù)器上對(duì)直播視頻流中最新發(fā)送的圖片組GOP序列進(jìn)行緩存。
9、 一種IPTV的頻道切換方法,其特征在于,媒體服務(wù)器接收終端發(fā)送的傳 輸I幀的請(qǐng)求消息,所述傳輸I幀的請(qǐng)求消息為終端切換到目標(biāo)頻道后,該 方法包括對(duì)收到的第一個(gè)組播RTP包進(jìn)行檢查,發(fā)現(xiàn)當(dāng)前幀為非I幀時(shí)向媒體服 務(wù)器發(fā)送的;媒體服務(wù)器向終端發(fā)送以I幀為起始幀的媒體流。
10、 如權(quán)利要求9所述的方法,其特征在于,所述J 某體服務(wù)器向終端發(fā)送以 I幀為起始幀的媒體流具體包括所述媒體服務(wù)器向終端發(fā)送以當(dāng)前幀的最近I幀為起始幀的媒體流。
11、 如權(quán)利要求9所述的方法,其特征在于,所述媒體服務(wù)器向終端發(fā)送以 I幀為起始幀的媒體流具體包括所述媒體服務(wù)器向終端發(fā)送當(dāng)前幀之前的最近I幀,所述當(dāng)前幀的內(nèi)容, 以及所述當(dāng)前幀之后的媒體流。
12、 如權(quán)利要求9所述的方法,其特征在于,所述媒體服務(wù)器向終端發(fā)送以 I幀為起始幀的媒體流具體包括所述媒體服務(wù)器向終端發(fā)送當(dāng)前幀之前的最近I幀,以及所述最近I幀之 后的媒體流。
13、 如權(quán)利要求9所述的方法,其特征在于,所述媒體服務(wù)器向終端發(fā)送以 I幀為起始幀的媒體流具體包括媒體服務(wù)器向終端發(fā)送當(dāng)前幀之前的最近I幀,所述最近I幀與當(dāng)前幀之 間的非B幀,當(dāng)前幀以及當(dāng)前幀之后的媒體流。
14、 如權(quán)利要求9所述的方法,其特征在于,所述媒體服務(wù)器向終端發(fā)送以 I幀為起始幀的媒體流具體包括媒體服務(wù)器對(duì)當(dāng)前幀之前最近的幀圖像進(jìn)行I幀模式編碼得到I幀; 所述媒體服務(wù)器向終端發(fā)送以所述重新進(jìn)行I幀模式編碼的I幀為起始幀 的媒體流。
15、 如權(quán)利要求14所述的方法,其特征在于,媒體服務(wù)器對(duì)當(dāng)前幀之前最近 的幀圖像進(jìn)行I幀模式編碼得到I幀之后還包括對(duì)所述進(jìn)行I幀模式編碼得到的I幀進(jìn)行降質(zhì)處理。
16、 如權(quán)利要求9所述的方法,其特征在于,所述對(duì)收到的第一個(gè)組播RTP 包進(jìn)行檢查之前,還包括媒體服務(wù)器上對(duì)直播視頻流中最新發(fā)送的圖片組GOP序列進(jìn)行緩存。
17、 一種終端,其特征在于,該終端包括檢測(cè)單元,用于當(dāng)終端切換到目標(biāo)頻道后,對(duì)目標(biāo)頻道的第一個(gè)組播RTP 包進(jìn)行纟企查,確定是否為I幀;處理單元,用于當(dāng)所述第一個(gè)組播RTP包為非I幀時(shí),向媒體服務(wù)器發(fā) 送傳輸I幀的請(qǐng)求消息;接收單元,用于接收媒體服務(wù)器發(fā)送的以I幀為起始幀的媒體流。
18、 一種媒體服務(wù)器,其特征在于,該媒體服務(wù)器包括接收單元,用于接收終端發(fā)送的傳輸I幀的請(qǐng)求消息,所述傳輸I幀的請(qǐng) 求消息為終端切換到目標(biāo)頻道后,對(duì)收到的第一個(gè)組播RTP包進(jìn)行檢查,發(fā) 現(xiàn)當(dāng)前幀為非I幀時(shí)發(fā)送的;發(fā)送單元,用于向終端發(fā)送以I幀為起始幀的i某體流。
19、 如權(quán)利要求18所述的媒體服務(wù)器,其特征在于,所述媒體服務(wù)器進(jìn)一步 包括I幀選取單元,用于選取當(dāng)前幀之前的最近I幀。
20、 如權(quán)利要求19所述的媒體服務(wù)器,其特征在于,所述I幀選取單元進(jìn)一 步包括編碼單元,用于對(duì)當(dāng)前幀之前最近的幀圖像進(jìn)行I幀模式編碼得到I幀; 選擇單元,用于選擇所述進(jìn)行I幀模式編碼得到的I幀作為所述的起始幀。
21、 如權(quán)利要求18所述的媒體服務(wù)器,其特征在于,所述媒體服務(wù)器進(jìn)一步 包括緩存單元,用于對(duì)直播視頻流中最新發(fā)送的圖片組GOP序列進(jìn)行緩存。
22、 如權(quán)利要求18所述的媒體服務(wù)器,其特征在于,所述媒體服務(wù)器進(jìn)一步 包括判斷單元,用于判斷終端收到下一個(gè)I幀的等待時(shí)延大于預(yù)定的閾值時(shí),根 據(jù)終端發(fā)送的傳輸I幀的請(qǐng)求消息,將以I幀為起始幀的媒體流發(fā)送給終端。
全文摘要
本發(fā)明提供了一種IPTV中的頻道切換方法,終端切換到目標(biāo)頻道后,該方法包括對(duì)收到的第一個(gè)組播RTP包進(jìn)行檢查,如果發(fā)現(xiàn)當(dāng)前幀是非I幀,向媒體服務(wù)器發(fā)送傳輸I幀的請(qǐng)求消息;終端接收媒體服務(wù)器發(fā)送的以I幀為起始幀的媒體流。另外,本發(fā)明還提供了一種終端和一種媒體服務(wù)器。本發(fā)明通過(guò)在媒體服務(wù)器上對(duì)直播視頻流中最新發(fā)送的GOP序列進(jìn)行緩存,當(dāng)終端切換到用戶(hù)目標(biāo)頻道后,如果發(fā)現(xiàn)收到的第一個(gè)報(bào)文不是I幀,就發(fā)送傳輸I幀的請(qǐng)求消息,要求發(fā)送以I幀為起始幀的媒體流,終端接收到以I幀為起始幀的媒體流后就能解碼和輸出,從而有效提高畫(huà)面的質(zhì)量,有效消除時(shí)延的體現(xiàn),提高用戶(hù)的業(yè)務(wù)體驗(yàn)質(zhì)量。
文檔編號(hào)H04L29/06GK101316357SQ20081006819
公開(kāi)日2008年12月3日 申請(qǐng)日期2008年6月30日 優(yōu)先權(quán)日2008年6月30日
發(fā)明者新 方, 曾思南, 歐雄兵, 胡加倫 申請(qǐng)人:華為技術(shù)有限公司