專利名稱:頻道切換方法、終端及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)多媒體技術(shù)領(lǐng)域,尤其涉及一種基于UpnP (Universal Plugand Play,通用即插即用)和組播的頻道切換方法、終端及系統(tǒng)。
背景技術(shù):
IPTVdnternet Protocol Television,因特網(wǎng)協(xié)議電視)中傳輸?shù)拿襟w一般使用視音頻壓縮編碼算法,畫(huà)面(即幀)分為I幀、P幀以及B幀等,其中,I幀為內(nèi)部編碼幀,是整個(gè)畫(huà)面完整編碼的幀;P幀與B幀記錄的是相對(duì)于I幀的變化。沒(méi)有I巾貞,P幀和B幀無(wú)法解碼。用戶可以G0P(Group of Pictures,畫(huà)面組)長(zhǎng)度的任意時(shí)間點(diǎn)切入頻道,由于機(jī)頂盒需要在收到第一個(gè)完整的I幀后才能有視頻輸出,因此機(jī)頂盒在收到一個(gè)完整I幀節(jié)目?jī)?nèi)容之前的接收時(shí)間內(nèi)均無(wú)法顯示視頻內(nèi)容,這即是RAP (Random Access Point,隨機(jī)接入點(diǎn))問(wèn)題導(dǎo)致頻道切換速度比較慢的主要原因。在理論上,I幀越密,機(jī)頂盒進(jìn)入頻道后迅速接受到完整I幀的可能性則越大,切換頻道速度也越快,但是這樣會(huì)增加節(jié)目的碼率, 需要消耗更大的帶寬資源,因此只考慮增加I幀的密度,不具有實(shí)用性。為了提高頻道切換速度,現(xiàn)有的頻道切換方案有在網(wǎng)絡(luò)中布署一臺(tái)頻道快發(fā)服務(wù)器,專門(mén)用來(lái)緩存最新的頻道媒體數(shù)據(jù)。當(dāng)機(jī)頂盒收到頻道播放命令時(shí),向快發(fā)服務(wù)器請(qǐng)求相應(yīng)頻道的媒體數(shù)據(jù),快發(fā)服務(wù)器通過(guò)單播方式,給機(jī)頂盒發(fā)送以I幀開(kāi)始的頻道節(jié)目?jī)?nèi)容,而且一般開(kāi)始階段發(fā)送速度會(huì)比正常碼率速度要快,這樣機(jī)頂盒就能夠很快地顯示出視頻畫(huà)面,當(dāng)頻道快發(fā)數(shù)據(jù)和頻道正常數(shù)據(jù)同步后,機(jī)頂盒完全切換到正常頻道的接入方式接收媒體,停止從快發(fā)服務(wù)器獲取數(shù)據(jù)。但是,增加一臺(tái)快發(fā)服務(wù)器實(shí)現(xiàn)快速切換頻道的方法,需要考慮到并發(fā)時(shí)間,對(duì)系統(tǒng)性能要求較高,由此增加了運(yùn)營(yíng)成本。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種頻道切換方法、終端及系統(tǒng),旨在提升IPTV服務(wù)質(zhì)量。為了達(dá)到上述目的,本發(fā)明提出一種頻道切換方法,包括播放終端在局域網(wǎng)內(nèi)發(fā)送宣告消息獲取可提供頻道節(jié)目?jī)?nèi)容服務(wù)的緩存終端列表;當(dāng)所述播放終端收到頻道切換播放命令時(shí),通過(guò)所述緩存終端列表中的緩存終端進(jìn)行頻道切換。優(yōu)選地,所述通過(guò)緩存終端列表中的緩存終端進(jìn)行頻道切換的步驟包括播放終端向所述緩存終端列表中一個(gè)或多個(gè)緩存終端發(fā)送獲取目的頻道節(jié)目?jī)?nèi)容的請(qǐng)求;接收所述緩存終端發(fā)送的以I幀為起始的目的頻道節(jié)目?jī)?nèi)容緩存;接收所述緩存終端在其發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同步后發(fā)送的通知消息;根據(jù)所述通知消息加入頻道組播組,開(kāi)始接收所述頻道組播組下發(fā)的頻道媒體包,并將接收的第一個(gè)頻道媒體包發(fā)送至所述緩存終端;當(dāng)所述緩存終端發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與所述播放終端從所述頻道組播組接收到的頻道媒體包銜接時(shí),從所述頻道組播組獲取目的頻道節(jié)目?jī)?nèi)容。優(yōu)選地,所述播放終端根據(jù)緩存終端列表中緩存終端的網(wǎng)絡(luò)最小Ping值或根據(jù)接收到緩存終端響應(yīng)報(bào)文的先后順序選取相應(yīng)的緩存終端。本發(fā)明還提出一種頻道切換方法,包括緩存終端在接收組播碼流進(jìn)行頻道播放時(shí),對(duì)頻道節(jié)目?jī)?nèi)容進(jìn)行緩存;當(dāng)接收到播放終端發(fā)送的宣告消息時(shí),向所述播放終端返回可提供頻道節(jié)目?jī)?nèi)容服務(wù)的響應(yīng)消息;當(dāng)接收到所述播放終端發(fā)送的獲取目的頻道節(jié)目?jī)?nèi)容的請(qǐng)求時(shí),通過(guò)單播的方式為所述播放終端進(jìn)行頻道切換。所述通過(guò)單播的方式為所述播放終端進(jìn)行頻道切換的步驟包括以可控的碼率向所述播放終端發(fā)送以I幀為起始的目的頻道節(jié)目?jī)?nèi)容緩存;當(dāng)所述目的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同步后,通知所述播放終端加入頻道組播組,并接收所述播放終端發(fā)送的來(lái)自所述頻道組播組的第一個(gè)頻道媒體包;當(dāng)發(fā)送的所述目的頻道節(jié)目?jī)?nèi)容緩存與所述播放終端從所述頻道組播組接收到的頻道媒體包銜接時(shí),停止向所述播放終端發(fā)送所述目的頻道節(jié)目?jī)?nèi)容緩存。優(yōu)選地,所述緩存終端通過(guò)發(fā)送的節(jié)目?jī)?nèi)容匹配一致或當(dāng)頻道節(jié)目以RTP封裝時(shí),以RTP頭序號(hào)相同來(lái)判斷所述緩存終端發(fā)送的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同
止
少ο本發(fā)明還提出一種頻道切換終端,包括緩存終端列表獲取模塊,用于在局域網(wǎng)內(nèi)發(fā)送宣告消息獲取可提供頻道節(jié)目?jī)?nèi)容服務(wù)的緩存終端列表;第一頻道切換模塊,用于當(dāng)所述播放終端收到頻道切換播放命令時(shí),通過(guò)所述緩存終端列表中的緩存終端進(jìn)行頻道切換。優(yōu)選地,所述第一頻道切換模塊包括請(qǐng)求單元,用于向所述緩存終端列表中一個(gè)或多個(gè)緩存終端發(fā)送獲取目的頻道節(jié)目?jī)?nèi)容的請(qǐng)求;緩存接收單元,用于接收所述緩存終端發(fā)送的以I幀為起始的目的頻道節(jié)目?jī)?nèi)容緩存;通知消息接收單元,用于接收所述緩存終端在其發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同步后發(fā)送的通知消息;媒體包接收發(fā)送單元,用于根據(jù)所述通知消息加入頻道組播組,開(kāi)始接收所述頻道組播組下發(fā)的頻道媒體包,并將接收的第一個(gè)頻道媒體包發(fā)送至所述緩存終端;頻道切換單元,用于當(dāng)所述緩存終端發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與所述播放終端從所述頻道組播組接收到的頻道媒體包銜接時(shí),從所述頻道組播組獲取目的頻道節(jié)目?jī)?nèi)容。
本發(fā)明還提出一種頻道切換終端,包括緩存模塊,用于在接收組播碼流進(jìn)行頻道播放時(shí),對(duì)頻道節(jié)目?jī)?nèi)容進(jìn)行緩存;響應(yīng)消息發(fā)送模塊,用于當(dāng)接收到播放終端發(fā)送的宣告消息時(shí),向所述播放終端返回可提供頻道節(jié)目?jī)?nèi)容服務(wù)的響應(yīng)消息;第二頻道切換模塊,用于當(dāng)接收到所述播放終端發(fā)送的獲取目的頻道節(jié)目?jī)?nèi)容的請(qǐng)求時(shí),通過(guò)單播的方式為所述播放終端進(jìn)行頻道切換。優(yōu)選地,所述第二頻道切換模塊包括緩存發(fā)送單元,用于以可控的碼率向所述播放終端發(fā)送以I幀為起始的目的頻道節(jié)目?jī)?nèi)容緩存;通知發(fā)送及媒體包接收單元,用于當(dāng)所述目的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同步后,通知所述播放終端加入頻道組播組,并接收所述播放終端發(fā)送的來(lái)自所述頻道組播組的第一個(gè)頻道媒體包;控制單元,用于當(dāng)發(fā)送的所述目的頻道節(jié)目?jī)?nèi)容緩存與所述播放終端從所述頻道組播組接收到的頻道媒體包銜接時(shí),停止向所述播放終端發(fā)送所述目的頻道節(jié)目?jī)?nèi)容緩存。優(yōu)選地,所述緩存終端通過(guò)發(fā)送的節(jié)目?jī)?nèi)容匹配一致或當(dāng)頻道節(jié)目以RTP封裝時(shí),以RTP頭序號(hào)相同來(lái)判斷所述緩存終端發(fā)送的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同
步ο本發(fā)明還提出一種頻道切換系統(tǒng),包括播放終端以及緩存終端,其中所述播放終端,用于在局域網(wǎng)內(nèi)發(fā)送宣告消息獲取可提供頻道節(jié)目?jī)?nèi)容服務(wù)的緩存終端列表;當(dāng)所述播放終端收到頻道切換播放命令時(shí),通過(guò)所述緩存終端列表中的緩存終端進(jìn)行頻道切換;所述緩存終端,用于在接收組播碼流進(jìn)行頻道播放時(shí),對(duì)頻道節(jié)目?jī)?nèi)容進(jìn)行緩存; 當(dāng)接收到播放終端發(fā)送的宣告消息時(shí),向所述播放終端返回可提供頻道節(jié)目?jī)?nèi)容服務(wù)的響應(yīng)消息;當(dāng)接收到所述播放終端發(fā)送的獲取目的頻道節(jié)目?jī)?nèi)容的請(qǐng)求時(shí),通過(guò)單播的方式為所述播放終端進(jìn)行頻道切換。優(yōu)選地,所述播放終端,還用于在節(jié)目播放過(guò)程中檢測(cè)到丟包時(shí),向所述緩存終端發(fā)送丟包重傳請(qǐng)求;所述緩存終端,還用于接收所述丟包重傳請(qǐng)求,根據(jù)所述重傳請(qǐng)求向所述播放終端重傳丟包。本發(fā)明提出的一種頻道切換方法、終端及系統(tǒng),通過(guò)基于UPnP的SSDP(Simple Service Discovery Protocol,簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議),發(fā)現(xiàn)網(wǎng)絡(luò)中可提供頻道節(jié)目?jī)?nèi)容服務(wù)的緩存終端,在收到頻道切換的命令后,播放終端從提供服務(wù)的緩存終端迅速接收到頻道節(jié)目碼流啟動(dòng)播放,從而加快頻道切換速度,提高IPTV服務(wù)質(zhì)量。
圖1是本發(fā)明頻道切換方法一實(shí)施例流程示意圖;圖2是本發(fā)明頻道切換方法一實(shí)施例中通過(guò)緩存終端列表中的緩存終端進(jìn)行頻道切換的流程示意圖3是本發(fā)明頻道切換方法另一實(shí)施例流程示意圖;圖4是本發(fā)明頻道切換方法另一實(shí)施例中通過(guò)單播的方式為播放終端進(jìn)行頻道切換的流程示意圖;圖5是本發(fā)明頻道切換終端一實(shí)施例結(jié)構(gòu)示意圖;圖6是本發(fā)明頻道切換終端一實(shí)施例中第一頻道切換模塊的結(jié)構(gòu)示意圖;圖7是本發(fā)明頻道切換終端另一實(shí)施例結(jié)構(gòu)示意圖;圖8是本發(fā)明頻道切換終端另一實(shí)施例中第二頻道切換模塊的結(jié)構(gòu)示意圖;圖9是本發(fā)明頻道切換系統(tǒng)一實(shí)施例結(jié)構(gòu)示意圖。為了使本發(fā)明的技術(shù)方案更加清楚、明了,下面將結(jié)合附圖作進(jìn)一步詳述。
具體實(shí)施例方式本發(fā)明實(shí)施例解決方案主要是基于UPnP的SSDP協(xié)議,播放終端在局域網(wǎng)內(nèi)發(fā)送宣告消息獲取可提供頻道節(jié)目?jī)?nèi)容服務(wù)的緩存終端列表;當(dāng)播放終端收到頻道切換播放命令時(shí),通過(guò)緩存終端列表中的緩存終端進(jìn)行頻道切換,播放終端從提供服務(wù)的緩存終端迅速接收到頻道節(jié)目碼流啟動(dòng)播放,從而加快頻道切換速度。如圖1所示,本發(fā)明一實(shí)施例提出一種頻道切換方法,包括步驟S101,播放終端在局域網(wǎng)內(nèi)發(fā)送宣告消息獲取可提供頻道節(jié)目?jī)?nèi)容服務(wù)的緩存終端列表;本實(shí)施例中宣告消息具體采用UPnP SSDP宣告消息。UPnP是針對(duì)局域網(wǎng)絡(luò)范圍內(nèi)對(duì)等(peer-to-peer)互聯(lián)而設(shè)計(jì)的一種應(yīng)用層技術(shù)標(biāo)準(zhǔn),旨在為家庭、小型企業(yè)、公共場(chǎng)所提供基于IP技術(shù)、易于使用的網(wǎng)絡(luò)服務(wù)自動(dòng)發(fā)現(xiàn)機(jī)制。SSDP用于服務(wù)發(fā)現(xiàn),控制點(diǎn)借此可定位其感興趣的資源在網(wǎng)絡(luò)中的位置,設(shè)備可借此告之它們的可用性。SSDP客戶(控制點(diǎn))可往本地保留的多播地址的SSDP端口 (239. 255. 255. 250 :1900)發(fā)送發(fā)現(xiàn)(Discovery)消息來(lái)尋找SSDP服務(wù);SSDP服務(wù)(設(shè)備) 也可以同樣的方式發(fā)送SSDP指示來(lái)宣告它的存在。當(dāng)播放終端啟動(dòng)后,在局域網(wǎng)內(nèi)發(fā)送UPnP SSDP宣告消息,發(fā)現(xiàn)可以提供頻道節(jié)目?jī)?nèi)容服務(wù)的緩存終端列表,并對(duì)該表進(jìn)行維護(hù)。緩存終端在進(jìn)行頻道播放接收組播碼流時(shí)需要進(jìn)行頻道節(jié)目?jī)?nèi)容緩存,至少緩存一個(gè)完整的G0P,處于組播頻道播放狀態(tài)(接收的是組播節(jié)目碼流)的緩存終端都能夠提供頻道節(jié)目?jī)?nèi)容服務(wù),都可以對(duì)播放終端發(fā)送的宣告消息進(jìn)行響應(yīng)。步驟S102,當(dāng)播放終端收到頻道切換播放命令時(shí),通過(guò)緩存終端列表中的緩存終端進(jìn)行頻道切換。當(dāng)播放終端收到頻道切換播放命令時(shí),從緩存終端列表中選取一個(gè)或者多個(gè)能夠提供該頻道節(jié)目?jī)?nèi)容服務(wù)的緩存終端,請(qǐng)求目的頻道節(jié)目?jī)?nèi)容。緩存終端收到播放終端發(fā)送的目的頻道節(jié)目?jī)?nèi)容的請(qǐng)求后,以比節(jié)目正常速率更快的速率發(fā)送目的頻道節(jié)目?jī)?nèi)容,節(jié)目?jī)?nèi)容從I幀開(kāi)始;緩存終端在發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同步后,通知播放終端加入頻道組播組;緩存終端的媒體繼續(xù)發(fā)送,速率比節(jié)目正常速率要小或者相同;播放終端在加入頻道組播組后,開(kāi)始接收頻道組播
8組下發(fā)的媒體包,并將收到的第一個(gè)發(fā)送給緩存終端;以避免緩存終端發(fā)送多余重復(fù)的目的頻道節(jié)目?jī)?nèi)容給播放終端。當(dāng)緩存終端發(fā)送的媒體信息與播放終端接收到的組播組媒體信息能夠銜接的時(shí)候,停止向播放終端發(fā)送目的頻道節(jié)目?jī)?nèi)容。如圖2所示,步驟S102中通過(guò)緩存終端列表中的緩存終端進(jìn)行頻道切換的步驟包括步驟S1021,播放終端向緩存終端列表中一個(gè)或多個(gè)緩存終端發(fā)送獲取目的頻道節(jié)目?jī)?nèi)容的請(qǐng)求;步驟S1022,接收緩存終端發(fā)送的以I幀為起始的目的頻道節(jié)目?jī)?nèi)容緩存;如果有多個(gè)緩存終端提供了目的頻道節(jié)目?jī)?nèi)容,播放終端可以以收到第一個(gè)緩存終端響應(yīng)為準(zhǔn),同時(shí)通知其他終端停止發(fā)送目的頻道節(jié)目緩存。步驟S1023,接收緩存終端在其發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同步后發(fā)送的通知消息;步驟S1024,根據(jù)通知消息加入頻道組播組,開(kāi)始接收頻道組播組下發(fā)的頻道媒體包,并將接收的第一個(gè)頻道媒體包發(fā)送至緩存終端;步驟S1025,當(dāng)緩存終端發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與播放終端從頻道組播組接收到的頻道媒體包銜接時(shí),從頻道組播組獲取目的頻道節(jié)目?jī)?nèi)容。在本實(shí)施例中,播放終端可以根據(jù)緩存終端列表中緩存終端的網(wǎng)絡(luò)最小Ping值或根據(jù)接收到緩存終端響應(yīng)報(bào)文的先后順序選取相應(yīng)的緩存終端。判斷緩存終端在發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同步的方式,可以通過(guò)發(fā)送的節(jié)目?jī)?nèi)容匹配一致或當(dāng)頻道節(jié)目以RTP(Real-timeTransport Protocol,實(shí)時(shí)傳送協(xié)議)封裝時(shí),RTP頭序號(hào)相同來(lái)判斷緩存終端發(fā)送的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同步。需要說(shuō)明的是,本實(shí)施例中緩存終端與播放終端可以是同一類型終端,比如均為機(jī)頂盒,也可以不為同一類終端,比如播放終端為機(jī)頂盒,緩存終端為PC (Personal Computer,個(gè)人計(jì)算機(jī))機(jī)等。比如,一臺(tái)機(jī)頂盒進(jìn)行頻道切換而進(jìn)入頻道播放時(shí),如果另外一臺(tái)機(jī)頂盒已經(jīng)在播放該頻道節(jié)目,前一臺(tái)機(jī)頂盒上需要的頻道節(jié)目?jī)?nèi)容可以從后一臺(tái)已經(jīng)在播放頻道節(jié)目的機(jī)頂盒獲取,媒體數(shù)據(jù)不需要從專門(mén)的快速發(fā)送服務(wù)器發(fā)送。進(jìn)一步的,緩存終端發(fā)送目的頻道節(jié)目?jī)?nèi)容緩存給播放終端的速率一般都要比正常碼率要快,否則無(wú)法實(shí)現(xiàn)緩存終端發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與頻道組播組發(fā)送的媒體內(nèi)容同步,因?yàn)榫彺娼K端一直在繼續(xù)進(jìn)行頻道內(nèi)容接收。在實(shí)際應(yīng)用中,還可根據(jù)本實(shí)施例方法實(shí)現(xiàn)丟包重傳功能。具體地,緩存終端可以提供丟包重傳功能,播放終端在節(jié)目播放過(guò)程中如果檢測(cè)到丟包,則可以向緩存終端請(qǐng)求丟包重傳。緩存終端接收到播放終端發(fā)送的丟包重傳請(qǐng)求后,根據(jù)重傳請(qǐng)求向播放終端重傳丟包。由此可以降低IPTV對(duì)網(wǎng)絡(luò)質(zhì)量的依賴性,提升了用戶在丟包情況下的視頻質(zhì)量。本實(shí)施例通過(guò)在現(xiàn)有網(wǎng)絡(luò)上終端之間的協(xié)作完成頻道切換,降低了組網(wǎng)成本,播放終端通過(guò)緩存終端列表中的緩存終端可以盡快的顯示出視頻畫(huà)面,當(dāng)快發(fā)的媒體緩存與頻道組播組發(fā)送媒體信息同步后,切換到正常的頻道組播播放狀態(tài),縮短了頻道切換時(shí)間, 提升了 IPTV服務(wù)質(zhì)量,提高了用戶滿意度。如圖3所示,本發(fā)明另一實(shí)施例提出一種頻道切換方法,包括步驟S301,緩存終端在接收組播碼流進(jìn)行頻道播放時(shí),對(duì)頻道節(jié)目?jī)?nèi)容進(jìn)行緩存;緩存終端在進(jìn)行頻道播放接收組播碼流時(shí)需要進(jìn)行頻道節(jié)目?jī)?nèi)容緩存,至少緩存一個(gè)完整的G0P,處于組播頻道播放狀態(tài)(接收的是組播節(jié)目碼流)的緩存終端都能夠提供頻道節(jié)目?jī)?nèi)容服務(wù),都可以對(duì)播放終端發(fā)送的宣告消息進(jìn)行響應(yīng)。步驟S302,當(dāng)接收到播放終端發(fā)送的宣告消息時(shí),向播放終端返回可提供頻道節(jié)目?jī)?nèi)容服務(wù)的響應(yīng)消息;緩存終端通過(guò)UPnP中簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議監(jiān)聽(tīng)局域網(wǎng)內(nèi)播放終端的運(yùn)行狀態(tài),并在播放終端發(fā)出SSDP通知消息時(shí)給出響應(yīng),告知播放終端可以提供目的頻道節(jié)目?jī)?nèi)容服務(wù)。步驟S303,當(dāng)接收到播放終端發(fā)送的獲取目的頻道節(jié)目?jī)?nèi)容的請(qǐng)求時(shí),通過(guò)單播的方式為播放終端進(jìn)行頻道切換。緩存終端接收到播放終端的請(qǐng)求后,通過(guò)單播的方式,以可控的碼率的向播放終端發(fā)送以I幀為起始的媒體緩存即本實(shí)施例中所稱目的頻道節(jié)目?jī)?nèi)容緩存。同時(shí),以宣告消息通知其他終端提供緩存服務(wù)的頻道節(jié)目?jī)?nèi)容已經(jīng)變化。在緩存終端關(guān)機(jī)時(shí)也需要向外發(fā)送消息,通知其他終端不能再提供服務(wù)。當(dāng)頻道緩存終端發(fā)送的緩存節(jié)目?jī)?nèi)容與頻道組播內(nèi)容同步后,通知頻道播放終端加入組播組;同時(shí),頻道緩存終端以頻道節(jié)目?jī)?nèi)容同步或者更慢的速率繼續(xù)發(fā)送頻道節(jié)目?jī)?nèi)容緩存。頻道緩存終端發(fā)送的緩存節(jié)目?jī)?nèi)容與頻道組播內(nèi)容同步可以通過(guò)發(fā)送的節(jié)目?jī)?nèi)容匹配來(lái)判斷,也可以通過(guò)RTP頭序號(hào)等來(lái)判斷,當(dāng)節(jié)目?jī)?nèi)容一致,或者RTP序號(hào)相同時(shí),則認(rèn)為兩者已經(jīng)同步。例如,假設(shè)節(jié)目正常碼率恒定為2M bps,緩存終端快發(fā)時(shí)碼率為2. 2Mbps,比正常碼率大1/10。在收到播放終端的快發(fā)請(qǐng)求時(shí),緩存終端緩存了 0. 5s的數(shù)據(jù),通過(guò)計(jì)算,應(yīng)該在k后緩存終端發(fā)送的目的頻道節(jié)目?jī)?nèi)容與組播組發(fā)送的頻道節(jié)目?jī)?nèi)容可以同步,緩存終端發(fā)送給播放終端的節(jié)目?jī)?nèi)容應(yīng)是頻道緩存終端新收到的組播組頻道節(jié)目?jī)?nèi)容。此時(shí), 緩存終端通知頻道播放終端可以加入組播組,同時(shí)仍然需要繼續(xù)發(fā)送頻道節(jié)目?jī)?nèi)容。這時(shí)緩存終端發(fā)送的碼率顯然最大即為2M,也可以小于2M。當(dāng)播放終端加入組播組后,接收頻道組播組發(fā)送的媒體內(nèi)容;播放終端收到第一個(gè)頻道媒體包時(shí),立即將該媒體包發(fā)送給緩存終端。緩存終端收到播放終端發(fā)送的媒體包信息后,繼續(xù)發(fā)送目的頻道節(jié)目?jī)?nèi)容緩存,直到發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與播放終端收到的媒體包能夠銜接為止。當(dāng)頻道節(jié)目以RTP封裝時(shí),播放終端收到的第一個(gè)頻道媒體包,可以指收到的第一個(gè)組播RTP包的序號(hào),也可以是用來(lái)標(biāo)識(shí)媒體節(jié)目負(fù)載的其他信息。例如,播放終端加入組播組后,播放終端收到的第一個(gè)RTP包序號(hào)為100,緩存終端收到這個(gè)消息后,發(fā)送的頻道節(jié)目?jī)?nèi)容的最后一個(gè)包的RTP序號(hào)可以是99,這樣播放終端從緩存終端收到的節(jié)目?jī)?nèi)容和從組播組收到的節(jié)目?jī)?nèi)容則可以銜接起來(lái)。當(dāng)然,緩存終端發(fā)送的最后一個(gè)包序號(hào)也可以是100。其基本原則是至少要能保證兩個(gè)部分的內(nèi)容能夠銜接,又要盡量減少兩個(gè)部分媒體節(jié)目?jī)?nèi)容重復(fù)的部分。當(dāng)播放終端收到的目的頻道節(jié)目緩存與組播組數(shù)據(jù)能夠銜接后,則進(jìn)入到完全組播模式的播放。如圖4所示,步驟S303中通過(guò)單播的方式為播放終端進(jìn)行頻道切換的步驟包括步驟S3031,以可控的碼率向播放終端發(fā)送以I幀為起始的目的頻道節(jié)目?jī)?nèi)容緩存;步驟S3032,當(dāng)目的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同步后,通知播放終端加入頻道組播組,并接收播放終端發(fā)送的來(lái)自頻道組播組的第一個(gè)頻道媒體包;步驟S3033,當(dāng)發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與播放終端從頻道組播組接收到的頻道媒體包銜接時(shí),停止向播放終端發(fā)送目的頻道節(jié)目?jī)?nèi)容緩存。本實(shí)施例播放終端通過(guò)獲取提供目的頻道節(jié)目?jī)?nèi)容服務(wù)的緩存終端列表,并從列表中的緩存終端獲取所需節(jié)目?jī)?nèi)容播放給用戶用以完成頻道切換,縮短了頻道切換時(shí)間。 同時(shí),由于播放終端在收到組播組發(fā)送的媒體包后,立即將該包信息發(fā)送給了緩存終端,使緩存終端不會(huì)向播放終端發(fā)送多余的媒體包,不會(huì)造成網(wǎng)絡(luò)資源浪費(fèi)便能實(shí)現(xiàn)媒體接收方式的無(wú)縫切換。如圖5所示,本發(fā)明一實(shí)施例提出一種頻道切換終端,包括緩存終端列表獲取模塊501、第一頻道切換模塊502,其中緩存終端列表獲取模塊501,用于在局域網(wǎng)內(nèi)發(fā)送宣告消息獲取可提供頻道節(jié)目?jī)?nèi)容服務(wù)的緩存終端列表;本實(shí)施例中宣告消息具體采用UPnP SSDP宣告消息。UPnP是針對(duì)局域網(wǎng)絡(luò)范圍內(nèi)對(duì)等(peer-to-peer)互聯(lián)而設(shè)計(jì)的一種應(yīng)用層技術(shù)標(biāo)準(zhǔn),旨在為家庭、小型企業(yè)、公共場(chǎng)所提供基于IP技術(shù)、易于使用的網(wǎng)絡(luò)服務(wù)自動(dòng)發(fā)現(xiàn)機(jī)制。SSDP (簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議,Simple Service Discovery Protocol)用于服務(wù)發(fā)現(xiàn), 控制點(diǎn)借此可定位其感興趣的資源在網(wǎng)絡(luò)中的位置,設(shè)備可借此告之它們的可用性。SSDP 客戶(控制點(diǎn))可往本地保留的多播地址的SSDP端口 039.255.255.250:1900)發(fā)送發(fā)現(xiàn) (Discovery)消息來(lái)尋找SSDP服務(wù);SSDP服務(wù)(設(shè)備)也可以同樣的方式發(fā)送SSDP指示來(lái)宣告它的存在。播放終端啟動(dòng)后,緩存終端列表獲取模塊501在局域網(wǎng)內(nèi)發(fā)送UPnPSSDP宣告消息,發(fā)現(xiàn)可以提供頻道節(jié)目?jī)?nèi)容服務(wù)的緩存終端列表,并對(duì)該表進(jìn)行維護(hù)。緩存終端在進(jìn)行頻道播放接收組播碼流時(shí)需要進(jìn)行頻道節(jié)目?jī)?nèi)容緩存,至少緩存一個(gè)完整的G0P,處于組播頻道播放狀態(tài)(接收的是組播節(jié)目碼流)的緩存終端都能夠提供頻道節(jié)目?jī)?nèi)容服務(wù),都可以對(duì)播放終端發(fā)送的宣告消息進(jìn)行響應(yīng)。第一頻道切換模塊502,用于當(dāng)播放終端收到頻道切換播放命令時(shí),通過(guò)緩存終端列表中的緩存終端進(jìn)行頻道切換。當(dāng)播放終端收到頻道切換播放命令時(shí),第一頻道切換模塊502從緩存終端列表中選取一個(gè)或者多個(gè)能夠提供該頻道節(jié)目?jī)?nèi)容服務(wù)的緩存終端,請(qǐng)求目的頻道節(jié)目?jī)?nèi)容。
緩存終端收到播放終端發(fā)送的目的頻道節(jié)目?jī)?nèi)容的請(qǐng)求后,以比節(jié)目正常速率更快的速率發(fā)送目的頻道節(jié)目?jī)?nèi)容,節(jié)目?jī)?nèi)容從I幀開(kāi)始;緩存終端在發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同步后,通知播放終端加入頻道組播組;緩存終端的媒體繼續(xù)發(fā)送,速率比節(jié)目正常速率要小或者相同;播放終端在加入頻道組播組后,開(kāi)始接收頻道組播組下發(fā)的媒體包,并將收到的第一個(gè)發(fā)送給緩存終端;以避免緩存終端發(fā)送多余重復(fù)的目的頻道節(jié)目?jī)?nèi)容給播放終端。當(dāng)緩存終端發(fā)送的媒體信息與播放終端接收到的組播組媒體信息能夠銜接的時(shí)候,停止向播放終端發(fā)送目的頻道節(jié)目?jī)?nèi)容。如圖6所示,第一頻道切換模塊502包括請(qǐng)求單元5021、緩存接收單元5022、通知消息接收單元5023、媒體包接收發(fā)送單元50M以及頻道切換單元5025,其中請(qǐng)求單元5021,用于向緩存終端列表中一個(gè)或多個(gè)緩存終端發(fā)送獲取目的頻道節(jié)目?jī)?nèi)容的請(qǐng)求;緩存接收單元5022,用于接收緩存終端發(fā)送的以I幀為起始的目的頻道節(jié)目?jī)?nèi)容
緩存;通知消息接收單元5023,用于接收緩存終端在其發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同步后發(fā)送的通知消息;媒體包接收發(fā)送單元50M,用于根據(jù)通知消息加入頻道組播組,開(kāi)始接收所述頻道組播組下發(fā)的頻道媒體包,并將接收的第一個(gè)頻道媒體包發(fā)送至所述緩存終端;頻道切換單元5025,用于當(dāng)緩存終端發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與播放終端從頻道組播組接收到的頻道媒體包銜接時(shí),從頻道組播組獲取目的頻道節(jié)目?jī)?nèi)容。如圖7所示,本發(fā)明另一實(shí)施例提出一種頻道切換終端,包括緩存模塊701、響應(yīng)消息發(fā)送模塊702以及第二頻道切換模塊703,其中緩存模塊701,用于在接收組播碼流進(jìn)行頻道播放時(shí),對(duì)頻道節(jié)目?jī)?nèi)容進(jìn)行緩存;緩存終端在進(jìn)行頻道播放接收組播碼流時(shí)需要通過(guò)緩存模塊701進(jìn)行頻道節(jié)目?jī)?nèi)容緩存,至少緩存一個(gè)完整的G0P,處于組播頻道播放狀態(tài)(接收的是組播節(jié)目碼流)的緩存終端都能夠提供頻道節(jié)目?jī)?nèi)容服務(wù),都可以對(duì)播放終端發(fā)送的宣告消息進(jìn)行響應(yīng)。響應(yīng)消息發(fā)送模塊702,用于當(dāng)接收到播放終端發(fā)送的宣告消息時(shí),向播放終端返回可提供頻道節(jié)目?jī)?nèi)容服務(wù)的響應(yīng)消息;緩存終端響應(yīng)消息發(fā)送模塊702通過(guò)UPnP中簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議監(jiān)聽(tīng)局域網(wǎng)內(nèi)播放終端的運(yùn)行狀態(tài),并在播放終端發(fā)出SSDP通知消息時(shí)給出響應(yīng),告知播放終端可以提供目的頻道節(jié)目?jī)?nèi)容服務(wù)。第二頻道切換模塊703,用于當(dāng)接收到播放終端發(fā)送的獲取目的頻道節(jié)目?jī)?nèi)容的請(qǐng)求時(shí),通過(guò)單播的方式為播放終端進(jìn)行頻道切換。緩存終端接收到播放終端的請(qǐng)求后,第二頻道切換模塊703通過(guò)單播的方式,以可控的碼率的向播放終端發(fā)送以I幀為起始的媒體緩存即本實(shí)施例中所稱目的頻道節(jié)目?jī)?nèi)容緩存。同時(shí),以宣告消息通知其他終端提供緩存服務(wù)的頻道節(jié)目?jī)?nèi)容已經(jīng)變化。在緩存終端關(guān)機(jī)時(shí)也需要向外發(fā)送消息,通知其他終端不能再提供服務(wù)。當(dāng)頻道緩存終端發(fā)送的緩存節(jié)目?jī)?nèi)容與頻道組播內(nèi)容同步后,通知頻道播放終端加入組播組;同時(shí),頻道緩存終端以頻道節(jié)目?jī)?nèi)容同步或者更慢的速率繼續(xù)發(fā)送頻道節(jié)目?jī)?nèi)容緩存。頻道緩存終端發(fā)送的緩存節(jié)目?jī)?nèi)容與頻道組播內(nèi)容同步可以通過(guò)發(fā)送的節(jié)目?jī)?nèi)容匹配來(lái)判斷,也可以通過(guò)RTP頭序號(hào)等來(lái)判斷,當(dāng)節(jié)目?jī)?nèi)容一致,或者RTP序號(hào)相同時(shí),則認(rèn)為兩者已經(jīng)同步。例如,假設(shè)節(jié)目正常碼率恒定為2M bps,緩存終端快發(fā)時(shí)碼率為2. 2Mbps,比正常碼率大1/10。在收到播放終端的快發(fā)請(qǐng)求時(shí),緩存終端緩存了 0. 5s的數(shù)據(jù),通過(guò)計(jì)算,應(yīng)該在k后緩存終端發(fā)送的目的頻道節(jié)目?jī)?nèi)容與組播組發(fā)送的頻道節(jié)目?jī)?nèi)容可以同步,緩存終端發(fā)送給播放終端的節(jié)目?jī)?nèi)容應(yīng)是頻道緩存終端新收到的組播組頻道節(jié)目?jī)?nèi)容。此時(shí), 緩存終端通知頻道播放終端可以加入組播組,同時(shí)仍然需要繼續(xù)發(fā)送頻道節(jié)目?jī)?nèi)容。這時(shí)緩存終端發(fā)送的碼率顯然最大即為2M,也可以小于2M。當(dāng)播放終端加入組播組后,接收頻道組播組發(fā)送的媒體內(nèi)容;播放終端收到第一個(gè)頻道媒體包時(shí),立即將該媒體包發(fā)送給緩存終端。緩存終端收到播放終端發(fā)送的媒體包信息后,繼續(xù)發(fā)送目的頻道節(jié)目?jī)?nèi)容緩存,直到發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與播放終端收到的媒體包能夠銜接為止。當(dāng)頻道節(jié)目以RTP封裝時(shí),播放終端收到的第一個(gè)頻道媒體包,可以指收到的第一個(gè)組播RTP包的序號(hào),也可以是用來(lái)標(biāo)識(shí)媒體節(jié)目負(fù)載的其他信息。例如,播放終端加入組播組后,播放終端收到的第一個(gè)RTP包序號(hào)為100,緩存終端收到這個(gè)消息后,發(fā)送的頻道節(jié)目?jī)?nèi)容的最后一個(gè)包的RTP序號(hào)可以是99,這樣播放終端從緩存終端收到的節(jié)目?jī)?nèi)容和從組播組收到的節(jié)目?jī)?nèi)容則可以銜接起來(lái)。當(dāng)然,緩存終端發(fā)送的最后一個(gè)包序號(hào)也可以是100。其基本原則是至少要能保證兩個(gè)部分的內(nèi)容能夠銜接,又要盡量減少兩個(gè)部分媒體節(jié)目?jī)?nèi)容重復(fù)的部分。當(dāng)播放終端收到的目的頻道節(jié)目緩存與組播組數(shù)據(jù)能夠銜接后,則進(jìn)入到完全組播模式的播放。如圖8所示,第二頻道切換模塊703包括緩存發(fā)送單元7031、通知發(fā)送及媒體包接收單元7032以及控制單元7033,其中緩存發(fā)送單元7031,用于以可控的碼率向播放終端發(fā)送以I幀為起始的目的頻道節(jié)目?jī)?nèi)容緩存;通知發(fā)送及媒體包接收單元7032,用于當(dāng)目的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同步后,通知播放終端加入頻道組播組,并接收播放終端發(fā)送的來(lái)自頻道組播組的第一個(gè)頻道媒體包;控制單元7033,用于當(dāng)發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與播放終端從頻道組播組接收到的頻道媒體包銜接時(shí),停止向播放終端發(fā)送目的頻道節(jié)目?jī)?nèi)容緩存。如圖9所示,本發(fā)明一實(shí)施例提出一種頻道切換系統(tǒng),包括播放終端901以及緩存終端902,其中播放終端901,用于在局域網(wǎng)內(nèi)發(fā)送宣告消息獲取可提供頻道節(jié)目?jī)?nèi)容服務(wù)的緩存終端列表;當(dāng)播放終端901收到頻道切換播放命令時(shí),通過(guò)緩存終端列表中的緩存終端 902進(jìn)行頻道切換;緩存終端902,用于在接收組播碼流進(jìn)行頻道播放時(shí),對(duì)頻道節(jié)目?jī)?nèi)容進(jìn)行緩存; 當(dāng)接收到播放終端901發(fā)送的宣告消息時(shí),向播放終端901返回可提供頻道節(jié)目?jī)?nèi)容服務(wù)的響應(yīng)消息;當(dāng)接收到播放終端901發(fā)送的獲取目的頻道節(jié)目?jī)?nèi)容的請(qǐng)求時(shí),通過(guò)單播的方式為播放終端901進(jìn)行頻道切換。進(jìn)一步的,播放終端901,還用于在節(jié)目播放過(guò)程中檢測(cè)到丟包時(shí),向緩存終端 902發(fā)送丟包重傳請(qǐng)求;緩存終端902,還用于接收丟包重傳請(qǐng)求,根據(jù)重傳請(qǐng)求向播放終端901重傳丟包。具體地,緩存終端902可以提供丟包重傳功能,播放終端901在節(jié)目播放過(guò)程中如果檢測(cè)到丟包,則可以向緩存終端902請(qǐng)求丟包重傳。緩存終端902接收到播放終端901 發(fā)送的丟包重傳請(qǐng)求后,根據(jù)重傳請(qǐng)求向播放終端901重傳丟包。由此可以降低IPTV對(duì)網(wǎng)絡(luò)質(zhì)量的依賴性,提升了用戶在丟包情況下的視頻質(zhì)量。相比現(xiàn)有技術(shù)中增加一臺(tái)快發(fā)服務(wù)器實(shí)現(xiàn)快速切換頻道的方法,需要考慮到并發(fā)時(shí)間,對(duì)系統(tǒng)性能要求較高而造成運(yùn)營(yíng)成本增加,本實(shí)施例基于UPnP的SSDP協(xié)議,播放終端在局域網(wǎng)內(nèi)發(fā)送宣告消息獲取可提供頻道節(jié)目?jī)?nèi)容服務(wù)的緩存終端列表;當(dāng)播放終端收到頻道切換播放命令時(shí),通過(guò)緩存終端列表中的緩存終端進(jìn)行頻道切換,播放終端從提供服務(wù)的緩存終端迅速接收到頻道節(jié)目碼流啟動(dòng)播放,從而加快頻道切換速度,提升了用戶體驗(yàn)質(zhì)量。同時(shí),本發(fā)明實(shí)施例緩存終端可以提供丟包重傳功能,播放終端在節(jié)目播放過(guò)程中如果檢測(cè)到丟包時(shí),通過(guò)向緩存終端請(qǐng)求實(shí)現(xiàn)丟包重傳,由此可以降低IPTV對(duì)網(wǎng)絡(luò)質(zhì)量的依賴性,提升了用戶在丟包情況下的視頻質(zhì)量。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或流程變換,或直接或間接運(yùn)用在其它相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
1權(quán)利要求
1.一種頻道切換方法,其特征在于,包括播放終端在局域網(wǎng)內(nèi)發(fā)送宣告消息獲取可提供頻道節(jié)目?jī)?nèi)容服務(wù)的緩存終端列表;當(dāng)所述播放終端收到頻道切換播放命令時(shí),通過(guò)所述緩存終端列表中的緩存終端進(jìn)行頻道切換。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通過(guò)緩存終端列表中的緩存終端進(jìn)行頻道切換的步驟包括播放終端向所述緩存終端列表中一個(gè)或多個(gè)緩存終端發(fā)送獲取目的頻道節(jié)目?jī)?nèi)容的請(qǐng)求;接收所述緩存終端發(fā)送的以I幀為起始的目的頻道節(jié)目?jī)?nèi)容緩存;接收所述緩存終端在其發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同步后發(fā)送的通知消息;根據(jù)所述通知消息加入頻道組播組,開(kāi)始接收所述頻道組播組下發(fā)的頻道媒體包,并將接收的第一個(gè)頻道媒體包發(fā)送至所述緩存終端;當(dāng)所述緩存終端發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與所述播放終端從所述頻道組播組接收到的頻道媒體包銜接時(shí),從所述頻道組播組獲取目的頻道節(jié)目?jī)?nèi)容。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述播放終端根據(jù)緩存終端列表中緩存終端的網(wǎng)絡(luò)最小Ping值或根據(jù)接收到緩存終端響應(yīng)報(bào)文的先后順序選取相應(yīng)的緩存終端。
4.一種頻道切換方法,其特征在于,包括緩存終端在接收組播碼流進(jìn)行頻道播放時(shí),對(duì)頻道節(jié)目?jī)?nèi)容進(jìn)行緩存;當(dāng)接收到播放終端發(fā)送的宣告消息時(shí),向所述播放終端返回可提供頻道節(jié)目?jī)?nèi)容服務(wù)的響應(yīng)消息;當(dāng)接收到所述播放終端發(fā)送的獲取目的頻道節(jié)目?jī)?nèi)容的請(qǐng)求時(shí),通過(guò)單播的方式為所述播放終端進(jìn)行頻道切換。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述通過(guò)單播的方式為所述播放終端進(jìn)行頻道切換的步驟包括以可控的碼率向所述播放終端發(fā)送以I幀為起始的目的頻道節(jié)目?jī)?nèi)容緩存;當(dāng)所述目的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同步后,通知所述播放終端加入頻道組播組,并接收所述播放終端發(fā)送的來(lái)自所述頻道組播組的第一個(gè)頻道媒體包;當(dāng)發(fā)送的所述目的頻道節(jié)目?jī)?nèi)容緩存與所述播放終端從所述頻道組播組接收到的頻道媒體包銜接時(shí),停止向所述播放終端發(fā)送所述目的頻道節(jié)目?jī)?nèi)容緩存。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述緩存終端通過(guò)發(fā)送的節(jié)目?jī)?nèi)容匹配一致或當(dāng)頻道節(jié)目以實(shí)時(shí)傳送協(xié)議RTP封裝時(shí),以RTP頭序號(hào)相同來(lái)判斷所述緩存終端發(fā)送的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同步。
7.—種頻道切換終端,其特征在于,包括緩存終端列表獲取模塊,用于在局域網(wǎng)內(nèi)發(fā)送宣告消息獲取可提供頻道節(jié)目?jī)?nèi)容服務(wù)的緩存終端列表;第一頻道切換模塊,用于當(dāng)所述播放終端收到頻道切換播放命令時(shí),通過(guò)所述緩存終端列表中的緩存終端進(jìn)行頻道切換。
8.根據(jù)權(quán)利要求7所述的終端,其特征在于,所述第一頻道切換模塊包括請(qǐng)求單元,用于向所述緩存終端列表中一個(gè)或多個(gè)緩存終端發(fā)送獲取目的頻道節(jié)目?jī)?nèi)容的請(qǐng)求;緩存接收單元,用于接收所述緩存終端發(fā)送的以I幀為起始的目的頻道節(jié)目?jī)?nèi)容緩存;通知消息接收單元,用于接收所述緩存終端在其發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同步后發(fā)送的通知消息;媒體包接收發(fā)送單元,用于根據(jù)所述通知消息加入頻道組播組,開(kāi)始接收所述頻道組播組下發(fā)的頻道媒體包,并將接收的第一個(gè)頻道媒體包發(fā)送至所述緩存終端;頻道切換單元,用于當(dāng)所述緩存終端發(fā)送的目的頻道節(jié)目?jī)?nèi)容緩存與所述播放終端從所述頻道組播組接收到的頻道媒體包銜接時(shí),從所述頻道組播組獲取目的頻道節(jié)目?jī)?nèi)容。
9.一種頻道切換終端,其特征在于,包括緩存模塊,用于在接收組播碼流進(jìn)行頻道播放時(shí),對(duì)頻道節(jié)目?jī)?nèi)容進(jìn)行緩存;響應(yīng)消息發(fā)送模塊,用于當(dāng)接收到播放終端發(fā)送的宣告消息時(shí),向所述播放終端返回可提供頻道節(jié)目?jī)?nèi)容服務(wù)的響應(yīng)消息;第二頻道切換模塊,用于當(dāng)接收到所述播放終端發(fā)送的獲取目的頻道節(jié)目?jī)?nèi)容的請(qǐng)求時(shí),通過(guò)單播的方式為所述播放終端進(jìn)行頻道切換。
10.根據(jù)權(quán)利要求9所述的終端,其特征在于,所述第二頻道切換模塊包括緩存發(fā)送單元,用于以可控的碼率向所述播放終端發(fā)送以I幀為起始的目的頻道節(jié)目?jī)?nèi)容緩存;通知發(fā)送及媒體包接收單元,用于當(dāng)所述目的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同步后,通知所述播放終端加入頻道組播組,并接收所述播放終端發(fā)送的來(lái)自所述頻道組播組的第一個(gè)頻道媒體包;控制單元,用于當(dāng)發(fā)送的所述目的頻道節(jié)目?jī)?nèi)容緩存與所述播放終端從所述頻道組播組接收到的頻道媒體包銜接時(shí),停止向所述播放終端發(fā)送所述目的頻道節(jié)目?jī)?nèi)容緩存。
11.根據(jù)權(quán)利要求9或10所述的終端,其特征在于,所述緩存終端通過(guò)發(fā)送的節(jié)目?jī)?nèi)容匹配一致或當(dāng)頻道節(jié)目以RTP封裝時(shí),以RTP頭序號(hào)相同來(lái)判斷所述緩存終端發(fā)送的頻道節(jié)目?jī)?nèi)容緩存與頻道組播媒體同步。
12.一種頻道切換系統(tǒng),其特征在于,包括播放終端以及緩存終端,其中所述播放終端,用于在局域網(wǎng)內(nèi)發(fā)送宣告消息獲取可提供頻道節(jié)目?jī)?nèi)容服務(wù)的緩存終端列表;當(dāng)所述播放終端收到頻道切換播放命令時(shí),通過(guò)所述緩存終端列表中的緩存終端進(jìn)行頻道切換;所述緩存終端,用于在接收組播碼流進(jìn)行頻道播放時(shí),對(duì)頻道節(jié)目?jī)?nèi)容進(jìn)行緩存;當(dāng)接收到播放終端發(fā)送的宣告消息時(shí),向所述播放終端返回可提供頻道節(jié)目?jī)?nèi)容服務(wù)的響應(yīng)消息;當(dāng)接收到所述播放終端發(fā)送的獲取目的頻道節(jié)目?jī)?nèi)容的請(qǐng)求時(shí),通過(guò)單播的方式為所述播放終端進(jìn)行頻道切換。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其特征在于,所述播放終端,還用于在節(jié)目播放過(guò)程中檢測(cè)到丟包時(shí),向所述緩存終端發(fā)送丟包重傳請(qǐng)求;所述緩存終端,還用于接收所述丟包重傳請(qǐng)求,根據(jù)所述重傳請(qǐng)求向所述播放終端重傳丟包。
全文摘要
本發(fā)明涉及一種頻道切換方法、終端及系統(tǒng),其方法包括播放終端在局域網(wǎng)內(nèi)發(fā)送宣告消息獲取可提供頻道節(jié)目?jī)?nèi)容服務(wù)的緩存終端列表;當(dāng)播放終端收到頻道切換播放命令時(shí),通過(guò)緩存終端列表中的緩存終端進(jìn)行頻道切換。本發(fā)明基于UPnP的SSDP協(xié)議,播放終端從提供服務(wù)的緩存終端迅速接收頻道節(jié)目碼流啟動(dòng)播放,加快頻道切換速度,提升了IPTV服務(wù)質(zhì)量。同時(shí),由于播放終端在收到組播組發(fā)送的媒體包后,立即將該包信息發(fā)送給緩存終端,使緩存終端不會(huì)向播放終端發(fā)送多余的媒體包,不造成網(wǎng)絡(luò)資源浪費(fèi)便能實(shí)現(xiàn)媒體接收方式的無(wú)縫切換;另外,本發(fā)明還可以實(shí)現(xiàn)丟包重傳功能,由此可降低IPTV對(duì)網(wǎng)絡(luò)質(zhì)量的依賴性,提升了用戶在丟包情況下的視頻質(zhì)量。
文檔編號(hào)H04N21/438GK102547448SQ20101059676
公開(kāi)日2012年7月4日 申請(qǐng)日期2010年12月20日 優(yōu)先權(quán)日2010年12月20日
發(fā)明者周茂林 申請(qǐng)人:中興通訊股份有限公司