新四季網

使用緩衝器大小計算用於擁塞控制的傳輸速率的數據通信方法和系統的製作方法

2023-05-29 04:01:46 3

專利名稱:使用緩衝器大小計算用於擁塞控制的傳輸速率的數據通信方法和系統的製作方法
技術領域:
本發明涉及一種用於數據通信的方法和系統,更具體而言,涉及一種用於通過網絡發送一個或更多個數據流的方法和系統,以及一種用於接收上述發送數據的方法和系統。此外,本發明還涉及一種存儲電腦程式的計算機可讀存儲介質,當在計算機上運行該電腦程式時,其控制計算機執行前述的數據發送和接收方法。
背景技術:
近年來用於數據通信的電信網在數量、範圍、和用戶數量上已經有了極大的增加。先前,在這種電信網上進行的大部分數據通信的一個特徵是這些數據基本上是「基於消息」的。「基於消息」的意思是那些在網絡上傳輸的數據形成了,例如電子郵件消息、在傳送過程中的文件、或在客戶機-伺服器系統之間傳遞的其他應用數據的一部分。這種「基於消息」的數據的一個主要特徵是它不是特別地時間關鍵性的,時間關鍵性是指為了使數據有用,數據必須在某個傳輸時間內到達接收機終端。相反地,倘若數據在一個合理的時間量內到達了接收機,則其仍然是對最終用戶有用的。先前巳知的這種「基於消息」的數據的實例例如是標準電子郵件和使用文件傳送協議(FTP)傳送的文件。
新近,注意力已經從數據通信網發送傳統的基於消息的數據的能力轉移到了能夠以連續數據流從發射機向接收機發送數據的網絡和相關設備。這種數據的價值常常是時間關鍵性,因為網絡必須儘可能平滑和快速地把數據從發射機傳送至接收機終端,最好避免重發數據的需要。接下來根據圖1描述在現有技術中巳知的這種數據流式傳輸系統的一個實例。
通常,將被流式傳輸的數據是多媒體數據,諸如音頻和視頻數據。該音頻和視頻數據可能來自現場視聽廣播,諸如新聞或體育事件,或者可能來源於,例如,當用戶選擇時允許他們根據他們的選擇觀看電視節目和電影的視頻點播服務。然而,無論該數據的來源是什麼,相應的音頻與視頻饋送數據必須首先被適當地數字編碼,以便將該音頻和視頻數據信號壓縮成一個適合於在網絡上傳輸的大小。通常,依照不同的MPEG標準之中的一個來執行音頻和視頻編碼。
在音頻和視頻數據編碼之後,將已編碼的數據傳遞到網絡伺服器,在網絡伺服器中,數據在通過網絡傳輸至客戶機之前被存儲在獨立的音頻緩衝器和視頻緩衝器中。
在緩衝之後,如下述更詳細的論述,數據通過網絡被發送,並且由接收機接收,其中在解碼之前緩衝該數據。在接收機中由一個適當的解碼器執行解碼,並且將所解碼的數據發送給在該接收機上運行的應用程式用以再現。
當前使用的最普遍的網絡類型中的一種當然是那些形成網際網路的網絡,並且其使用網際協議(IP)在網絡的網絡層以IP數據報的形式傳送數據。由傳送層協議(傳輸控制協議(TCP)和用戶數據報協議(UDP))提供通過網絡層的數據傳送。在TCP和UDP都是本領域中已知的,並且在例如Tannenbaum A.S.,「計算機網絡」第三版,Prentice Hall,PP521-542頁中有所描述。
UDP已經被經常用於通過網絡的流式數據服務,並且尤其是用於流式音頻和視頻數據。然而,UDP是一種無連接傳輸協議,並因此不提供服務質量控制機制,也不能夠允許為一個用戶保證特別的服務質量。此外,將UDP用於流式數據導致了其它的問題,因為它總是以相同的傳輸速率發送出數據,而不考慮網絡擁塞狀態以及在接收終端的接收數據緩衝器的狀態,這很容易導致分組丟失,並由此丟失數據。也就是說,當對於流式數據使用UDP時,那麼如果發生網絡擁塞,UDP繼續以相同的傳輸速率發送數據分組,從而助長了該網絡擁塞。在沒有用於減輕網絡擁塞的機制的最壞情況下,結果可能是丟失多數或全部數據流分組。類似地,如果該數據流的數據傳輸速率高於接收機緩衝器清空的速率,則緩衝器會溢出,由此提供了另一種分組丟失的機制。在這種情況下的有害效應是雙重的——不僅使接收機了溢出的數據,該溢出的數據在實時多媒體數據的情況下將導致更差質量的再現,而且該網絡由於發送了那些隨後在它們的目的地的溢出分組而浪費了帶寬。
通過使用TCP作為網絡傳輸協議可以略微減輕上述與使用UDP進行流式數據傳輸相關聯的問題。TCP是一種面向連接的協議,其把分組確認提供至發送終端,該發送終端允許對數據傳輸速率的增加的控制量。更具體而言,TCP包括一個傳輸速率控制算法以解決網絡擁塞,如在上述536至539頁描述的。TCP傳輸控制算法是已知的「加法的-增加-乘法的-減少」類型的算法,其中一旦達到基本的閾值傳輸速率,則傳輸速率以一種加法方式,一個分組接一個分組地增加,直到發生分組,於是傳輸速率隨後以一種乘法的方式減少,例如,將傳輸速率減半。因此當發生分組丟失時,TCP傳輸速率算法通過減少數據流的傳輸速率考慮了網絡擁塞,但是減少的乘法性意味著通過網絡的數據吞吐量的變化會是相當高的。
圖2圖解說明了一個使用TCP的數據吞吐量的實例,由此將領會到數據傳輸速率可以相對於時間產生相當大的變化。使用TCP時在傳輸速率中相對高的變化意味著它不是特別地適合於流式數據應用,其中,優選的是傳輸速率相對於時間平滑地變化的穩定狀態。此外,TCP傳輸速率控制算法沒有考慮接收機緩衝器狀態,從而如果在接收機中TCP流傳輸速率高於解碼速率,則再一次引入了分組丟失的可能性。正如UDP的情況一樣,在目的地的分組丟失顯示出雙重的有害效應——不僅接收機丟失了溢出的數據,其在實時多媒體數據情況下將導致更差質量的再現,而且該網絡由於發送那些隨後在它們的目的地丟失的溢出分組而浪費了帶寬。
當將要同時發送兩個或更多包含相關數據(諸如音頻和視頻數據)的數據流時,與對流式數據使用TCP導致的數據傳輸速率的頻繁變化相關的問題更複雜化。在這種情況下,當使用TCP並且以在獨立的數據流中傳輸的音頻和視頻數據作為例子,由於音頻流是通過與視頻流獨立的TCP連接發送的,於是每個相應的連接將應用它自己的傳輸速率控制算法,而不考慮另一個流的傳輸速率。最終的結果是,經過一段時間,通過網絡的音頻流的數據吞吐量變得基本上與視頻流的相同,然而實際上對於大多數的視聽源來說,通常每單位時間發送的視頻數據比音頻數據要多得多。如此通過TCP獲得的在音頻與視頻流之間傳輸速率的相等可以在接收機具有這樣的效果,即,影響數據的適當再現,由於因為這兩個類型的數據不是分別以與音頻和視頻數據的產生相匹配的速率發送的,通常有足夠的音頻數據存儲在接收機音頻緩衝器中用於由視聽應用程式再現,但是同時在接收機視頻緩衝器中沒有如音頻數據一樣足夠的視頻數據用於再現。
由於對每個相應的流應用各自的傳輸速率控制算法,尤其是由於標準TCP傳輸速率控制算法的乘法性減少的性質,產生了進一步的問題。考慮獨立於視頻流通過TCP連接發送音頻流,而其中視頻流也使用TCP發送的情況。通常,如先前所解釋的,每個連接的平均吞吐量將基本相同,但是由於當在其中一個流中出現分組丟失時傳輸速率的乘法性減小,在任何特定的時刻在兩個流各自的傳輸速率之間實際上可能存在很大的差異。這些在兩個流之間的傳輸速率的潛在大的短期變化向數據傳輸引入了不確定性,並可能導致接收機中數據緩衝器的問題,因為出現臨時的大的差異時,音頻緩衝器例如可能充滿並溢出從而丟失數據,但是相應的視頻緩衝器可能已經被清空,由此阻止了AV再現的發生。
先前已經通過對每個流使用無連接UDP協議,並且簡單地以合適的傳輸速率發送每個流以保持這些流之間的數據正確比率,處理了由於對多個數據流應用TCP傳輸速率控制算法而導致的上述問題。但是,如先前所討論的,UDP沒有考慮接收機緩衝器的狀態來控制傳輸速率。因此,仍然需要能夠保持每個流的傳輸速率的穩定性的傳輸速率控制方法和系統,同時該方法和系統仍考慮到接收機中緩衝器的狀態,以防止在接收機中的不必要的分組丟失。

發明內容
本發明通過提供一種數據傳輸方法和系統處理上述問題,在該方法和系統中網絡伺服器確定接收機緩衝器的狀態。伺服器隨後以數據傳輸比特率發送數據流,控制該流的數據傳輸速率以防止接收機緩衝器溢出。傳輸速率的控制還具有為數據流提供平滑穩定狀態傳輸速率的效果。可以以開環或閉環的方式執行接收機緩衝器狀態確定。
為上述目的,根據本發明的第一方面,提供了一種通過網絡傳輸數據的方法,包括以下步驟以數據流的形式以一數據傳輸速率把數據發送到網絡上以發送到接收機;確定接收機中的數據緩衝器的至少一個或更多個特徵,在該數據緩衝器中存儲了接收到的數據;以及響應於所確定的特徵來控制數據流的數據傳輸速率,以防止接收機中的數據緩衝器溢出。
根據本發明的第二方面,還提供了一種用於通過網絡傳輸數據的系統,包括數據流傳輸裝置,用於在數據流中以一數據傳輸比特率把數據發送到網絡上以發送到接收機;特徵確定裝置,用於確定接收機中存儲了接收到的數據的數據緩衝器的至少一個或更多個特徵;以及數據流控制裝置,用於響應於所確定的特徵來控制數據流的數據傳輸速率,以防止接收機中的數據緩衝器溢出。
通過確定接收機中的存儲該流中接收到的數據的數據緩衝器的一個或更多個特徵,本發明使得能夠以這樣的方式控制數據傳輸速率,即,使得在接收機端不會由於緩衝器溢出而丟失分組。其提供的優勢在於提高了網絡帶寬利用率,如在重發任何丟失的數據分組的情況下,因為數據首先不會通過緩衝器溢出而丟失,因此不需要重發。此外,在例如通常不需要數據重發的實時數據的情況中,可以以更為平滑的方式實現實時數據的再現,並同時具有預期的再現質量。
特徵確定可以是開環或閉環的。特別地,當所述確定是開環時,伺服器僅記錄它已經把多少分組發送到接收機,以及那些分組的解碼速率將是多少。通過提前知道接收機緩衝器的大小,伺服器可以保持一個接收機緩衝器中剩餘多少空間的估計,並相應地調整傳輸速率。
當特徵確定是閉環時,接收機向伺服器發送表示該一個或更多個特徵的信息,然後伺服器使用接收到的信息作為傳輸速率控制的基礎。
優選地,該一個或更多個特徵至少包括在所述流中發送的數據在接收機中的解碼速率,並且數據流的傳輸速率被進一步控制為至少為該接收機解碼速率的函數。通過把數據流的傳輸速率和解碼速率聯繫起來,可以實現從發射機到接收機的穩定的穩態傳輸,其特別適合於流式實時數據。
在其它實施例中,數據緩衝器的該一個或更多個特徵包括表示緩衝器剩餘容量的信息。通過確定剩餘的緩衝器容量,可以適當地實現傳輸速率的連續或分步變化,例如通過把發送的數據改變成以較低的質量編碼的數據,因此要求較小的緩衝器容量以重現相同的信息。
在其它優選實施例中,該方法進一步包括計算應當進行數據流發送的最大傳輸速率的步驟,並且將傳輸比特率控制在所計算的最大速率之內。
通過使用考慮了網絡擁塞而導出的傳輸速率公式計算數據流的最大傳輸速率,可以控制流的最大傳輸速率,以體現那些在流被路由到的那部分網絡中的擁塞,從而最小化其它分組丟失機制的影響。
優選地,計算最大傳輸速率以給出通過網絡的平均數據吞吐量,該數據吞吐量類似於使用傳輸控制協議(TCP)而獲得的吞吐量,以使得數據流可以被稱為「TCP友好的」。通過使用TCP友好的傳輸速率控制方案,可獲得以下優點,即可控制傳輸速率以體現網絡擁塞,以及適應網絡中的其它競爭TCP連接。
優選地,該方法進一步包括以下步驟把多個數據流發送到網絡以傳輸到接收機,每一個數據流以各自的數據傳輸速率傳輸;確定各個存儲了接收到的數據流的數據緩衝器的至少一個或更多個特徵;以及,響應於接收到的反饋數據控制每個流各自的傳輸速率,以防止數據緩衝器溢出。
根據上文,本發明還具有在從發射機向一個或更多個相同或不同的接收機傳輸多個數據流的應用。
優選地,發送的數據流包含音頻或視頻數據。在同時傳輸兩種數據流時,優選地,其中一個流包含音頻數據,另一個流包含視頻數據。優選地,音頻和視頻數據是相關的,因為預期在接收機端同時再現,例如視頻數據是電視節目或電影,而音頻數據是其配音。本發明特別用於流中的音頻和視頻數據的傳輸,其中本發明可以控制每個流的發送速率,以達到基本平滑,並防止接收機緩衝器溢出。優選地,控制發送速率,以匹配接收機緩衝器的讀出速率。
優選地,本發明可進一步被設置為從所述或每個接收機中接收反饋數據,該反饋數據表示往返時間(RTT)、丟失率值、和/或接收機的接收速率值中的一個或更多個,並另外計算作為由反饋數據表示的作為一個或更多個接收到的值的函數的總傳輸速率。往返時間是數據從發射機到接收機並回到發射機所需的時間的度量,而丟失率值是網絡中丟失的發送到接收機的數據量的度量。接收速率值是在往返時間內接收機接收到的比特數。
通過提供從接收機到伺服器的反饋,可以向伺服器提供最新信息,該信息例如表示網絡上導致分組丟失的擁塞情況。伺服器則能夠根據當前網絡的狀態計算流的最大的可用傳輸速率,從而優化傳輸流的傳輸速率。
此外,根據本發明的第三方面,進一步提供了一種存儲電腦程式的計算機可讀存儲介質,當在計算機上運行時,該程序可以控制計算機執行根據本發明第一方面的方法。
優選地,該計算機可讀存儲介質可以是光碟、磁碟、磁光碟、固態計算機存儲器、或任何其它適合的數據存儲介質中的任何一種。
根據本發明的第四方面,還提供了一種從網絡接收數據的方法,該數據已經根據先前關於本發明的第一或第二方面說明的方法或系統發送,該方法包括以下步驟接收以一數據傳輸速率傳輸的數據流;將接收到的數據傳遞到數據緩衝器,以在其中緩衝;測量數據緩衝器的至少一個或更多個特徵;以及將所測量的特徵發送到發射機,以用於計算從發射機發送的數據流的傳輸速率。
通過將數據緩衝器的特徵發送回發射機,可以使得發射機能控制它的數據傳輸速率,以防止接收機中的數據緩衝器溢出,和數據丟失。
優選地,在第四方面中,該方法進一步包括以下步驟以一解碼速率對數據緩衝器中的數據進行解碼,並將數據解碼速率作為所述測量的特徵中的至少一個發送到發射機。通過將數據解碼速率傳遞到發射機,可以使得發射機可以控制它的傳輸速率,以獲得穩定的穩態傳輸速率,其中解碼速率基本上與傳輸速率相匹配,優選地解決了網絡中的分組丟失。
此外,優選地,該一個或更多個特徵進一步包括表示緩衝器剩餘容量的信息。通過把此信息傳遞到發射機,發射機可以使用速率的分步變化作為緊急措施進一步控制數據流的傳輸速率,以防止緩衝器溢出。
根據本發明的第五方面,還提供了一種用於從網絡接收數據的系統,該數據已經根據先前關於本發明的第一或第二方面說明的方法或系統發送,在第五方面中,該系統包括數據接收裝置,用於接收以一數據傳輸速率傳輸的數據流;數據總線裝置,用於把接收到的數據傳遞到數據緩衝器,以在其中緩衝;緩衝器監視裝置,用於測量數據緩衝器的至少一個或更多個特徵;以及數據傳輸裝置,用於將所測量的特徵發送到發射機,以用於計算從發射機發送的數據流的傳輸速率。
本發明的第五方面表現了與先前關於第四方面說明的相同的特徵和優點,以及進一步的特徵和優點。
此外,根據本發明的第六方面,還提供了一種存儲電腦程式的計算機可讀存儲介質,當在計算機上運行時,該程序控制計算機執行根據本發明的第四方面的方法。如在第三方面一樣,根據本發明第六方面的存儲介質可以實現為磁碟、光碟、磁光碟、固態計算機存儲器等中的任何一種或更多種。


通過下列參照附圖僅僅以示例性的方式給出的本發明的實施例的描述,本發明的其它特徵和優點將變得明顯,附圖中相同的標號表示相同的部分,其中圖1是說明現有技術的多媒體流式系統的組件的示意框圖;圖2是說明使用現有技術的TCP協議的網絡的數據吞吐量的圖表;圖3是說明用於本發明實施例中的伺服器和客戶機設備的設置的框圖;圖4是用於本發明實施例中的伺服器設備中的主要組件的框圖;圖5是用於本發明實施例中的客戶機設備中的功能組件的框圖;圖6是由本發明第一實施例中的伺服器設備執行的方法步驟的流程圖;圖7是由用於本發明第一實施例中的客戶機設備執行的方法步驟的流程圖;圖8是說明用於本發明的實施例中的丟失事件率的計算所涉及的步驟的流程圖;圖9是在本發明實施例中使用的濾波係數的圖表;圖10是用於本發明的實施例中的接收機設備中的濾波器組件的框圖;圖11是由本發明第二實施例中的伺服器設備執行的方法步驟的流程圖;圖12是由在本發明第二實施例中使用的客戶機設備執行的方法步驟的流程圖;以及圖13是使用本發明的實施例實現的數據流之一的通過網絡的數據吞吐量的圖表。
具體實施例方式
現在將參照圖3-13說明構成本發明的三個實施例的各種組件的構造和操作。應當注意,本文中說明的優選實施例意在作為本發明應用到例如音頻和視頻數據的多媒體數據傳輸的非限制性的示例,本發明可以在幾乎任何通過網絡發送一個或更多個數據流的應用中使用。
在描述中術語「發射機」和「伺服器」可互換地使用,術語「接收機」和「客戶機」也是如此。
本文將要說明的本發明的每個實施例可使用相同的系統組件,儘管是以不同的程度,並在它們的操作方法上存在差異。因而接下來進行對可用於每個實施例的設備的通用的說明,接著依次分別說明每個實施例的操作。
在圖3中說明了構成本發明優選實施例的系統的兩個基本組件。這裡,可以看出,提供了在其中設置有第一視頻緩衝器42和第二視頻緩衝器43的伺服器40。第一視頻緩衝器42被設置為存儲已經以第一視頻編碼速率進行了編碼的編碼視頻數據,而第二視頻緩衝器43被安排為存儲已經以第二視頻編碼速率編碼的更多的編碼視頻數據,其中該第二視頻編碼速率低於存儲在第一緩衝器42中的編碼視頻數據的編碼速率。應當注意存儲在兩個緩衝器42和43中的編碼視頻數據是相同的原始視頻數據得到的,但其僅是使用不同的編碼速率被編碼,以給出不同的編碼視頻數據。通常,由於用於生成存儲在第一緩衝器42中的編碼視頻數據的編碼速率更高,所以第一緩衝器42中的編碼視頻數據將比相應的存儲在第二視頻緩衝器43中的以較低的編碼速率編碼的編碼視頻數據更大。優選地使用H.623編碼對視頻數據進行編碼,儘管應當理解可以使用任何適合的視頻編碼技術,例如MPEG等。
在伺服器40中也提供了一個用於存儲編碼音頻數據的音頻數據緩衝器44。請注意,在優選實施例中僅以單個編碼速率對音頻數據進行編碼,因此僅需要單個音頻緩衝器。優選地,使用AMR音頻編碼對音頻數據進行編碼,儘管可以使用任何其它適合的音頻編碼技術,例如MP3等。
除了伺服器40之外,在優選實施例中還提供了一個或更多個客戶機計算機50。為了清楚起見,圖3顯示了單個客戶機,但伺服器有可能服務於多於一個的客戶機,並且可以把多於一個的數據流發送給每個客戶機。在本實施例中,每個客戶機包括一個視頻緩衝器52和一個音頻緩衝器54。視頻緩衝器52被設置為接收並存儲從伺服器40接收到的編碼視頻數據。視頻緩衝器52存儲接收到的編碼視頻數據,直到客戶機計算機中提供的視頻解碼器從視頻緩衝器52中取出編碼視頻數據,用於解碼並再現其中被編碼的視頻信號。類似地,音頻緩衝器54接收從伺服器40發送的編碼音頻數據,對編碼音頻數據進行緩衝,直到客戶機計算機中提供的音頻解碼器從音頻緩衝器54中取出編碼音頻數據,用於解碼並再現其中被編碼的音頻信號。
為了在伺服器計算機和所述或每個客戶機計算機之間提供數據通信,在伺服器40和所述或每個客戶機50之間提供第一用戶數據報協議(UDP)連接10,沿著該連接從伺服器40發送編碼視頻數據。類似地,從伺服器40到所述或每個客戶機50還提供了第二UDP連接20,沿著該連接發送編碼音頻數據。由伺服器以下面將為本發明的每個實施例說明的方式對UDP連接10和20各自的傳輸速率進行控制。
除了在伺服器和所述或每個客戶機之間的UDP連接之外,在第一和第二實施例中在所述或每個客戶機和伺服器之間建立傳輸控制協議(TCP)連接30,以用於主要從所述或每個客戶機返回到伺服器的控制消息的傳輸,以使得能夠有效地控制兩個UDP連接10和20的傳輸速率,稍後將討論在每個實施例中通過TCP連接從所述或每個客戶機發送到伺服器的反饋數據的進一步的細節。
現在轉至圖4,圖4以框圖的形式例示了在本發明優選實施例中的伺服器計算機40中需要的組件。應當注意圖4僅例示了本發明至少一個實施例的操作所必需的那些伺服器組件,而沒有例示伺服器系統操作所需的那些其它組件,應當理解,預期的讀者是本領域的技術人員,他們將可識別出完整操作伺服器系統所需的那些附加的組件。
在優選實施例中,伺服器計算機40包括多媒體應用控制器41,它被安排為接收編碼音頻數據和編碼視頻數據,並如先前關於圖3所述,在緩衝器42,43和44中緩衝接收到的數據。請注意為清楚起見,這些緩衝器未在圖4上顯示。多媒體應用控制器41通過TCP連接30把控制消息發送到客戶機計算機50,並接收來自客戶機計算機50的控制消息。此外,多媒體應用控制器從適當的緩衝器向網絡連接模塊47提供編碼視頻數據和編碼音頻數據,該網絡連接模塊對數據進行分組化,用於通過網絡向客戶機計算機進行傳輸。因此,操作網絡連接模塊47以從多媒體應用控制器接收編碼音頻和視頻數據,把數據分組化成適合傳輸的形式,並分別以適當的發送速率以兩個相應的UDP數據流將數據分組發送到網絡上。數據流各自的發送速率由發送速率計算器46根據稍後將為每個實施例討論的適合的傳輸速率公式計算。發送速率計算器46把為音頻和視頻數據流計算的發送速率傳遞到網絡連接模塊47,以把所計算的傳輸速率通知給網絡連接模塊47。在第一和第二實施例中,通過從客戶機計算機到多媒體應用控制器的TCP連接,獲得在發送速率計算器46中計算的傳輸速率公式的輸入數據,那些輸入數據通過適合的連接從多媒體應用控制器傳遞到發送速率計算器。
進一步提供了網絡控制器模塊48,以控制網絡連接47執行適當的數據分組化過程,以允許在網絡上傳輸音頻和視頻數據。
此外,進一步提供了作為存儲器等的重傳緩衝器49,其被安排為從網絡連接47接收數據分組以及適當的控制信號,並且如果網絡連接47必須重發緩衝分組時,緩衝接收到的數據分組。所發送的數據分組的緩衝和重傳與本發明無關,並因此沒有在這裡闡述進一步的細節。
儘管未在圖4中顯示,仍然應當注意伺服器計算機40進一步包括至少一個計算機可讀存儲介質,該計算機可讀存儲介質存儲用於控制伺服器計算機的操作以執行本發明的電腦程式。該計算機可讀存儲介質可以是任何已知的類型,並且特別地可以由光碟、磁碟、磁光碟、固態計算機存儲器、或任何其它適合的數據存儲介質中的任何一個或其組合形成。
圖5是本發明的實施例中需要的客戶機計算機50的功能組件的框圖。與伺服器計算機40的說明相似,應當理解圖5沒有例示操作客戶機計算機50所需的所有組件,而僅例示了本發明的至少一個優選實施例的操作需要的那些功能塊組件。作為本領域技術人員的讀者,應當理解為了進行完整的操作需要客戶機計算機的哪些附加的組件。
在客戶機計算機50中提供了多媒體應用控制器51,其對應於伺服器中提供的多媒體應用控制器41。多媒體應用控制器51提供了在客戶機計算機50中運行的多媒體應用的高級控制,並且通過由TCP連接30傳遞的控制消息與伺服器中相應的多媒體應用控制器41進行通信。類似地,多媒體應用控制器51向構成優選實施例的客戶機計算機50的其它功能組件提供控制信號。
在客戶機計算機50中進一步提供了被安排為從網絡接收一個或更多個數據流中的數據分組的網絡連接模塊57。與接收到的一個或更多個數據流中的數據有關的控制信息被傳遞到用於計算數量值的量度計算器(metrics calculator)56,這些數量值表示接收到的數據流的某些特徵,並且所計算的數量值被傳遞到反饋發射機58,用以作為控制消息通過TCP連接30在網絡上傳回。稍後給出有關數量值計算的進一步信息。
網絡連接57接收音頻和視頻數據流,並從每個流中的分組中提取編碼音頻和視頻數據。編碼音頻和視頻數據隨後被傳遞給緩衝器控制器59,緩衝器控制器59把接收到的編碼音頻數據饋送到音頻緩衝器54,並把接收到的編碼視頻數據饋送到視頻緩衝器52。緩衝控制器59進一步被設置為監測音頻緩衝器54和視頻緩衝器52的狀態,以確定每個緩衝器有多滿,以及每個緩衝器清空的速率,該速率表示存儲在緩衝器中的數據的解碼速率。進一步提供了音頻解碼器53,它可從音頻緩衝器54中讀取編碼音頻數據,並對編碼音頻數據進行解碼,以提供解碼音頻數據作為輸出。類似地,提供了從視頻緩衝器52取出編碼視頻數據,並對編碼視頻數據進行解碼,以提供視頻輸出信號的視頻解碼器55。
緩衝器控制器59在接收到與音頻和視頻緩衝器狀態有關的信息後,馬上將此信息傳遞到反饋發射機,用以合併到通過TCP連接30傳回伺服器計算機的控制消息中。
儘管未在圖5中顯示,應當注意客戶機計算機進一步包括至少一個計算機可讀存儲介質,它存儲用於控制客戶機計算機的操作以執行本發明的電腦程式。該計算機可讀存儲介質可以是任何已知的類型,並特別地可以由光碟、磁碟、磁光碟、固態計算機存儲器、或任何其它適合的數據存儲介質中的任何一種或其組合而形成。
已經說明了構成本發明的伺服器設備和客戶機計算機設備的基本功能塊,現在將依次說明本發明優選實施例的操作。
第一實施例現在參照圖6到10說明本發明的第一實施例,第一實施例具體涉及把一個或更多個獨立的流發送到相同的或不同的客戶機,並以閉環方式控制流的傳輸速率。
圖6是根據本發明的第一實施例的由伺服器計算機40執行的步驟的流程圖。首先,在步驟102,發送速率計算器46為將要從伺服器計算機40發送的各個數據流計算可用的總帶寬。該max_rate值表示每個單獨的數據流的傳輸速率都不應超過的傳輸速率上限。根據下列原理計算max_rate值。
典型地,當前在網際網路中使用的先前的多媒體會議應用是基於UDP傳輸協議的,這正如先前討論的,沒有提供服務質量控制機制,並因此不能夠執行諸如對例如網絡擁塞進行補償所需的控制措施。因此,如上所述,當出現網絡擁塞時競爭TCP連接減小它們的傳輸速率,而沒有UDP通信的任何速率減小。
為了避免此問題,在本發明的第一實施例中,採用擁塞控制方案增強了UDP音頻和視頻數據流,max_rate參數的計算形成了該擁塞控制方案的一部分。更特別地,計算該參數max_rate以對「TCP友好」的流提供最大的傳輸速率,它是在時間上與通過TCP連接實現的吞吐量相類似的傳輸速率。
在第一實施例中,使用已經導出的傳輸速率公式計算總傳輸速率參數max_rate,以便對TCP連接在時間上的平均吞吐量建模,並由此計算總速率,以便提供TCP友好的傳輸速率。在第一實施例中,我們使用下面的等式1中說明的傳輸速率公式bit_rate_stream=c(packet_medium_sizeRTTloss_rate)]]>等式1請注意,應用到普遍存在的TCP連接的上述等式的來源可參見Floyd S.「在分組交換網絡中與多個擁塞網關的連接,第一部分單向通信(Connections with Multiple Congested Gateways in PacketSwitched Networks Part 1One Way Traffic)」,計算機通信評論(Computer Communications Review),1991年10月,卷21,第5期,30-47頁。
在上面的等式中C是在0.87到1.31範圍內的常數,RTT是分組從一計算機通過網絡傳輸到另一計算機,並返回所需的以秒為時間度量的往返時間,loss_rate是在去往接收機的途中在網絡中丟失的分組的度量,而packet_medium_size是作為計算對象將在流中發送的分組的平均大小。請注意,稍後進一步討論等式1的這些項以及如何計算它們以用在傳輸速率公式中。
等式1給出了bit_rate_stream值,它是單個的TCP連接在現有網絡條件中能夠實現的平均帶寬的估計。然而,在第一實施例中,我們不直接使用此估計作為流的總傳輸速率,而是將此bit_rate_stream值如下所示代入等式2中max_rate=min(bit_rate_stream,2*receiving_rate_stream) 等式2參數receiving_rate_stream是通過TCP連接從所述或每個客戶機計算機接收到的,並且其對應於由客戶機接收到的在RTT秒內計算的特定流的比特數量。
上面的等式2給出了使單個UDP流表現TCP友好性時可用的總帶寬max_rate。此值是為了保持TCP友好,數據流應當被發送的速率的最大值。應當注意,應當為伺服器發送的每個流分別執行等式1和2的計算。
在可用的最大傳輸速率的計算之後,在步驟S104,伺服器中的發送速率計算器46為所述或每個數據流計算實際的傳輸速率(data_rate),它可以是音頻UDP流或視頻UDP流。如下計算data_rate。
如先前所述,本發明的主要目的是控制一個或更多個數據流的傳輸速率以使得接收機中的數據緩衝器中的數據的水平可以被控制,以防止在所述或每個客戶機中的一個或更多個相應的緩衝器溢出。在第一實施例中獨立於其它從伺服器向相同的或不同的客戶機發送的流的傳輸速率,控制從伺服器發送的每個數據流的傳輸速率,響應於來自所述或每個客戶機的與在解碼之前存儲所接收到的數據的數據緩衝器的狀態有關的反饋數據實現該控制。在第一實施例中,假設所述或每個客戶機計算機可以報告回數據解碼速率(相當於緩衝器被清空的速率),或表示每個緩衝器有多滿(或有多空)的信息中的至少一個或更多個。使用此信息,發送速率計算器46能夠根據下列變型中的任何一個或更多個來為每個流計算data_rate。
在第一變型中,伺服器對應於所接收的數據在客戶機端的解碼速率,即緩衝器被清空的速率,從客戶機接收反饋數據。在最簡單的情況下,傳輸速率被簡單地設置為等於接收到的解碼速率,而不考慮先前討論的所計算的最大傳輸速率。在這種情況下,不執行涉及max_rate計算的步驟102。通過將傳輸速率設定為等於解碼速率,可以確保緩衝器不會溢出,因為理論上數據應當以與它被從緩衝器清除的相同的速率到達緩衝器。隨後將是穩定的傳輸速率,傳輸速率的變化取決於編碼速率的變化。
然而,上面的第一變型假設通過網絡的傳輸是理想的,在途中沒有發生分組丟失。因此,在第二變型中,不僅從客戶機接收解碼速率,伺服器還接收先前提到的loss_rate量度(稍後詳細說明loss_rate值的計算),並且如下將其作為一項代入傳輸速率的計算式data_rate=(1+loss_rate)*decode_rate等式3如此,伺服器能夠為網絡中的當前丟失率進行某種提前補償。
在另一個變型中,伺服器接收關於緩衝器有多滿的信息,並執行傳輸速率的分步或連續變化,以防止緩衝器溢出。有很多可以應用於這種情況的算法,例如,數據速率反向地與緩衝器的填充百分比相關(即百分比越大,數據速率越低),或者通過使用門限技術實現分步變化(例如,在一個簡單的情況中如果緩衝器<x%滿,則以第一較高的速率發送,否則如果緩衝器>x%滿,則以第二較低的速率發送。可同樣地設想具有多於一個門限的算法)。可通過控制源數據的編碼以給出較高的(較高質量)或較低的(較差質量)的編碼速率,實現傳輸速率的分步變化。
在第四變型中,使用在步驟102計算的max_rate值。這裡,伺服器從客戶機接收解碼速率信息,並且發送速率計算器46首先檢查接收到的解碼速率是否小於所計算的max_rate。如果是,傳輸速率被設置為與客戶機端的解碼速率相同,否則傳輸速率被設置為所計算的最大傳輸速率。通過考慮如上所述的所計算的最大傳輸速率,可以體現網絡擁塞,以及使數據流具有TCP友好性。
毫無疑問,預期的讀者應當理解可以通過從客戶機接收到的可用的信息,使用其它更為複雜的速率控制算法,並且上面的例子僅意在作為非限制性的示例。然而,本發明第一實施例的實質方面在於把與接收機緩衝器相關的反饋數據發送到伺服器,並將其用於伺服器以控制它的傳輸速率以防止在客戶機端的緩衝器溢出。毫無疑問,預期的讀者將明白除了上面那些概述方案之外的其它的方案也可用於實現此目的。
返回圖6,在為每個流計算發送速率後,在步驟S106,伺服器中的網絡連接47以所計算的發送速率將一個或更多個流作為獨立的UDP數據流發送。應當注意,當連續傳輸該一個或更多個流時,圖11的步驟,儘管是順序地顯示的,實際上是並行地執行的,使得實際上一旦已計算出新的傳輸速率值,這些流的傳輸速率就被更新。然而,在執行新的計算時,繼續以以前計算的速率發送所述流。
在圖6的步驟S108,伺服器計算機40從所述或每個客戶機計算機50接收反饋數據,其在第一實施例中是執行步驟S102和S104的最大傳輸速率和數據流傳輸速率計算所需的數據。特別地對於每個流,伺服器接收數據,該數據用以通知它在客戶機端當前正在經歷的往返時間、在客戶機端的分組的丟失率、客戶機中緩衝器的各自的解碼速率、以及在客戶機端每個數據流的數據接收速率。這些數量值通過TCP連接從所述或每個客戶機被傳回伺服器。應當注意,為每個所發送的數據流,從所述或每個客戶機傳回這些值。
一旦從客戶機接收到更新的反饋數據,就將其傳遞到伺服器中的發送速率計算器46,發送速率計算器46再一次執行步驟S102和S104中的計算,把結果傳遞到網絡連接47,網絡連接47把這些流與新計算的發送速率一起發送。此過程在所述或每個客戶機的會話期間是連續的。
現在將考慮如在圖7中陳述的第一實施例中的客戶機計算機之一的操作來討論從所述或每個客戶機計算機傳回到伺服器的數量值的計算。參照圖7,在步驟S101,客戶機計算機50中的網絡連接57通過網絡接收一個或更多個作為各個UDP傳輸的數據流。如上所述,網絡連接57對來自各個UDP流的編碼數據取消分組化,並將編碼數據傳遞到緩衝器控制器59,用於緩衝和後續解碼。
在包含音頻或視頻數據的單個流的情況下,由緩衝器控制器59接收的編碼數據被分別存儲在音頻緩衝器54或視頻緩衝器52之一中。在步驟S103,緩衝器控制器59分別詢問音頻緩衝器54和視頻緩衝器52,以便確定每個緩衝器的狀態。特別地,緩衝器控制器確定關於每個緩衝器有多滿,以及音頻和視頻解碼器53和55分別以多快的速率對每個緩衝器中的編碼音頻和視頻信息進行解碼的信息。這表示了音頻和視頻緩衝器將以多快的速度被各自的解碼器清空。一旦緩衝器控制器確定了每個緩衝器的狀態,所確定的信息被傳遞到反饋發射機58以封裝成一個控制消息,以傳回伺服器計算機40。
除了把編碼音頻和視頻數據傳遞到緩衝器控制器之外,網絡連接57還把涉及接收到的數據的信息傳遞到量度計算器56,以使量度計算器56能夠計算由反饋發射機58傳回伺服器的定量的量度值。因此,在步驟S105、S107和S109,量度計算器分別為每個流計算往返時間(RTT)、丟失事件率、和每個流接收到的數據速率,在伺服器端需要所有這些數值作為等式1和2的輸入,用於計算每個數據流可用的最大傳輸速率。應當注意,為每個接收到的數據流分別計算這三個量度,以為每個接收到的數據流提供一組量度。接下來依次討論這些數量值的每一個的計算。
關於RTT,如先前所述的,RTT是分組從一計算機通過網絡傳送到另一計算機,並返回所需時間的度量。因此RTT是在客戶機計算機的量度計算器56中測量的某個值,但是為了防止振蕩,優選地如下進行計算RTT=0.2*RTTsample+0.8*RTTmean等式4RTTsample是量度計算器最近測量的RTT度量,然而RTTmean值是所有以前RTT度量的均值。
在步驟S107中,量度計算器56計算在客戶機計算機處經歷的每個流的丟失事件率。丟失事件率的計算是量度計算器56所要執行的最複雜的計算,並且依賴於根據到達分組的序列號檢測UPD流中丟失的分組。由網絡連接基於到達分組中的分組序列號的檢測來執行此丟失分組的檢測,其中如果至少有三個具有高於所期望的分組的序列號的分組到達了接收機,而所期望的分組還沒有到達,那麼所期望的分組被定義為丟失。因此,如果預期具有序列號5的分組,則在隨後將要到達的分組是分組6、分組7、隨後是分組5的情況下,不把分組5定義為丟失。但是,如果按順序到達的下三個分組是分組7、分組8、和分組6,則因為到達的三個分組中的每一個都具有高於期望分組5的序列號,所以將分組5定義為丟失。
如上已經規定了如何將分組定義為丟失,然後量度計算器定義被稱為丟失事件的另一個現象。在優選實施例中,丟失事件定義為在任何RTT度量中檢測到一個或更多個分組的丟失。因此,如果在任何特定的RTT度量中,序號為4、6、7、9、10、11的分組到達,則儘管分組5和8已經丟失,但實際上在所測量的特定RTT中僅存在一個丟失事件。此方法解決了在網絡中同時丟失多個分組的問題,而不會過度影響總丟失事件速率的計算。
一旦如上所述檢測到丟失事件,在步驟S74,量度計算器56計算最近的丟失間隔,該丟失間隔是在當前檢測的丟失事件和前一次檢測到的丟失事件之間接收到的分組數。量度計算器存儲最新計算的丟失間隔,以及n個最近計算的丟失間隔,用於應用在加權濾波器中,已給出一個平均丟失間隔值。如下計算平均丟失間隔值。
參照圖9和10,圖10說明了構成量度計算器和用於計算丟失率的一些功能組件。更具體而言,丟失事件檢測器562如前述檢測丟失事件,並將最近計算的丟失間隔輸出至第一多個串聯的丟失間隔緩衝器564。當一個新的丟失間隔被輸入至第一串聯緩衝器564時,保留在第一緩衝器中的前一次的丟失間隔值被移位至下一個緩衝器,後者的值被移位至串聯緩衝器中的下一個緩衝器,等等,如在圖10中顯示。這樣,n個最近的丟失間隔值被存儲,用於在計算平均丟失間隔值時使用。每個存儲在移位緩衝器564中的丟失間隔值分別與時間加權丟失間隔係數A0至An相乘,這些時間加權丟失間隔係數被存儲在相應的係數存儲器656中。根據圖9中顯示的時間加權係數函數導出係數A0到An的各個值,這保證了平均丟失間隔的計算在更大程度上依賴於最近丟失間隔而不是根據先前計算存儲的歷史丟失間隔。應用這種加權濾波器的目的是保證所計算的丟失事件速率平滑地發生變化。
在加法器566中將加權丟失時間間隔計算的結果相加,將其結果傳遞至反相器(inverter)568以計算丟失率,該丟失率是由加法器566計算的平均丟失間隔的倒數。這樣計算的丟失率隨後被傳遞至反饋發射機58,用於如先前所述傳輸到伺服器計算機。
量度計算器56也執行對接收到的數據速率的計算,該接收到的數據速率是在RTT秒中由客戶機在數據流中接收到的比特數量的直接度量。與在任何時間在每個流中接收到的數據量相關的信息從網絡連接57傳遞至量度計算器56,用於計算每個流的接收速率。隨後所計算的每個流的接收速率被傳遞至反饋發射機58,用於如先前所述傳輸回伺服器計算機。
一旦反饋發射機58已經從緩衝器控制器59和量度計算器56接收到要求的信息,它就將該信息分組化成適合於通過網絡以TCP連接30傳輸的形式。
應當注意,在圖7的流程圖中顯示的步驟S101到S1013僅用於說明的目的,實際上所述或每個客戶機計算機50可以以任何期望的順序執行這些步驟中的任何一個或所有步驟。此外,還可以並行地執行這些步驟中的幾個,例如緩衝器控制器59執行的音頻和視頻緩衝器的檢查和度量可以與由量度計算器56執行的計算並行進行。但是請注意,在第一實施例中接收機必須已經實際上接收到了音頻和視頻數據流中的數據,以得到計算發送回伺服器計算機的數量值所需的信息。
在伺服器中,由網絡控制器48和網絡連接47一起通過根據計算的速率把分組實際釋放到網絡上來控制所述或每個流的實際傳輸速率。但是在數據流中的視頻數據傳輸的特定情況下,計算的速率可能不能滿足所用的特殊編碼速率的傳輸速率需求。在此情況下,如果有跡象表明所計算的用於視頻流的傳輸速率不得不下降,以使得以目前的視頻編碼速率不可能在視頻流中發送足夠的數據以防止接收機的視頻緩衝器被清空,則網絡控制器48控制網絡連接47採用來自低速率編碼視頻緩衝器43的編碼視頻數據,該編碼視頻數據採用更低的質量進行編碼,其更適合於以更低的計算傳輸速率通過網絡傳輸。在接收機中,低速率編碼視頻數據被置於視頻緩衝器中,並且視頻解碼器55檢測到該低編碼速率,並把它自己的解碼速率改變為低速率,這減小了從視頻緩衝器中讀取視頻數據的速率。這樣的措施防止了視頻緩衝器完全清空,從而使得能夠在客戶機計算機上連續進行視頻再現。
第二實施例現在將參照圖8到13說明本發明第二實施例的操作。本發明第二實施例具體涉及把多於一個的數據流發送到相同的客戶機,並具體涉及在獨立的音頻和視頻數據流中同時發送實時音頻和視頻數據。此外,與第一實施例一樣,第二實施例也涉及以閉環方式控制流的傳輸速率。
圖11是根據本發明第二實施例的由伺服器計算機40執行的步驟的流程圖。首先,在步驟2,發送速率計算器46計算可用於將從伺服器計算機40發送的所有各個的數據流的總帶寬。該值total_rate表示傳輸速率的上限,當每個獨立的數據流各自的傳輸速率相加在一起時,不能超過該上限。根據下列規則計算total_rate值。
以在第一實施例中一樣的方式來考慮在第二實施例中應用的每個流的傳輸速率的計算,因此分別對每個流應用如先前在第一實施例中描述的等式1和2,以獲得每一個流的max_rate值,代表音頻和視頻數據流中的每一個的最大單獨傳輸速率。但是,在本實施例中,我們關注於多個流的傳輸,因此必須對每個將要發送的數據流分別執行上述的計算。也就是說,對每個流(即第二實施例中的音頻和視頻流)都依次應用等式1和2,從而得到每個流的max_rate值。這樣得到的用於每個流的各個值隨後被相加以給出total_rate值,該值是可用於所有的流以提供TCP友好性的總帶寬,並由此考慮了可能的網絡擁塞。
在可用的總傳輸速率的計算之後,在步驟S4,伺服器中的發送速率計算器46計算每個數據流各自的傳輸速率,該速率在第二實施例中是音頻UDP流的傳輸速率(audio_rate)和視頻UDP流的傳輸速率(video_rate)。audio_rate和video_rate的值如下計算。
如先前參照圖3所述,音頻數據以與視頻數據分離的UDP流發送,視頻數據通過另一個UDP流發送,因此存在兩個獨立的UDP連接,每一個UDP連接都用於一個流。雖然可以認為每個流在競爭相同的網絡帶寬,但實際上不是這樣,因為不可能在相同的時刻發送視頻和音頻數據分組。因此,在兩個數據流是音頻和視頻流的情況下,先前計算的總發送比特率可以等於音頻發送比特率加上視頻發送比特率。此外,如將在下文中說明的,在第二實施例中,伺服器從客戶機接收關於視頻和音頻緩衝器狀態,以及視頻和音頻分組解碼速率的信息。因此,可以控制音頻和視頻數據流的發送速率,以控制客戶機中的緩衝器的填充速率。其如下實現。
首先,定義參數filling_rate_audio和filling_rate_video,它們分別是接收機中的音頻和視頻緩衝器填充數據的速率。在本實施例中filling_rate_audio=audio_rate-decoding_audio_rate等式5以及filling_rate_video=video_rate-decoding_video_rate等式6
假設需要控制接收機中的緩衝器,以便以比率x∶y填充緩衝器,則x(filling_rate_audio)=y(filling_rate_video)等式7以及total_rate=audio_rate+video_rate 等式8執行適當的代入,並分別解出audio_rate和video_rate,那麼得出audio_rate=y(total_rate-decoding_video_rate)+x(decoding_audio_rate)x+y]]>等式9video_rate=x(total_rate-decoding_audio_rate)+y(decoding_video_rate)x+y]]>等式10這樣,從上述很明顯看出,可以依據在接收機中的各個音頻和視頻解碼速率,控制各個音頻發送速率和視頻發送速率,以協調一個流與另一個流之間的比特率。此外,以上應當注意到,參數total_rate是先前應用等式1和2計算出來的值,以給出可用於所有數據流的傳輸的總可用帶寬,即,total_rate=total_rate_stream_1+total_rate_stream_2+……+total_rate_stream_n其中,n是同時發送的數據流的數量。
返回到圖11,在計算用於每個流的音頻和視頻發送速率之後,在步驟S6,伺服器中的網絡連接47採用計算的音頻和視頻發送速率,以獨立的UDP數據流發送音頻和視頻流。應當注意,當連續發送音頻和視頻流時,圖11的步驟,雖然是順序地顯示的,但是實際上是並行執行的,使得實際上一旦已經計算出了音頻和視頻傳輸速率的新值,就立即更新音頻和視頻流的傳輸速率。但是,當在執行新的計算時,這些流繼續以先前計算的速率發送。
圖13說明了當發送與由圖2中描繪的TCP連接發送的相同的數據時,根據本發明實施例控制的一個數據流的測量的傳輸速率的曲線。從圖13中可以看出,在會話開始時在經歷了初始的瞬態變化之後,流的傳輸速率穩定了,並隨著時間的過去以相對小的變化繼續。此外,當與在圖2中顯示的TCP連接所經歷的傳輸速率相比較時,將看到實現了一個幾乎與TCP相等的平均吞吐量,但是沒有由於TCP的乘法性減少控制算法所導致的大的傳輸速率變化。該提供了關於時間的平滑傳輸速率的特性使得本發明特別適合用於發送需要連續流的數據。
在圖11的步驟S8,伺服器40從客戶機計算機50接收反饋數據,該反饋數據在優選實施例中是執行步驟S2和S4的總傳輸速率和數據流傳輸速率計算所需的數據。具體地說,對每一個數據流,伺服器接收一數據,該數據用於通知它當前在客戶機正在經歷的往返時間、在客戶機的分組丟失率、客戶機中音頻和視頻緩衝器各自的解碼速率、以及在客戶機的各數據流的數據接收速率。這些數量值通過TCP連接從客戶機發送回伺服器。
一旦已以客戶機接收到了更新的反饋數據,該數據被傳遞到伺服器中的發送速率計算器46,發送速率計算器再一次執行步驟S2和S4的計算,將結果傳遞到網絡連接47,網絡連接發送具有新計算的發送速率的音頻和視頻流。該過程在客戶機會話期間持續。
現在將相對於在圖12中闡明的第二實施例中的客戶機計算機的操作,討論從客戶機計算機傳遞迴伺服器的數量值的計算。參照圖12,在步驟S1,客戶機計算機50中的網絡連接57把獨立的音頻和視頻數據流作為通過網絡的各個UDP傳輸接收。如先前所述,網絡連接57解除來自各個UDP流的編碼音頻和視頻數據的分組化,並且將編碼視頻和音頻數據傳遞至緩衝器控制器59,用於緩衝和隨後的解碼。
由緩衝器控制器59接收的已編碼的音頻和視頻被分別存儲在音頻緩衝器54和視頻緩衝器52中。在步驟S3,緩衝器控制器59分別詢問音頻緩衝器54和視頻緩衝器52,以便確定每個緩衝器的狀態。特別地,緩衝器控制器確定關於每個緩衝器有多滿,以及音頻和視頻解碼器53和55分別以多快的速率對每個緩衝器中的編碼音頻和視頻信息進行解碼的信息。這表示了音頻和視頻緩衝器將以多快的速度被各自的解碼器清空。一旦緩衝器控制器確定了每個緩衝器的狀態,所確定的信息就被傳遞到反饋發射機58以封裝成一個控制消息,以傳回伺服器計算機40。
除了把編碼音頻和視頻數據傳遞到緩衝器控制器之外,網絡連接57還把與接收到的數據相關的信息傳遞到量度計算器56,以允許量度計算器56計算由反饋發射機58傳回伺服器的定量的量度值。因此,在步驟S5,S7和S9,量度計算器分別為每個流計算往返時間(RTT)、丟失事件速率、和每個流的接收數據速率,在伺服器端需要所有這些數值作為等式1和2的輸入,用於計算每個數據流的可用傳輸速率。應當注意,為每個接收到的數據流分別計算這三個量度,以使得為每個接收到的數據流提供一組量度。用於每個流的這些量度中的每一個的計算都與先前在第一實施例中說明的完全一樣,並因此這裡不再重複。
一旦反饋發射機58已經從緩衝器控制器59和量度計算器56接收到需要的信息,它就將該信息分組化成適合於通過網絡以TCP連接30傳輸的形式。
應當注意,在圖12的流程圖中顯示的步驟S1到S13僅用於說明的目的,實際上客戶機計算機50可以以任何期望的順序執行這些步驟中的任何一個或所有步驟。此外,還可以並行地執行這些步驟中的幾個,例如緩衝器控制器59執行的音頻和視頻緩衝器的檢查和度量可以與由量度計算器56執行的計算並行進行。但是請注意,在第二實施例中接收機必須已經實際上接收到了在音頻和視頻數據流中的數據,以得到計算發送回伺服器計算機的數量值所需的信息。
在伺服器中,由網絡控制器48和網絡連接47一起通過根據計算的速率把分組實際釋放到網絡上來控制每個流的實際傳輸速率。但是在第二實施例中描述的音頻和視頻數據傳輸的特定情況下,如同在第一實施例中一樣,對於視頻數據,特別是所計算的傳輸速率可能不能滿足特殊編碼速率的傳輸速率需求。在這樣的情況下,如果有跡象表明計算的用於視頻流的傳輸速率不得不下降,以使得以目前的視頻編碼速率不可能在視頻流中發送足夠的數據以防止接收機的視頻緩衝器被清空,則網絡控制器48控制網絡連接47採用來自低速率編碼視頻緩衝器43的編碼視頻數據,該編碼視頻數據採用了更低的質量進行編碼,其更適合於以更低的計算傳輸速率通過網絡傳輸。在接收機中,將低速率編碼視頻數據被置於視頻緩衝器中,並且視頻解碼器55檢測到該低編碼速率,並把它自己的解碼速率改變為低速率,這樣減小了從視頻緩衝器中讀取視頻數據的速率。這樣的措施防止了視頻緩衝器完全清空,從而使得能夠在客戶機計算機上連續進行視頻再現。
應當注意到,由於本發明的第二實施例是致力於將音頻和視頻數據作為多個數據流發送的,則在第二實施例中,用於設定每一個流各自的比特率的標準被選擇為反映音頻和視頻數據的特殊需要,因為它必須在接收機中被解碼以再現原始的音頻和視頻信號。但是,本發明不限於音頻和視頻數據作為多個數據流的傳輸,實際上幾乎任何類型的需要以一個或更多個流發送的數據類型都可以使用本發明進行發送。
此外,關於在本發明中可以使用的總的最大傳輸帶寬的計算,在優選實施例中,我們使用了一種試圖模擬由標準TCP連接獲得的平均吞吐量的傳輸速率公式。但是,應當理解該特定的公式和使用該公式的原因都不是意在限制本發明,實際上,可以使用任何合適的傳輸速率公式計算隨後用於計算各個流傳輸速率的可用最大傳輸速率。
更特別的,並作為一個示例,在將通過一個網際網路協議網絡進行傳輸的情況下,則可以使用其它提供TCP友好傳輸速率的傳輸速率公式,以替代在本特定實施例中使用的公式,在本領域中已知有各種其它TCP友好的公式。此外,當使用需要不同的參數作為輸入的不同公式時,則應當將所述或每一個客戶機計算機設置用來計算和提供伺服器所需要的任何參數。在不使用IP網絡的情況下,則所選擇的傳輸速率公式應當優選地是對於使用在感興趣的特定網絡上的任何傳輸協議有意義的公式,並且其優選地提供有意義的傳輸速率控制,以考慮例如網絡擁塞,以及所導致的分組丟失等等的因素。在本發明的其它實施例中,對於本領域的技術人員應當明白,什麼傳輸速率公式是適合的取決於本發明的特定應用領域。
第三實施例現在將說明本發明的第三實施例。第三實施例具體涉及把一個或更多個獨立的流發送到相同的或不同的客戶機,並以開環的方式控制所述或每個流的傳輸速率。
先前討論了與閉環控制系統相關的實施例,其中在伺服器使用從客戶機接收的信息,以控制傳輸速率。但是在第三實施例中,通過伺服器記錄它在所述或每個數據流中發送至客戶機的分組,以及使用先驗知識估算在客戶機緩衝器中還有多少空間,來執行開環控制。所述先驗知識包括客戶機緩衝器大小(S)(字節)、在客戶機開始從緩衝器中讀取所接收的數據之前客戶機將進行的靜態緩衝的量、以及將從緩衝器中讀取數據的速率。伺服器可以保持一個經常性更新的有關客戶機在其緩衝器中還剩多少空間的估算,並相應地控制傳輸速率。
更特別的,在第三實施例中,發送速率計算器46已經在其中存儲了與所述或每個客戶機的下列屬性有關的信息a)在開始解碼之前,客戶機將進行多少靜態緩衝(T秒);以及b)客戶機的緩衝器有多少字節的大小(S字節)此外,伺服器中的網絡連接47監測與以下有關的信息,並將其傳遞到發送速率計算器c)在特定時間t發送的數據的原始解碼速率(d(t)字節/秒);以及d)在該時間t數據的傳輸速率(tx(t)字節/秒)網絡連接通過記錄發送到客戶機的每一個分組,計算客戶機中的解碼速率。由於每一個分組上具有一個時間戳,並且在伺服器中的網絡連接也知道每一個分組有多長的時間,所以能夠計算客戶機應當從它的緩衝器中消耗所接收分組時的分段每秒字節數。網絡連接應當也知道傳輸速率,並且可以簡單地隨時間對其進行登記以保持一個它的記錄。網絡連接將與解碼速率和過去的傳輸速率相關的信息傳遞至發送速率計算器。
已經確定和接收了上述變量之後,發送速率計算器可以通過應用下列等式確定在任何時間t在緩衝器中的剩餘空間(space)的字節數
space=S-0ttx(t)dt]]>對於t<Tspace=S-0ttx(t)dt-tTd(t)dt]]>對於t≥T 等式11使用上述等式,不需要來自客戶機的有關緩衝器填充狀態或所接收的數據的解碼速率(從接收機緩衝器中讀取的速率)的反饋,但是要求伺服器提前知道T的值(靜態緩衝時間——在客戶機開始從緩衝器中讀取數據之前第一次接收到流時,客戶機花了多少時間緩衝數據)以及S的值(客戶機緩衝器的字節大小)。但是通過連續地執行上述計算,伺服器可以在流傳輸期間一直保持客戶機的緩衝器中剩餘的空間量的一個估算,只要客戶機做了伺服器認為它將要做的事(即,直到開始後T秒才開始解碼,並且具有緩衝器大小S)。當然,如果發生了另外的情況(即用戶按了暫停),客戶機將必須發信號,以使伺服器重新計算。可以如先前關於第一實施例和第二實施例中所描述的那樣通過TCP信道發這種信號。此外,如果發生了任何分組丟失,並且客戶機將此情況返回,則可以通過該分組的大小來調整緩衝器的填充程度。
當然,當TS未知時,或者是動態時,則需要當前緩衝器填充狀態的反饋,如先前在第一實施例中說明的。
當伺服器傳輸多個流時,為每個流執行上面的處理步驟,以為每個流分別確定每個相應的緩衝器的剩餘空間。
上面的方法確定了在傳輸期間的任何特定時刻伺服器認為客戶機在其緩衝器中還有多少字節空間的估計space。然後有必要使用此信息實際控制所述或每個流的傳輸速率以防止緩衝器溢出。在第三實施例中,如第一實施例一樣,這可以通過很多方式實現。
在第一變型中,伺服器可以使用該空間信息執行傳輸速率的分步或連續變化,以防止緩衝器溢出。有很多可以應用於這種情況的算法,例如,數據速率反向地與緩衝器的填充百分比相關(即百分比越大,數據速率越低),或者通過使用門限技術實現分步變化(例如,在一個簡單的情況下如果緩衝器<x%滿,則以第一較高的速率發送,否則如果緩衝器>x%滿,則以第二較低的速率發送。可同樣地設想具有多於一個門限的算法)。可通過控制源數據的編碼以給出較高的(較高質量)或較低的(較差質量)編碼速率來實現傳輸速率的分步變化。
在另一個變型中,伺服器可以在當前網絡狀態下以儘可能快的速率發送,以填充客戶機的緩衝器(如伺服器所估算的),並隨後停止發送直到緩衝器被清空到一個特定的水平(又如伺服器所估算的)。在此變型中,數據可以以突髮型(burst-type)的方式作為一系列的流被發送,並且將不會實現通常對流式多媒體有利的穩態傳輸,但是這種突髮型傳輸在一些可能的網絡環境中具有優勢。
毫無疑問,預期的讀者應當理解可以與由伺服器確定的空間信息一起,使用其它更為複雜的速率控制算法,並且上面的示例僅意在作為非限制性的示例。然而,本發明第三實施例的實質方面在於,伺服器估算接收機緩衝器中的剩餘空間,並在伺服器中使用該信息以控制它的傳輸速率,以防止客戶機的緩衝器溢出。毫無疑問,預期的讀者將明白除了上面那些概述之外的其它的方案也可用於實現此目的。
也應注意,在第三實施例中也可以計算最大傳輸速率,並將所計算的最大速率作為上限應用於傳輸速率控制。最大傳輸速率的計算與先前關於第一和第二實施例所描述的是相同的。它在速率控制算法中的應用也相似,因為所計算的最大速率可作為最大上限簡單地應用於任何所選擇的速率控制算法,傳輸速率不能超過該上限。另選地,在進一步的變型中,將多個流發送到相同的客戶機,傳輸速率控制可以如在第二實施例中所描述的,區別之處在於在速率控制等式中所使用的解碼速率值是在伺服器中監測的值,而不是從接收機傳遞迴的值。
權利要求
1.一種通過網絡傳輸數據的方法,包括以下步驟採用數據流的形式以一數據傳輸速率把數據發送到網絡上以發送到接收機;確定所述接收機中的數據緩衝器的至少一個或更多個特徵,在該數據緩衝器中存儲了接收到的數據;以及響應於所確定的一個或更多個特徵來控制所述數據流的數據傳輸速率,以防止所述接收機中的所述數據緩衝器溢出。
2.根據權利要求1的方法,其中所述確定步驟進一步包括以下步驟監測所述數據流中已經發送到所述接收機的數據量;存儲一個或更多個與所述接收機緩衝器相關的參數;以及基於所監測的數據以及所存儲的參數,估算所述一個或更多個特徵;其中以一種不需重複地從所述接收機反饋所述接收機數據緩衝器的所述一個或更多個特徵的開環方式執行估算步驟。
3.根據權利要求1的方法,其中所述確定步驟進一步包括以下步驟從所述接收機接收表示所述接收機數據緩衝器的所述一個或更多個特徵的反饋數據;其中所述控制步驟響應於接收到的反饋數據控制所述數據傳輸速率。
4.根據前述任何一個權利要求的方法,其中所述一個或更多個特徵至少包括在所述接收機接收到的流中發送的數據的解碼速率;並進一步控制所述數據流的傳輸速率,使該傳輸速率至少作為該接收機解碼速率的函數。
5.根據前述任何一個權利要求的方法,其中所述一個或更多個特徵包括表示所述緩衝器剩餘容量的信息。
6.根據前述任何一個權利要求的方法,進一步包括計算數據流應當被發送的最大傳輸速率,所述控制步驟被進一步設置為將傳輸比特率控制在所計算的最大比特率之內。
7.根據權利要求6的方法,其中計算所述最大傳輸速率以給出通過網絡的平均數據吞吐量,該數據吞吐量類似於使用傳輸控制協議(TCP)而獲得的數據吞吐量。
8.根據權利要求6或7中的任何一個的方法,其中所述計算步驟進一步包括以下步驟從所述接收機接收反饋數據,該反饋數據表示往返時間值(RTT)、丟失率值、和/或所述接收機的接收速率值中的一個或更多個;以及計算作為由該反饋數據表示的一個或更多個接收到的值的函數的所述最大傳輸速率;其中所述往返時間是數據從一發射機傳送到所述接收機並回到所述發射機所需的時間的度量;所述丟失率值是發送到所述接收機的丟失的數據量的度量;而所述接收速率值是在所述往返時間內接收到的比特數。
9.根據權利要求8的方法,其中所述最大傳輸速率根據下式計算bit_rate_per_stream=c(data_medium_sizetRTTlossrate)]]>其中maximum_rate_stream=min(bit_rate_per_stream,2×Receiving_Rate)其中data_medium_size是所述流中通過網絡發送的數據的平均大小的度量,並且c是在0.87≤c≤1.31範圍內的一個常數。
10.根據前述任何一個權利要求的方法,進一步包括以下步驟將多個數據流發送到網絡上,以將其傳輸到一個或更多個接收機,每一個流以各自的數據傳輸速率傳輸;對每一個流確定存儲了在每個流中接收到的數據的各個數據緩衝器的至少所述一個或更多個特徵;以及響應於接收到的反饋數據控制每個流各自的數據傳輸速率,以防止所述數據緩衝器溢出。
11.根據權利要求10的方法,當從屬於權利要求6至9中的任何一個時,其中對於發送至同一個接收機的兩個流,根據下列等式控制每個流各自的數據傳輸速率sr_str_1=y(tr-dr_str2)+x(dr_str1)x+y]]>sr_str_2=x(tr-dr_str1)+y(dr_str2)x+y]]>其中相關的變量如下Sr_str_1第一數據流的發送速率;Sr_str_2第二數據流的發送速率;tr為每個流計算的最大傳輸速率的總和;dr_str1第一數據流中的數據在接收機中的解碼速率;dr_str2第二數據流中的數據在接收機中的解碼速率;x在從第一數據流接收數據的接收機中的第一緩衝器的填充速率的係數;以及y在從第二數據流接收數據的接收機中的第二緩衝器的填充速率的係數。
12.一種在網絡上產生一個或更多個數據流的方法,包括根據權利要求1至11中的任何一個的數據傳輸方法。
13.一種用於通過網絡傳輸數據的系統,包括數據流傳輸裝置,用於在數據流中以一數據傳輸比特率把數據發送到網絡上以發送到接收機;特徵確定裝置,用於確定所述接收機中存儲了接收到的數據的數據緩衝器的至少一個或更多個特徵;以及數據流控制裝置,用於響應於所確定的特徵來控制所述數據流的所述數據傳輸速率,以防止所述接收機中的所述數據緩衝器溢出。
14.根據權利要求13的系統,其中所述特徵確定裝置進一步包括監測裝置,用於監測所述數據流中已經發送到所述接收機的數據量;存儲裝置,用於存儲一個或更多個與所述接收機緩衝器相關的參數;以及估算裝置,用於基於所監測的數據以及所存儲的參數,估算所述一個或更多個特徵;其中所述估算裝置可操作為以一種不需重複地從接收機反饋接收機數據緩衝器的所述一個或更多個特徵的開環方式執行該估算。
15.根據權利要求13的系統,其中所述特徵確定裝置進一步包括數據接收裝置,用於從所述接收機接收表示所述接收機數據緩衝器的所述一個或更多個特徵的反饋數據;其中所述數據流控制裝置進一步可操作為響應於接收到的反饋數據控制所述數據傳輸速率。
16.根據權利要求13至15中的任何一個權利要求的系統,其中所述一個或更多個特徵至少包括在所述接收機接收到的流中發送的數據的解碼速率;並且所述數據流控制裝置進一步可操作為控制所述數據流的傳輸速率,使其至少作為該接收機解碼速率的函數。
17.根據權利要求13至16的系統,其中所述一個或更多個特徵包括表示所述緩衝器的剩餘容量的信息。
18.根據權利要求13至17中的任何一個權利要求的系統,進一步包括計算裝置,用於計算所述數據流應當被發送的最大傳輸速率,所述數據流控制裝置進一步可操作為將傳輸比特率控制在所計算的最大比特率之內。
19.根據權利要求18的系統,其中所述計算裝置可進一步操作為計算所述最大傳輸速率以給出通過網絡的平均數據吞吐量,該數據吞吐量類似於使用傳輸控制協議(TCP)而獲得的數據吞吐量。
20.根據權利要求18或19中的任何一個的系統,其中所述數據接收裝置被進一步設置為從所述接收機接收反饋數據,該反饋數據表示往返時間值(RTT)、丟失率值、和/或所述接收機的接收速率值中的一個或更多個;並且所述計算裝置被進一步設置為計算所述最大傳輸速率,使所述最大傳輸速率作為由該反饋數據表示的一個或更多個接收到的值的函數;其中所述往返時間是數據從一發射機傳送到所述接收機並回到所述發射機所需的時間的度量;所述丟失率值是發送到所述接收機的丟失的數據量的度量;而所述接收速率值是在所述往返時間內接收到的比特數。
21.根據權利要求20的系統,其中所述最大傳輸速率根據下式計算bit_rate_per_stream=c(data_madium_sizetRTTlossrate)]]>其中maximum_rate_stream=min(bit_rate_per_stream,2×Receiving_Rate)其中data_medium_size是所述流中通過網絡發送的數據的平均大小的度量,並且c是在0.87≤c≤1.31範圍內的一個常數。
22.根據權利要求13至21中的任何一個權利要求的系統,包括用於將多個數據流發送到網絡上以將其傳輸到一個或更多個接收機的裝置,每一個所述數據流以各自的數據傳輸速率傳輸;用於對每一個流確定存儲了在每個流中接收到的數據的各個數據緩衝器的至少所述一個或更多個特徵的裝置;以及用於響應於接收到的反饋數據控制每個流各自的數據傳輸速率以防止所述數據緩衝器溢出的裝置。
23.根據權利要求22的系統,當從屬於權利要求18至21中的任何一個時,其中對於發送至同一個接收機的兩個流,根據下列等式控制每個流各自的數據傳輸速率sr_str_1=y(tr-dr_str2)+x(dr_str1)x+y]]>sr_str_2=x(tr-dr_str1)+y(dr_str2)x+y]]>其中相關的變量如下Sr_str_1第一數據流的發送速率;Sr_str_2第二數據流的發送速率;tr為每個流計算的最大傳輸速率的總和;dr_str1第一數據流中的數據在接收機中的解碼速率;dr_str2第二數據流中的數據在接收機中的解碼速率;x在從第一數據流接收數據的接收機中的第一緩衝器的填充速率的係數;以及y在從第二數據流接收數據的接收機中的第二緩衝器的填充速率的係數。
24.一種存儲電腦程式的計算機可讀存儲介質,當該電腦程式在一計算機上運行時,其控制該計算機執行根據權利要求1至12中的任何一個的方法。
25.一種從網絡中接收數據的方法,該數據已經根據權利要求3或從屬於權利要求3時的權利要求4到11中的任何一個的傳輸方法發送,或者該數據已經由權利要求15或從屬於權利要求15時的權利要求16到23中的任何一個的傳輸系統發送,該方法包括以下步驟接收以一數據傳輸速率傳輸的數據流;將接收到的數據傳遞到數據緩衝器,以在其中緩衝;測量所述數據緩衝器的至少一個或更多個特徵;以及將所測量的特徵發送到一發射機,以用於計算從該發射機發送的數據流的傳輸速率。
26.根據權利要求25的方法,進一步包括以下步驟以一解碼速率對所述數據緩衝器中的數據進行解碼;其中將所述數據解碼速率作為所測量的多個特徵中的至少一個發送到所述發射機。
27.根據權利要求25或26的方法,其中所述一個或更多個特徵包括表示所述緩衝器的剩餘容量的信息。
28.根據權利要求25至27中的任何一個權利要求的方法,進一步包括計算往返時間值(RTT)、丟失率值、和/或接收速率值中的一個或更多個,並且將所計算的值發送回所述發射機;其中所述往返時間是數據從一發射機傳送到所述接收機並回到所述發射機所需的時間的度量;所述丟失率值是發送到所述接收機的丟失的數據量的度量;而所述接收速率值是在所述往返時間內由接收機接收到的比特數。
29.根據權利要求28的方法,其中使用n個最近丟失間隔的加權濾波計算所述丟失率,該丟失間隔為在兩個丟失事件之間接收到的數據輸出。
30.一種從網絡中接收數據的系統,該數據已經根據權利要求3或從屬於權利要求3時的權利要求4至11中的任何一個的傳輸方法發送,或者該數據已經由權利要求15或從屬於權利要求15時的權利要求16至23中的任何一個的傳輸系統發送,該方法包括以下步驟數據接收裝置,用於接收以一數據傳輸速率傳輸的數據流;數據總線裝置,用於將接收到的數據傳遞到數據緩衝器,以在其中緩衝;緩衝器監測裝置,用於測量所述數據緩衝器的至少一個或更多個特徵;以及數據傳輸裝置,用於將所測量的特徵發送到一發射機,以用於計算從該發射機發送的數據流的傳輸速率。
31.根據權利要求30的系統,進一步包括解碼裝置,用於以一解碼速率對所述緩衝器中的數據進行解碼;其中將所述數據解碼速率作為所測量的多個特徵中的至少一個發送到所述發射機。
32.根據權利要求30或31的系統,其中所述一個或更多個特徵包括表示所述緩衝器的剩餘容量的信息。
33.根據權利要求30至32中的任何一個權利要求的系統,進一步包括計算裝置,用於計算往返時間值(RTT)、丟失率值、和/或接收速率值中的一個或更多個;所述數據傳輸裝置進一步可操作為將所計算的值發送回所述發射機;其中所述往返時間是數據從一發射機傳送到所述接收機並回到所述發射機所需的時間的度量;所述丟失率值是發送到所述接收機的丟失的數據量的度量;而所述接收速率值是在所述往返時間內由接收機接收到的比特數。
34.根據權利要求33的系統,其中使用n個最近丟失間隔的加權濾波計算所述丟失率,該丟失間隔為在兩個丟失事件之間接收到的數據輸出。
35.一種存儲電腦程式的計算機可讀存儲介質,當該電腦程式在一計算機上運行時,其控制該計算機執行權利要求25至29的方法。
全文摘要
公開了一種數據傳輸方法和系統,其中一個或更多個數據流以各自的傳輸速率發送,控制該傳輸速率以防止接收機中的數據緩衝器溢出。在一些實施例中,在發送伺服器處接收與接收客戶機中的每一個緩衝器的狀態相關的反饋數據,並且使用該反饋數據調整發送速率已達到該效果。將表示數據解碼速率或每一個緩衝器的填充程度的信息作為反饋數據傳遞到伺服器。在其它實施例中,伺服器對緩衝器中的剩餘空間進行開環估算,並相應地控制該傳輸速率。同時也公開了一種適合於接收這些數據流的數據接收方法和系統。
文檔編號H04L12/20GK1557072SQ02818399
公開日2004年12月22日 申請日期2002年9月13日 優先權日2001年9月21日
發明者愛德華·烏爾賽斯, 愛德華 烏爾賽斯, 大衛 沃克, 馬滕·大衛·沃克 申請人:英國電訊有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀