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