一種視頻組播網(wǎng)絡(luò)系統(tǒng)中頻道切換加速的方法和頻道族群標(biāo)識(shí)方法
【專利摘要】一種視頻組播網(wǎng)絡(luò)系統(tǒng)中頻道切換加速的方法和頻道族群標(biāo)識(shí)方法,包括補(bǔ)幀、回跳、構(gòu)造和提前傳送。用戶發(fā)出切換請(qǐng)求,終端通知交換機(jī)加入相應(yīng)組播組。加速模塊根據(jù)當(dāng)前圖像幀所處視頻圖像組GOP的位置或操作階段以執(zhí)行相應(yīng)動(dòng)作。在GOP前部,將過(guò)期的幀補(bǔ)充完整;GOP中前部,僅回溯參考幀;GOP中后部,構(gòu)造新的I幀;GOP尾部,提前傳送。另外,不增加終端控制面板按鍵,定義某個(gè)按鍵或某組按鍵在不同狀態(tài)下具有不同功能,實(shí)現(xiàn)頻道族群的標(biāo)識(shí)和群組內(nèi)掃描式自動(dòng)切換的操作功能。本發(fā)明能使視頻組播的頻道切換提速,減少骨干網(wǎng)絡(luò)出現(xiàn)擁塞的可能性,避免網(wǎng)絡(luò)流量的瞬間大幅波動(dòng)。
【專利說(shuō)明】一種視頻組播網(wǎng)絡(luò)系統(tǒng)中頻道切換加速的方法和頻道族群 標(biāo)識(shí)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及了網(wǎng)絡(luò)視頻傳送技術(shù),在IP網(wǎng)絡(luò)的視頻傳送環(huán)境下,如在線直播、網(wǎng) 絡(luò)電視、視頻會(huì)議等信息服務(wù)領(lǐng)域,具體涉及視頻組播網(wǎng)絡(luò)系統(tǒng)中頻道切換加速的方法。
【背景技術(shù)】
[0002] 在IP網(wǎng)絡(luò)中多媒體業(yè)務(wù)日漸增多,網(wǎng)絡(luò)視頻的高效傳送,逐漸成為研究熱點(diǎn)。北 京交通大學(xué)張宏科提出智慧協(xié)同網(wǎng)絡(luò),能夠提高網(wǎng)絡(luò)資源利用率,降低網(wǎng)絡(luò)能耗,提升用戶 體驗(yàn)。在社區(qū)寬帶網(wǎng)絡(luò)中IP組播技術(shù)有效地解決了單點(diǎn)發(fā)送多點(diǎn)接收的問(wèn)題,實(shí)現(xiàn)了點(diǎn)到 多點(diǎn)的高效數(shù)據(jù)傳送,能夠節(jié)約網(wǎng)絡(luò)帶寬、降低服務(wù)器負(fù)載。盡管網(wǎng)絡(luò)視頻的流暢度越來(lái)越 好,但節(jié)目源切換引起的等待時(shí)間,一直沒(méi)能有效降低,從而影響用戶體驗(yàn)。采用幀間壓縮 的視頻流媒體每個(gè)G0P(Group Of Picture)包含的圖像巾貞數(shù)比較多,造成視頻播出時(shí)用戶 常常會(huì)覺(jué)得頻道切換延時(shí)偏長(zhǎng)。
[0003] 針對(duì)頻道切換技術(shù)已有一些論文和專利。發(fā)明專利CN200410052477"視頻組播業(yè) 務(wù)中頻道切換的實(shí)現(xiàn)方法"針對(duì)IGMP視頻組播,在寬帶接入設(shè)備中加入特殊功能模塊,以 進(jìn)入退出組播組的方式完成視頻播放頻道的切換。該專利的重點(diǎn)在于視頻組播中的用戶鑒 權(quán)。發(fā)明專利CN201080020303"最新組播加入的快速頻道切換",通過(guò)FCC單播服務(wù)器來(lái)實(shí) 現(xiàn)快速頻道切換,采取每次少發(fā)數(shù)據(jù),將FCC服務(wù)器輸出數(shù)據(jù)速率增加到比組播速率快的 單播水平,當(dāng)FCC服務(wù)器追上組播時(shí),向STB發(fā)信號(hào)以加入新頻道的組播,從而顯現(xiàn)頻道快 速切換的效果。發(fā)明專利CN201110226087"快速頻道切換的實(shí)現(xiàn)方法和裝置",針對(duì)畫(huà)中畫(huà) 模式下的頻道切換,由FCC服務(wù)器輔助完成加速。發(fā)明專利CN201210230760 "一種利用I 幀改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法",針對(duì)服務(wù)器硬盤(pán)存儲(chǔ)的視頻節(jié)目源,可快速響應(yīng)客戶 端的鼠標(biāo)拖動(dòng)產(chǎn)生的播放點(diǎn)定位。具體辦法是建立I幀索引文件,以快速定位播放點(diǎn)對(duì)應(yīng) 的硬盤(pán)扇區(qū),從而減少用戶等待的時(shí)延。由古強(qiáng)等人發(fā)表在《北京郵電大學(xué)學(xué)報(bào)》2009年6 期文章"組播環(huán)境下IPTV快速頻道切換方法"提出了一種組播網(wǎng)絡(luò)中采用短時(shí)間從其他終 端獲取數(shù)據(jù)的IPTV頻道切換方法,借用P2P網(wǎng)絡(luò)中充分利用終端的上傳帶寬的思想,在播 放同一頻道的終端為新加入頻道的終端快速提供新頻道視頻數(shù)據(jù),迅速充滿新加入的終端 的播放緩存,減少了頻道切換時(shí)間。
[0004] 以上方法往往不能適應(yīng)大規(guī)模部署的需要,或者消耗資源太多,或者容易引發(fā)網(wǎng) 絡(luò)流量的短時(shí)間暴漲甚至擁塞。外加服務(wù)器是普遍采用的方法,未見(jiàn)交換機(jī)內(nèi)部署加速模 塊的描述。本發(fā)明設(shè)計(jì)了一種視頻組播中頻道切換加速方法,在可控的資源開(kāi)銷條件下,可 大幅降低頻道切換時(shí)延,對(duì)不同網(wǎng)絡(luò)規(guī)模均有良好的適應(yīng)性。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明解決的技術(shù)問(wèn)題:提供視頻組播網(wǎng)絡(luò)系統(tǒng)中頻道切換加速的方法,能使視 頻組播網(wǎng)絡(luò)系統(tǒng)中的頻道切換提速,減少骨干網(wǎng)絡(luò)出現(xiàn)擁塞的可能性,避免網(wǎng)絡(luò)流量的瞬 間大幅波動(dòng),同時(shí)在可控的資源開(kāi)銷條件下,可大幅降低頻道切換時(shí)延。
[0006] 本發(fā)明技術(shù)解決方案:一種視頻組播網(wǎng)絡(luò)系統(tǒng)中頻道切換加速的方法,包括補(bǔ)幀、 回跳、構(gòu)造和提前傳送四個(gè)操作以及六個(gè)步驟,如圖3所示,具體工作流程描述如下:
[0007] (1)頻道切換開(kāi)始時(shí),用戶通過(guò)終端控制面板發(fā)出希望切換的目標(biāo)頻道號(hào)碼,終端 接收后轉(zhuǎn)換為載有頻道切換的控制信息,通知相關(guān)交換機(jī)切換相應(yīng)組播組;所述控制信息 主要是加入或退出組播組;
[0008] (2)交換機(jī)中的加速模塊首先判斷切換點(diǎn)所處當(dāng)前視頻圖像組G0P的位置或操作 階段以執(zhí)行相應(yīng)操作,具體包括補(bǔ)幀、回跳、構(gòu)造幀和提前傳送;
[0009] (3)如果位于視頻圖像組G0P前部,則進(jìn)行補(bǔ)幀操作,將當(dāng)前G0P的所有圖像幀補(bǔ) 充完整,結(jié)束;否則執(zhí)行步驟(4);
[0010] (4)如果位于G0P中前部位置,則將切換點(diǎn)之前本G0P中用作參考的圖像幀補(bǔ)充完 整,忽略切換點(diǎn)之前的非參考幀,這個(gè)回溯補(bǔ)幀并跳過(guò)非參考幀的操作稱為回跳,回跳操作 后結(jié)束;否則執(zhí)行步驟(5);
[0011] (5)如果位于G0P中后部位置,則進(jìn)行構(gòu)造幀操作,將當(dāng)前幀或其附近的某個(gè)圖像 幀改造為原始幀,舍棄該幀之前的數(shù)據(jù),將該幀之后的數(shù)據(jù)補(bǔ)充完整,結(jié)束;否則執(zhí)行步驟 (6);
[0012] (6)如果位于G0P的尾部位置,則進(jìn)行提前傳送操作,舍棄當(dāng)前G0P末尾的B幀數(shù) 據(jù),提前傳送下一個(gè)G0P中原始圖像幀及其后數(shù)據(jù)。
[0013] 所述步驟(1)中,載有頻道切換的控制信息的網(wǎng)絡(luò)數(shù)據(jù)包在傳送排隊(duì)時(shí)具有絕對(duì) 優(yōu)先權(quán),甚至放棄正在傳送的長(zhǎng)包數(shù)據(jù)以便盡快將控制信息發(fā)送到目標(biāo)交換機(jī);也可以設(shè) 置不同于傳送普通網(wǎng)絡(luò)數(shù)據(jù)包的專用快速通路來(lái)傳輸這些控制信息。
[0014] 所述步驟⑵中,判斷當(dāng)前圖像幀所處視頻圖像組G0P的位置或操作階段以執(zhí)行 相應(yīng)動(dòng)作采用下列兩種辦法之一:
[0015] (1)視頻組播服務(wù)器發(fā)送的圖像幀數(shù)據(jù)包中帶有操作指示碼,以便交換機(jī)中的加 速模塊在遇到加入組播組請(qǐng)求時(shí),依照操作指示碼執(zhí)行相應(yīng)的動(dòng)作,乃至請(qǐng)求其它交換機(jī) 的加速模塊或?qū)S梅?wù)器或鄰居終端協(xié)作處理相應(yīng)動(dòng)作;
[0016] (2)視頻組播服務(wù)器發(fā)送的圖像幀數(shù)據(jù)包中帶有當(dāng)前幀在G0P中的序號(hào)及本組 G0P的總幀數(shù)等相關(guān)信息,交換機(jī)中的加速模塊在遇到新加入組播組請(qǐng)求時(shí),依照這些信息 和預(yù)設(shè)算法執(zhí)行所述相應(yīng)動(dòng)作。
[0017] 在步驟(4)傳送回溯幀和步驟(5)構(gòu)造幀操作時(shí),以縮短頻道切換至首幀圖像可 播放時(shí)間為優(yōu)化目標(biāo)來(lái)分配資源和安排工作流程。
[0018] 所述步驟(1)中,所述終端控制面板中標(biāo)識(shí)目標(biāo)頻道號(hào)碼時(shí),定義某個(gè)按鍵或某 組按鍵(正常模式下不常用的組合按鍵)引發(fā)頻道切換的掃描模式,即無(wú)需用戶界面的進(jìn) 一步操作,定時(shí)自動(dòng)切換下個(gè)頻道。在掃描模式下,通過(guò)前一頻道(或后一頻道)按鍵退出 返回正常模式;通過(guò)后一頻道(或前一頻道)按鍵提前進(jìn)入掃描的下一個(gè)頻道;通過(guò)數(shù)字 鍵選擇某個(gè)頻道時(shí),可定義為退出并返回正常模式,也可定義為直接切換到該頻道并在此 基礎(chǔ)上繼續(xù)定時(shí)自動(dòng)切換下個(gè)頻道。各個(gè)頻道輪換一遍后可設(shè)定退出掃描模式,也可繼續(xù) 進(jìn)入下個(gè)輪換周期。
[0019] 所述步驟(1)中,所述終端控制面板中標(biāo)識(shí)目標(biāo)頻道號(hào)碼時(shí),定義某個(gè)按鍵或某 組按鍵在不同狀態(tài)下具有不同功能,無(wú)需新增控制面板按鍵即可實(shí)現(xiàn)頻道族群的標(biāo)識(shí)功 能。在頻道族群標(biāo)識(shí)的基礎(chǔ)上,可在用戶喜愛(ài)的頻道之間實(shí)現(xiàn)掃描式自動(dòng)切換。這種頻道 切換操作,加入新組播組的時(shí)機(jī)選在GOP頭幀處,播放緩沖區(qū)內(nèi)有足夠的新頻道數(shù)據(jù)時(shí)才 退出舊頻道。
[0020] 本發(fā)明具有如下技術(shù)效果:
[0021] (1)在視頻組播網(wǎng)絡(luò)系統(tǒng)中,本發(fā)明采用補(bǔ)幀、回跳、構(gòu)造幀、提前傳送等多種方 法,可縮短頻道切換的延遲時(shí)間,從而提升用戶體驗(yàn);有效地減少骨干網(wǎng)絡(luò)在頻道切換時(shí)出 現(xiàn)擁塞的可能性,避免網(wǎng)絡(luò)流量的大幅波動(dòng);對(duì)網(wǎng)絡(luò)規(guī)模的適應(yīng)性好,小規(guī)模時(shí)加速方案可 裁剪,大規(guī)模時(shí)加速方案易擴(kuò)展。
[0022] (2)另外,本發(fā)明還涉及用戶界面設(shè)計(jì),重新定義了遙控器按鍵,修改了頻道切換 時(shí)的按鍵功能狀態(tài)轉(zhuǎn)換圖。在用戶喜愛(ài)的頻道之間的掃描式自動(dòng)切換,可實(shí)現(xiàn)頻道切換中 的平滑過(guò)渡,需要消耗的資源更少。
【專利附圖】
【附圖說(shuō)明】
[0023] 圖1為簡(jiǎn)化的視頻組播網(wǎng)絡(luò)拓?fù)涫疽鈭D;
[0024] 圖2為多個(gè)交換機(jī)的視頻組播網(wǎng)絡(luò);
[0025] 圖3為本發(fā)明方法實(shí)現(xiàn)流程圖;
[0026] 圖4為本發(fā)明的頻道切換時(shí)間點(diǎn)的五個(gè)階段與動(dòng)作;
[0027] 圖5為按鍵動(dòng)作的狀態(tài)變換圖。
【具體實(shí)施方式】
[0028] 在支持組播的社區(qū)視頻傳送網(wǎng)絡(luò)中,包含視頻組播服務(wù)器(即帶有磁盤(pán)陣列的視 頻節(jié)目源服務(wù)器)、智能交換機(jī)、視頻播放終端等常規(guī)設(shè)備,以及為頻道加速選配的專用服 務(wù)器。交換機(jī)和終端上帶有加速模塊。網(wǎng)絡(luò)拓?fù)潢P(guān)系見(jiàn)圖1,圖1中邊緣交換機(jī)是視頻播放 終端直接相連的智能交換機(jī),核心交換機(jī)與視頻組播服務(wù)器直接相連。本終端是指需要切 換頻道的視頻播放終端,鄰居終端正在播放的頻道與本終端要切換的頻道號(hào)相同,且在網(wǎng) 絡(luò)拓?fù)溥B接上距離本終端比較近。
[0029] 頻道切換時(shí),當(dāng)前G0P圖像幀數(shù)據(jù)很可能不完整。加速模塊向周?chē)従又械木W(wǎng)絡(luò) 設(shè)備索取過(guò)期的流媒體數(shù)據(jù),首先是交換機(jī)的循環(huán)緩沖區(qū)過(guò)期數(shù)據(jù)很可能還沒(méi)有被沖掉, 其次是相同組播組內(nèi)的鄰居終端也可提供過(guò)期數(shù)據(jù)。鄰居終端可以位于相同的邊緣交換機(jī) 下(如圖1),也可以位于不同的邊緣交換機(jī)下(如圖2),但跨過(guò)的交換機(jī)一般不會(huì)太多。過(guò) 期數(shù)據(jù)量較多時(shí)可以適當(dāng)變通,比如將增量幀改造為原始幀,使得回溯的幀數(shù)不至于太多。 為了減輕交換機(jī)或鄰居終端的負(fù)擔(dān),適當(dāng)增設(shè)專用服務(wù)器承擔(dān)這些回溯和構(gòu)造工作,可能 是必要的。新頻道可播放視頻的第一幀數(shù)據(jù)應(yīng)該及早到達(dá)終端設(shè)備,為此,可以在專用服務(wù) 器中預(yù)先生成原始幀。雖然這些數(shù)據(jù)可能并沒(méi)有派上用場(chǎng)(沒(méi)有發(fā)生頻道切換),但一旦有 需求,肯定能夠提高響應(yīng)速度。在組播網(wǎng)絡(luò)規(guī)模較小且頻道數(shù)不多的場(chǎng)合,專用服務(wù)器的功 能可以在視頻組播服務(wù)器中實(shí)現(xiàn)。對(duì)于關(guān)鍵節(jié)目,采用G0P幀數(shù)較短的視頻壓縮算法,乃至 在節(jié)目源的部分段落放棄前后圖像幀之間的壓縮機(jī)制。
[0030] 根據(jù)頻道切換時(shí)邊緣交換機(jī)發(fā)送新頻道的視頻圖像組G0P位置點(diǎn),具體設(shè)置五個(gè) 階段,如圖4所示。狀態(tài)和操作定義如下:
[0031] S1 :即將或正在發(fā)送原始巾貞,先切換再補(bǔ)全。
[0032] S2 :處于G0P前段,先補(bǔ)全后切換。切換時(shí)機(jī)是下一個(gè)P幀頭。
[0033] S3 :處于G0P中前段,僅補(bǔ)全參考幀。
[0034] S4 :處于G0P中后段,生成原始幀并發(fā)送,跳過(guò)η幀才切換。
[0035] S5 :處于G0P末尾,等待切換或提前傳送。
[0036] S3階段的回跳操作,可以由交換機(jī)將所有Ρ幀直接發(fā)往終端,由終端進(jìn)行Ρ幀和I 幀的合并;也可以在交換機(jī)的加速模塊中將Ρ幀合并后才發(fā)往終端。盡量合并為單個(gè)Ρ幀, 但遇到數(shù)據(jù)溢出時(shí),可合并為多個(gè)Ρ幀。
[0037] 為了縮短頻道切換至首幀圖像播放的時(shí)間,在構(gòu)造出可發(fā)送的數(shù)據(jù)包之前,構(gòu)造 操作與發(fā)送回溯幀的流程可以同時(shí)進(jìn)行;構(gòu)造原始幀的操作也可與發(fā)送該原始幀的操作同 時(shí)進(jìn)行。
[0038] 回跳和構(gòu)造幀操作需要較多資源才能完成,因此都要先申請(qǐng)資源。補(bǔ)幀所需要的 資源,應(yīng)該在資源管理器中登記并扣除所占用的資源。補(bǔ)幀時(shí)如果資源受限,可以適當(dāng)丟棄 非參考幀。新版H.264/AVC等視頻壓縮算法可以把Β幀作為參考幀。這時(shí),作為參考幀的 Β幀也要回溯,不可跳過(guò)。
[0039] S1到S5這五個(gè)階段的設(shè)置是較為完全的實(shí)施版本。作為簡(jiǎn)化后的版本,可以舍 棄S2,也可以舍棄S4 ;針對(duì)大規(guī)模網(wǎng)絡(luò),可提高加速服務(wù)器的性能,以及增加加速服務(wù)器的 數(shù)量。
[0040] 補(bǔ)幀、回跳、構(gòu)造幀和提前傳送等各項(xiàng)動(dòng)作可以在智能交換機(jī)SW、鄰居終端Ti、專 用服務(wù)器Sa(可能合并在視頻組播服務(wù)器中)上實(shí)現(xiàn)。它們相互獨(dú)立,可以部署在某個(gè)或 某類設(shè)備中,也可以分別在多個(gè)不同類別的設(shè)備中。在多類設(shè)備均部署了同樣功能時(shí),按照 SW、Ti、Sa優(yōu)先次序來(lái)安排。
[0041] 這三類實(shí)體在處理請(qǐng)求時(shí),針對(duì)補(bǔ)幀、回跳、構(gòu)造幀,可能有不同的操作。比如:智 能交換機(jī)SW可能沒(méi)有解碼庫(kù),所以很難構(gòu)造幀;鄰居終端Ti會(huì)解碼播放,所以能構(gòu)造幀; 專用服務(wù)器Sa可能擁有所有的數(shù)據(jù),不需要構(gòu)造幀?!揪唧w實(shí)施方式】中,需要結(jié)合實(shí)際環(huán)境, 把以上過(guò)程都具體地實(shí)現(xiàn)出來(lái)。
[0042] 加速模塊的部署原則:邊緣交換機(jī)應(yīng)該部署加速模塊,中間交換機(jī)可選,而核心交 換機(jī)很少會(huì)部署。核心交換機(jī)要避免復(fù)雜化,即使部署加速模塊,也會(huì)盡量避免構(gòu)造幀之類 的復(fù)雜性操作。組播服務(wù)器也應(yīng)該部署加速模塊,并且加大內(nèi)存緩沖區(qū),以便保存最近的 G0P的全部數(shù)據(jù)不被覆蓋掉。組播策略是無(wú)人收看的頻道停播,首個(gè)用戶收看時(shí)選擇最近的 G0P頭幀數(shù)據(jù)組播。在不致引發(fā)網(wǎng)絡(luò)擁塞的前提下,啟動(dòng)發(fā)送G0P頭的速度可適當(dāng)提高。 [0043] 切換加速的四個(gè)主要操作,即補(bǔ)幀、回跳、構(gòu)造和提前傳送,具體描述如下:
[0044] (1)補(bǔ)幀:將當(dāng)前G0P的所有幀補(bǔ)充完整。位于G0P前部時(shí),適宜這個(gè)動(dòng)作。
[0045] (2)回跳。僅回溯I幀和P幀和用作參考幀的B幀。位于G0P中部靠前位置時(shí),適 宜這個(gè)動(dòng)作。
[0046] (3)構(gòu)造幀。將當(dāng)前幀之前的某個(gè)圖像幀改造為原始幀,舍棄該幀之前的數(shù)據(jù),該 幀之后的數(shù)據(jù)補(bǔ)充完整。位于G0P中部靠后位置時(shí),適宜這個(gè)動(dòng)作。
[0047] (4)提前傳送。處于當(dāng)前G0P的尾部時(shí),可以舍棄當(dāng)前G0P末尾的B幀數(shù)據(jù),提前 傳送下一個(gè)GOP原始幀及其后數(shù)據(jù)。這個(gè)操作往往在視頻組播服務(wù)器中實(shí)現(xiàn)。若沒(méi)能實(shí)現(xiàn) 提前傳送功能,可在交換機(jī)的加速模塊內(nèi)推遲切換,等待新頻道的G0P頭幀。
[0048] 載有頻道切換的控制信息(如加入退出組播組)的網(wǎng)絡(luò)數(shù)據(jù)包在傳送排隊(duì)時(shí)具有 絕對(duì)優(yōu)先權(quán),甚至放棄正在傳送的長(zhǎng)包數(shù)據(jù)以便盡快將控制信息發(fā)送到目標(biāo)交換機(jī);也可 以設(shè)置不同于傳送普通網(wǎng)絡(luò)數(shù)據(jù)包的專用快速通路來(lái)傳輸這些控制信息。
[0049] 視頻組播服務(wù)器發(fā)送的圖像幀數(shù)據(jù)包中帶有當(dāng)前幀在G0P中的序號(hào)及本組G0P的 總幀數(shù)等相關(guān)信息。加速模塊在遇到新加入組播組請(qǐng)求時(shí),依照這些信息和預(yù)設(shè)既定算法 執(zhí)行相應(yīng)的動(dòng)作,包括補(bǔ)幀、回溯、構(gòu)造幀、提前傳送/推遲切換等。視頻組播服務(wù)器發(fā)送的 圖像幀數(shù)據(jù)包中也可以直接帶有操作指示碼,以便交換機(jī)中的加速模塊在遇到加入組播組 請(qǐng)求時(shí),依照操作指示碼執(zhí)行相應(yīng)的動(dòng)作,乃至請(qǐng)求加速服務(wù)器或鄰居終端協(xié)作處理相應(yīng) 動(dòng)作。
[0050] 在傳送回溯幀和構(gòu)造幀時(shí),以縮短頻道切換至首幀圖像可播放時(shí)間為優(yōu)化目標(biāo)來(lái) 安排工作流程和資源管理。優(yōu)化目標(biāo):加入組播組的時(shí)間,播放緩沖區(qū)填滿I/B/P三幀圖像 數(shù)據(jù)的末端傳送時(shí)間,交換機(jī)之間傳送的時(shí)間等。約束條件:
[0051] (1)不可擁塞,各個(gè)鏈路轉(zhuǎn)發(fā)數(shù)據(jù)流量之和,小于交換機(jī)的總轉(zhuǎn)發(fā)能力。
[0052] (2)引發(fā)其它頻道的延時(shí)等待時(shí)間不可太長(zhǎng)。
[0053] (3)緩沖區(qū)資源足夠。
[0054] 針對(duì)終端控制面板提出一種狀態(tài)轉(zhuǎn)換機(jī)制,使"前一個(gè)頻道"按鍵的功能在不同狀 態(tài)下具有不同含義。不改變控制面板的按鍵數(shù)量,就能實(shí)現(xiàn)頻道族群的定義和群組內(nèi)頻道 切換的操作功能。增加頻道族群定義功能后,在用戶喜愛(ài)的頻道之間可以實(shí)現(xiàn)掃描式定時(shí) 自動(dòng)切換。采用延時(shí)切換機(jī)制,使加入新頻道比退出舊頻道的時(shí)機(jī)提前,以減少屏幕圖像切 換時(shí)的畫(huà)面停頓。
[0055] 為提高資源利用率,可以區(qū)別對(duì)待不同的用戶(收費(fèi)不同)、不同的資源(熱播程 度)。對(duì)于熱播的節(jié)目源分配更多的構(gòu)造幀資源,并在插入廣告時(shí)間段等易于發(fā)生頻道切換 處預(yù)先生成構(gòu)造幀乃至預(yù)先傳送到正在使用視頻組播業(yè)務(wù)的終端設(shè)備附近。若該終端附近 的存儲(chǔ)資源受限,該用戶是否付費(fèi)購(gòu)買(mǎi)了切換加速業(yè)務(wù)將成為存儲(chǔ)資源分配的依據(jù)。
[0056] 數(shù)據(jù)包預(yù)先標(biāo)識(shí)
[0057] 頻道加速模塊通過(guò)流媒體內(nèi)容自動(dòng)識(shí)別當(dāng)前數(shù)據(jù)包處于G0P的幀序號(hào),對(duì)加速服 務(wù)器而言相對(duì)容易,但交換機(jī)內(nèi)部署的加速模塊,將會(huì)難以提供足夠資源來(lái)識(shí)別??刹捎酶?為直接的方式指示切換加速需要采取的動(dòng)作,也可以標(biāo)定各個(gè)流媒體IP包的當(dāng)前G0P幀序 號(hào),由加速模塊自行判定。這兩種模式都能夠簡(jiǎn)化加速模塊的處理流程。
[0058] 直接操作指示的具體操作方法:每個(gè)流媒體IP包帶有直接的操作指示碼,包括補(bǔ) 幀操作、回跳操作、構(gòu)造幀操作、提前發(fā)送操作、或者無(wú)操作。交換機(jī)內(nèi)的加速模塊在遇到頻 道切換操作時(shí),按照下個(gè)將要發(fā)送數(shù)據(jù)包的操作指示碼來(lái)執(zhí)行相應(yīng)動(dòng)作。
[0059] 標(biāo)識(shí)G0P幀序號(hào)的模式更為靈活一些。每個(gè)流媒體IP包帶有當(dāng)前幀序號(hào)(當(dāng)前 幀在G0P內(nèi)的位置序數(shù)),而每G0P的幀數(shù)信息可以附在當(dāng)前幀序號(hào)之后。這種標(biāo)識(shí)方式, 類似于文檔的當(dāng)前頁(yè)碼和共有多少頁(yè)數(shù)的信息。
[0060] 緩沖區(qū)資源管理
[0061] 頻道切換加速模塊的緩沖區(qū)資源管理的工作流程分為五種情形,具體描述如下。
[0062] 1.當(dāng)前處在GOP末尾,等待切換或提前傳送,此時(shí)無(wú)需新的緩沖區(qū)。
[0063] 2.在交換機(jī)的MAC包存儲(chǔ)轉(zhuǎn)發(fā)緩沖區(qū)內(nèi),向前找得到G0P頭包(或原始幀),一般 無(wú)需新的緩沖區(qū)。不過(guò),在新來(lái)MAC包即將覆蓋掉G0P頭部時(shí),還得申請(qǐng)加速模塊的緩沖區(qū), 以免來(lái)不及傳送就被沖掉。
[0064] 3.向前找不到原始巾貞,且距G0P尾包較遠(yuǎn)。向前找到P幀的第一個(gè)MAC層數(shù)據(jù) 包,應(yīng)該根據(jù)緩沖區(qū)資源是否寬裕采取相應(yīng)策略,分為三種情形:資源很多空余,資源比較 緊張,緩沖區(qū)耗盡。
[0065] 3. 1寬裕,緩沖此MAC包及其后所有包,直到切換正常流傳送前為止。
[0066] 3. 2緊張,緩沖此MAC包及其后所有參考幀的包(也即舍棄非參考幀的B幀)
[0067] 3. 3緩沖區(qū)資源幾乎耗盡無(wú)法緩沖,向后方查找可發(fā)現(xiàn)P幀,但距離G0P尾部仍較 遠(yuǎn),選擇后方P幀(后一個(gè)或多個(gè))構(gòu)造原始幀,要保證以后幀可正常切換傳送(后推P幀 個(gè)數(shù)的計(jì)算依據(jù))。
[0068] 發(fā)送構(gòu)造幀時(shí),應(yīng)提高碼率,乃至全速發(fā)送(只要不會(huì)引發(fā)擁塞風(fēng)險(xiǎn))。原始幀的 G0P序號(hào)從頭開(kāi)始編號(hào);構(gòu)造幀保持原來(lái)幀序號(hào),比原始幀的序號(hào)明顯大一些。值得注意的 是,G0P頭包與原始幀并不等同,構(gòu)造幀算法可能產(chǎn)生非頭包的原始幀。
[0069] 兩個(gè)終端先后切換到相同頻道的特殊情況下,后切換者可以利用先切換者已完成 的成果,特別是構(gòu)造的原始幀。兩個(gè)加速流程運(yùn)行實(shí)體若處于同一加速模塊內(nèi),直接拷貝原 始幀;若處于不同加速模塊中,將引發(fā)相互間單播傳送構(gòu)造幀的動(dòng)作及其它協(xié)同處理操作。 由于構(gòu)造幀消耗較多資源,應(yīng)該盡可能利用先切換者構(gòu)造好的原始幀。在可能產(chǎn)生構(gòu)造幀 操作前,應(yīng)該查詢本加速模塊和其它加速模塊是否在相同頻道剛剛發(fā)生過(guò)構(gòu)造幀之類的動(dòng) 作。
[0070] 用戶喜愛(ài)的頻道族群定義
[0071] 遙控器新增按鍵,以增加族群定義功能。按下該按鍵后啟動(dòng)群組定義,以后數(shù)字鍵 依次輸入群組內(nèi)各頻道號(hào)碼,每個(gè)頻道號(hào)碼的數(shù)字位數(shù)相同(位數(shù)不足者前面補(bǔ)〇),再按 此新增的族群定義按鍵,將結(jié)束群組定義流程。另設(shè)兩個(gè)方向鍵,在頻道族群內(nèi)切換頻道。 按照頻道號(hào)碼的大小順序或者群組定義時(shí)的順序,向前或向后查找下一個(gè)頻道號(hào)碼。
[0072] 族群定義也可以不增加按鍵,只是改變狀態(tài)圖(見(jiàn)圖5),利用原來(lái)方向鍵和數(shù)字 鍵,在向后(頻道號(hào)+1)時(shí)仍用原功能,而向前(頻道號(hào)-1)鍵不再表示頻道號(hào)數(shù)值減1,而 是剛剛看過(guò)的頻道號(hào)數(shù)值(前一頻道)。若為數(shù)字輸入的頻道號(hào),向前按鍵則只在這些頻道 間切換(循環(huán),直到按下先后按鍵切換+1頻道為止)。若一直是向后(+1)按鍵,此時(shí)向前 鍵(-1)與原按鍵功能相同。
[0073] 圖5中的符號(hào)解釋:+1、_1和+/-1這三個(gè)符號(hào)分別是指控制面板(或遙控器)下 個(gè)頻道鍵、上個(gè)頻道鍵和這兩者中任意一個(gè),"數(shù)選"是指通過(guò)遙控器按鍵中的數(shù)字鍵來(lái)輸 入希望切換的頻道號(hào)。A類數(shù)選與B類數(shù)選的區(qū)別是所選頻道在已定義的族群內(nèi)(A類)還 是族群外(B類);也可以按照族群內(nèi)頻道數(shù)的多少來(lái)區(qū)分,如果數(shù)量較少可新增頻道是指B 類,如果太多了不可新增就是A類。
[0074] 頻道組內(nèi)有規(guī)律的依次切換
[0075] 頻道切換對(duì)應(yīng)的加入新組播組和退出舊組播組,可以選擇適當(dāng)時(shí)機(jī),以減少畫(huà)面 停頓和避免網(wǎng)絡(luò)擁塞。先加入后退出通常是個(gè)好策略。
[0076] 大多數(shù)場(chǎng)合往往選擇及早加入新的組播組,不過(guò)也可能會(huì)推遲加入的時(shí)機(jī)。例如 構(gòu)造或回跳操作需要占用當(dāng)前帶寬時(shí)。又如,當(dāng)前傳送的B幀數(shù)據(jù)可以舍棄,可以選擇后面 某幀圖像的頭包數(shù)據(jù)前加入新的組播組。
[0077] 播放緩沖區(qū)至少填滿I/B/P三幀圖像數(shù)據(jù)(可以更多),并且隨后會(huì)接收到此I幀 和P幀基礎(chǔ)上的B幀和P巾貞,直到當(dāng)前G0P結(jié)束。這是停止播放舊頻道的適當(dāng)時(shí)機(jī)。只要 舊頻道在此前有數(shù)據(jù)可播,就可以退出舊的組播組。這個(gè)策略可以盡量縮短視頻切換引起 畫(huà)面停頓。
[0078] 突發(fā)性的頻道切換需要消耗的資源較多,甚至可能引發(fā)網(wǎng)絡(luò)擁塞。將無(wú)規(guī)律的突 發(fā)性切換改為有規(guī)律的切換,或者預(yù)測(cè)切換的規(guī)律以便預(yù)先準(zhǔn)備好相應(yīng)的資源,都是值得 考慮的。
[0079] 有規(guī)律的切換,比如依次瀏覽各個(gè)頻道,想看看哪些頻道比較感興趣;在知道某幾 個(gè)頻道更有興趣后,常常會(huì)在這幾個(gè)頻道之間來(lái)回切換。前者可稱為頻道掃描,后者稱為群 內(nèi)掃描。這兩種掃描都有共同的特點(diǎn),頻道切換時(shí)機(jī)不太敏感,而順暢切換比較重要。應(yīng)該 盡量減少切換時(shí)屏幕無(wú)圖像顯示的停頓時(shí)間。這與按鍵切換頻道明顯不同。
[0080] 頻道切換時(shí)機(jī)如果允許誤差較大,可以選擇在新頻道的最近G0P起始點(diǎn)加入新的 頻道(組播組),等到接收到的新頻道數(shù)據(jù)足夠多時(shí)才退出舊頻道數(shù)據(jù)的接收和播放,改播 新頻道數(shù)據(jù)。這種延時(shí)切換使視頻播放的切換停頓明顯縮小。這個(gè)機(jī)制在按鍵操作場(chǎng)合也 可以用,只是加入新頻道與退出舊頻道的間隔如果太長(zhǎng),會(huì)使用戶誤以為按鍵按下動(dòng)作沒(méi) 有生效。改進(jìn)用戶體驗(yàn)的辦法是,按鍵按下動(dòng)作后,屏幕會(huì)彈出顯示新頻道號(hào)碼作為對(duì)按鍵 的響應(yīng)。屏幕圖像切換的延時(shí),用戶就會(huì)漸漸習(xí)慣。
[0081] 群組內(nèi)的頻道掃描操作的觸發(fā)機(jī)制,可以借用原有頻道掃描按鍵。見(jiàn)圖5,在群組 內(nèi)已有多個(gè)頻道定義的狀態(tài)C3或群組內(nèi)切換的狀態(tài)C4時(shí),按下頻道掃描鍵將執(zhí)行群組內(nèi) 掃描動(dòng)作。即依次播放C2和C3狀態(tài)所定義的各頻道,定時(shí)切換到下個(gè)頻道。頻道切換的 時(shí)機(jī)選擇下個(gè)頻道的G0P頭幀位置,引起的畫(huà)面停頓時(shí)間會(huì)很短。
[0082] 在遙控器面板上沒(méi)有頻道掃描鍵時(shí),可以定義特殊狀態(tài)下用戶難以用到的組合鍵 來(lái)代替,比如在狀態(tài)C3或C4時(shí),按下的數(shù)字鍵組合與當(dāng)前正在播放的頻道號(hào)數(shù)字相同,將 執(zhí)行群組內(nèi)掃描動(dòng)作。
[〇〇83] 提供以上實(shí)施例僅僅是為了描述本發(fā)明的目的,而并非要限制本發(fā)明的范圍。本 發(fā)明的范圍由所附權(quán)利要求限定。不脫離本發(fā)明的精神和原理而做出的各種等同替換和修 改,均應(yīng)涵蓋在本發(fā)明的范圍之內(nèi)。
【權(quán)利要求】
1. 一種視頻組播網(wǎng)絡(luò)系統(tǒng)中頻道切換加速的方法,其特征在于包括補(bǔ)幀、回跳、構(gòu)造和 提前傳送四個(gè)操作以及六個(gè)步驟,具體流程如下: (1) 頻道切換開(kāi)始時(shí),用戶通過(guò)終端控制面板發(fā)出希望切換的目標(biāo)頻道號(hào)碼,終端接收 后轉(zhuǎn)換為載有頻道切換的控制信息,通知相關(guān)交換機(jī)切換相應(yīng)組播組;所述控制信息主要 是加入或退出組播組; (2) 交換機(jī)中的加速模塊首先判斷切換點(diǎn)所處當(dāng)前視頻圖像組GOP的位置或操作階段 以執(zhí)行相應(yīng)操作,具體包括補(bǔ)幀、回跳、構(gòu)造幀和提前傳送; (3) 如果位于視頻圖像組GOP前部,則進(jìn)行補(bǔ)幀操作,將當(dāng)前GOP過(guò)期的所有圖像幀數(shù) 據(jù)補(bǔ)充完整,結(jié)束;否則執(zhí)行步驟(4); (4) 如果位于GOP中前部位置,則將切換點(diǎn)之前本GOP中用作參考的圖像幀補(bǔ)充完整, 忽略切換點(diǎn)之前的非參考幀,這個(gè)回溯補(bǔ)幀并跳過(guò)非參考幀的操作稱為回跳,回跳操作后 結(jié)束;否則執(zhí)行步驟(5); (5) 如果位于GOP中后部位置,則進(jìn)行構(gòu)造幀操作,將當(dāng)前幀或其附近的某個(gè)圖像幀改 造為原始幀,舍棄該幀之前的數(shù)據(jù),將該幀之后的數(shù)據(jù)補(bǔ)充完整,結(jié)束;否則執(zhí)行步驟(6); (6) 如果位于GOP的尾部位置,則進(jìn)行提前傳送操作,舍棄當(dāng)前GOP末尾的B幀數(shù)據(jù),提 前傳送下一個(gè)GOP中原始圖像幀及其后數(shù)據(jù)。
2. 根據(jù)權(quán)利要求1所述的視頻組播網(wǎng)絡(luò)系統(tǒng)中頻道切換加速的方法,其特征在于:所 述步驟(1)中,載有頻道切換的控制信息的網(wǎng)絡(luò)數(shù)據(jù)包在傳送排隊(duì)時(shí)具有絕對(duì)優(yōu)先權(quán),甚 至放棄正在傳送的長(zhǎng)包數(shù)據(jù)以便盡快將控制信息發(fā)送到目標(biāo)交換機(jī);也可以設(shè)置不同于傳 送普通網(wǎng)絡(luò)數(shù)據(jù)包的專用快速通路來(lái)傳輸這些控制信息。
3. 根據(jù)權(quán)利要求1所述的視頻組播網(wǎng)絡(luò)系統(tǒng)中頻道切換加速的方法,其特征在于:所 述步驟(2)中,判斷當(dāng)前圖像幀所處視頻圖像組GOP的位置或操作階段以執(zhí)行相應(yīng)動(dòng)作采 用下列兩種辦法之一: (1) 視頻組播服務(wù)器發(fā)送的圖像幀數(shù)據(jù)包中帶有操作指示碼,以便交換機(jī)中的加速模 塊在遇到加入組播組請(qǐng)求時(shí),依照操作指示碼執(zhí)行相應(yīng)的動(dòng)作,乃至請(qǐng)求其它交換機(jī)的加 速模塊或?qū)S梅?wù)器或鄰居終端協(xié)作處理相應(yīng)動(dòng)作; (2) 視頻組播服務(wù)器發(fā)送的圖像幀數(shù)據(jù)包中帶有當(dāng)前幀在GOP中的序號(hào)及本組GOP的 總幀數(shù)等相關(guān)信息,交換機(jī)中的加速模塊在遇到新加入組播組請(qǐng)求時(shí),依照這些信息和預(yù) 設(shè)算法執(zhí)行所述相應(yīng)動(dòng)作。
4. 根據(jù)權(quán)利要求1的視頻組播網(wǎng)絡(luò)系統(tǒng)中頻道切換加速的方法,其特征在于:在步驟 (4)傳送回溯幀和步驟(5)構(gòu)造幀操作時(shí),以縮短頻道切換至首幀圖像可播放時(shí)間為優(yōu)化 目標(biāo)來(lái)分配資源和安排工作流程。
5. -種視頻組播網(wǎng)絡(luò)系統(tǒng)中頻道族群標(biāo)識(shí)方法,其特征在于實(shí)現(xiàn):在權(quán)利要求1步驟 (1)中的所述終端控制面板中標(biāo)識(shí)目標(biāo)頻道號(hào)碼,標(biāo)識(shí)目標(biāo)頻道號(hào)時(shí)碼定義某個(gè)按鍵或某 組按鍵在不同狀態(tài)下具有不同功能,這樣無(wú)需新增控制面板按鍵即可實(shí)現(xiàn)頻道族群的標(biāo)識(shí) 功能。
6. 根據(jù)權(quán)利要求5的視頻組播網(wǎng)絡(luò)系統(tǒng)中頻道族群標(biāo)識(shí)方法,其特征在于:所述步驟 (1)中,所述終端控制面板中標(biāo)識(shí)目標(biāo)頻道號(hào)碼時(shí),定義某個(gè)按鍵或某組按鍵引發(fā)頻道切換 的掃描模式,即無(wú)需用戶界面的進(jìn)一步操作,定時(shí)自動(dòng)切換下個(gè)頻道;在掃描模式下,通過(guò) 前一頻道或后一頻道按鍵退出返回正常模式;通過(guò)后一頻道或前一頻道按鍵提前進(jìn)入掃描 的下一個(gè)頻道;通過(guò)數(shù)字鍵選擇某個(gè)頻道時(shí),可定義為退出并返回正常模式,也可定義為直 接切換到該頻道并在此基礎(chǔ)上繼續(xù)定時(shí)自動(dòng)切換下個(gè)頻道。
7.根據(jù)權(quán)利要求6的視頻組播網(wǎng)絡(luò)系統(tǒng)中頻道族群標(biāo)識(shí)方法,其特征在于:在頻道族 群標(biāo)識(shí)的基礎(chǔ)上,可在用戶喜愛(ài)的頻道之間實(shí)現(xiàn)掃描式自動(dòng)切換,這種頻道切換操作,加入 新組播組的時(shí)機(jī)選在GOP頭幀處,播放緩沖區(qū)內(nèi)有足夠的新頻道數(shù)據(jù)時(shí)才退出舊頻道。
【文檔編號(hào)】H04N21/44GK104093070SQ201410350734
【公開(kāi)日】2014年10月8日 申請(qǐng)日期:2014年7月22日 優(yōu)先權(quán)日:2014年7月22日
【發(fā)明者】方貴明, 石志強(qiáng), 喬元松, 程冬超, 王均 申請(qǐng)人:中國(guó)科學(xué)院軟件研究所