TW201709703A - 串流封包傳輸方法 - Google Patents
串流封包傳輸方法 Download PDFInfo
- Publication number
- TW201709703A TW201709703A TW104128648A TW104128648A TW201709703A TW 201709703 A TW201709703 A TW 201709703A TW 104128648 A TW104128648 A TW 104128648A TW 104128648 A TW104128648 A TW 104128648A TW 201709703 A TW201709703 A TW 201709703A
- Authority
- TW
- Taiwan
- Prior art keywords
- source
- inertia
- packet
- value
- sources
- Prior art date
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一種串流封包傳輸方法,係實施於一傳輸網路中,且由一接收端及數個來源端以執行以下步驟,包含:由該數個來源端執行一惰性計算方程式,以根據該數個來源端各自之一往返時間及一封包遺失率,計算該數個來源端各自之一惰性值;由該接收端對該數個來源端發出傳送要求,由具有最低惰性值之該來源端下載一資料區塊中具有最小之一時序編號之該封包,藉由上述方法以提升傳輸效率。
Description
本發明係關於一種串流封包傳輸方法,尤其是可選擇傳輸品質較佳之來源端以傳輸封包之方法。
近年來,由於同儕網路技術(peer to peer,P2P)的興起,使得資料傳輸的來源端不再侷限於單一主伺服器,而可藉由多來源的架構(multi-source structure)進行資料傳輸,以提升資料傳輸的靈活性,且該技術目前更廣泛的應用於多媒體之串流傳輸中,例如PPStream、PPTV或Coolstreaming等。
在同儕網路中進行多媒體的串流傳輸時,通常係將一原始資料編碼形成數個資料區塊,且各該資料區塊具有數個封包,當一接收端接收一個或數個來源端所傳輸之該封包後,該接收端可將該數個封包組合形成該資料區塊,並將該數個資料區塊解碼為正確之該原始資料,進而完成資料傳輸作業。
然而,在同儕網路的架構中,每個來源端可能因操作環境差異而具有不同之一往返時間(Round Trip Time,RTT)及一封包遺失率(Packet Loss Rate,PLR),其中,當該來源端之往返時間較長時,即代表該來源端之傳輸速度較慢;當該來源端之封包遺失率較高時,即代表該來源端之傳輸可靠度較差。當該接收端用以接收欲即時播放之串流影像資料時,由於該串流影像資料之數個封包會依據播放時間的先後而具有不同的時序,若時序較低(距離欲播放時間越短)之封包係由往返時間較長或封
包遺失率較高之該來源端傳輸至該接收端時,可能導致該接收端無法迅速且完整的地接收時序較低之封包,當該接收端無法在播放該串流影像資料前完成資料傳輸作業時,將使該串流影像資料在播放的過程中產生延遲或停頓等情形,上述情形凸顯了習知串流封包傳輸方法具有傳輸效率不佳之問題。
有鑑於此,遂提供一種串流封包傳輸方法,以解決習知串流封包傳輸方法所具有的傳輸效率不佳的問題。
本發明之目的係提供一種串流封包傳輸方法,該串流封包傳輸方法可提升傳輸效率。
為達到前述發明目的,本發明之串流封包傳輸方法如下:
一種串流封包傳輸方法,係實施於一傳輸網路中,且由一接收端及數個來源端以執行以下步驟,包含:由該數個來源端執行一惰性計算方程式,以根據該數個來源端各自之一往返時間及一封包遺失率,計算該數個來源端各自之一惰性值;及由該接收端對該數個來源端發出傳送要求,由具有最低惰性值之該來源端下載該資料區塊中具有最小之一時序編號之該封包,其中,該封包依各自之一執行順序的先後而分別具有由小到大之該時序編號。
其中,該惰性計算方程式如下所示:INi=RTTi/(1-PLRi),其中,INi代表第i個該來源端的惰性值;RTTi代表第i個該來源端的往返時間;PLRi代表第i個該來源端的封包遺失率。
其中,該數個來源端係依各自之該惰性值而分別具有一惰性級別,該數個來源端之惰性級別與該數個封包之時序編號的號碼與數量具有一對應關係,該接收端係依該對應關係而於各該惰性級別中選擇一個該
來源端下載相對應之該時序編號之該封包。
其中,該數個來源端之惰性級別與該數個封包之時序編號係由一關係方程式表現該對應關係,該關係方程式如下所示:f(x)=e-1/(C.x);hi=f(Hi);S(INj)=i,if f(INj)(hi-1,hi);其中,f(x)用以將參數x正規化成介於0~1的數之為一反指數函數;C代表用來控制f(x)的成長坡度之一控制因子,為介於1~10之間的一常數;hi代表對應時序編號i的時序編號門檻值;Hi代表對應時序編號i的惰性級別門檻值;INj代表第j個該來源端的惰性值;S(INj)代表用以計算第j個該來源端之惰性值所對應的時序編號i的函數。
據此,本發明之串流封包傳輸方法,可藉由選擇適當的來源端以進行封包傳輸,具有提升傳輸效率的功效。
N‧‧‧傳輸網路
T‧‧‧終端裝置
S1‧‧‧惰性值計算步驟
S2‧‧‧封包傳輸步驟
第1圖:本發明之串流封包傳輸方法的實施環境圖。
第2圖:本發明之串流封包傳輸方法的流程圖。
第3圖:本發明之串流封包傳輸方法的方程式對應圖。
為讓本發明之上述及其他目的、特徵及優點能更明顯易懂,下文特舉本發明之較佳實施例,並配合所附圖式,作詳細說明如下:
本發明所述之「連接」,係指二終端裝置之間藉由有線實體、無線媒介或其組合(例如:異質網路)等方式,而使該二裝置之資料可以相互傳遞。
請參照第1圖所示,其係本發明之串流封包傳輸方法之實施
環境圖,其中,在一傳輸網路N中係包含數個終端裝置T,各該終端裝置T可彼此相互連接以形成同儕傳輸網路。在本實施例中,該數個終端裝置T為具有資料處理及通訊功能之裝置,例如:習知筆記型電腦(Notebook PC)、平板電腦(Tablet PC)或智慧型手機(Smart Phone)等行動裝置;該傳輸網路N可為實體、行動、異質網路或其組合等。藉此,該數個終端裝置T可採用同儕網路傳輸方式,供不同使用者分享多媒體串流(Media Streaming)等資料。其中,該數個終端裝置T可由軟體(software)或硬體(hardware)等形式形成一計算模組、一傳輸模組及一儲存模組,該計算模組(例如:微處理器等)用以進行各該終端裝置T之參數計算及設定,並可對該多媒體串流資料之封包進行執行時間的判斷,或者進行分群、編碼及解碼等程序;該傳輸模組(例如:對等傳輸協定控制器等)用以傳輸該多媒體串流之各該資料區塊(data block)所包含之數個封包(packets);該儲存模組(例如:快取記憶體等)用以儲存所接收之該數個封包。
此外,為了使本案之敘述更加明確,針對該數個終端裝置T,若該裝置在所述的步驟中係用以傳送資料或進行傳送資料前的操作,以下皆定義為一來源端;若該裝置在所述的步驟中係用以接收資料或進行接收資料後的操作,以下皆定義為一接收端。
請參照第2圖所示,其係本發明之串流封包傳輸方法的流程圖,係包含:一惰性值計算步驟S1及一封包傳輸步驟S2。
該惰性值計算步驟S1,係由數個來源端執行一惰性計算方程式,以根據該數個來源端各自之一往返時間(Round Trip Time,RTT)及一封包遺失率(Packet Loss Rate,PLR),計算該數個來源端各自之一惰性值。其中,該數個來源端可依過去一段時間的歷史資料取得各自之該往返時間及該封包遺失率,其係本領域技術人員能理解。又,該惰性計算方程式如下所示:
INi=RTTi/(1-PLRi) (1)
其中,INi代表第i個該來源端的惰性值;RTTi代表第i個該來源端的往返時間;PLRi代表第i個該來源端的封包遺失率。
更詳言之,由於每個來源端可能因操作條件差異(網路品質、硬體設備或其他環境因素等)而具有不同之該往返時間及該封包遺失率,其中,當該來源端之往返時間較短時,即代表該來源端之傳輸速度較快;當該來源端之封包遺失率較低時,即代表該來源端之傳輸可靠度較高。因此,當該數個來源端藉由該惰性方程式以計算該惰性值時,若用以進行計算之該來源端具有較短的往返時間與較低的封包遺失率時,即可得到較小之該惰性值,亦代表該來源端具有較佳的傳輸品質;同理,若用以進行計算之該來源端具有較長的往返時間與較高的封包遺失率時,即可得到較大之該惰性值,亦代表該來源端具有較差的傳輸品質。藉此,該惰性值的計算可代表該數個來源端之傳輸品質,具有準確評估來源端之傳輸品質的效果。
該封包傳輸步驟S2,係由該接收端對該數個來源端發出一傳送要求,以讀取該數個來源端各自之該惰性值,並由具有最低惰性值之該來源端下載一資料區塊所包含之數個封包的至少一個封包。其中,該接收端可由具有最低惰性值之該來源端下載該資料區塊所包含之任一個封包,或者由具有最低惰性值之該來源端下載該資料區塊所包含之所有封包,在此並不設限。藉此,當該接收端由具有最低惰性值之該來源端下載封包時,可提升整體的封包傳輸品質與速度,具有提升傳輸效率的效果。
或者,該接收端亦可進一步限定所欲下載的封包。更詳言之,該接收端所下載之該資料區塊的該數個封包中,該數個封包依各自之一執行順序可分別具有一時序編號,該接收端可由具有最低惰性值之該來源端下載該資料區塊中具有最小時序編號之該封包。例如以串流資料之資
料區塊的封包而言,最早被執行(播放)的封包之時序編號可為0,次早被執行(播放)的封包之時序編號可為1,其餘封包之時序編號可依上述方式類推,於此不再贅述。其中,由於時序編號為0之該封包將最早被執行(播放),因此,當該接收端由具有最低惰性值之該來源端下載該資料區塊中具有最小時序編號之該封包時,可確保具有最小時序編號之該封包能由具有較佳傳輸品質之該來源端進行傳輸,以使該封包能於執行前完成傳輸作業,具有提升傳輸效率的效果。
在該封包傳輸步驟S2中,該接收端除了能由具有最低惰性值之該來源端下載該封包外,亦能同時由該數個來源端下載封包。更詳言之,該數個來源端係依各自之該惰性值而分別具有一惰性級別,該數個來源端之惰性級別與該數個封包之時序編號的號碼與數量具有一對應關係,該接收端係依該對應關係而於各該惰性級別中選擇一個該來源端下載相對應之該時序編號之該封包。其中,該數個來源端之惰性級別與該數個封包之時序編號係由一關係方程式表現該對應關係,該關係方程式如下所示:
其中,f(x)為用以將參數x正規化成介於0~1的數之一反指數函數;C代表用以控制f(x)的成長坡度之一控制因子,為介於1~10之間的一常數;hi代表對應時序編號i的時序編號門檻值;Hi代表對應時序編號i的惰性級別門檻值;INj代表第j個該來源端的惰性值;S(INj)代表用以計算第j個該來源端之惰性值所對應的時序編號i的函數。
請參照第3圖所示,其係該關係方程式之該數個來源端的惰性級別與該數個封包的時序編號的對應關係圖,該對應關係圖之橫座標為一惰性級別門檻值,縱座標為一時序標號門檻值。以封包數量為3個為例,
該數個封包的時序編號可分別為0、1、2,若該惰性級別的數量亦設定為3,該惰性級別可分別為0、1、2,在該關係方程式的計算下,可將該數個來源端依各自之該惰性值而分別歸類於不同之該惰性級別中,使該惰性級別0、1、2內分別具有數個不同之該來源端,並使時序編號為0的封包對應至惰性級別為0的數個來源端,使時序編號為1的封包對應至惰性級別為1的數個來源端,及使時序編號為2的封包對應至惰性級別為2的數個來源端。以下載時序編號為0的封包為例,該接收端可根據上述對應關係,於惰性級別為0的數個來源端中隨機選擇一個該來源端下載時序編號為0的封包,或者於惰性級別為0的數個來源端中選擇具有最低惰性值之該來源端下載時序編號為0的封包,同理,該接收端亦可依類似上述方式下載時序編號為1及2的封包。藉此,當該接收端依該對應關係而於不同之該惰性級別中選擇一個該來源端下載相對應之該時序編號之該封包時,不僅可由傳輸品質較佳(惰性級別最低)之該來源端下載最早被執行(時序編號最小)之該封包,且可透過傳輸品質次佳(惰性級別次低)之該來源端下載次早被執行(時序編號次小)之該封包,除了能迅速下載即將被執行的封包外,更能由不同之該數個來源端下載較晚被執行的封包,使數個來源端均能用以進行封包的傳輸作業,具有提升傳輸效率的效果。
綜上所述,本發明之串流封包傳輸方法,可藉由選擇傳輸品質較佳之來源端下載封包,具有提升整體傳輸效率的功效。
雖然本發明已利用上述較佳實施例揭示,然其並非用以限定本發明,任何熟習此技藝者在不脫離本發明之精神和範圍之內,相對上述實施例進行各種更動與修改仍屬本發明所保護之技術範疇,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
S1‧‧‧惰性值計算步驟
S2‧‧‧封包傳輸步驟
Claims (4)
- 一種串流封包傳輸方法,係實施於一傳輸網路中,且由一接收端及數個來源端以執行以下步驟,包含:由該數個來源端執行一惰性計算方程式,以根據該數個來源端各自之一往返時間及一封包遺失率,計算該數個來源端各自之一惰性值;及由該接收端對該數個來源端發出傳送要求,由具有最低惰性值之該來源端下載一資料區塊中具有最小之一時序編號之該封包,其中,該封包依各自之一執行順序的先後而分別具有由小到大之該時序編號。
- 如申請專利範圍第1項所述之串流封包傳輸方法,其中該惰性計算方程式如下所示:INi=RTTi/(1-PLRi),其中,INi代表第i個該來源端的惰性值;RTTi代表第i個該來源端的往返時間;PLRi代表第i個該來源端的封包遺失率。
- 如申請專利範圍第1項所述之串流封包傳輸方法,其中該數個來源端係依各自之該惰性值而分別具有一惰性級別,該數個來源端之惰性級別與該數個封包之時序編號的號碼與數量具有一對應關係,該接收端係依該對應關係而於各該惰性級別中選擇一個該來源端下載相對應之該時序編號之該封包。
- 如申請專利範圍第3項所述之串流封包傳輸方法,其中該數個來源端之惰性級別與該數個封包之時序編號係由一關係方程式表現該對應關係,該關係方程式如下所示:f(x)=e-1/(C.x);hi=f(Hi);S(INj)=i,if f(INj)(hi-1,hi);其中,f(x)為用以將參數x正規化成介於0~1的數之一反指數函數;C 代表用以控制f(x)的成長坡度之一控制因子,為介於1~10之間的一常數;hi代表對應時序編號i的時序編號門檻值;Hi代表對應時序編號i的惰性級別門檻值;INj代表第j個該來源端的惰性值;S(INj)代表用以計算第j個該來源端之惰性值所對應的時序編號i的函數。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104128648A TWI568225B (zh) | 2015-08-31 | 2015-08-31 | 串流封包傳輸方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104128648A TWI568225B (zh) | 2015-08-31 | 2015-08-31 | 串流封包傳輸方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI568225B TWI568225B (zh) | 2017-01-21 |
TW201709703A true TW201709703A (zh) | 2017-03-01 |
Family
ID=58407980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104128648A TWI568225B (zh) | 2015-08-31 | 2015-08-31 | 串流封包傳輸方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI568225B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7133368B2 (en) * | 2002-02-01 | 2006-11-07 | Microsoft Corporation | Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same |
TWI321016B (en) * | 2006-08-30 | 2010-02-21 | Vibo Telecom Inc | Method for transferring video data and proxy server using the same |
US9185024B2 (en) * | 2010-03-08 | 2015-11-10 | The Chinese University Of Hong Kong | Path selection in streaming video over multi-overlay application layer multicast |
-
2015
- 2015-08-31 TW TW104128648A patent/TWI568225B/zh active
Also Published As
Publication number | Publication date |
---|---|
TWI568225B (zh) | 2017-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110198495B (zh) | 一种视频下载和播放的方法、装置、设备和存储介质 | |
US8082356B2 (en) | Synchronizing buffer map offset in peer-to-peer live media streaming systems | |
US9781474B2 (en) | Content playback information estimation apparatus and method and program | |
CN110178377B (zh) | 用于视频传送会话的初始比特率选择 | |
US9794311B2 (en) | Transport accelerator implementing extended transmission control functionality | |
JP7496022B2 (ja) | クライアント、サーバ、受信方法及び送信方法 | |
CN111185003B (zh) | 实时云应用托管方法、装置、服务器和存储介质 | |
US10862767B2 (en) | Data packet prediction | |
US20160191402A1 (en) | Reduction of Network Congestion | |
GB2525948A (en) | Packet loss and bandwidth coordination | |
CN104113770A (zh) | 网页视频点播方法和装置 | |
US9712580B2 (en) | Pipelining for parallel network connections to transmit a digital content stream | |
US20150134846A1 (en) | Method and apparatus for media segment request retry control | |
CN110830460A (zh) | 一种连接建立方法、装置、电子设备及存储介质 | |
WO2024056032A1 (zh) | 解码、数据传输方法、装置、终端及服务器 | |
JP5938015B2 (ja) | チャンクダウンロード完了判定装置、チャンクダウンロード完了判定方法、及びプログラム | |
AU2018275194A1 (en) | Temporal placement of a rebuffering event | |
CN115037416A (zh) | 数据前向纠错处理方法、装置、电子设备和存储介质 | |
US20160134519A1 (en) | Feedback management in a multipath communication network | |
CN114401253A (zh) | 一种基于WebRTC的模拟网络中视频传输方法 | |
CN114040257A (zh) | 一种自适应视频流传输播放方法、装置、设备及存储介质 | |
TWI568225B (zh) | 串流封包傳輸方法 | |
US20160142791A1 (en) | Video bandwidth adapting device and adapting method | |
KR101637022B1 (ko) | 컨텐트를 송신하는 방법 및 장치, 컨텐트를 수신하는 방법 및 장치 | |
CN110636368A (zh) | 媒体播放方法及装置 |