專利名稱:一種數(shù)字家庭網(wǎng)絡(luò)中同源流媒體的快速切換裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種流媒體的快速切換裝置和方法,特別是關(guān)于一種不同分辨率的數(shù)字家庭網(wǎng)絡(luò)中同源流媒體的快速切換裝置及方法。
背景技術(shù):
目前隨著計算機、消費電子和信息技術(shù)等的飛速發(fā)展,家庭中的電腦和家用電器等設(shè)備越來越多。而人們居住環(huán)境的改善也使得各種電腦和家電設(shè)備之間的通信需求越來越強烈,有線和無線的通信方式都將應(yīng)用到家庭之中,“數(shù)字家庭網(wǎng)絡(luò)”的概念應(yīng)運而生。數(shù)字家庭網(wǎng)絡(luò)是指通過家庭網(wǎng)關(guān)將公共網(wǎng)絡(luò)功能和應(yīng)用延伸到家庭,并以有線網(wǎng)絡(luò)或無線網(wǎng)絡(luò)連接各種信息終端,提供集成的話音、數(shù)據(jù)、多媒體、控制和管理等功能,達(dá)到信息在家庭內(nèi)部終端之間及其與外部公網(wǎng)的充分流通和共享。典型的數(shù)字家庭網(wǎng)絡(luò)系統(tǒng)(如附圖1所示),其中公共網(wǎng)絡(luò)可以是基于IP(互聯(lián)網(wǎng)絡(luò)協(xié)議)的因特網(wǎng)(Internet),也可以是其它形式的數(shù)字網(wǎng)絡(luò);各種內(nèi)部聯(lián)網(wǎng)方式可以是以太網(wǎng)、無線局域網(wǎng)(WLAN)、通用串行總線(USB)、1394總線、藍(lán)牙、無線超寬帶(UWB)等等。
基于網(wǎng)絡(luò)電視(IPTV)技術(shù)的流媒體視頻直播和點播業(yè)務(wù)是數(shù)字家庭網(wǎng)絡(luò)中最主要的應(yīng)用之一。目前可用于IPTV的視頻編碼壓縮標(biāo)準(zhǔn)主要有MPEG-4、H.264和AVS等。隨著技術(shù)和需求的相互促進(jìn),未來的多數(shù)家電設(shè)備都可能選擇配備具有不同尺寸和分辨率的視頻顯示裝置。有了這些設(shè)備,人們就可以利用數(shù)字家庭網(wǎng)絡(luò)在家中隨時隨地在不同的設(shè)備上以流媒體的方式收看電視節(jié)目或點播存儲在服務(wù)器上的電影等視頻內(nèi)容,從而為人們的日常生活帶來極大的便利。其中一個典型的應(yīng)用情形是不同分辨率同源流媒體的收看和快速切換。舉例來說,某人正在客廳通過機頂盒+電視機收看某個IPTV電視節(jié)目,這時他需要到廚房準(zhǔn)備食物,然后再到衛(wèi)生間整理衛(wèi)生。在離開客廳的這一段時間里,他仍然希望通過廚房和衛(wèi)生間里家電終端上的顯示設(shè)備來繼續(xù)收看同一套電視節(jié)目,并且在節(jié)目內(nèi)容和時間上能夠盡量保持連續(xù)和同步。這樣就帶來了相應(yīng)的問題需要解決首先,不同家電設(shè)備具有不同的顯示分辨率和網(wǎng)絡(luò)接入帶寬,而整個家庭網(wǎng)絡(luò)接入到外部公網(wǎng)服務(wù)器上的帶寬是有限的,因此對于同源流媒體來說需要在盡量不增加對外接入帶寬的前提下提供不同顯示分辨率的壓縮碼流;其次,當(dāng)在不同分辨率顯示設(shè)備之間切換和播放相同內(nèi)容源視頻時,應(yīng)盡量縮短切換時間并保證播放內(nèi)容上的銜接和連續(xù)性。
在中國專利申請?zhí)枮?00610034686.1,發(fā)明名稱為“使數(shù)字家庭網(wǎng)絡(luò)的終端可播放多種媒體格式的裝置及方法”的專利申請中提出了一種能使數(shù)字家庭網(wǎng)絡(luò)的終端可播放多種媒體格式的裝置和方法,它通過在家庭網(wǎng)關(guān)設(shè)備中進(jìn)行轉(zhuǎn)碼將來自服務(wù)器的壓縮媒體數(shù)據(jù)轉(zhuǎn)換為不同家電設(shè)備能夠解碼和播放的編碼格式和顯示分辨率。然而這種方法仍然存在以下問題一方面當(dāng)具有相同或不同顯示分辨率的終端設(shè)備需要同時播放同一信源內(nèi)容時,家庭網(wǎng)絡(luò)需要從公網(wǎng)流媒體服務(wù)器同時接收多份碼流并在家庭網(wǎng)關(guān)處同時做多次轉(zhuǎn)碼,從而增加了對網(wǎng)絡(luò)出口帶寬和網(wǎng)關(guān)設(shè)備處理能力的需求,進(jìn)而加重了用戶的經(jīng)濟(jì)負(fù)擔(dān);另一方面當(dāng)用戶在不同的終端設(shè)備之間進(jìn)行切換時,需要重新與外部公網(wǎng)上的流媒體服務(wù)器建立連接并請求數(shù)據(jù),切換等待延時和內(nèi)容的同步性等都難以保證。
發(fā)明內(nèi)容
針對上述問題,本發(fā)明的目的是提供一種對不同分辨率的數(shù)字家庭網(wǎng)絡(luò)中同源流媒體的快速切換裝置及方法。
為實現(xiàn)上述目的,本發(fā)明采取以下技術(shù)方案一種數(shù)字家庭網(wǎng)絡(luò)中同源流媒體的快速切換裝置,其特征在于它包括網(wǎng)絡(luò)監(jiān)聽模塊,中心調(diào)度模塊,終端配置表,數(shù)據(jù)緩沖區(qū),數(shù)據(jù)接收模塊,視頻轉(zhuǎn)碼模塊和數(shù)據(jù)發(fā)送模塊;所述網(wǎng)絡(luò)監(jiān)聽模塊的一端與終端設(shè)備連接,另一端與中心調(diào)度模塊相連接;所述中心調(diào)度模塊與網(wǎng)絡(luò)監(jiān)聽模塊、終端配置表、數(shù)據(jù)緩沖區(qū)、數(shù)據(jù)接收模塊、視頻轉(zhuǎn)碼模塊和數(shù)據(jù)發(fā)送模塊相連接;所述終端配置表與中心調(diào)度模塊相連接;所述數(shù)據(jù)緩沖區(qū)與中心調(diào)度模塊、數(shù)據(jù)接收模塊、視頻轉(zhuǎn)碼模塊和數(shù)據(jù)發(fā)送模塊相連接;所述數(shù)據(jù)接收模塊與中心調(diào)度模塊、數(shù)據(jù)緩沖區(qū)以及外部公網(wǎng)上的流媒體服務(wù)器相連接;所述視頻轉(zhuǎn)碼模塊與中心調(diào)度模塊和數(shù)據(jù)緩沖區(qū)相連接;所述數(shù)據(jù)發(fā)送模塊與中心調(diào)度模塊、數(shù)據(jù)緩沖區(qū)和終端設(shè)備相連接。
所述網(wǎng)絡(luò)監(jiān)聽模塊負(fù)責(zé)監(jiān)聽并攔截由終端設(shè)備向流媒體服務(wù)器發(fā)起的播放控制命令,并將監(jiān)聽到的播放控制命令轉(zhuǎn)交至中心調(diào)度模塊進(jìn)行處理。
所述中心調(diào)度模塊負(fù)責(zé)接收從網(wǎng)絡(luò)監(jiān)聽模塊轉(zhuǎn)發(fā)過來的播放控制命令,然后通過查詢終端配置表來獲得當(dāng)前終端設(shè)備的顯示器分辨率參數(shù),并進(jìn)一步通過查詢數(shù)據(jù)緩沖區(qū)中是否已緩沖有所請求頻道該分辨率的媒體數(shù)據(jù)來分別調(diào)度數(shù)據(jù)接收模塊、視頻轉(zhuǎn)碼模塊和數(shù)據(jù)發(fā)送模塊來執(zhí)行相應(yīng)的操作。
所述終端配置表中登記有家庭網(wǎng)絡(luò)中所有數(shù)字終端設(shè)備所對應(yīng)的顯示分辨率等參數(shù),供中心調(diào)度模塊進(jìn)行查詢。
所述數(shù)據(jù)緩沖區(qū)中為不同頻道數(shù)據(jù)源分配不同的頻道緩沖區(qū),其中每一個頻道緩沖區(qū)又由一個主緩沖隊列和零到多個輔助緩沖隊列組成,各緩沖隊列按先進(jìn)先出順序存儲定長滑動時間窗口范圍內(nèi)該頻道不同分辨率的視頻壓縮碼流。
所述數(shù)據(jù)接收模塊負(fù)責(zé)從流媒體服務(wù)器接收指定頻道的媒體數(shù)據(jù)并將其寫入數(shù)據(jù)緩沖區(qū)中相應(yīng)頻道的主緩沖隊列。
所述視頻轉(zhuǎn)碼模塊負(fù)責(zé)將數(shù)據(jù)緩沖區(qū)中主緩沖隊列中的原始分辨率碼流數(shù)據(jù)轉(zhuǎn)碼為其它分辨率的碼流數(shù)據(jù)并寫入到相應(yīng)的輔助緩沖區(qū)隊列。
所述數(shù)據(jù)發(fā)送模塊負(fù)責(zé)從數(shù)據(jù)緩沖區(qū)中與指定頻道和分辨率所對應(yīng)的數(shù)據(jù)緩沖隊列中讀取數(shù)據(jù)并轉(zhuǎn)發(fā)至家庭網(wǎng)絡(luò)終端設(shè)備進(jìn)行解碼和顯示。
一種數(shù)字家庭網(wǎng)絡(luò)中同源流媒體的快速切換方法,其包括以下三種情況下的操作方式(1)當(dāng)用戶從一個終端設(shè)備上選擇播放流媒體服務(wù)器上的某個頻道內(nèi)容時,采用建立連接的操作方式;(2)當(dāng)用戶從一個終端設(shè)備上選擇停止播放當(dāng)時正在收看的某個頻道內(nèi)容時,采用釋放連接的操作方式;(3)當(dāng)用戶從一個終端設(shè)備上選擇對當(dāng)時正在播放的某個頻道進(jìn)行局部快進(jìn)/快退操作時,采用局部快進(jìn)/快退的操作方式。
所述建立連接操作方式如下所述終端設(shè)備向流媒體服務(wù)器發(fā)送播放頻道的請求命令,網(wǎng)絡(luò)監(jiān)聽模塊監(jiān)聽并攔截該請求命令,并將該請求命令轉(zhuǎn)交至中心調(diào)度模塊處理;所述中心調(diào)度模塊先查詢終端配置表,找到與當(dāng)前終端設(shè)備所對應(yīng)的顯示分辨率,再查詢數(shù)據(jù)緩沖區(qū)中是否有對應(yīng)于當(dāng)前請求頻道的主緩沖隊列,如果沒有則創(chuàng)建該頻道的主緩沖隊列并設(shè)為當(dāng)前緩沖隊列,并通知數(shù)據(jù)接收模塊開始接收數(shù)據(jù),數(shù)據(jù)接收模塊與流媒體服務(wù)器建立連接,并循環(huán)地從中接收所請求頻道的媒體數(shù)據(jù),寫入新創(chuàng)建的主緩沖隊列;否則進(jìn)一步查詢數(shù)據(jù)緩沖區(qū)中是否有對應(yīng)于當(dāng)前請求頻道和分辨率的主緩沖隊列或輔助緩沖隊列,如果有則將其設(shè)為當(dāng)前緩沖隊列,否則創(chuàng)建該頻道的輔助緩沖隊列并設(shè)為當(dāng)前緩沖隊列,并通知視頻轉(zhuǎn)碼模塊將主緩沖隊列中已緩存的視頻數(shù)據(jù)轉(zhuǎn)碼為當(dāng)前請求分辨率的視頻數(shù)據(jù)后寫入到新創(chuàng)建的輔助緩沖隊列;中心調(diào)度模塊將當(dāng)前該緩沖隊列的使用計數(shù)器加一,并通知數(shù)據(jù)發(fā)送模塊開始發(fā)送數(shù)據(jù)。數(shù)據(jù)發(fā)送模塊循環(huán)地從數(shù)據(jù)緩沖區(qū)中與當(dāng)前請求頻道和分辨率的主緩沖隊列或輔助緩沖隊列中讀取數(shù)據(jù)并向終端設(shè)備轉(zhuǎn)發(fā);終端設(shè)備循環(huán)地顯示從數(shù)據(jù)發(fā)送模塊接收并解碼后的數(shù)據(jù)。
所述釋放連接操作方式如下所述終端設(shè)備向流媒體服務(wù)器發(fā)送停止播放頻道的請求命令,網(wǎng)絡(luò)監(jiān)聽模塊監(jiān)聽并攔截該請求命令,并將該請求命令轉(zhuǎn)交至中心調(diào)度模塊處理;中心調(diào)度模塊通知數(shù)據(jù)發(fā)送模塊不再向終端設(shè)備發(fā)送數(shù)據(jù),并查詢終端配置表,找到與當(dāng)前終端設(shè)備所對應(yīng)的顯示分辨率,將數(shù)據(jù)緩沖區(qū)中對應(yīng)于當(dāng)前請求頻道和分辨率的主緩沖隊列或輔助緩沖隊列的使用計數(shù)器減一;判斷數(shù)據(jù)緩沖區(qū)中對應(yīng)于當(dāng)前請求頻道和分辨率的主緩沖隊列或輔助緩沖隊列的使用計數(shù)器是否等于0,如果不等于0則直接返回,否則判斷數(shù)據(jù)緩沖區(qū)中對應(yīng)于當(dāng)前請求頻道和分辨率的是主緩沖隊列還是輔助緩沖隊列;如果是輔助緩沖隊列則通知視頻轉(zhuǎn)碼模塊停止針對該緩沖隊列的轉(zhuǎn)碼并刪除該輔助緩沖隊列,進(jìn)一步判斷數(shù)據(jù)緩沖區(qū)中對應(yīng)于當(dāng)前請求頻道的所有主緩沖隊列和輔助緩沖隊列的使用計數(shù)器是否都等于0,如果是則刪除數(shù)據(jù)緩沖區(qū)中對應(yīng)于當(dāng)前請求頻道的主緩沖隊列,并通知數(shù)據(jù)接收模塊停止從流媒體服務(wù)器接收當(dāng)前請求頻道的媒體數(shù)據(jù),然后返回;否則直接返回;如果是主緩沖隊列,進(jìn)一步判斷數(shù)據(jù)緩沖區(qū)中對應(yīng)于當(dāng)前請求頻道所有輔助緩沖隊列的使用計數(shù)器是否都等于0,如果是則刪除數(shù)據(jù)緩沖區(qū)中對應(yīng)于當(dāng)前請求頻道的主緩沖隊列和所有輔助緩沖隊列,通知數(shù)據(jù)接收模塊停止從流媒體服務(wù)器接收當(dāng)前請求頻道的媒體數(shù)據(jù),然后返回;否則直接返回。
所述局部快進(jìn)/快退操作方式如下所述終端設(shè)備向流媒體服務(wù)器發(fā)送針對當(dāng)前正在播放頻道的快進(jìn)/快退請求命令,網(wǎng)絡(luò)監(jiān)聽模塊監(jiān)聽并攔截該請求命令,并將該請求命令轉(zhuǎn)交至中心調(diào)度模塊處理;中心調(diào)度模塊查詢終端配置表,找到當(dāng)前終端設(shè)備所對應(yīng)的顯示分辨率,再查找數(shù)據(jù)緩沖區(qū)中對應(yīng)于當(dāng)前請求頻道和分辨率的主緩沖隊列或輔助緩沖隊列,根據(jù)快進(jìn)/快退命令將當(dāng)前發(fā)送指針進(jìn)行前移或者后移,數(shù)據(jù)發(fā)送模塊從經(jīng)過前移或者后移之后的當(dāng)前發(fā)送指針處向終端設(shè)備發(fā)送數(shù)據(jù)。
本發(fā)明由于采取以上技術(shù)方案,其具有以下優(yōu)點1、本發(fā)明由于能夠在不增加對外接入帶寬的條件下,實現(xiàn)同源流媒體在不同分辨率顯示設(shè)備之間的快速切換,使家庭中不同終端設(shè)備同時收看服務(wù)器上的同一個頻道內(nèi)容時,整個家庭網(wǎng)絡(luò)與服務(wù)器之間僅需建立一條連接且僅接收一份碼流,因此節(jié)省了網(wǎng)絡(luò)流量和費用。2、本發(fā)明由于在具有不同分辨率的終端設(shè)備之間切換并收看同源流媒體時,切換后的終端設(shè)備直接從家庭網(wǎng)絡(luò)內(nèi)部家庭網(wǎng)關(guān)中的數(shù)據(jù)緩沖區(qū)接收經(jīng)轉(zhuǎn)碼后的數(shù)據(jù),而不需要重新與外部公網(wǎng)上的流媒體服務(wù)器建立連接,因此大大加快了切換速度。3、本發(fā)明在具有不同分辨率的終端設(shè)備之間切換并收看同源流媒體時,切換前后各終端設(shè)備分別從位于家庭網(wǎng)關(guān)數(shù)據(jù)緩沖區(qū)中的不同緩沖隊列(主緩沖隊列或輔助緩沖隊列)接收數(shù)據(jù),而這些緩沖隊列都具有相同尺寸的滑動時間窗口,其中緩存的原始碼流數(shù)據(jù)和轉(zhuǎn)碼碼流數(shù)據(jù)從時間上來說是完全一一對應(yīng)的,因此在切換前后不同終端上播放的媒體內(nèi)容從時間上仍然保持同步。4、本發(fā)明在不同終端設(shè)備之間切換收看同源流媒體時,可以在切換后的終端上執(zhí)行局部快進(jìn)/快退操作,因此使得人們在空間位置發(fā)生移動之后仍能夠查看到在此移動過程中遺漏掉的部分節(jié)目內(nèi)容。本發(fā)明可以廣泛用于各種數(shù)字家庭網(wǎng)絡(luò)系統(tǒng)中。
圖1是現(xiàn)有技術(shù)典型的數(shù)字家庭網(wǎng)絡(luò)系統(tǒng)示意2是本發(fā)明所提供的家庭網(wǎng)關(guān)結(jié)構(gòu)與連接示意3是本發(fā)明所提供的家庭網(wǎng)關(guān)中數(shù)據(jù)緩沖區(qū)結(jié)構(gòu)示意4是本發(fā)明所提供的連接建立方式流程5是本發(fā)明所提供的釋放連接方式流程6是本發(fā)明所提供的局部快進(jìn)/快退方式流程圖具體實施方式
下面結(jié)合附圖和實施例,對本發(fā)明進(jìn)行詳細(xì)的說明。
如圖2所示,本發(fā)明一種數(shù)字家庭網(wǎng)絡(luò)中不同分辨率同源流媒體快速切換裝置(亦稱家庭網(wǎng)關(guān)),設(shè)置于數(shù)字家庭網(wǎng)絡(luò)中的終端設(shè)備A與外部網(wǎng)絡(luò)的流媒體服務(wù)器B之間,通常以軟件或硬件的方式在數(shù)字家庭網(wǎng)絡(luò)中實現(xiàn)其功能。本發(fā)明裝置包括網(wǎng)絡(luò)監(jiān)聽模塊1、中心調(diào)度模塊2、終端配置表3、數(shù)據(jù)緩沖區(qū)4、數(shù)據(jù)接收模塊5、視頻轉(zhuǎn)碼模塊6和數(shù)據(jù)發(fā)送模塊7。網(wǎng)絡(luò)監(jiān)聽模塊1與終端設(shè)備和中心調(diào)度模塊2相連接(圖中實線箭頭表示數(shù)據(jù)流方向,虛線箭頭表示控制流方向),用于監(jiān)聽并攔截由終端設(shè)備A向流媒體服務(wù)器B發(fā)起的播放控制命令,并將監(jiān)聽到的播放控制命令轉(zhuǎn)交至中心調(diào)度模塊2進(jìn)行處理。中心調(diào)度模塊2與網(wǎng)絡(luò)監(jiān)聽模塊1、終端配置表3、數(shù)據(jù)緩沖區(qū)4、數(shù)據(jù)接收模塊5、視頻轉(zhuǎn)碼模塊6和數(shù)據(jù)發(fā)送模塊7相連接,其首先接收從網(wǎng)絡(luò)監(jiān)聽模塊1轉(zhuǎn)發(fā)過來的播放控制命令,然后通過查詢終端配置表3來獲得當(dāng)前終端設(shè)備A的顯示器分辨率參數(shù),進(jìn)而進(jìn)一步通過查詢數(shù)據(jù)緩沖區(qū)4中是否已緩沖有所請求頻道該分辨率的媒體數(shù)據(jù),分別調(diào)度數(shù)據(jù)接收模塊5、視頻轉(zhuǎn)碼模塊6和數(shù)據(jù)發(fā)送模塊7來執(zhí)行相應(yīng)的操作。終端配置表3與中心調(diào)度模塊相連接,其中登記有家庭網(wǎng)絡(luò)中所有數(shù)字終端設(shè)備所對應(yīng)的顯示分辨率等參數(shù),供中心調(diào)度模塊進(jìn)行查詢。數(shù)據(jù)緩沖區(qū)4與中心調(diào)度模塊2、數(shù)據(jù)接收模塊5、視頻轉(zhuǎn)碼模塊6和數(shù)據(jù)發(fā)送模塊7相連接,用于緩存定長滑動時間窗口范圍內(nèi)同源流媒體的不同分辨率轉(zhuǎn)碼數(shù)據(jù)。數(shù)據(jù)接收模塊5與中心調(diào)度模塊2、數(shù)據(jù)緩沖區(qū)4以及外部公網(wǎng)上的流媒體服務(wù)器B相連接,其根據(jù)中心調(diào)度模塊2的指令從流媒體服務(wù)器B接收指定頻道的媒體數(shù)據(jù),然后將其寫入數(shù)據(jù)緩沖區(qū)4中相應(yīng)頻道的主緩沖隊列(如圖3所示)。視頻轉(zhuǎn)碼模塊6與中心調(diào)度模塊2和數(shù)據(jù)緩沖區(qū)4相連接,其根據(jù)中心調(diào)度模塊2的指令從數(shù)據(jù)緩沖區(qū)4中指定頻道的主緩沖隊列讀取原始分辨率碼流數(shù)據(jù),然后調(diào)用轉(zhuǎn)碼算法,將其轉(zhuǎn)換為指定分辨率的碼流,并寫入到數(shù)據(jù)緩沖區(qū)4中該頻道所對應(yīng)的相應(yīng)分辨率輔助緩沖區(qū)隊列。如圖2所示,數(shù)據(jù)發(fā)送模塊7與中心調(diào)度模塊2、數(shù)據(jù)緩沖區(qū)4和終端設(shè)備相連接,其根據(jù)中心調(diào)度模塊2的指令從數(shù)據(jù)緩沖區(qū)4中與指定頻道和分辨率所對應(yīng)的數(shù)據(jù)緩沖隊列中讀取數(shù)據(jù),然后轉(zhuǎn)發(fā)至終端設(shè)備A進(jìn)行解碼和顯示。
如圖3所示,數(shù)據(jù)緩沖區(qū)4中分別為來自流媒體服務(wù)器B的不同頻道數(shù)據(jù)源分配了不同的頻道緩沖區(qū),其中每一個頻道緩沖區(qū)又由一個主緩沖隊列和零到多個輔助緩沖隊列組成,各緩沖隊列按先進(jìn)先出(FIFO)順序存儲定長滑動時間窗口范圍內(nèi)該頻道不同分辨率的視頻壓縮碼流,緩沖隊列的具體實現(xiàn)可采用數(shù)組或循環(huán)鏈表等數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)緩沖區(qū)的初始狀態(tài)為空,其中各緩沖隊列可根據(jù)需要動態(tài)創(chuàng)建和刪除。
如圖4所示,本發(fā)明一種數(shù)字家庭網(wǎng)絡(luò)中不同分辨率同源流媒體快速切換方法,其包括在三種不同情況下的三種操作方式1、建立連接;2、釋放連接;3、局部快進(jìn)/快退。
當(dāng)用戶從一個終端設(shè)備A上選擇播放流媒體服務(wù)器B上的某個頻道內(nèi)容時,采用建立連接方式,其操作步驟如下(1)終端設(shè)備A向流媒體服務(wù)器B發(fā)送播放頻道C的請求命令D;(2)網(wǎng)絡(luò)監(jiān)聽模塊1監(jiān)聽并攔截該請求命令D;(3)網(wǎng)絡(luò)監(jiān)聽模塊1將該請求命令D轉(zhuǎn)交至中心調(diào)度模塊2;(4)中心調(diào)度模塊2查詢終端配置表3,找到與當(dāng)前終端設(shè)備A所對應(yīng)的顯示分辨率E;(5)中心調(diào)度模塊2查詢數(shù)據(jù)緩沖區(qū)4中是否有對應(yīng)于頻道C的主緩沖隊列,如果無則轉(zhuǎn)至步驟(6),否則轉(zhuǎn)至步驟(9);(6)中心調(diào)度模塊2在數(shù)據(jù)緩沖區(qū)4中創(chuàng)建頻道C的主緩沖隊列,并通知數(shù)據(jù)接收模塊5開始接收數(shù)據(jù);(7)數(shù)據(jù)接收模塊5與流媒體服務(wù)器B建立連接;(8)數(shù)據(jù)接收模塊5循環(huán)地從流媒體服務(wù)器B接收頻道C的數(shù)據(jù),并寫入數(shù)據(jù)緩沖區(qū)4中與頻道C所對應(yīng)的主緩沖隊列;(9)中心調(diào)度模塊2查詢數(shù)據(jù)緩沖區(qū)4中是否有對應(yīng)于頻道C和分辨率E的主緩沖隊列或輔助緩沖隊列,如果沒有則轉(zhuǎn)至步驟(10),否則轉(zhuǎn)至步驟(12);(10)中心調(diào)度模塊2在數(shù)據(jù)緩沖區(qū)4中創(chuàng)建頻道C的一個對應(yīng)于分辨率E的輔助緩沖隊列,并通知視頻轉(zhuǎn)碼模塊6開始轉(zhuǎn)碼;(11)轉(zhuǎn)碼模塊6循環(huán)地從數(shù)據(jù)緩沖區(qū)4中對應(yīng)于頻道C的主緩沖隊列中讀取視頻數(shù)據(jù),轉(zhuǎn)碼為符合分辨率E格式的視頻數(shù)據(jù)后寫入對應(yīng)于頻道C和分辨率E的輔助緩沖隊列;(12)中心調(diào)度模塊2將數(shù)據(jù)緩沖區(qū)4中對應(yīng)于頻道C和分辨率E的主緩沖隊列或輔助緩沖隊列的使用計數(shù)器加一,然后通知數(shù)據(jù)發(fā)送模塊7開始發(fā)送數(shù)據(jù);(13)數(shù)據(jù)發(fā)送模塊7循環(huán)地從數(shù)據(jù)緩沖區(qū)4中對應(yīng)于頻道C和分辨率E的主緩沖隊列或輔助緩沖隊列中讀取數(shù)據(jù)并向終端設(shè)備A轉(zhuǎn)發(fā);(14)終端設(shè)備A循環(huán)地從數(shù)據(jù)發(fā)送模塊7接收數(shù)據(jù)并解碼和顯示;如圖5所示,當(dāng)用戶從一個終端設(shè)備A上選擇停止播放當(dāng)時正在收看的某個頻道內(nèi)容時,采用釋放連接方式,其操作步驟如下(1)終端設(shè)備A向流媒體服務(wù)器B發(fā)送停止播放頻道C的請求命令D;(2)網(wǎng)絡(luò)監(jiān)聽模塊1監(jiān)聽并攔截該請求命令D;(3)網(wǎng)絡(luò)監(jiān)聽模塊1將該請求命令D轉(zhuǎn)交至中心調(diào)度模塊2;(4)中心調(diào)度模塊2通知數(shù)據(jù)發(fā)送模塊7,不再向終端設(shè)備A發(fā)送數(shù)據(jù);(5)中心調(diào)度模塊2查詢終端配置表3,找到與當(dāng)前終端設(shè)備A所對應(yīng)的顯示分辨率E;(6)中心調(diào)度模塊2將數(shù)據(jù)緩沖區(qū)4中對應(yīng)于頻道C和分辨率E的主緩沖隊列或輔助緩沖隊列的使用計數(shù)器減一;(7)判斷數(shù)據(jù)緩沖區(qū)4中對應(yīng)于頻道C和分辨率E的主緩沖隊列或輔助緩沖隊列的使用計數(shù)器是否等于0,如果是則轉(zhuǎn)至步驟(8),否則轉(zhuǎn)至步驟(15);(8)判斷數(shù)據(jù)緩沖區(qū)4中對應(yīng)于頻道C和分辨率E的是主緩沖隊列還是輔助緩沖隊列,如果是輔助緩沖隊列則轉(zhuǎn)至步驟(9),否則轉(zhuǎn)至步驟(12);(9)通知轉(zhuǎn)碼視頻轉(zhuǎn)碼模塊6停止針對數(shù)據(jù)緩沖區(qū)4中頻道C分辨率E碼流的轉(zhuǎn)碼。
(10)刪除數(shù)據(jù)緩沖區(qū)4中對應(yīng)于頻道C和分辨率E的輔助緩沖隊列;(11)判斷數(shù)據(jù)緩沖區(qū)4中對應(yīng)于頻道C的主緩沖隊列和所有輔助緩沖隊列的使用計數(shù)器是否都等于0,如果是則轉(zhuǎn)至步驟(13),否則轉(zhuǎn)至步驟(15);(12)判斷數(shù)據(jù)緩沖區(qū)4中對應(yīng)于頻道C所有輔助緩沖隊列的使用計數(shù)器是否都等于0,如果是則轉(zhuǎn)至步驟(13),否則轉(zhuǎn)至步驟(15);(13)刪除數(shù)據(jù)緩沖區(qū)4中對應(yīng)于頻道C的主緩沖隊列;(14)通知數(shù)據(jù)接收模塊5不再從流媒體服務(wù)器B接收頻道C的數(shù)據(jù);
(15)返回。
如圖6所示,當(dāng)用戶從一個終端設(shè)備A上選擇對當(dāng)時正在播放的某個頻道進(jìn)行局部快進(jìn)/快退操作時,采用局部快進(jìn)/快退方式,其操作步驟如下(1)終端設(shè)備A向流媒體服務(wù)器B發(fā)送針對當(dāng)前正在播放頻道C的快進(jìn)/快退請求命令D;(2)網(wǎng)絡(luò)監(jiān)聽模塊1監(jiān)聽并攔截該請求命令D;(3)網(wǎng)絡(luò)監(jiān)聽模塊1將該請求命令D轉(zhuǎn)交至中心調(diào)度模塊2;(4)中心調(diào)度模塊2查詢終端配置表3,找到當(dāng)前終端設(shè)備A所對應(yīng)的顯示分辨率E;(5)中心調(diào)度模塊2查找數(shù)據(jù)緩沖區(qū)4中對應(yīng)于頻道C和分辨率E的主緩沖隊列或輔助緩沖隊列,根據(jù)快進(jìn)/快退命令將其當(dāng)前發(fā)送指針進(jìn)行前移或者后移;(6)數(shù)據(jù)發(fā)送模塊7從經(jīng)過前移或者后移之后的當(dāng)前發(fā)送指針處向終端設(shè)備A發(fā)送數(shù)據(jù)。
權(quán)利要求
1.一種數(shù)字家庭網(wǎng)絡(luò)中同源流媒體的快速切換裝置,其特征在于它包括網(wǎng)絡(luò)監(jiān)聽模塊,中心調(diào)度模塊,終端配置表,數(shù)據(jù)緩沖區(qū),數(shù)據(jù)接收模塊,視頻轉(zhuǎn)碼模塊和數(shù)據(jù)發(fā)送模塊;所述網(wǎng)絡(luò)監(jiān)聽模塊的一端與終端設(shè)備連接,另一端與中心調(diào)度模塊相連接;所述中心調(diào)度模塊與網(wǎng)絡(luò)監(jiān)聽模塊、終端配置表、數(shù)據(jù)緩沖區(qū)、數(shù)據(jù)接收模塊、視頻轉(zhuǎn)碼模塊和數(shù)據(jù)發(fā)送模塊相連接;所述終端配置表與中心調(diào)度模塊相連接;所述數(shù)據(jù)緩沖區(qū)與中心調(diào)度模塊、數(shù)據(jù)接收模塊、視頻轉(zhuǎn)碼模塊和數(shù)據(jù)發(fā)送模塊相連接;所述數(shù)據(jù)接收模塊與中心調(diào)度模塊、數(shù)據(jù)緩沖區(qū)以及外部公網(wǎng)上的流媒體服務(wù)器相連接;所述視頻轉(zhuǎn)碼模塊與中心調(diào)度模塊和數(shù)據(jù)緩沖區(qū)相連接;所述數(shù)據(jù)發(fā)送模塊與中心調(diào)度模塊、數(shù)據(jù)緩沖區(qū)和終端設(shè)備相連接。
2.如權(quán)利要求1所述一種數(shù)字家庭網(wǎng)絡(luò)中同源流媒體的快速切換裝置,其特征在于所述網(wǎng)絡(luò)監(jiān)聽模塊負(fù)責(zé)監(jiān)聽并攔截由終端設(shè)備向流媒體服務(wù)器發(fā)起的播放控制命令,并將監(jiān)聽到的播放控制命令轉(zhuǎn)交至中心調(diào)度模塊進(jìn)行處理。
3.如權(quán)利要求1所述一種數(shù)字家庭網(wǎng)絡(luò)中同源流媒體的快速切換裝置,其特征在于所述中心調(diào)度模塊負(fù)責(zé)接收從網(wǎng)絡(luò)監(jiān)聽模塊轉(zhuǎn)發(fā)過來的播放控制命令,然后通過查詢終端配置表來獲得當(dāng)前終端設(shè)備的顯示器分辨率參數(shù),并進(jìn)一步通過查詢數(shù)據(jù)緩沖區(qū)中是否已緩沖有所請求頻道該分辨率的媒體數(shù)據(jù)來分別調(diào)度數(shù)據(jù)接收模塊、視頻轉(zhuǎn)碼模塊和數(shù)據(jù)發(fā)送模塊來執(zhí)行相應(yīng)的操作。
4.如權(quán)利要求1所述一種數(shù)字家庭網(wǎng)絡(luò)中同源流媒體的快速切換裝置,其特征在于所述終端配置表中登記有供中心調(diào)度模塊進(jìn)行查詢的家庭網(wǎng)絡(luò)中所有數(shù)字終端設(shè)備所對應(yīng)的顯示分辨率參數(shù)。
5.如權(quán)利要求1所述一種數(shù)字家庭網(wǎng)絡(luò)中同源流媒體的快速切換裝置,其特征在于所述數(shù)據(jù)緩沖區(qū)中為不同頻道數(shù)據(jù)源分配不同的頻道緩沖區(qū),其中每一個頻道緩沖區(qū)又由一個主緩沖隊列和零到多個輔助緩沖隊列組成,各緩沖隊列按先進(jìn)先出順序存儲定長滑動時間窗口范圍內(nèi)該頻道不同分辨率的視頻壓縮碼流。
6.如權(quán)利要求1或5所述一種數(shù)字家庭網(wǎng)絡(luò)中同源流媒體的快速切換裝置,其特征在于所述數(shù)據(jù)接收模塊負(fù)責(zé)從流媒體服務(wù)器接收指定頻道的媒體數(shù)據(jù)并將其寫入數(shù)據(jù)緩沖區(qū)中相應(yīng)頻道的主緩沖隊列。
7.如權(quán)利要求1或5所述一種數(shù)字家庭網(wǎng)絡(luò)中同源流媒體的快速切換裝置,其特征在于所述視頻轉(zhuǎn)碼模塊負(fù)責(zé)將數(shù)據(jù)緩沖區(qū)中主緩沖隊列中的原始分辨率碼流數(shù)據(jù)轉(zhuǎn)碼為其它分辨率的碼流數(shù)據(jù)并寫入到相應(yīng)的輔助緩沖區(qū)隊列。
8.如權(quán)利要求1或5所述一種數(shù)字家庭網(wǎng)絡(luò)中同源流媒體的快速切換裝置,其特征在于所述數(shù)據(jù)發(fā)送模塊負(fù)責(zé)從數(shù)據(jù)緩沖區(qū)中與指定頻道和分辨率所對應(yīng)的數(shù)據(jù)緩沖隊列中讀取數(shù)據(jù)并轉(zhuǎn)發(fā)至家庭網(wǎng)絡(luò)終端設(shè)備進(jìn)行解碼和顯示。
9.一種數(shù)字家庭網(wǎng)絡(luò)中同源流媒體的快速切換方法,其包括以下三種情況下的操作方式(1)當(dāng)用戶從一個終端設(shè)備上選擇播放流媒體服務(wù)器上的某個頻道內(nèi)容時,采用建立連接的操作方式;(2)當(dāng)用戶從一個終端設(shè)備上選擇停止播放當(dāng)時正在收看的某個頻道內(nèi)容時,采用釋放連接的操作方式;(3)當(dāng)用戶從一個終端設(shè)備上選擇對當(dāng)時正在播放的某個頻道進(jìn)行局部快進(jìn)/快退操作時,采用局部快進(jìn)/快退的操作方式。
10.如權(quán)利要求9所述的一種數(shù)字家庭網(wǎng)絡(luò)中同源流媒體的快速切換方法,其特征在于所述建立連接操作方式如下所述終端設(shè)備向流媒體服務(wù)器發(fā)送播放頻道的請求命令,網(wǎng)絡(luò)監(jiān)聽模塊監(jiān)聽并攔截該請求命令,并將該請求命令轉(zhuǎn)交至中心調(diào)度模塊處理;所述中心調(diào)度模塊先查詢終端配置表,找到與當(dāng)前終端設(shè)備所對應(yīng)的顯示分辨率,再查詢數(shù)據(jù)緩沖區(qū)中是否有對應(yīng)于當(dāng)前請求頻道的主緩沖隊列,如果沒有則創(chuàng)建該頻道的主緩沖隊列并設(shè)為當(dāng)前緩沖隊列,并通知數(shù)據(jù)接收模塊開始接收數(shù)據(jù),數(shù)據(jù)接收模塊與流媒體服務(wù)器建立連接,并循環(huán)地從中接收所請求頻道的媒體數(shù)據(jù),寫入新創(chuàng)建的主緩沖隊列;否則進(jìn)一步查詢數(shù)據(jù)緩沖區(qū)中是否有對應(yīng)于當(dāng)前請求頻道和分辨率的主緩沖隊列或輔助緩沖隊列,如果有則將其設(shè)為當(dāng)前緩沖隊列,否則創(chuàng)建該頻道的輔助緩沖隊列并設(shè)為當(dāng)前緩沖隊列,并通知視頻轉(zhuǎn)碼模塊將主緩沖隊列中已緩存的視頻數(shù)據(jù)轉(zhuǎn)碼為當(dāng)前請求分辨率的視頻數(shù)據(jù)后寫入到新創(chuàng)建的輔助緩沖隊列;中心調(diào)度模塊將當(dāng)前該緩沖隊列的使用計數(shù)器加一,并通知數(shù)據(jù)發(fā)送模塊開始發(fā)送數(shù)據(jù);數(shù)據(jù)發(fā)送模塊循環(huán)地從數(shù)據(jù)緩沖區(qū)中與當(dāng)前請求頻道和分辨率的主緩沖隊列或輔助緩沖隊列中讀取數(shù)據(jù)并向終端設(shè)備轉(zhuǎn)發(fā);終端設(shè)備循環(huán)地顯示從數(shù)據(jù)發(fā)送模塊接收并解碼后的數(shù)據(jù)。
11.如權(quán)利要求9所述的一種數(shù)字家庭網(wǎng)絡(luò)中同源流媒體的快速切換方法,其特征在于所述釋放連接操作方式如下所述終端設(shè)備向流媒體服務(wù)器發(fā)送停止播放頻道的請求命令,網(wǎng)絡(luò)監(jiān)聽模塊監(jiān)聽并攔截該請求命令,并將該請求命令轉(zhuǎn)交至中心調(diào)度模塊處理;中心調(diào)度模塊通知數(shù)據(jù)發(fā)送模塊不再向終端設(shè)備發(fā)送數(shù)據(jù),并查詢終端配置表,找到與當(dāng)前終端設(shè)備所對應(yīng)的顯示分辨率,將數(shù)據(jù)緩沖區(qū)中對應(yīng)于當(dāng)前請求頻道和分辨率的主緩沖隊列或輔助緩沖隊列的使用計數(shù)器減一;判斷數(shù)據(jù)緩沖區(qū)中對應(yīng)于當(dāng)前請求頻道和分辨率的主緩沖隊列或輔助緩沖隊列的使用計數(shù)器是否等于0,如果不等于0則直接返回,否則判斷數(shù)據(jù)緩沖區(qū)中對應(yīng)于當(dāng)前請求頻道和分辨率的是主緩沖隊列還是輔助緩沖隊列;如果是輔助緩沖隊列則通知視頻轉(zhuǎn)碼模塊停止針對該緩沖隊列的轉(zhuǎn)碼并刪除該輔助緩沖隊列,進(jìn)一步判斷數(shù)據(jù)緩沖區(qū)中對應(yīng)于當(dāng)前請求頻道的所有主緩沖隊列和輔助緩沖隊列的使用計數(shù)器是否都等于0,如果是則刪除數(shù)據(jù)緩沖區(qū)中對應(yīng)于當(dāng)前請求頻道的主緩沖隊列,并通知數(shù)據(jù)接收模塊停止從流媒體服務(wù)器接收當(dāng)前請求頻道的媒體數(shù)據(jù),然后返回;否則直接返回;如果是主緩沖隊列,進(jìn)一步判斷數(shù)據(jù)緩沖區(qū)中對應(yīng)于當(dāng)前請求頻道所有輔助緩沖隊列的使用計數(shù)器是否都等于0,如果是則刪除數(shù)據(jù)緩沖區(qū)中對應(yīng)于當(dāng)前請求頻道的主緩沖隊列和所有輔助緩沖隊列,通知數(shù)據(jù)接收模塊停止從流媒體服務(wù)器接收當(dāng)前請求頻道的媒體數(shù)據(jù),然后返回;否則直接返回。
12.如權(quán)利要求9所述的一種數(shù)字家庭網(wǎng)絡(luò)中同源流媒體的快速切換方法,其特征在于所述局部快進(jìn)/快退操作方式如下所述終端設(shè)備向流媒體服務(wù)器發(fā)送針對當(dāng)前正在播放頻道的快進(jìn)/快退請求命令,網(wǎng)絡(luò)監(jiān)聽模塊監(jiān)聽并攔截該請求命令,并將該清求命令轉(zhuǎn)交至中心調(diào)度模塊處理;中心調(diào)度模塊查詢終端配置表,找到當(dāng)前終端設(shè)備所對應(yīng)的顯示分辨率,再查找數(shù)據(jù)緩沖區(qū)中對應(yīng)于當(dāng)前清求頻道和分辨率的主緩沖隊列或輔助緩沖隊列,根據(jù)快進(jìn)/快退命令將當(dāng)前發(fā)送指針進(jìn)行前移或者后移,數(shù)據(jù)發(fā)送模塊從經(jīng)過前移或者后移之后的當(dāng)前發(fā)送指針處向終端設(shè)備發(fā)送數(shù)據(jù)。
全文摘要
本發(fā)明涉及一種數(shù)字家庭網(wǎng)絡(luò)中同源流媒體的快速切換裝置及方法,其裝置包括網(wǎng)絡(luò)監(jiān)聽模塊,中心調(diào)度模塊,終端配置表,數(shù)據(jù)緩沖區(qū),數(shù)據(jù)接收模塊,視頻轉(zhuǎn)碼模塊和數(shù)據(jù)發(fā)送模塊;網(wǎng)絡(luò)監(jiān)聽模塊的一端與終端設(shè)備連接,另一端與中心調(diào)度模塊相連接;中心調(diào)度模塊與網(wǎng)絡(luò)監(jiān)聽模塊、終端配置表、數(shù)據(jù)緩沖區(qū)、數(shù)據(jù)接收模塊、視頻轉(zhuǎn)碼模塊和數(shù)據(jù)發(fā)送模塊相連接;終端配置表與中心調(diào)度模塊相連接;數(shù)據(jù)緩沖區(qū)與中心調(diào)度模塊、數(shù)據(jù)接收模塊、視頻轉(zhuǎn)碼模塊和數(shù)據(jù)發(fā)送模塊相連接;數(shù)據(jù)接收模塊與中心調(diào)度模塊、數(shù)據(jù)緩沖區(qū)以及外部公網(wǎng)上的流媒體服務(wù)器相連接;視頻轉(zhuǎn)碼模塊與中心調(diào)度模塊和數(shù)據(jù)緩沖區(qū)相連接;數(shù)據(jù)發(fā)送模塊與中心調(diào)度模塊、數(shù)據(jù)緩沖區(qū)和終端設(shè)備相連接。
文檔編號H04L29/08GK101026742SQ20061016970
公開日2007年8月29日 申請日期2006年12月27日 優(yōu)先權(quán)日2006年12月27日
發(fā)明者高文, 霍龍社 申請人:北京大學(xué)