TW201016005A - Method for adjusting playout delay of mesh-based P2P streaming system and computer program product thereof - Google Patents

Method for adjusting playout delay of mesh-based P2P streaming system and computer program product thereof Download PDF

Info

Publication number
TW201016005A
TW201016005A TW97137845A TW97137845A TW201016005A TW 201016005 A TW201016005 A TW 201016005A TW 97137845 A TW97137845 A TW 97137845A TW 97137845 A TW97137845 A TW 97137845A TW 201016005 A TW201016005 A TW 201016005A
Authority
TW
Taiwan
Prior art keywords
data exchange
delay time
integrity
packet
network
Prior art date
Application number
TW97137845A
Other languages
Chinese (zh)
Other versions
TWI395487B (en
Inventor
Yi-Wei Wu
Szu-Hsien Huang
Chun-Yong Shieh
Original Assignee
Ind Tech Res Inst
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ind Tech Res Inst filed Critical Ind Tech Res Inst
Priority to TW97137845A priority Critical patent/TWI395487B/en
Publication of TW201016005A publication Critical patent/TW201016005A/en
Application granted granted Critical
Publication of TWI395487B publication Critical patent/TWI395487B/en

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A method for adjusting playout delay of meshed-based P2P streaming system comprises the steps of: dynamically determining and updating a completeness of packets stored in an exchanging buffer of a network node according to the stored packets; reducing a playout delay of the network node if the completeness of the updated packets becomes higher; and increasing the playout delay of the network node if the completeness of the updated packets becomes lower.

Description

201016005 九、發明說明: 【發明所屬之技術領域】 本發明係關於一種網路串流系統(streaining system)之 播放延遲時間之調整方法,尤指一種應用於網狀點對點串 流系統(mesh-based P2P streaming system)之播放延遲時 間之調整方法。 【先前技術】 ❼ 過去使用者欲觀看網路上所提供之視訊内容時,需先儲 存該視訊内容於電腦上,因而需耗費動辄數小時之下載時 間。然而隨著網際網路的蓬勃發展以及網路頻寬的不斷增 加,一種新的串流服務便應運而生。視訊串流服務能讓使 用者同時觀看及下載視訊内容,其中從下載至觀看時間差 距僅數十秒至數分鐘,真正達到即時觀看(realtime)之目 的。此外,由於串流服務不需完全下載便能觀看内容,故 其所需之儲存空間大幅降低,且其即時觀看之特性能讓使 • 用者如同電視般可自行選擇欲觀看之頻道。 最初網路串流系統多採用主從式(client/server )之架 構。如圖1所示,在該架構下,網路封包係由一串流伺服器 11單向傳輸至複數個客戶端節點12-15。然而該架構之缺點 在於所有客戶端節點之封包資料皆係從單一或單一群串流 伺服器11下載而來,故該串流伺服器u至負載能力和網路 頻寬將會影響該網路串流服務之品質。換言之,在主從式 架構下’該串流系統所能提供之服務能力是固定的。一旦 使用者的數目超過該串流系統所能提供之服務能力時輕 201016005 則某些使用者無法取得服務,重則該串流伺服器u會當機 而造成整個串流服務之靡疾。 為克服主從式架構之問題,一種點對點架構 (pear-t0_pear,或簡稱P2P)便應運而生。如圖2所示,在 該架構下,每一網路節點會同時擔任祠服器邱客戶端201016005 IX. Description of the Invention: [Technical Field] The present invention relates to a method for adjusting the playback delay time of a network streaming system (streaking system), and more particularly to a mesh point-to-point streaming system (mesh-based) P2P streaming system) How to adjust the playback delay time. [Prior Art] 过去 In the past, when users want to watch the video content provided on the Internet, they need to store the video content on the computer first, which takes several hours of downloading time. However, with the rapid development of the Internet and the increasing network bandwidth, a new streaming service has emerged. The video streaming service allows users to simultaneously view and download video content, with downloads to viewing time differences ranging from tens of seconds to minutes, truly achieving real time. In addition, since the streaming service can view content without having to download it completely, the required storage space is greatly reduced, and its instant viewing feature allows the user to select the channel to watch as a TV. Initially, the network streaming system used a master-slave (client/server) architecture. As shown in Figure 1, under this architecture, the network packet is transmitted by a stream server 11 to a plurality of client nodes 12-15. However, the disadvantage of this architecture is that all client node packet data is downloaded from a single or single group streaming server 11, so the streaming server u to load capacity and network bandwidth will affect the network. The quality of streaming services. In other words, under the master-slave architecture, the service capabilities that the streaming system can provide are fixed. Once the number of users exceeds the service capacity that the streaming system can provide, 201016005, some users can't get the service, and the streaming server u will crash and cause the whole streaming service to suffer. To overcome the problem of the master-slave architecture, a peer-to-peer architecture (Pear-t0_pear, or P2P for short) has emerged. As shown in Figure 2, under this architecture, each network node will simultaneously serve as the server.

的角色’亦即每-網路節點不只從其他網路節點取得 所需服務,其亦提供服務給其他網路節點。㈣,在點對 點架構下’該串n統所能提供之服務能力將不再偈限於 特定網路節點之負载能力或網路頻寬。故,此—特性使點 對點架構相當適合用以提供串流服務。 -般點對點申流系統可分為三種架構:樹型㈤、森 林型(forest)和網狀型(mesh)。然而由於網狀型架構之 點對點串㈣統在錯誤容㈣和實作上皆較其他兩者具有 優勢故目則*見的點對點串流系統皆採用網狀型架構。 在網狀型架構下,每一網路節點皆會分配一緩衝區,稱之 為資料交換緩衝區(exehanging buffe〇 32,以儲存來自其 他網路Ip點之封包和提供其他網路節點所需之封包。此 :’每-網路節點另包含一位元圖(b—ap) ”和一播放 緩衝器(Play_ buffer) 41。該位元圖31係用以表示對應 資料交換緩衝區32是否有儲存封包。如圖3和圖4所示, 該位元圖31之其中— 衝區32在對應之位置 網路節點會定時互相 何網路節點榻取所需 位元為1時’表示其對應之資料交換緩 上有儲存封包,反之亦然。此外,各 父換彼此位元圖3 1之資訊以得知應從 之封包。該播放緩衝器41係用以儲存 201016005 欲播放之封包。當一封包儲存至一播放緩衝器41時,需延 遲段時間才會播出,此延遲時間即為播放延遲時間 (playout delay )。圖4顯示播放緩衝器41和資料交換緩衝區 32之關係。如圖4所示,封包通常並非依照其播放次序到達 -貝料交換緩衝區32,故資料交換緩衝區32所存之封包會有 不連續之現象。待資料交換緩衝區32收集一定數量且符合 播放次序之封包後,即將其存入該播放緩衝器41。因此, φ 播放緩衝器41之封包皆依照其播放次序儲存。在目前設計 中,資料交換緩衝區32之容量通常遠大於播放緩衝器41之 容量。The role of the network node is not only to obtain the required services from other network nodes, but also to provide services to other network nodes. (d) In the point-to-point architecture, the service capabilities that the string can provide will no longer be limited to the load capacity or network bandwidth of a particular network node. Therefore, this feature makes the point-to-point architecture quite suitable for providing streaming services. The general point-to-point flow application system can be divided into three types: tree type (5), forest type (mesh) and mesh type (mesh). However, the point-to-point string (four) system of the mesh-type architecture has advantages over the other two in terms of error tolerance (4) and implementation. The point-to-point streaming system is a mesh-like architecture. In the mesh architecture, each network node allocates a buffer, called the data exchange buffer (exehanging buffe〇32, to store packets from other network IP points and provide other network nodes. The packet: This: 'Each-network node further includes a bitmap (b-ap)" and a play buffer (Play_buffer) 41. The bitmap 31 is used to indicate whether the corresponding data exchange buffer 32 is There is a storage packet. As shown in FIG. 3 and FIG. 4, the location of the bit map 31 in which the network node is at the corresponding position will be timed to each other. The corresponding data exchange buffer has a storage packet, and vice versa. In addition, each parent exchanges the information of each bit map 31 to know the packet to be received. The play buffer 41 is used to store the 201016005 packet to be played. When a packet is stored in a play buffer 41, it takes a delay to broadcast, and the delay time is the playout delay. Figure 4 shows the relationship between the play buffer 41 and the data exchange buffer 32. As shown in Figure 4, the packet is usually According to the play order, the packet is buffered, so the packet stored in the data exchange buffer 32 may be discontinuous. After the data exchange buffer 32 collects a certain number of packets in accordance with the playback order, it is deposited. The play buffer 41. Therefore, the packets of the φ play buffer 41 are stored in accordance with their playback order. In the current design, the capacity of the data exchange buffer 32 is usually much larger than the capacity of the play buffer 41.

然而,點對點串流系統會有頻道切換時間過長(約為40 )以及即呤播放延遲時間過長的問題(約為秒)。 此兩者發生之主因皆為播放延遲時間過長。一般而言,播 放乙遲日ΤΓ間代表當播放緩衝器41全滿時,播放緩衝器“播 放所有儲存封包所需之時間^因此,播放緩衝器之容量 會正比於播放延遲時間之長短。由於點對點網路架構相較 ;從式網路架構更難預測網路狀況,而網狀點對點網路 架構又是點對點網路架構中最難預測其網路狀況之架構。 換。之纟網狀點對點網路架構下,一網路節點之加入和 離開是相當頻繁而不可預期的,故也難以預測所需之封包 何:到達及來自何方。因此,一般網狀點對點網路架構多 會女排&大的播放緩衝器41或是較長的播放延遲時間以 :免封包遺失而造成視訊影音中斷、然而,較大的播放缓 衝器41卻又產生上述兩種問題。 201016005 據此’實有必要設計一應用於網狀點對點串流系統之播 放延遲時間之調整方法,其可根據網路狀況動態調整所需 之播放延遲時間,進而達到縮短頻道切換時間及即時播放 之目的。 【發明内容】 ' 本發明利用動態調整一網狀點對點串流系統之播放延遲 時間達到縮短頻道切換時間及即時播放延遲時間之目的。 • 本發明之應用於網狀點對點串流系統之播放延遲時間之 調整方法包含下列步驟:根據一網路節點之一資料交換緩 衝區所存封包,動態決定及更新該資料交換緩衝區所存封 包之一完整度;若該完整度較更新前之完整度高,則減少 該網路節點之一播放延遲時間;以及若該完整度較更新前 之元整度低,則增加該播放延遲時間。 本發明之應用於網狀點對點串流系統之播放延遲時間之 ® 冑整方法’包含下列步驟··—計算步驟,用以動態更新一 網路節點之一資料交換緩衝區所存封包之一完整度;以及 調整步驟,用以調整該網路節點之一播放延遲時間。 本發明之電腦程式產品,係當一電腦載入該電腦程式並 執行後,可完成上述之方法。 【實施方式】 圖5顯示本發明之一實施例之應用於網狀點對點串流系 統之播放延遲時間之調整方法。在步驟5〇1時,依照一網路 201016005However, the point-to-point streaming system has a problem that the channel switching time is too long (about 40) and that the delay time of the playback is too long (about seconds). The main reason for both of these is that the playback delay time is too long. In general, when the playback buffer 41 is full, the playback buffer "plays all the time required to store the packet. Therefore, the capacity of the playback buffer will be proportional to the length of the playback delay. Compared to peer-to-peer network architectures, slave network architectures are more difficult to predict network conditions, while mesh peer-to-peer network architectures are the most difficult architecture for predicting network conditions in peer-to-peer network architectures. Under the network architecture, the joining and leaving of a network node is quite frequent and unpredictable, so it is difficult to predict what packets are needed: where to arrive and where to come from. Therefore, the general mesh peer-to-peer network architecture is more women's volleyball & The large play buffer 41 or the longer playback delay time is: the video clip is interrupted due to the loss of the packet, however, the larger play buffer 41 has the above two problems. 201016005 According to this, it is necessary Design a method for adjusting the playback delay time of a network point-to-point streaming system, which can dynamically adjust the required playback delay time according to the network condition, thereby The invention shortens the channel switching time and the instant playback delay time by using the dynamic adjustment of the playback delay time of a mesh point-to-point streaming system. The method for adjusting the playback delay time of the network point-to-point streaming system includes the following steps: dynamically determining and updating a completeness of a packet stored in the data exchange buffer according to a packet stored in a data exchange buffer of a network node; If the degree of integrity is higher than before the update, the playback delay time of one of the network nodes is reduced; and if the integrity is lower than the degree of the unit before the update, the playback delay time is increased. The present invention is applied to the network point-to-point The playback delay time of the streaming system® includes the following steps: a calculation step for dynamically updating one of the packets stored in the data exchange buffer of one of the network nodes; and an adjustment step for adjusting One of the network nodes plays a delay time. The computer program product of the present invention is a After the brain is loaded into the computer program and executed, the above method can be completed. [Embodiment] FIG. 5 shows a method for adjusting the playback delay time applied to the mesh point-to-point streaming system according to an embodiment of the present invention. 1 hour, according to a network 201016005

❷ 節點所連接之其他網路節點之初始網路狀態決定一播放延 遲時間之初始值,並進入步驟502。在步驟5〇2時,動態決 定及更新該網路節點之一資料交換緩衝區所存封包之完整 度,並進入步驟503。在步驟503時,判斷是否該更新之完 整度和更新前之完整度之差值超過一臨界值。若步驟5〇3 之結果為是,則進入步驟504,否則回到步驟5〇2。在步驟 5〇4時,判斷是否該更新後之完整度高於更新前之完整度。 若步驟504之結果為是,則進入步驟5〇5,否貝,】進入步驟 5〇6。在步驟505時,減少該網路節點之播放延遲時間,並 回到步驟5G2。在步驟5〇6時,增加該網路節點之播放延遲 時間,並回到步驟5〇2。 在步驟501中,該初始值之設定為該等其他網路節點之最 大傳遞延料間和最小傳遞延料間之差録上—常數, 並可由下列式子表示: 初始播放延遲時間=W ( max㈣又s } __ { pD又s }) 其中PD—V—S為該等其他網路節點之傳遞延遲時間之集 合。較佳的’該常數為1。 在步驟二2中’本實施例提供三種計算資料交換緩衝區所 存封包之完整度之方法。第一 〜 弟種決疋元整度之方法係根據 该資料父換緩㈣所存封包之個數。易言之,每-儲存之 ^皆具有—權重值’而播放次序越優先之封包其權重值 越馬。該完整度便為所有儲存封包之權重值總和,並可由 下列式子表示: Σ資料交換緩衝區儲存封包之權重值 201016005 其中Σ代表所含元素的累加,而該資料交換緩衝區所存 封包之權重值和其播放次序呈線性、階梯性或指數性之關 係,如圖6所示。 第二種決定完整度之方法係根據該f料交換緩衝區所存 封包之資料量。易言之,每一儲存之封包皆具有一權重值, 而資料量越大之封包其權重值越高。目前影音訊框可分為 二類,分別為I訊框、P訊框和B訊框,其中丨訊框之資料量 • 大於?訊框,而P訊框之資料量大於B訊框。此三種訊框分別 對應-權重值,而該完整度便為所有儲存封包之權重值總 和,並可由下列式子表示: 完整度2= I訊框之權重值XI訊框之個數+p訊框之權重值 XP訊框之個數+B訊框之權重值χΒ訊框之個數 其中該資料錢緩衝區所存封包之權重值和其資料量呈 線性、階梯性或指數性之關係,如圖6所示。 為記錄資料交換緩衝區所存封包之訊框種類,可修改位 • 元圖之儲存方式,如圖7所示。該位元圖?!之每-欄位由! 位元增為3位元,其中最高有效位元記錄對應之資料交換緩 衝區72是否有儲存封包,後兩位元則記錄該儲存封包之資 料種類:(Π代表m框,10代表P訊框,u代表B訊框而〇〇 代表未知。 第二種決定完整度之方法係根據該資料交換緩衝區所存 封包之連續性。在播放影音視訊時,一連串封包遺失遠較 於複數料-封包分_失嚴重。因此,在計算完整度時, 除依照不連續封包位置之優先次序決定其權重值外,另依 201016005 照該等不連續封包位置之不連續封包個數決定其權重值, 並可由下列式子表示: 完整度(π資料交換缓衝區儲存封包之權重值)/(ς 該等不連續封包位置(π該不連續封包位置之權重值)) 其中π代表所含元素的乘積,而該資料m緩衝區封包 之權重值和其播放次序呈線性、階梯性或指數性之關係, 如圖6所示。 φ 在步驟502中’本實施例並不侷限於此三種完整度計算方 法,而可以根據此三種完整度之任意權重之加總,並可由 下列式子表示: 完整度=!·!><完整度彳!*,完整度2 + r3X完整度3 其中r!、Ο和Ο為此三種完整度之權重值。 在步驟504中,本實施例比較該完整度之方式係比較更新 後之完整度以及更新前所有完整度之平均值。在步驟5〇5 和506中,本實施例係根據該完整度更新前後之差值將該 藝等播放延遲時間作線性、階梯性或指數性的調整,如圖8 所不。步驟505和506之調整播放延遲時間之方法可藉由調 整該播放緩衝器内之封包播放速度或調整該播放緩衝器之 容量。在調整該播放緩衝器内之封包播放速度時,可依照 儲存封包之運動向量(m〇ti〇n vector)和音量分類,並優 先調整對於播放速度較不敏感的封包,以減少對於播放品 質之影響。 綜上所述’本實施例在初始加入一網狀點對點網路系統 群組時,係設定一較短之初始播放延遲時間以解決頻道切 201016005 換速度過長之問題β之後,本實施例再藉由觀察真實之網 路狀態,亦即該資料交換緩衝區所存封包之完整度動態, 調整播放延遲時間以解決即時播放延遲時間過長之問題。 本實施例之方法可設計成一電腦程式產品,以供電腦載入 時加以執行。 ❹Initial The initial network state of the other network node to which the node is connected determines the initial value of a playback delay time, and proceeds to step 502. In step 5〇2, the integrity of the packet stored in the data exchange buffer of one of the network nodes is dynamically determined and updated, and the process proceeds to step 503. At step 503, it is determined whether the difference between the integrity of the update and the integrity before the update exceeds a threshold. If the result of step 5〇3 is YES, then go to step 504, otherwise go back to step 5〇2. At step 5〇4, it is judged whether the integrity after the update is higher than the integrity before the update. If the result of step 504 is YES, then go to step 5〇5, no, then go to step 5〇6. At step 505, the playback delay time of the network node is reduced and the process returns to step 5G2. At step 5〇6, the playback delay time of the network node is increased, and the process returns to step 5〇2. In step 501, the initial value is set to the difference between the maximum transfer delay and the minimum transfer delay of the other network nodes, and can be represented by the following formula: initial playback delay time = W ( Max (4) and s } __ { pD and s }) where PD_V_S is the set of delivery delay times of the other network nodes. Preferably, the constant is 1. In the second step 2, the present embodiment provides three methods for calculating the integrity of the packet stored in the data exchange buffer. The first ~ the method of determining the degree of the squad is based on the number of packets stored in the parent (4). In other words, each-storage has a weight value, and the priority of the playback order is the weight of the packet. The completeness is the sum of the weight values of all the stored packets, and can be expressed by the following formula: Σ The data exchange buffer stores the weight of the packet 201016005, where Σ represents the accumulation of the elements contained, and the weight of the packet stored in the data exchange buffer The value and its playback order are linear, stepwise or exponential, as shown in Figure 6. The second method of determining the integrity is based on the amount of data stored in the f-exchange buffer. In other words, each stored packet has a weight value, and the larger the amount of data, the higher the weight value of the packet. At present, video frames can be divided into two categories, namely I frame, P frame and B frame. The amount of data in the frame is greater than? Frame, and the amount of data in the P frame is larger than the B frame. The three frames correspond to the weight value, and the completeness is the sum of the weight values of all the stored packets, and can be expressed by the following formula: integrity 2 = the weight of the I frame XI frame + p The weight of the box is the number of the XP frame + the weight of the B frame. The number of the frame is the linear, stepwise or exponential relationship between the weight of the packet stored in the data buffer and its data volume. Figure 6 shows. In order to record the type of frame of the packet stored in the data exchange buffer, the storage mode of the bit map can be modified, as shown in FIG. The bit map? ! Every - the field is! The bit is increased to 3 bits, wherein the most significant bit record corresponds to whether the data exchange buffer 72 has a storage packet, and the last two bits record the type of the storage packet: (Π represents m box, 10 represents P frame) , u stands for B frame and 〇〇 stands for unknown. The second method to determine the integrity is based on the continuity of the packet stored in the data exchange buffer. When playing video and video, a series of packets are lost much more than the complex material - packet _ is not serious. Therefore, in calculating the completeness, in addition to determining the weight value according to the priority order of the discontinuous packet position, the weight value is determined according to the number of discontinuous packets of the discontinuous packet positions according to 201016005, and may be The following expressions represent: completeness (the weight value of the π data exchange buffer storage packet) / (ς the non-contiguous packet location (π the weight value of the discontinuous packet location)) where π represents the product of the contained elements, The weight value of the data m-buffer packet and its playing order are linear, stepwise or exponential, as shown in Fig. 6. φ In step 502 'this embodiment is not limited to Three completeness calculation methods, which can be based on the sum of any weights of the three completeness, and can be expressed by the following formula: completeness =!·!><integrity彳!*, completeness 2 + r3X integrity 3 wherein r!, Ο, and Ο are the weight values of the three degrees of completeness. In step 504, the manner in which the integrity is compared in this embodiment compares the updated integrity and the average of all integrity before the update. In 5〇5 and 506, in this embodiment, the entertainment delay time is linear, stepwise or exponentially adjusted according to the difference before and after the integrity update, as shown in Fig. 8. Adjustment of steps 505 and 506 The method of playing the delay time may be performed by adjusting the packet playback speed in the playback buffer or adjusting the capacity of the playback buffer. When adjusting the packet playback speed in the playback buffer, the motion vector of the storage packet may be adjusted (m〇 Ti〇n vector) and volume classification, and preferentially adjust the packet that is less sensitive to playback speed to reduce the impact on playback quality. In summary, this embodiment initially adds a mesh point-to-point network. In the system group, after setting a short initial playback delay time to solve the problem that the channel switching 201016005 is too long, the present embodiment observes the real network state, that is, the data exchange buffer. The integrity of the packet is dynamic, and the playback delay time is adjusted to solve the problem that the instant playback delay time is too long. The method of this embodiment can be designed as a computer program product for execution when the computer is loaded.

本發明之技術内容及技術特點已揭示如上,然而熟悉本 項技術之人士仍可能基於本發明之教示及揭示而作種種不 背離本發明精神之替換及修飾。因此,本發明之保護範圍 應不限於實施例所揭示者,而應包括各種不背離本發明之 替換及修飾,並為以下之申請專利範圍所涵蓋。 【圖式簡單說明】 圖1顯示一習知的主從式架構之網路系統; 圖2顯示一習知的點對點架構之網路系統; 圖3顯示一習知的點對點網路系統架構下一網路節點之 位元圖; ‘ 圖4顯不習知的點對點網路系統架構下一網路節點之 播放緩衝器和資料交換緩衝區之關係; 圖5顯示本發明之-實施例之應用於網狀點對點串流系 統之播放延遲時間之調整方法; 係圖^顯示本發明之—實施例之封包對應其權重值之關 二:本發明之—實施例之一點對點網路系統架構下 網路卽點之位元圖; 圖8顯示本發明之—實施例之完整度對應其播放延遲時 -12- 201016005 間調整值之關係。 【主要元件符號說明】 11 串流伺服器 12-15 客戶端節點 21 伺服器 22-25 客戶端 31 位元圖 32 資料交換緩衝區 41 播放緩衝器 71 位元圖 72 資料交換緩衝區 501-506 步驟 13-The technical contents and technical features of the present invention have been disclosed as above, and those skilled in the art can still make various substitutions and modifications without departing from the spirit and scope of the invention. Therefore, the scope of the present invention should be construed as being limited by the scope of the appended claims. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 shows a conventional network system of a master-slave architecture; FIG. 2 shows a conventional point-to-point network system; FIG. 3 shows a conventional point-to-point network system architecture. Bit map of the network node; 'Figure 4 shows the relationship between the play buffer and the data exchange buffer of the next network node of the peer-to-peer network system architecture; FIG. 5 shows the application of the embodiment of the present invention. Method for adjusting the playback delay time of a mesh point-to-point streaming system; Figure 2 shows that the packet of the present invention corresponds to its weight value: a network of a peer-to-peer network system architecture of the present invention Bit diagram of the defect; Figure 8 shows the relationship between the integrity of the embodiment of the present invention corresponding to the adjustment value between -12 and 201016005 when the playback delay is performed. [Main component symbol description] 11 Streaming server 12-15 Client node 21 Server 22-25 Client 31 Bitmap 32 Data exchange buffer 41 Play buffer 71 Bit map 72 Data exchange buffer 501-506 Step 13-

Claims (1)

201016005 十、申請專利範圍: 1 · 一種應用於網狀點對點串流系統之播放延遲時間之調整 方法,包含下列步驟: 根據一網路節點之一資料交換緩衝區内所存封包而動 I»’決疋及更新該資料交換缓衝區所存封包之一完整度; 若更新後之完整度較更新前之完整度高,則減少該網 路節點之播放延遲時間;以及 若更新後之完整度較更新前之完整度低,則增加該播 ^ 放延遲時間。 2. 根據請求項1之調整方法,其中該完整度係由該資料交換 缓衝區所存封包之個數決定。 3. 根據請求項2之調整方法,其中該完整度係由該資料交換 緩衝區所存封包之權重值之總和所決定,而播放次序越 優先之封包其權重值越高。 4. 根據叫求項3之調整方法,其中該資料交換緩衝區所存封 參 包之權重值和其播放次序呈線性、階梯性或指數性之關 係。 5根據吻求項1之調整方法,其中該完整度係由該資料交換 緩衝區所存封包之資料量決定。 6.根據装項5之調整方法,纟中該完整度係由該資料交換 緩衝區所存封包之權重值之總和所決定,*資料量越大 之封包其權重值越高。 7·根據喷求項6之調整方法,其中該資料交換緩衝區所存封 包依資料晋/V & , I刀為I訊框、Ρ訊框和Β訊框,其分別對應不同 14 201016005 之權重值。 8·根據請求項丨之調整方法,其中該完整度係由該資料交換 緩衝區所存封包之連續性決定。 9.根據請求項8之調整方法,其中該完整度係由該資料交換 緩衝區内封包不連續之次數以及該等不連續區域之封包 數決定。 10.根據請求項9之調整方法,其中該完整度係由該資料交換 φ 緩衝區内所存封包之權重值之乘積再除以各不連續區域 之封包之權重值之乘積之總和決定,而該資料交換緩衝 區之封包之權重值和其播放次序呈線性、階梯性或指數 性之關係。 ^據請求们之調整方法,其中該更新前完整度係指更新 前所有完整度之平均值或更新前固定次數完整度之平 值。 ❹ 12.根據請求们之調整方法,其中該等播放延遲時間調整之 步驟係於該完整度更新前後之差值超過一臨界值 行。 13’板據請求項1之調整方法,其中該等播放延遲時間調整之 ㈣係根據該完整度更新前後之差值’將該等播放延遲 時間作線性、階梯性或指數性的調整。 u•根據請求項〗之調整方法,其中 丫通等调整播放延遲時間之 步驟係調整該網路節點之一播放 度。 苗风绫衝益内之封包播放速 15.根據請求項1之調整方法,其中 調整播放延遲時間之 15 201016005 步驟係調整該網路節點之一播放缓衝器之容量。 6.根據叫求項1之調整方法,其進-步包含下列步驟: 依照該網路節點所連接之其他網路節點之初始網 態而決定該播放延遲時間之初始值。 17. 根據叫求項16之調整方法,其中該初始值係該等其他網 Μ以最大傳遞延遲時間和最小傳 乘上一常數。 值 18. 根據喷求項17之調整方法,其中該常數為1。 種應用於網狀點對點串流系統之播放延遲時間之調整 方法,包含下列步驟: -計算步驟,用以動態更新一網路節點之一資 緩衝區所存封包之-完整度;以及 ' 調整步驟,用以調整該網路節點之一播放延遲時間。 2〇·根據請求項19之調整方法,其中該完整度的決定係選自 於由該資料交換緩衝區所存封包之個數、該資料交換緩 衝區所存封包之資料量以及該資料交換緩衝區所存封包 之連續性所組成的群組。 21. 根據請求項19之調整方法,其進—步包含下列步驟: ▲依照該網路節點所連接之其他網路節點之相始網路狀 態而決定該播放延遲時間之初始值。 22. 根據請求項19之調整方法,其中該播放延遲時間之該調 整步驟係於該^整度更新前後之差值超過—臨界值時進 行。 23. 根據請求項19之調整方法’其中該調整步驟係調整該網 16 201016005 路即點之一播放緩衝器内 〜 1 封包播放速度。 24. —種電腦程式產品,當 圮又 觸戟入該電腦程式並執行後, 可元成請求項1至18中任一項所述之方法。 25. —種電腦程式產品’當電腦載入該電腦程式並執行後, 可完成請求項19至23任一項所述之方法。 17201016005 X. Patent application scope: 1 · A method for adjusting the playback delay time of a network point-to-point streaming system, comprising the following steps: According to a packet stored in a data exchange buffer of a network node, I»'疋 updating and updating one of the integrity of the packet stored in the data exchange buffer; if the integrity of the update is higher than the integrity before the update, reducing the playback delay time of the network node; and updating the integrity after updating If the integrity of the front is low, the delay time of the broadcast is increased. 2. The method of adjusting according to claim 1, wherein the degree of completeness is determined by the number of packets stored in the data exchange buffer. 3. The method according to claim 2, wherein the integrity is determined by the sum of the weight values of the packets stored in the data exchange buffer, and the higher the priority of the playback order, the higher the weight value. 4. According to the adjustment method of claim 3, wherein the weight value of the reference packet stored in the data exchange buffer is linear, stepwise or exponential. 5 The method according to the adjustment of the kiss item 1, wherein the degree of completeness is determined by the amount of data stored in the data exchange buffer. 6. According to the adjustment method of the item 5, the integrity is determined by the sum of the weight values of the packets stored in the data exchange buffer, and the larger the amount of data, the higher the weight value of the packet. 7. According to the adjustment method of the spray item 6, wherein the data stored in the data exchange buffer is based on the data/V & I knife is the I frame, the frame and the frame, which respectively correspond to the weights of different 14 201016005 value. 8. The method of adjusting according to the request item, wherein the degree of completeness is determined by the continuity of the packets stored in the data exchange buffer. 9. The method of adjusting according to claim 8, wherein the degree of completeness is determined by the number of times the packet is discontinuous in the data exchange buffer and the number of packets of the discontinuous area. 10. The method of adjusting according to claim 9, wherein the degree of completeness is determined by a sum of a product of weight values of packets stored in the data exchange φ buffer and a product of weights of packets of each discontinuous region, and The weight value of the packet of the data exchange buffer is linear, stepwise or exponential. According to the requester's adjustment method, the pre-update integrity refers to the average of all integrity before the update or the flatness of the fixed number of completeness before the update. ❹ 12. According to the requester's adjustment method, the steps of the playback delay time adjustment are based on the difference between the integrity update and the threshold value line. The 13' board according to the adjustment method of claim 1, wherein the (four) adjustment of the play delay time is linear, stepwise or exponentially adjusted according to the difference before and after the integrity update. u• According to the adjustment method of the request item, the step of adjusting the play delay time, such as 丫通, adjusts the playback degree of one of the network nodes. The speed of packet playback in Miaofeng 绫 绫 15. 15. According to the adjustment method of claim 1, wherein the adjustment delay time is adjusted. 201016005 The step is to adjust the capacity of one of the network nodes to play the buffer. 6. According to the adjustment method of claim 1, the further step comprises the following steps: determining an initial value of the playback delay time according to an initial network state of other network nodes to which the network node is connected. 17. The method of adjusting according to claim 16, wherein the initial value is a constant of the other transmissions by a maximum transfer delay time and a minimum transfer. Value 18. According to the adjustment method of the spray item 17, wherein the constant is 1. The method for adjusting the playback delay time of a network point-to-point streaming system includes the following steps: - a calculating step for dynamically updating the integrity of a packet stored in a buffer of a network node; and 'adjusting steps, Used to adjust the playback delay time of one of the network nodes. According to the adjustment method of claim 19, wherein the integrity is determined by the number of packets stored in the data exchange buffer, the amount of data stored in the data exchange buffer, and the data exchange buffer. A group consisting of the continuity of packets. 21. According to the adjustment method of claim 19, the further step comprises the following steps: ▲ determining an initial value of the playback delay time according to the phase network state of other network nodes to which the network node is connected. 22. The method of adjusting according to claim 19, wherein the adjusting step of the playback delay time is performed when a difference between the before and after the update is over a threshold value. 23. According to the adjustment method of claim 19, wherein the adjustment step is to adjust the speed of the network to the one of the 166001600 channels. 24. A computer program product, wherein the method of any one of items 1 to 18 is claimed after the computer program is executed and executed. 25. A computer program product 'A method as claimed in any one of claims 19 to 23, after the computer is loaded into the computer program and executed. 17
TW97137845A 2008-10-02 2008-10-02 Method for adjusting playout delay of mesh-based p2p streaming system and computer program product thereof TWI395487B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW97137845A TWI395487B (en) 2008-10-02 2008-10-02 Method for adjusting playout delay of mesh-based p2p streaming system and computer program product thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW97137845A TWI395487B (en) 2008-10-02 2008-10-02 Method for adjusting playout delay of mesh-based p2p streaming system and computer program product thereof

Publications (2)

Publication Number Publication Date
TW201016005A true TW201016005A (en) 2010-04-16
TWI395487B TWI395487B (en) 2013-05-01

Family

ID=44830274

Family Applications (1)

Application Number Title Priority Date Filing Date
TW97137845A TWI395487B (en) 2008-10-02 2008-10-02 Method for adjusting playout delay of mesh-based p2p streaming system and computer program product thereof

Country Status (1)

Country Link
TW (1) TWI395487B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI505676B (en) * 2011-06-03 2015-10-21 Apple Inc Playlists for real-time or near real-time streaming
US9531779B2 (en) 2010-04-07 2016-12-27 Apple Inc. Real-time or near real-time streaming
US9558282B2 (en) 2008-12-31 2017-01-31 Apple Inc. Playlists for real-time or near real-time streaming
US9729830B2 (en) 2010-04-01 2017-08-08 Apple Inc. Real-time or near real-time streaming
US10044779B2 (en) 2010-04-01 2018-08-07 Apple Inc. Real-time or near real-time streaming

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7499402B2 (en) * 2004-04-13 2009-03-03 Radioframe Networks, Inc. Network delay control
US7996872B2 (en) * 2006-12-20 2011-08-09 Intel Corporation Method and apparatus for switching program streams using a variable speed program stream buffer coupled to a variable speed decoder

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9558282B2 (en) 2008-12-31 2017-01-31 Apple Inc. Playlists for real-time or near real-time streaming
US9729830B2 (en) 2010-04-01 2017-08-08 Apple Inc. Real-time or near real-time streaming
US10044779B2 (en) 2010-04-01 2018-08-07 Apple Inc. Real-time or near real-time streaming
US10693930B2 (en) 2010-04-01 2020-06-23 Apple Inc. Real-time or near real-time streaming
US9531779B2 (en) 2010-04-07 2016-12-27 Apple Inc. Real-time or near real-time streaming
TWI505676B (en) * 2011-06-03 2015-10-21 Apple Inc Playlists for real-time or near real-time streaming
US9832245B2 (en) 2011-06-03 2017-11-28 Apple Inc. Playlists for real-time or near real-time streaming

Also Published As

Publication number Publication date
TWI395487B (en) 2013-05-01

Similar Documents

Publication Publication Date Title
US10305947B2 (en) Pre-buffering audio streams
US8838823B2 (en) Performance aware peer-to-peer content-on-demand
CN106161569B (en) Recommendation, buffer replacing method and the equipment of Web content
US10110507B2 (en) Push-based transmission of resources and correlated network quality estimation
US20060184688A1 (en) System and Method for Parallel Indirect Streaming of Stored Media from Multiple Sources
JP5020316B2 (en) Performance-aware peer-to-peer video on demand admission control
Liang et al. Incentivized peer-assisted streaming for on-demand services
CN103024593A (en) Online VOD (video on demand) acceleration system and online VOD playing method
JP2008198047A (en) Information distribution system, information distribution method, distribution unit, node unit, etc
TW201016005A (en) Method for adjusting playout delay of mesh-based P2P streaming system and computer program product thereof
WO2011018868A1 (en) Distribution server
JP6523447B2 (en) Adaptive bit rate during broadcast transmission in distributed content delivery networks
CN101394362A (en) Method for load balance to multi-core network processor based on flow fragmentation
US9712580B2 (en) Pipelining for parallel network connections to transmit a digital content stream
KR20190088380A (en) Mutimedia streaming method and system thereof
CN110445723A (en) A kind of network data dispatching method and fringe node
JP2005244605A (en) Streaming content distribution control system, program and recording medium storing the same
JP2011061533A (en) Content distribution system, sensory quality estimating apparatus, method, and program
KR101491604B1 (en) Method and system for providing content using multiple channel
CN107948703A (en) Playing progress rate synchronous method and device
JP4305717B2 (en) Information processing apparatus and method, recording medium, and program
JP2015104075A (en) Medium reproduction control device, medium reproduction control method and program
JP4090711B2 (en) Content providing method, content providing apparatus, content providing program, and recording medium on which content providing program is recorded
JP6378631B2 (en) Video distribution system and video distribution method
Ha et al. A novel Hybrid CDN-P2P mechanism For effective real-time media streaming