TWI395487B - 應用於網狀點對點串流系統之播放延遲時間之調整方法及其電腦程式產品 - Google Patents
應用於網狀點對點串流系統之播放延遲時間之調整方法及其電腦程式產品 Download PDFInfo
- Publication number
- TWI395487B TWI395487B TW97137845A TW97137845A TWI395487B TW I395487 B TWI395487 B TW I395487B TW 97137845 A TW97137845 A TW 97137845A TW 97137845 A TW97137845 A TW 97137845A TW I395487 B TWI395487 B TW I395487B
- Authority
- TW
- Taiwan
- Prior art keywords
- adjustment method
- integrity
- data exchange
- delay time
- exchange buffer
- Prior art date
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本發明係關於一種網路串流系統(streaming system)之播放延遲時間之調整方法,尤指一種應用於網狀點對點串流系統(mesh-based P2P streaming system)之播放延遲時間之調整方法。
過去使用者欲觀看網路上所提供之視訊內容時,需先儲存該視訊內容於電腦上,因而需耗費動輒數小時之下載時間。然而隨著網際網路的蓬勃發展以及網路頻寬的不斷增加,一種新的串流服務便應運而生。視訊串流服務能讓使用者同時觀看及下載視訊內容,其中從下載至觀看時間差距僅數十秒至數分鐘,真正達到即時觀看(real time)之目的。此外,由於串流服務不需完全下載便能觀看內容,故其所需之儲存空間大幅降低,且其即時觀看之特性能讓使用者如同電視般可自行選擇欲觀看之頻道。
最初網路串流系統多採用主從式(client/server)之架構。如圖1所示,在該架構下,網路封包係由一串流伺服器11單向傳輸至複數個客戶端節點12-15。然而該架構之缺點在於所有客戶端節點之封包資料皆係從單一或單一群串流伺服器11下載而來,故該串流伺服器11至負載能力和網路頻寬將會影響該網路串流服務之品質。換言之,在主從式架構下,該串流系統所能提供之服務能力是固定的。一旦使用者的數目超過該串流系統所能提供之服務能力時,輕
則某些使用者無法取得服務,重則該串流伺服器11會當機而造成整個串流服務之癱瘓。
為克服主從式架構之問題,一種點對點架構(pear-to-pear,或簡稱P2P)便應運而生。如圖2所示,在該架構下,每一網路節點會同時擔任伺服器21和客戶端22-25的角色,亦即每一網路節點不只從其他網路節點取得所需服務,其亦提供服務給其他網路節點。因此,在點對點架構下,該串流系統所能提供之服務能力將不再侷限於特定網路節點之負載能力或網路頻寬。故,此一特性使點對點架構相當適合用以提供串流服務。
一般點對點串流系統可分為三種架構:樹型(tree)、森林型(forest)和網狀型(mesh)。然而由於網狀型架構之點對點串流系統在錯誤容忍率和實作上皆較其他兩者具有優勢,故目前常見的點對點串流系統皆採用網狀型架構。在網狀型架構下,每一網路節點皆會分配一緩衝區,稱之為資料交換緩衝區(exchanging buffer)32,以儲存來自其他網路節點之封包和提供其他網路節點所需之封包。此外,每一網路節點另包含一位元圖(bitmap)31和一播放緩衝器(playout buffer)41。該位元圖31係用以表示對應之資料交換緩衝區32是否有儲存封包。如圖3和圖4所示,該位元圖31之其中一位元為1時,表示其對應之資料交換緩衝區32在對應之位置上有儲存封包,反之亦然。此外,各網路節點會定時互相交換彼此位元圖31之資訊以得知應從何網路節點擷取所需之封包。該播放緩衝器41係用以儲存
欲播放之封包。當一封包儲存至一播放緩衝器41時,需延遲一段時間才會播出,此延遲時間即為播放延遲時間(playout delay)。圖4顯示播放緩衝器41和資料交換緩衝區32之關係。如圖4所示,封包通常並非依照其播放次序到達資料交換緩衝區32,故資料交換緩衝區32所存之封包會有不連續之現象。待資料交換緩衝區32收集一定數量且符合播放次序之封包後,即將其存入該播放緩衝器41。因此,播放緩衝器41之封包皆依照其播放次序儲存。在目前設計中,資料交換緩衝區32之容量通常遠大於播放緩衝器41之容量。
然而,點對點串流系統會有頻道切換時間過長(約為40秒)以及即時播放延遲時間過長的問題(約為60-120秒)。此兩者發生之主因皆為播放延遲時間過長。一般而言,播放延遲時間代表當播放緩衝器41全滿時,播放緩衝器41播放所有儲存封包所需之時間。因此,播放緩衝器41之容量會正比於播放延遲時間之長短。由於點對點網路架構相較於主從式網路架構更難預測網路狀況,而網狀點對點網路架構又是點對點網路架構中最難預測其網路狀況之架構。換言之,在網狀點對點網路架構下,一網路節點之加入和離開是相當頻繁而不可預期的,故也難以預測所需之封包何時到達及來自何方。因此,一般網狀點對點網路架構多會安排一較大的播放緩衝器41或是較長的播放延遲時間以避免封包遺失而造成視訊影音中斷。然而,較大的播放緩衝器41卻又產生上述兩種問題。
據此,實有必要設計一應用於網狀點對點串流系統之播放延遲時間之調整方法,其可根據網路狀況動態調整所需之播放延遲時間,進而達到縮短頻道切換時間及即時播放之目的。
本發明利用動態調整一網狀點對點串流系統之播放延遲時間達到縮短頻道切換時間及即時播放延遲時間之目的。
本發明之應用於網狀點對點串流系統之播放延遲時間之調整方法包含下列步驟:根據一網路節點之一資料交換緩衝區所存封包,動態決定及更新該資料交換緩衝區所存封包之一完整度;若該完整度較更新前之完整度高,則減少該網路節點之一播放延遲時間;以及若該完整度較更新前之完整度低,則增加該播放延遲時間。
本發明之應用於網狀點對點串流系統之播放延遲時間之調整方法,包含下列步驟:一計算步驟,用以動態更新一網路節點之一資料交換緩衝區所存封包之一完整度;以及一調整步驟,用以調整該網路節點之一播放延遲時間。
本發明之電腦程式產品,係當一電腦載入該電腦程式並執行後,可完成上述之方法。
圖5顯示本發明之一實施例之應用於網狀點對點串流系統之播放延遲時間之調整方法。在步驟501時,依照一網路
節點所連接之其他網路節點之初始網路狀態決定一播放延遲時間之初始值,並進入步驟502。在步驟502時,動態決定及更新該網路節點之一資料交換緩衝區所存封包之完整度,並進入步驟503。在步驟503時,判斷是否該更新之完整度和更新前之完整度之差值超過一臨界值。若步驟503之結果為是,則進入步驟504,否則回到步驟502。在步驟504時,判斷是否該更新後之完整度高於更新前之完整度。若步驟504之結果為是,則進入步驟505,否則進入步驟506。在步驟505時,減少該網路節點之播放延遲時間,並回到步驟502。在步驟506時,增加該網路節點之播放延遲時間,並回到步驟502。
在步驟501中,該初始值之設定為該等其他網路節點之最大傳遞延遲時間和最小傳遞延遲時間之差值乘上一常數,並可由下列式子表示:初始播放延遲時間=α*(max{PD_V_S}-min{PD_V_S})
其中PD_V_S為該等其他網路節點之傳遞延遲時間之集合。較佳的,該常數α為1。
在步驟502中,本實施例提供三種計算資料交換緩衝區所存封包之完整度之方法。第一種決定完整度之方法係根據該資料交換緩衝區所存封包之個數。易言之,每一儲存之封包皆具有一權重值,而播放次序越優先之封包其權重值越高。該完整度便為所有儲存封包之權重值總和,並可由下列式子表示:完整度1
=Σ資料交換緩衝區儲存封包之權重值
其中Σ代表所含元素的累加,而該資料交換緩衝區所存封包之權重值和其播放次序呈線性、階梯性或指數性之關係,如圖6所示。
第二種決定完整度之方法係根據該資料交換緩衝區所存封包之資料量。易言之,每一儲存之封包皆具有一權重值,而資料量越大之封包其權重值越高。目前影音訊框可分為三類,分別為I訊框、P訊框和B訊框,其中I訊框之資料量大於P訊框,而P訊框之資料量大於B訊框。此三種訊框分別對應一權重值,而該完整度便為所有儲存封包之權重值總和,並可由下列式子表示:完整度2
=I訊框之權重值×I訊框之個數+P訊框之權重值×P訊框之個數+B訊框之權重值×B訊框之個數
其中該資料交換緩衝區所存封包之權重值和其資料量呈線性、階梯性或指數性之關係,如圖6所示。
為記錄資料交換緩衝區所存封包之訊框種類,可修改位元圖之儲存方式,如圖7所示。該位元圖71之每一欄位由1位元增為3位元,其中最高有效位元記錄對應之資料交換緩衝區72是否有儲存封包,後兩位元則記錄該儲存封包之資料種類:01代表I訊框,10代表P訊框,11代表B訊框,而00代表未知。
第三種決定完整度之方法係根據該資料交換緩衝區所存封包之連續性。在播放影音視訊時,一連串封包遺失遠較於複數個單一封包分別遺失嚴重。因此,在計算完整度時,除依照不連續封包位置之優先次序決定其權重值外,另依
照該等不連續封包位置之不連續封包個數決定其權重值,並可由下列式子表示:完整度3
=(Π資料交換緩衝區儲存封包之權重值)/(Σ該等不連續封包位置(Π該不連續封包位置之權重值))
其中Π代表所含元素的乘積,而該資料交換緩衝區封包之權重值和其播放次序呈線性、階梯性或指數性之關係,如圖6所示。
在步驟502中,本實施例並不侷限於此三種完整度計算方法,而可以根據此三種完整度之任意權重之加總,並可由下列式子表示:完整度=r1
×完整度1
+r2
×完整度2
+r3
×完整度3
其中r1
、r2
和r3
為此三種完整度之權重值。
在步驟504中,本實施例比較該完整度之方式係比較更新後之完整度以及更新前所有完整度之平均值。在步驟505和506中,本實施例係根據該完整度更新前後之差值,將該等播放延遲時間作線性、階梯性或指數性的調整,如圖8所示。步驟505和506之調整播放延遲時間之方法可藉由調整該播放緩衝器內之封包播放速度或調整該播放緩衝器之容量。在調整該播放緩衝器內之封包播放速度時,可依照儲存封包之運動向量(motion vector)和音量分類,並優先調整對於播放速度較不敏感的封包,以減少對於播放品質之影響。
綜上所述,本實施例在初始加入一網狀點對點網路系統群組時,係設定一較短之初始播放延遲時間以解決頻道切
換速度過長之問題。之後,本實施例再藉由觀察真實之網路狀態,亦即該資料交換緩衝區所存封包之完整度動態,調整播放延遲時間以解決即時播放延遲時間過長之問題。本實施例之方法可設計成一電腦程式產品,以供電腦載入時加以執行。
本發明之技術內容及技術特點已揭示如上,然而熟悉本項技術之人士仍可能基於本發明之教示及揭示而作種種不背離本發明精神之替換及修飾。因此,本發明之保護範圍應不限於實施例所揭示者,而應包括各種不背離本發明之替換及修飾,並為以下之申請專利範圍所涵蓋。
11‧‧‧串流伺服器
12-15‧‧‧客戶端節點
21‧‧‧伺服器
22-25‧‧‧客戶端
31‧‧‧位元圖
32‧‧‧資料交換緩衝區
41‧‧‧播放緩衝器
71‧‧‧位元圖
72‧‧‧資料交換緩衝區
501-506‧‧‧步驟
圖1顯示一習知的主從式架構之網路系統;圖2顯示一習知的點對點架構之網路系統;圖3顯示一習知的點對點網路系統架構下一網路節點之位元圖;圖4顯示一習知的點對點網路系統架構下一網路節點之播放緩衝器和資料交換緩衝區之關係;圖5顯示本發明之一實施例之應用於網狀點對點串流系統之播放延遲時間之調整方法;圖6顯示本發明之一實施例之封包對應其權重值之關係;及圖7顯示本發明之一實施例之一點對點網路系統架構下一網路節點之位元圖;圖8顯示本發明之一實施例之完整度對應其播放延遲時
間調整值之關係。
501~506‧‧‧步驟
Claims (25)
- 一種應用於網狀點對點串流系統之播放延遲時間之調整方法,包含下列步驟:根據一網路節點之一資料交換緩衝區內所存封包而動態決定及更新該資料交換緩衝區所存封包之一完整度;若更新後之完整度較更新前之完整度高,則減少該網路節點之播放延遲時間;以及若更新後之完整度較更新前之完整度低,則增加該播放延遲時間。
- 根據請求項1之調整方法,其中該完整度係由該資料交換緩衝區所存封包之個數決定。
- 根據請求項2之調整方法,其中該完整度係由該資料交換緩衝區所存封包之權重值之總和所決定,而播放次序越優先之封包其權重值越高。
- 根據請求項3之調整方法,其中該資料交換緩衝區所存封包之權重值和其播放次序呈線性、階梯性或指數性之關係。
- 根據請求項1之調整方法,其中該完整度係由該資料交換緩衝區所存封包之資料量決定。
- 根據請求項5之調整方法,其中該完整度係由該資料交換緩衝區所存封包之權重值之總和所決定,而資料量越大之封包其權重值越高。
- 根據請求項6之調整方法,其中該資料交換緩衝區所存封包依資料量分為I訊框、P訊框和B訊框,其分別對應不同 之權重值。
- 根據請求項1之調整方法,其中該完整度係由該資料交換緩衝區所存封包之連續性決定。
- 根據請求項8之調整方法,其中該完整度係由該資料交換緩衝區內封包不連續之次數以及該等不連續區域之封包數決定。
- 根據請求項9之調整方法,其中該完整度係由該資料交換緩衝區內所存封包之權重值之乘積再除以各不連續區域之封包之權重值之乘積之總和決定,而該資料交換緩衝區之封包之權重值和其播放次序呈線性、階梯性或指數性之關係。
- 根據請求項1之調整方法,其中該更新前完整度係指更新前所有完整度之平均值或更新前固定次數完整度之平均值。
- 根據請求項1之調整方法,其中該等播放延遲時間調整之步驟係於該完整度更新前後之差值超過一臨界值時進行。
- 根據請求項1之調整方法,其中該等播放延遲時間調整之步驟係根據該完整度更新前後之差值,將該等播放延遲時間作線性、階梯性或指數性的調整。
- 根據請求項1之調整方法,其中該等調整播放延遲時間之步驟係調整該網路節點之一播放緩衝器內之封包播放速度。
- 根據請求項1之調整方法,其中該等調整播放延遲時間之 步驟係調整該網路節點之一播放緩衝器之容量。
- 根據請求項1之調整方法,其進一步包含下列步驟:依照該網路節點所連接之其他網路節點之初始網路狀態而決定該播放延遲時間之初始值。
- 根據請求項16之調整方法,其中該初始值係該等其他網路節點之最大傳遞延遲時間和最小傳遞延遲時間之差值乘上一常數。
- 根據請求項17之調整方法,其中該常數為1。
- 一種應用於網狀點對點串流系統之播放延遲時間之調整方法,包含下列步驟:一計算步驟,用以動態更新一網路節點之一資料交換緩衝區所存封包之一完整度;以及一調整步驟,用以調整該網路節點之一播放延遲時間。
- 根據請求項19之調整方法,其中該完整度的決定係選自於由該資料交換緩衝區所存封包之個數、該資料交換緩衝區所存封包之資料量以及該資料交換緩衝區所存封包之連續性所組成的群組。
- 根據請求項19之調整方法,其進一步包含下列步驟:依照該網路節點所連接之其他網路節點之初始網路狀態而決定該播放延遲時間之初始值。
- 根據請求項19之調整方法,其中該播放延遲時間之該調整步驟係於該完整度更新前後之差值超過一臨界值時進行。
- 根據請求項19之調整方法,其中該調整步驟係調整該網 路節點之一播放緩衝器內之封包播放速度。
- 一種電腦程式產品,當電腦載入該電腦程式並執行後,可完成請求項1至18中任一項所述之方法。
- 一種電腦程式產品,當電腦載入該電腦程式並執行後,可完成請求項19至23任一項所述之方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW97137845A TWI395487B (zh) | 2008-10-02 | 2008-10-02 | 應用於網狀點對點串流系統之播放延遲時間之調整方法及其電腦程式產品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW97137845A TWI395487B (zh) | 2008-10-02 | 2008-10-02 | 應用於網狀點對點串流系統之播放延遲時間之調整方法及其電腦程式產品 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201016005A TW201016005A (en) | 2010-04-16 |
TWI395487B true TWI395487B (zh) | 2013-05-01 |
Family
ID=44830274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW97137845A TWI395487B (zh) | 2008-10-02 | 2008-10-02 | 應用於網狀點對點串流系統之播放延遲時間之調整方法及其電腦程式產品 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI395487B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100169458A1 (en) | 2008-12-31 | 2010-07-01 | David Biderman | Real-Time or Near Real-Time Streaming |
US8805963B2 (en) | 2010-04-01 | 2014-08-12 | Apple Inc. | Real-time or near real-time streaming |
GB201105502D0 (en) | 2010-04-01 | 2011-05-18 | Apple Inc | Real time or near real time streaming |
CN102238179B (zh) | 2010-04-07 | 2014-12-10 | 苹果公司 | 实时或准实时流传输 |
US8856283B2 (en) * | 2011-06-03 | 2014-10-07 | Apple Inc. | Playlists for real-time or near real-time streaming |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200534636A (en) * | 2004-04-13 | 2005-10-16 | Radioframe Networks Inc | Network delay control |
TW200836557A (en) * | 2006-12-20 | 2008-09-01 | Intel Corp | Method and apparatus for switching program streams usign a variable speed program stream buffer coupled to a variable speed decoder |
-
2008
- 2008-10-02 TW TW97137845A patent/TWI395487B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200534636A (en) * | 2004-04-13 | 2005-10-16 | Radioframe Networks Inc | Network delay control |
TW200836557A (en) * | 2006-12-20 | 2008-09-01 | Intel Corp | Method and apparatus for switching program streams usign a variable speed program stream buffer coupled to a variable speed decoder |
Non-Patent Citations (2)
Title |
---|
賀康瑋碩士學位論文,"線上視訊於IP 網路可變延遲環境下之訊務平順化研究",國立中央大學,93年7月,論文第24~64頁。 * |
陳紹偉碩士學位論文,"視訊封包封裝與調適性自動重送於無線區域網路之研究",國立中央大學,92年6月。 * |
Also Published As
Publication number | Publication date |
---|---|
TW201016005A (en) | 2010-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10305947B2 (en) | Pre-buffering audio streams | |
KR102472155B1 (ko) | 피어 투 피어(Peer to peer, P2P) 네트워크에서 스트리밍 콘텐츠를 방송하는 방법 | |
CN104205769B (zh) | 利用播放速率选择的改善的dash客户端和接收机 | |
TWI395487B (zh) | 應用於網狀點對點串流系統之播放延遲時間之調整方法及其電腦程式產品 | |
US9402058B2 (en) | Content delivery system, content delivery method and content delivery program | |
US10205984B1 (en) | Dynamic bitrate selection for streaming media | |
JP2007036666A (ja) | コンテンツ配信システム、クライアント及びクライアントプログラム | |
CN103024593A (zh) | 一种网络视频点播加速系统及其播放方法 | |
US20100241747A1 (en) | Admission control for performance aware peer-to-peer video-on-demand | |
US9866602B2 (en) | Adaptive bit rates during broadcast transmission in distributed content delivery networks | |
KR20190088380A (ko) | 딥 러닝 기반 적응형 멀티미디어 스트리밍 제공방법 및 그 시스템 | |
US20200213627A1 (en) | Minimizing stall duration tail probability in over-the-top streaming systems | |
CN105245562A (zh) | 操作高速缓存器的方法以及对应的高速缓存器 | |
KR102521753B1 (ko) | 네트워크에서 스트리밍되는 콘텐츠를 클라이언트 디바이스의 플레이어에서 재생하기 위한 방법 | |
US20220191260A1 (en) | Method for playing on a player of a client device a content streamed in a network | |
JP2011061533A (ja) | コンテンツ配信システム、体感品質推定装置、方法、及び、プログラム | |
US20230396845A1 (en) | Method for playing on a player of a client device a content streamed in a network | |
KR101491604B1 (ko) | 다중 채널을 이용한 콘텐츠 제공 방법 및 시스템 | |
JP2008048351A (ja) | コンテンツ分散保存システム、フレーム画像取得方法、及びノード装置等 | |
CN104735089B (zh) | 内容处理方法和装置 | |
JP2006172296A (ja) | キャッシュ削除方法及びコンテンツ中継サーバ | |
WO2021166288A1 (ja) | 制御装置、制御方法及びプログラム | |
CN111416830A (zh) | 一种自适应的p2p流媒体数据调度算法 | |
JP2004310947A (ja) | 品質評価用蓄積メディア再生装置 | |
JP2012015965A (ja) | コンテンツ再生方法及び装置及びプログラム |