專利名稱:家庭多媒體傳輸方法和系統的制作方法
技術領域:
本發明涉及一種流式傳輸數據的方法、流式傳輸數據的系統,并且涉及一種流式傳輸數據的設備。
美國專利5,768,533涉及以獨立傳輸的段進行視頻的編碼。如果出錯,那么服務器對I-幀中的頻帶段進行重編碼,然后再次將其發送。
美國專利6,025,888公開了一種系統,該系統基于對最重要的宏模塊進行確定并以內部方式對它們進行編碼,從而在服務器中處理數據,以便使得MPEG信號盡可能地具有魯棒性。因此,該系統導致MPEG信號大小顯著地增大。
美國專利公開第2001/0019589號公開了在服務器上處理AV數據,以便自動地為視頻的特定單元設置出錯恢復量,從而改變發送器的糾錯設置。
本發明的目的是提供一種用于有限帶寬通信網絡的流式傳輸數據的方法。
本發明提供了一種用于以有限帶寬通信網絡流式傳輸數據的方法,該方法包括使用變碼率(transrater)裝置縮減比特率流;根據內容格式和/或年齡對用于重發送的數據分組劃分優先級;根據劃分的優先級重發送數據分組。
有利的是,劃分優先級的步驟包括下列中的一個或多個步驟●根據內容類型定義數據分組,包括音頻數據分組和視頻數據分組;●定義三個視頻分組類型,包括I幀、P幀和B幀;●為每個數據分組類型定義權重因子。
優選的,權重因子乘以數據分組的“年齡”因子,該“年齡”因子是通過從最近正確接收的數據分組的序號中減去丟失的數據分組的序號來計算出的,使得P=Wx(S-s),其中P為優先級,Wx是數據分組類型的權重因子,S是最近正確接收的數據分組的序號,而s是丟失數據分組的序號。
在這種方式下,本發明提供有效且實際的處理來縮減比特率;而且有關視頻流的有價值的信息可用于劃分發送數據分組的順序的優先級。
優選地,數據分組類型的權重因子Wx按照重要性遞減的順序(i)音頻;(ii)I幀;(iii)P幀;(iv)B幀。
同樣優選地,該方法包括首先重發送最高P值的數據分組,然后隨著P值的減小依次再發送,最后是最低P值的數據分組。
該方法可包括當接收到新的分組時遞增重發送計時器。如果該計時器測量到從發送原始請求起的一個時間間隔內沒有接收到丟失的分組,則發送新請求。該方法還包括在沒有接收到分組的一段時間之后遞增重發送計時器。
在這種方式下,大大地減少了重復請求同一分組的風險,從而降低了從客戶端到服務器的返回業務量。
另一種避免這個問題的方法是限制請求分組的發送,這樣使得只在重發送計時器測量的多個超時(timeout)值時發送它們。
本發明特別適合于發送使用MPEG壓縮的音頻及視頻數據的方法。
本發明還特別適合于涉及無線傳輸的受限帶寬技術,例如802.11b(也稱為WiFi)網絡。
本發明特別適于在室內無線網絡上傳輸MPEG2音頻和數據,使用家庭媒體中心來調諧并存儲多個TV和音頻流,以及分布到遍布室內的多個客戶端裝置上。
相對于已知的現有技術而言,本發明的顯著優點在于本發明能夠使用為MPEG音頻及視頻優化的無線協議。
本發明的另一優點在于本發明不需要單獨地使用額外的CPU周期來分解MPEG流。
本發明的另一方面提供一種可直接載入數字計算機的內部存儲器中的計算機程序產品,其包括軟件代碼部分,用于當所述產品在計算機上運行時執行本發明的方法的步驟。
本發明的又一方面提供一種計算機程序,用于當所述產品在計算機上運行時執行本發明的方法的步驟。
本發明的又一方面提供根據本發明的方法的計算機或計算機程序產品的電子分布。
本發明的又一方面提供一種系統,用于以有限帶寬通信網絡流式傳輸數據,該系統包括變碼率裝置;將數據分組輸入到變碼率裝置以縮減比特率流的裝置;根據內容格式和/或年齡劃分用于重發送的丟失數據分組優先級的裝置;根據優先級劃分重發送丟失數據分組的裝置。
該系統可包括在此所定義的本發明的附加特征。
本發明的又一方面提供一種系統,用于以有限帶寬通信網絡流式傳輸數據,該系統包括變碼率裝置將數據分組輸入到變碼率裝置以縮減比特率流的裝置;根據內容格式和/或年齡劃分用于重發送的丟失數據分組優先級的裝置;根據優先級劃分重發送丟失數據分組的裝置。
本發明的又一方面提供服務器裝置和/或客戶端裝置,結合了體現本發明的設備的特征。
為了更容易地理解本發明,現通過僅舉例的方式,參考附圖來說明,其中
圖1是體現本發明的系統的概圖;圖2是圖1的系統的更詳細的結構圖;圖3示出圖1的系統的服務器;圖4示出圖1的系統的客戶端;圖5是圖1的系統的服務器狀態機圖;圖6是圖1的系統的客戶端狀態機圖。
圖1所示的系統1包括,使用MPEG2壓縮標準的音頻和視頻流,但是還可以應用其他的壓縮標準(例如,MPEG4)。數據從實時廣播源獲得,或者從光盤或硬盤復制。其具有有限帶寬的通信網絡,在這個例子中為802.11b無線網絡。其具有所需AV解碼器的客戶端裝置。
系統1具有其輸入MPEG2兼容視頻流元(elementary stream)、或分組化的流元的變碼率模塊。其輸出MPEG2兼容視頻基礎流。輸出的(平均)比特率限制在某一級別,即目標比特率(TBR)。可以動態地改變目標比特率。流的幀結構不被改變。當前的變碼率器在限制電平以下工作,以降低數據量(例如,降低非零DCT系數的數量)。隨著其分解比特流時,其存儲詳述流結構的信息。
當前系統的描述當前實現的系統運行在Philips Nexperia PNX8525 IC上。這是一種設計用于能適應高端機頂盒和類似系統的芯片。其具有雙CPU機,具有用于整個系統控制的MIPS處理器和用于媒體處理的TriMedia處理器。但是,該系統可容易地適用于單CUP機。
在圖2的服務器中,多路分離器2從調諧器接收MPEG2傳輸流。這個傳輸流可符合DVB標準。運行在MIPS處理器上的程序通過PRC機來控制多路分離器2。多路分離器2使用規則輸入的傳輸流,以便使得時鐘保持運行在90kHz,以及輸出音頻和視頻流。這些數據流被分組化成由TriMedia軟件流式結構定義的分組形式。數據被分段,每個分段都產生一個分組。每個分組都帶有一些數據,這個數據分組包括分組長度、時間戳、數據類型等等。
變碼率器3接收以TSSA分組形式分組化的視頻流。其作用于這些分組以致于將包含在輸出分組中的數據的比特率限制在設定的值。輸出分組也為TSSA分組的形式。但是,輸出分組具有附加數據。這個數據由變碼率器3添加。這個數據包括容納在分組中的數據所屬幀的類型和這個幀的長度。
ToMips模塊4接收一個音頻和一個視頻TSSA流。從這些分組中提取數據,然后將這些數據格式化為無線協議所需的分組結構。這些分組具有標頭,該標頭描述容納在分組中的信息,這個信息是從TSSA分組中獲得的。還從系統時鐘中獲取讀數,以便將其插入每個分組標頭內。ToMIPS4將這個數據寫入可由兩個處理器訪問的存儲區域。通過RPC調用,ToMIPSB4部件與FromMIPS部件5合作以傳輸數據。
FromMIPS模塊5接收共享存儲區域之外的數據,并將它們傳遞給協議發送器。
無線協議發送器6處理在網絡連接上發送數據,在該系統中為802.11b網絡。
本發明的系統1包括軟件,以便通過室內無線網絡傳輸MPEG2音頻及視頻數據。這個網絡包括“家庭媒體中心”,其具有調諧至并存儲TV流的能力。這個系統通過無線網絡連接到室內的多個客戶端裝置。
通過使用這個網絡,音頻及視頻數據被流式傳輸到這些客戶端。
這個系統具有與無線家用網絡結合的服務器,例如使用具有能輸入三個AV流的Philips Nexperia服務器(通常為PNX8525服務器)。這些中的一個被顯示在本地服務器上,而其余兩個則被傳輸到基于Viper的客戶端系統上。
系統在Viper中的MIPS處理器上運行LINUX,并在TriMedia上運行pSOS。
服務器體系結構圖3示出了非常簡化的服務器體系結構圖,該服務器體系結構具有三個傳輸流輸入S1、S2、S3,這些傳輸流將一個或多個輸入流進行多路分離。S1顯示在本地TV顯示器上。其余兩個S2、S3的視頻信息在MPEG2變碼率器T0、T1中處理,這些單元對MPEG2流進行處理,以使得其不超過某一平均比特率,以便通過視頻信息來限制使用無線流。
隨著數據流式輸入到無線協議WP單元時,兩個已變碼率的T0和T1流與它們的音頻再結合。這個單元再次將數據多路復用,并使用Linux網絡庫傳輸這些數據。其與客戶端進行通信,以便實現最優化的數據傳輸。
客戶端體系結構該客戶端例如是在Philips PNX8525系統上實現的一個非常簡單的系統。但是,或者也可以端口化為基本TriMedia或更簡單的Nexperia設備。
客戶端運行Altantic無線協議接收機。這個動作是從服務器接收將信息轉發到相關的解碼器的數據。協議的目的在于保持傳輸的音頻及視頻的質量。
本發明的系統使用的是802.11b標準通信技術,并且以高達11mbps的帶寬操作,盡管在適當的條件下,隨著傳輸分組大小從標準的1500字節增大,最大可達到的帶寬為約6.5mbps。具有體現本發明的典型802.11b標準網絡的最大比特率的范圍為距離服務器大約23米的量級。通信網絡使用應答分組以便保證良好的數據傳輸。分組由發送器傳輸并且附有檢驗和。在接收器上檢驗這個檢驗和;如果其正確,那么發送回應答。如果不正確,那么丟棄分組。因此重點在于發送器重發送任一分組。大多數實施將以有限的次數嘗試并重發送分組。
在本發明的系統中,協議是以兩部分來實現的。這是因為單元的雙CPU性質的原因。在服務器中,傳輸流輸入和變碼率器都駐留在處理器上。因此,為了通過網絡將它們的輸出流式化,有必要將信息轉發到運行Linux的MIPS系統中。類似地,在客戶端,有必要在MIPS/Linux處理器上接收數據,并將數據轉發到TriMedia解碼器鏈。
服務器在服務器端,實現稱為“ToMips”的模塊。該模塊具有兩個輸入;一個接收變碼率的視頻數據輸出、另一個接收音頻數據。該ToMips部件將這個數據整理到整個網絡所使用大小的分組中。并且該部件還將標頭信息填充進分組,包括服務器上的解碼器時鐘的采樣。
數據被傳輸到稱為“CopyPacketsTMtoMIPS”的過程中,該過程運行在MIPS上。標準TMMAN PRC調用用于實現這個傳遞。這個過程依次將其已獲得的信息轉發到Unix管道中。實際的協議操作處理將該信息從這個管道中讀出。
客戶端客戶端協議處理機將其接收的分組提供到Unix管道。這通過使用TMMAN調用的“CopyPacketsMIPStoTM”來清空,以便將分組轉發到TriMedia上的“FromTM”任務。這個任務將數據多路分離,并將數據轉發到音頻和視頻解碼器。
軟件協議在兩個系統之間提供可復原的連接,對于傳輸音頻和視頻數據進行優化。
該協議建立在UDP的頂端。
系統使用Linux IP網絡堆棧,具有三個設置的變化,即●發送緩沖器大小套接字(socket)的傳輸緩沖器的大小。
●接收緩沖器大小套接字的傳輸緩沖器的大小。
●服務類型(TOS)這些是由符合IP標頭的IP標準定義的特殊比特。它們定義了類型,或由套接字發送的分組的“重要性”。Linux使用這些分組中的設置,以便對其發送分組的順序劃分優先級。這一領域所允許的設置為●低延遲盡快地發送●吞吐量嘗試最大化吞吐量●可靠性●最小成本最低的優先級。
服務器經由指向客戶端上的開放UDP套接字的UDP套接字,通過依次發送,將封裝在分組中的數據傳輸到客戶端。由兩個系統之間的開放的、連接的TCP鏈路來初始化并調解這個連接。這是‘命令鏈路’。在這鏈路上所允許的命令之一是“重發送”命令。這將使得服務器中斷在鏈路上發送新的數據。代替的是,其傳輸在重發送命令分組中所請求的分組。
協議使用簡單分組結構來封裝數據。分組標頭包含有關每個分組的關鍵信息。這包括●序號每個分組由32位序號唯一地標識●時間戳分組可附有時間戳,該時間戳描述分組中的數據在何時應被譯碼或呈現●時鐘基準由服務器插入,由客戶端使用來重建系統時鐘●數據類型音頻,視頻(包括I、P或B幀)服務器服務器在啟動時運行作為端口監督程序(daemon)處理。這個服務器處理初始化‘監聽套接字’,并等待客戶端與其連接。這是標準的TCP套接字,以致輸入連接可以被接收、然后被接受或限制,這樣其他客戶端也可以連接到主監聽套接字。一旦客戶端已連接,那么新的處理,即發送器處理就從服務器處理中分離出來。
發送器處理新建立的發送器處理然后等待來自客戶端的“初始化”命令。這包括許多重要信息,包括所需的數據標識符和已在客戶端單元上創建的數據套接字的地址/端口。分解這個信息并將其存儲在本地數據結構中。
然后,發送器處理創建用于連接的UDP套接字(從服務器處理繼承TCP套接字)。創建了兩個由于其具有不同的TOS設置。將流式套接字設置為TOS_THROUGHPUT,以便最大化帶寬和吞吐量。將重發送套接字設置為TOS_LOWDELAY,以便最小化發送這個數據中的延遲。
發送器然后初始化循環分組存儲。這用于保持多個已被發送的分組。在這點上,系統然后進入主協議狀態機。
發送器狀態機當有數據要發送時,發送器處理也在狀態機內循環。圖5示出這個狀態機的簡化表示。
如從圖5看到的那樣,數據從數據源接收,并將這個數據插入循環緩沖器,然后將這個數據發送給客戶端。這個處理由從客戶端到達的命令中斷,尤其是在客戶端要求重發送數據時。在這種情況下,給予這個數據以優先級,并使用低延遲套接字將這個數據發送給客戶端。
這個表示以如下所示的若干方式進行簡化。
客戶端處理客戶端處理的體系結構和操作趨向于比服務器體系結構更簡單,其僅是具有單一流的最后期限,因此其僅包含一個處理。
在啟動時,客戶端創建套接字并嘗試連接到服務器。一旦連接上,然后就創建在其上要接收數據的UDP套接字。然后,其就建立并向服務器發送包含數據流所需的UDP套接字的端口號的“初始化”命令和任何其他選項。
然后,客戶端狀態機(圖6)在輸入套接字上接收數據(請參見圖6)。每個分組被插入本地循環緩沖器,緩沖器中的位置由嵌入在分組標頭內的序號確定。在最后轉發的分組和最近的輸入分組之間掃描循環緩沖器,創建丟失數據分組的列表。然后使用這個列表建立重發送命令,并通過命令套接字將其發送給服務器處理。
如果序列中的下一分組是可用的,那么將這個分組轉發給輸出數據管路。
命令命令是可從服務器到達客戶端、或者是可從客戶端到達服務器的特定分組。盡管可以設計軟件以允許命令通信通過UDP數據鏈路,但是通常是在已連接的TCP/IP鏈路上發送命令。
命令分組結構命令分組是可適應的,這樣可由不同的命令來使用該命令分組,同時使傳輸的數據量最小。基本的標頭包含●命令ID;●類的32位值;●命令源的IP地址;●命令源的IP端口;●擴展數據的長度;●擴展數據。
該命令結構具有非常少的靜態變量——多數信息位于附屬在該結構末尾的命令指定數據中。
重發送命令在流式傳送時最常用的命令之一是‘重發送’命令。這由客戶端發送以請求服務器重發送沒有收到的多個分組。然后服務器以最高優先級來發送這些分組。
重發送命令通過在末端附加變量長度結構來擴展默認的命令結構。這個結構包含丟失的分組的運行長度編碼列表。因此,附加于標準命令信息上的所包括的擴展數據為●壞分組陣列的長度;●緩沖器的最大長度;●壞分組的陣列(起始分組和運行)。
以往分組命令以往分組命令從服務器發送到客戶端,這個命令是在客戶端要求重發送分組,而這個分組已從服務器的循環緩沖器中丟棄,因此不能被重發送的時候使用的。雖然不是經常使用,但是其在無線電鏈路的出現嚴重漏失之后是非常重要的。
以往分組命令列出了已被請求的但不能重發送的分組。
初始化/起動命令在啟動時,多個重要的變量和選項被從客戶端發送到服務器。這是通過起動命令來進行的。
啟動命令包括●客戶端裝置的IP地址;●二元選項的多個設置;●數據分組的長度;●所需數據的文件名這可以是磁盤上的文件,也可以是表示實時數據源的“特殊文件”。
分組優先級化當將重發送命令從客戶端發送給服務器時,服務器就建立并保持需要被重發送的分組的列表。有關這些分組的內容的附加信息用于劃分它們的優先級。例如,給予音頻分組比視頻分組更高的優先級,這樣在傳輸的音頻中就不會存在假信號。同樣,代碼轉換器提供有關視頻流的信息。這個信息用于劃分數據的優先級,以致包含I幀的數據的分組具有高于P幀的優先級,而包含P幀的優先級高于B幀的優先級。
分組的優先級是通過簡單的公式計算的。定義了四個不同類型的分組其中之一用于音頻而其余三個用于視頻(這些包含I、P或B幀)。每個分組類型都具有為其定義的權重(分別為Wa、Wi、Wp、Wb)。這些權重乘以分組的‘年齡’,所述分組的‘年齡’是通過從最近已正確接收的分組的序號(其將大于任何丟失的分組)中減去丟失分組的序號來計算的。
P=Wx(S-s),其中,P為優先級,W為特定分組類型的權重,S為最近接收的分組的序號,而s為丟失分組的序號。
從而,使用這個優先級因子,以致P值越高,那么給予分組的優先級就越高。
一旦計算出所有丟失分組的優先級,就以它們的發送順序將它們排序到丟失分組的表中。
延遲重發送命令每當接收到新的分組時,客戶端就創建丟失分組的列表。為了避免請求同一分組而造成從客戶端到服務器的大量返回通信量的風險(由于重發送命令往返的等待時間),系統以隨后的兩種方式之一操作1、每個已接收的新分組都遞增‘重發送計時器’。只在這個計時器的某一時間間隔上請求分組(這個周期稱為重發送超時周期)。例如,在具有16個分組的重發送超時的系統中,在接收了分組Y之后,可以確定分組X丟失。當我們接收分組Y+16、Y+32等時,重復請求這個分組。直到正確接收了該分組。
為了避免死鎖,在沒有接收到分組的周期之后也遞增重發送計時器。
2、將系統設置為使得只在重發送計時器的某一時間間隔上發送重發送命令。因此,每N個接收的分組才計算并發送重發送命令。這稱為“delayedNack”方法。
第一種重發送操作可能會導致大量的小重發送命令被發送。第二種重發送操作可能會導致在發送重發送命令中較高的平均等待時間。
軟件默認為第一種重發送操作。
心跳(heartbeat)為了避免發生這樣的情況,即系統不能檢測客戶端是否斷開或死機,而服務器還保持發送并且接收不到從客戶端返回的重發送信息,因此,將另一分組類型提供給網絡,即‘心跳’,其以規則的時間間隔從客戶端發送給服務器。如果服務器在合理的時間長度內沒有注意到心跳,那么服務器就假定客戶端已死機,并重置鏈路以致可以客戶端可以重新連接。
心跳是使用UDP套接字發送的。在心跳分組內,一些簡單的有關報告給服務器的鏈路的客戶端視圖的統計數據被分組化。
牽引模式已假定在鏈路上發送的數據是通過變碼率模塊實時產生的。在這種模式下,盡可能快地從變碼率器中取出數據并在鏈路上發送這些數據。這是一種典型的‘推動’模式系統——在這樣的系統中,解碼器跟得上所有傳輸的數據。
在一個變體中,用戶可能希望從文件中讀取,將其傳輸,然后使解碼器對其進行處理。在這種模式中,由于以其本身的速率來處理數據時,因此數據要求由解碼器規定。這就是典型的‘牽引’模式。
通過允許客戶端發送暫停和恢復消息給服務器,協議實現簡單的牽引模式系統。因此這樣工作●服務器開始向客戶端發送分組;●客戶端開始接收分組并將這些分組轉發到解碼器中;●客戶端檢測到等待的分組數量大于某值,即高級水印。客戶端發送暫停消息給服務器;●服務器停止發送分組;●客戶端繼續將分組轉發給解碼器;●客戶端檢測到等待的分組數量小于某值,即“低級水印”。客戶端發送恢復信號給服務器;●服務器開始再次發送數據分組。
時鐘處理為了保持音頻和視頻在客戶端上同步,有必要產生穩定的時鐘信號。但是,由于鏈接客戶端單元和服務器單元的無線網絡的不確定的性質,很難將客戶端的時鐘鎖到服務器的時鐘上。
不是基礎級的協議處理器,而是較高級的協議處理器來處理時鐘操作或再生,因為其更容易改變時鐘操作代碼。然而,該協議為兩項時鐘信息在分組標頭中保留空間。這些是分組的時間戳和服務器上的時鐘基準,所述分組在該點上插入到隊列中。
在該系統中,所述時鐘操作是在TSSA源和漏部件(‘ToMips’和‘FromMips’)中進行的。
ToMips當ToMips部件接收并對分組進行重新分組時,ToMips從TSSA分組標頭中取出時間戳。其將這些時間戳減到32位的值,并將它們放置在Atlantic分組標頭中保留的時間戳字段中。同樣,其轉發每個分組,讀取系統時鐘并將這個值插入分組標頭中。
為了保證在無線鏈路上不發送舊數據,不耗盡寶貴的帶寬,因此當TSSA分組到達ToMips部件時對它們進行過濾。這簡單地比較分組的時間戳和當前時鐘值,如果時間戳是比當前時鐘更舊的過去某一閾值,那么就丟棄該分組不進行轉發。
FromMipsFromMips部件重構分組以外的TSSA分組。這包括分組標頭中的時間戳信息。
為了重構客戶端上的時鐘,客戶端的時鐘自由運行,當客戶端的時鐘和分組中的時鐘基準之間的差大于一秒時由到達的第一分組設定。這依賴于以相同速率運行的兩個系統時鐘,這提供百萬分之幾內的精確度。
上述系統的變體可以實現更低層次的協議——其越接近MAC層次,接收時鐘的抖動就越小,藉此驅動客戶端時鐘。
分組標頭分組標頭包含
當前標頭的長度是20字節。如果需要,可以減少到16字節。
命令標頭
權利要求
1.一種以有限帶寬通信網絡流式傳輸數據的方法,該方法包括使用變碼率裝置(3)縮減比特率流;根據內容格式和/或年齡對重發送的丟失數據分組劃分優先級;根據劃分的優先級重發送數據分組。
2.根據權利要求1所述的方法,其中劃分優先級的步驟包括根據內容類型定義數據分組,包括音頻數據分組和視頻數據分組。
3.根據權利要求1或2所述的方法,其中劃分優先級的步驟包括定義三個視頻類型,包括I幀、P幀和B幀。
4.根據前述任一權利要求所述的方法,其中劃分優先級的步驟包括為每個數據分組類型定義權重因子。
5.根據權利要求4所述的方法,其中權重因子乘以數據分組的“年齡”因子,該年齡因子是通過從最近正確接收的數據分組的序號中減去丟失分組的序號來計算的,使得P=Wx(S-s),其中P為優先級,Wx為數據分組類型的權重因子,S為最近正確接收的分組的序號,而s為丟失數據分組的序號。
6.根據當前權利要求4或5所述的方法,其中按照重要性遞減的順序,數據分組類型的權重因子W為(i)音頻;(ii)I幀;(iii)P幀;(iv)B幀。
7.根據權利要求6所述的方法,包括首先重發送具有最高P值的數據分組,然后根據P值的減小依次重發送,最后重發送具有最低P值的數據分組。
8.根據前述任一權利要求所述的方法,包括當接收到新的數據分組時遞增重發送計時器,并且以計時器的某一時間間隔來請求數據分組。
9.根據權利要求8所述的方法,還包括在沒有接收到數據分組的一個周期之后遞增重發送計時器。
10.根據權利要求1-7中任一權利要求所述的方法,包括只在重發送計時器的某一時間間隔上傳輸重發送命令。
11.根據前述任一權利要求所述的方法,其中有限帶寬通信網絡包括無線網絡。
12.一種可直接載入數字計算機的內部存儲器中的計算機程序產品,包括軟件代碼部分,用于當所述產品在計算機上運行時執行權利要求1-11中的一個或多個步驟。
13.一種計算機程序,用于在所述產品運行在計算機上時執行權利要求1-11中的一個或多個步驟。
14.根據權利要求12的計算機程序產品或根據權利要求13的計算機的電子分布。
15.一種以有限帶寬通信網絡流式傳輸數據的系統(1),該系統包括變碼率裝置(3);將數據分組輸入到變碼率裝置以縮減比特率流的裝置(2);根據內容格式和/或年齡對重發送的丟失數據分組劃分優先級的裝置(3);根據劃分的優先級重發送丟失數據分組的裝置(6)。
16.根據權利要求15所述的系統,其中劃分優先級的裝置(3)包括根據內容類型定義數據分組的裝置,所述數據分組包括音頻數據和視頻數據分組。
17.根據權利要求15或16所述的系統,其中劃分優先級的裝置(3)包括定義三種視頻類型的裝置,所述三種視頻類型包括I幀、P幀和B幀。
18.根據權利要求15-17中任一權利要求所述的系統,其中劃分優先級的裝置(3)包括為每個數據分組類型定義權重因子的裝置。
19.根據權利要求18所述的系統,其中權重因子乘以數據分組的“年齡”因子,該年齡因子是通過從最近正確接收的數據分組的序號中減去丟失分組的序號來計算的,使得P=Wx(S-s),其中P為優先級,Wx為數據分組類型的權重因子,S為最近正確接收數據分組的序號,而s為丟失數據分組的序號。
20.根據權利要求18或19所述的系統,其中以重要性遞減的順序,數據分組類型的權重因子W為(i)音頻;(ii)I幀;(iii)P幀;(iv)B幀。
21.根據權利要求20的系統,包括裝置(6),其首先重發送具有最高P值的數據分組,然后根據P值的減小依次重發送,最后重發送具有最低P值的數據分組。
22.根據權利要求15-21中任一權利要求所述的系統,包括當接收到新數據分組時遞增重發送計時器,并以計時器的某一時間間隔來請求數據分組的裝置。
23.根據權利要求22所述的系統,還包括在沒有接收到數據分組的一個周期之后遞增重發送計時器的裝置。
24.根據權利要求15-23中任一權利要求所述的系統,包括只在重發送計時器的某一時間間隔上傳輸重發送命令的裝置(6)。
25.根據權利要求15-24中任一權利要求所述的系統,其中有限帶寬通信網絡包括無線網絡。
26.一種以有限帶寬通信網絡流式傳輸數據的設備,該設備包括變碼率裝置(3);將數據分組輸入變碼率裝置以縮減比特率流的裝置(2);根據內容格式和/或年齡對重發送的丟失數據分組劃分優先級的裝置(3);根據劃分的優先級重發送丟失數據分組的裝置(6)。
27.根據權利要求24所述的設備,其中劃分優先級的裝置包括以下一個或多個根據內容類型定義數據分組的裝置,所述數據分組包括音頻數據和視頻數據分組;定義包括I幀、P幀和B幀的三種視頻類型的裝置;裝置包括為每個數據分組類型定義權重因子的裝置。
28.根據權利要求25所述的設備,其中權重因子乘以數據分組的“年齡”因子,該年齡因子是通過從最近正確接收的數據分組的序號中減去丟失分組的序號來計算的,使得P=Wx(S-s),其中P為優先級,Wx為數據分組類型的權重因子,S為最近正確接收的分組的序號,而s為丟失數據分組的序號。
29.根據權利要求25或26所述的設備,其中以重要性遞減的順序,數據分組類型的權重因子W為(i)音頻;(ii)I幀;(iii)P幀;(iv)B幀。
30.根據權利要求27所述的設備,包括首先重發送具有最高P值的數據分組,然后根據P值的降低依次重發送,最后重發送具有最低P值的數據分組的裝置。
全文摘要
通過使用家庭媒體中心以調諧并存儲多個要分布到整個家庭內的多個客戶端的TV和音頻流,而提供在使用802.11b標準的家用無線網絡上的MPEG2音頻和數據的傳輸。變碼率器減小比特率用于在有限帶寬無線通信網絡中。根據內容格式和/或年齡對用于重發送的數據分組劃分優先級。
文檔編號H04N7/24GK1675931SQ03819237
公開日2005年9月28日 申請日期2003年7月29日 優先權日2002年8月15日
發明者R·M·米勒-史密斯 申請人:皇家飛利浦電子股份有限公司