TWI492581B - Retransmission system for real-time video streams multicasting and method thereof - Google Patents
Retransmission system for real-time video streams multicasting and method thereof Download PDFInfo
- Publication number
- TWI492581B TWI492581B TW102117537A TW102117537A TWI492581B TW I492581 B TWI492581 B TW I492581B TW 102117537 A TW102117537 A TW 102117537A TW 102117537 A TW102117537 A TW 102117537A TW I492581 B TWI492581 B TW I492581B
- Authority
- TW
- Taiwan
- Prior art keywords
- retransmission
- time
- mobile terminal
- negative acknowledgement
- request block
- Prior art date
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本發明涉及一種即時影音串流系統,特別是指一種具有群播重傳功能之即時影音串流的群播重傳系統及其方法。The invention relates to a real-time video stream system, in particular to a group broadcast retransmission system with a live video stream with a multicast retransmission function and a method thereof.
近年來,隨著網路的普及與蓬勃發展,人們對於即時資訊的傳遞與接收需求越來越高。其中,藉由影音傳達即時資訊的方式由於較文字表達更為生動,因此越來越多人傾向觀看即時影音來獲得資訊。In recent years, with the popularity and flourishing of the Internet, people are increasingly demanding the transmission and reception of instant information. Among them, the way to convey instant information through video and audio is more vivid than the text, so more and more people tend to watch instant video to get information.
一般而言,網路上的即時影音是透過TCP或UDP等網路協定來進行傳送,由於TCP不支援群播(Multicast)功能且對於影音伺服器的負荷較大,所以通常會選擇UDP群播機制傳送即時影音,此方式相較於TCP單點傳播(Unicast)可以大量降低影音伺服器的負載,並且減少個別用戶的影音播放時間差。然而,由於UDP本身不支援確認(Acknowledgement,ACK)與重傳機制,所以當影音資料遺失或傳輸過程有錯誤時,將無法重傳遺失或有誤的影音資料,進而產生即時影音品質不佳的問題。Generally speaking, the instant video on the network is transmitted through a network protocol such as TCP or UDP. Since TCP does not support the multicast function and has a large load on the video server, the UDP multicast mechanism is usually selected. Transmitting instant video and audio, this method can greatly reduce the load of the video server compared to TCP single-cast (Unicast), and reduce the video and audio playback time difference of individual users. However, since UDP itself does not support the Acknowledgement (ACK) and retransmission mechanism, when the audio and video data is lost or the transmission process is wrong, the lost or incorrect audio and video data cannot be retransmitted, resulting in poor quality of the audio and video. problem.
有鑑於此,便有人提出一種使用混合式自動重傳請求(Hybrid Automatic Retransmission Request,HARQ)的方式,透過回報否定確認封包(Negative Acknowledgement,NACK)並藉由重傳來提升群播系統的可靠性。然而,上述方式並未完整考量即時影音的有效重傳時間,也就是說,重傳的影音資料可能是在播放點之前而造成浪費頻寬的情況,使得即時影音的品質無法獲得顯著的提升。因此,上述方式仍 然無法有效解決在群播環境下,即時影音的品質不佳之問題。In view of this, a Hybrid Automatic Retransmission Request (HARQ) method is proposed to improve the reliability of the multicast system by using Negative Acknowledgement (NACK) and retransmission. . However, the above method does not fully consider the effective retransmission time of the instant video and audio, that is to say, the retransmitted video and audio data may be a wasteful bandwidth before the play point, so that the quality of the instant video and audio cannot be significantly improved. Therefore, the above method is still However, it is impossible to effectively solve the problem of poor quality of instant audio and video in a group broadcast environment.
綜上所述,可知先前技術中長期以來一直存在在群播環境下,即時影音的品質不佳之問題,因此實有必要提出改進的技術手段,來解決此一問題。In summary, it can be seen that in the prior art, there has been a problem of poor quality of instant video and audio in a group broadcast environment for a long time, so it is necessary to propose an improved technical means to solve this problem.
本發明揭露一種即時影音串流的群播重傳系統及其方法。The invention discloses a group broadcast retransmission system for instant video stream and a method thereof.
首先,本發明揭露一種即時影音串流的群播重傳系統,此系統包含:來源端、行動端及基地端。其中,來源端用以傳送封包;行動端用以接收被轉送的封包及傳送否定確認封包(Negative Acknowledgement,NACK)。至於基地端則包含:傳輸模組、緩衝模組、閥值模組、計時模組、延遲模組、設定模組及重傳模組。其中,傳輸模組用以自來源端接收封包並轉送至行動端,以及自行動端接收否定確認封包;緩衝模組用以在將封包轉送至行動端時,將重傳請求區塊(ARQ block)暫存至重傳緩衝區(Retransmission buffer);閥值模組用以根據要求重傳同一重傳請求區塊的否定確認封包的數量及群播的行動端數量計算重傳閥值(Threshold);計時模組用以使用雅各布森演算法計算出每一行動端的重傳逾時值(RTO),並且選擇最大的重傳逾時值作為等待否定確認封包時間(WNTMAX );延遲模組用以在每一行動端的重傳請求區塊的重傳延遲時間(TR )中選擇時間最短者作為容許延遲時間(TD );設定模組用以將等待否定確認封包時間設為重傳時間(RT),並且在此重傳時間內,持續在等待否定確認封包時間及容許延遲時間中選擇時間最短者以重新設定為重傳時間;以及重傳模組用以當接收到的否定確認封包的累計數量達到重傳閥值且滿足重傳時間時,將重傳請求區塊重新傳送至行動端,以及當滿足重傳時間但接收到的否定確認封包的累計數量未達到重傳閥值時,基地端不重新傳送重傳請求區塊並將重傳請求區塊自重傳緩衝區中移除。First, the present invention discloses a group broadcast retransmission system for instant video stream, and the system includes: a source end, an action end, and a base end. The source is used to transmit the packet; the mobile terminal is configured to receive the forwarded packet and transmit a Negative Acknowledgement (NACK). The base end includes: a transmission module, a buffer module, a threshold module, a timing module, a delay module, a setting module, and a retransmission module. The transmission module is configured to receive the packet from the source end and forward the packet to the mobile terminal, and receive the negative acknowledgement packet from the mobile terminal; the buffer module is configured to retransmit the request block (ARQ block) when forwarding the packet to the mobile terminal. Preserving to the retransmission buffer (retransmission buffer); the threshold module is used to calculate the retransmission threshold (Threshold) according to the number of negative acknowledgment packets retransmitted by the same retransmission request block and the number of mobile terminals. The timing module is configured to calculate the retransmission timeout value (RTO) of each mobile terminal using the Jacobson algorithm, and select the maximum retransmission timeout value as the waiting negative acknowledgement packet time (WNT MAX ); the delay mode The group is configured to select the shortest time as the allowable delay time (T D ) in the retransmission delay time (T R ) of the retransmission request block of each mobile terminal; the setting module is configured to set the waiting for negative acknowledgement packet time as retransmission Time (RT), and during this retransmission time, the shortest time is selected to wait for the negative acknowledgement packet time and the allowable delay time to be reset to the retransmission time; and the retransmission module is used to receive the negative acknowledgement When the accumulated number of packets reaches the retransmission threshold and the retransmission time is met, the retransmission request block is retransmitted to the mobile terminal, and when the retransmission time is satisfied but the accumulated number of negative acknowledgement packets received does not reach the retransmission threshold At the time, the base end does not retransmit the retransmission request block and removes the retransmission request block from the retransmission buffer.
另外,本發明揭露一種即時影音串流的群播重傳方法,應用在基地端,其步驟包括:當基地端自來源端接收到封包並轉送至行動端時,將重傳請求區塊暫存至重傳緩衝區;基地端自行動端接收否定確認封包;根據要求重傳同一重傳請求區塊的否定確認封包的數量及群播的行動端數量計算重傳閥值;以雅各布森演算法計算出每一行動端的重傳逾時值,並且選擇最大的重傳逾時值作為等待否定確認封包時間;在每一行動端的重傳請求區塊的重傳延遲時間中選擇時間最短者作為容許延遲時間;將等待否定確認封包時間設為重傳時間,並且在此重傳時間內,持續在等待否定確認封包時間及容許延遲時間中選擇時間最短者以重新設定為重傳時間;當接收到的否定確認封包的累計數量達到重傳閥值且滿足重傳時間時,將重傳請求區塊重新傳送至行動端,以及當滿足重傳時間但接收到的否定確認封包的累計數量未達到重傳閥值時,基地端不重新傳送重傳請求區塊並將重傳請求區塊自重傳緩衝區中移除。In addition, the present invention discloses a method for replaying a real-time video stream, which is applied to the base end. The steps include: when the base end receives the packet from the source end and forwards the packet to the mobile terminal, the retransmission request block is temporarily stored. To the retransmission buffer; the base end receives the negative acknowledgment packet from the mobile terminal; calculates the retransmission threshold according to the number of negative acknowledgment packets retransmitted by the same retransmission request block and the number of the mobile terminal; The algorithm calculates the retransmission timeout value of each mobile terminal, and selects the largest retransmission timeout value as the waiting for negative acknowledgement packet time; selects the shortest time in the retransmission delay time of the retransmission request block of each mobile terminal. As the allowable delay time; set the waiting for negative acknowledgement packet time as the retransmission time, and during this retransmission time, continuously select the shortest time in the waiting for negative acknowledgement packet time and allowable delay time to reset to the retransmission time; when received If the cumulative number of negative acknowledgement packets reaches the retransmission threshold and the retransmission time is met, the retransmission request block is retransmitted to the mobile terminal, and when When a sufficient number of retransmission times, but the cumulative negative acknowledgments received retransmission packet does not reach the threshold, the base end of the retransmission request is not to retransmit the block and the retransmission request transmission buffer block weight is removed.
本發明所揭露之系統與方法如上,與先前技術的差異在於本發明是透過基地端計算重傳閥值、容許延遲時間及重傳時間,以便在滿足重傳時間的情況下,當否定確認封包的累計數量達到重傳閥值時,將重傳請求區塊重新傳送至行動端,以及當否定確認封包的累計數量未達到重傳閥值時,將重傳請求區塊從重傳緩衝區中移除,使基地端重傳的重傳請求區塊能夠來得及被行動端組合播放。The system and method disclosed by the present invention are as above, and the difference from the prior art is that the present invention calculates the retransmission threshold, the allowable delay time, and the retransmission time through the base end, so that when the retransmission time is satisfied, the negative acknowledgement packet is used. When the accumulated number reaches the retransmission threshold, the retransmission request block is retransmitted to the mobile terminal, and when the cumulative number of negative acknowledgement packets does not reach the retransmission threshold, the retransmission request block is moved from the retransmission buffer. In addition, the retransmission request block that retransmits the base end can be played back by the mobile terminal.
透過上述的技術手段,本發明可以達成提高群播環境下的即時影音品質之技術功效。Through the above technical means, the present invention can achieve the technical effect of improving the quality of real-time audio and video in a multicast environment.
110‧‧‧來源端110‧‧‧Source
120‧‧‧行動端120‧‧‧Action side
130‧‧‧基地端130‧‧‧Base
131‧‧‧傳輸模組131‧‧‧Transmission module
132‧‧‧緩衝模組132‧‧‧buffer module
133‧‧‧閥值模組133‧‧‧ Threshold Module
134‧‧‧計時模組134‧‧‧Timekeeping Module
135‧‧‧延遲模組135‧‧‧Delay module
136‧‧‧設定模組136‧‧‧Setting module
137‧‧‧重傳模組137‧‧‧Retransmission module
310‧‧‧重傳緩衝區310‧‧‧Retransmission buffer
320‧‧‧傳輸緩衝區320‧‧‧Transmission buffer
330‧‧‧接收緩衝區330‧‧‧ Receive buffer
步驟210‧‧‧當該基地端自至少一來源端接收到封包並轉送至至少一行動端時,將重傳請求區塊(ARQ block)暫存至一重傳緩衝區(Retransmission buffer)Step 210‧‧‧ When the base end receives the packet from at least one source and forwards it to at least one mobile terminal, temporarily stores the retransmission request block (ARQ block) into a retransmission buffer (Retransmission buffer)
步驟220‧‧‧該基地端自所述行動端接收否定確認封包(NACK)Step 220‧‧‧ The base end receives a negative acknowledgement packet (NACK) from the mobile terminal
步驟221‧‧‧比對該否定確認封包要求重傳的重傳請求區塊的一區塊序列號與該重傳緩衝區中的重傳請求區塊是否相符,當不相符時表示重傳請求區塊超過容許延遲時間已被移除,當比對相符時累計該否定確認封包的數量Step 221. The ratio of a block sequence number of the retransmission request block requesting retransmission to the negative acknowledgement packet matches the retransmission request block in the retransmission buffer, and when it does not match, indicates a retransmission request. The block exceeds the allowable delay time has been removed, and the number of negative acknowledgement packets is accumulated when the comparison matches
步驟230‧‧‧根據要求重傳同一重傳請求區塊的否定確認封包的數量及群播的行動端數量計算一重傳閥值(Threshold)Step 230‧‧‧ Calculate a retransmission threshold (Threshold) by retransmitting the number of negative acknowledgement packets of the same retransmission request block and the number of mobile terminals
步驟231‧‧‧偵測網路頻寬及當前資料量,並且根據偵測到的網路頻寬與當前資料量的比值調整該重傳閥值Step 231‧‧‧ Detect the network bandwidth and the current data volume, and adjust the retransmission threshold according to the ratio of the detected network bandwidth to the current data volume
步驟240‧‧‧以雅各布森演算法計算出每一行動端的一重傳逾時值(RTO),並且選擇最大的重傳逾時值作為一等待否定確認封包時間(WNTMAX )Step 240‧‧‧ Calculate a retransmission timeout value (RTO) for each action end using the Jacobson algorithm, and select the maximum retransmission timeout value as a wait for negative acknowledgement packet time (WNT MAX )
步驟250‧‧‧在每一行動端的重傳請求區塊的重傳延遲時間(TR )中選擇時間最短者作為一容許延遲時間(TD )Step 250‧‧‧ Select the shortest time as the allowable delay time (T D ) in the retransmission delay time (T R ) of the retransmission request block of each mobile terminal
步驟260‧‧‧將該等待否定確認封包時間設為一重傳時間(RT),並且在該重傳時間內,持續在該等待否定確認封包時間及該容許延遲時間中選擇時間最短者以重新設定為該重傳時間Step 260‧‧‧ set the waiting negative acknowledgement packet time to a retransmission time (RT), and during the retransmission time, continuously select the shortest time in the waiting negative acknowledgement packet time and the allowable delay time to reset For this retransmission time
步驟270‧‧‧當接收到的否定確認封包的累計數量達到該重傳閥值且滿足該重傳時間時,將重傳請求區塊重新傳送至行動端,以及當滿足重傳時間但接收到的否定確認封包的累計數量未達到重傳閥值時,基地端不重新傳送重傳請求區塊並將重傳請求區塊自重傳緩衝區中移除Step 270‧‧‧ When the accumulated number of negative acknowledgement packets received reaches the retransmission threshold and the retransmission time is satisfied, the retransmission request block is retransmitted to the mobile terminal, and when the retransmission time is satisfied but received When the cumulative number of negative acknowledgement packets does not reach the retransmission threshold, the base station does not retransmit the retransmission request block and removes the retransmission request block from the retransmission buffer.
步驟410‧‧‧傳送ARQ BlockStep 410‧‧‧Transfer ARQ Block
步驟420‧‧‧計算WNTMAX Step 420‧‧‧ Calculate WNT MAX
步驟430‧‧‧將WNTMAX 設定為RTStep 430‧‧‧Set WNT MAX to RT
步驟440‧‧‧重傳逾時Step 440‧‧‧Retransmission timeout
步驟450‧‧‧接收到NACKStep 450‧‧‧ Received NACK
步驟460‧‧‧NACK的數量達到重傳閥值Step 460‧‧‧NACK reaches the retransmission threshold
步驟470‧‧‧計算TD Step 470‧‧‧ Calculate T D
步驟480‧‧‧在WNTMAX 及TD 兩者中取最小者的值重新設定為RTStep 480‧‧‧Reset the value of the smallest of WNT MAX and T D to RT
步驟490‧‧‧NACK的數量達到重傳閥值Step 490‧‧‧NACK reaches the retransmission threshold
步驟500‧‧‧重傳ARQ BlockStep 500‧‧‧Retransmit ARQ Block
步驟510‧‧‧從重傳緩衝區移除ARQ BlockStep 510‧‧‧Remove the ARQ Block from the retransmission buffer
第1圖為本發明即時影音串流的群播重傳系統之系統方塊圖。FIG. 1 is a system block diagram of a multicast playback system for instant video streaming of the present invention.
第2A圖及第2B圖為本發明即時影音串流的群播重傳方法之方法流程圖。2A and 2B are flowcharts of a method for multicasting a live video stream retransmission method according to the present invention.
第3圖為本發明基地端及行動端的緩衝區及時間示意圖。Figure 3 is a schematic diagram of the buffer and time of the base end and the mobile end of the present invention.
第4A圖及第4B圖本發明基地端重新傳送重傳請求區塊(ARQ Block)之步驟流程圖。4A and 4B are flowcharts showing the steps of the base end retransmission retransmission request block (ARQ Block) of the present invention.
以下將配合圖式及實施例來詳細說明本發明之實施方式,藉此對本發明如何應用技術手段來解決技術問題並達成技術功效的實現過程能充分理解並據以實施。The embodiments of the present invention will be described in detail below with reference to the drawings and embodiments, so that the application of the technical means to solve the technical problems and achieve the technical effects can be fully understood and implemented.
在說明本發明所揭露之即時影音串流的群播重傳系統及其方法之前,先對本發明所應用的環境作說明,本發明是應用在具有來源端、行動端及基地端等環境中的基地端,並且三者能夠透過有線或無線網路相互進行通訊,另外,來源端可為網路攝影機、計算機等提供串流資料的設備;行動端可為筆記型電腦、平板電腦、智慧型手機或個人數位助理......等行動設備;基地端則可使用計算機來進行實現,如:個人電腦。Before describing the multicast retransmission system and method of the instant video stream disclosed in the present invention, the environment to which the present invention is applied is described. The present invention is applied to an environment having a source end, an action end, and a base end. At the base end, and the three can communicate with each other through wired or wireless networks. In addition, the source can provide streaming data for network cameras, computers, etc.; the mobile terminal can be a notebook computer, a tablet computer, or a smart phone. Or personal digital assistants... and other mobile devices; the base can be implemented using a computer, such as a personal computer.
以下配合圖式對本發明即時影音串流的群播重傳系統及其方法做進一步說明,請參閱「第1圖」,「第1圖」為本發明即時影音串流的群播重傳系統之系統方塊圖,其系統包含:來源端110、行動端120及基地端130。其中,來源端110用以傳送封包。舉例來說,來源端110為網路攝影機(IP Camera)時,能夠傳送包含影音資料的封包。由於來源端110為習知技術,故在此不再多作贅述。The following describes the group broadcast retransmission system and method for the instant video stream of the present invention in conjunction with the drawings. Please refer to "FIG. 1", which is the group broadcast retransmission system of the instant video stream of the present invention. A system block diagram, the system comprising: a source end 110, an action end 120, and a base end 130. The source end 110 is configured to transmit a packet. For example, when the source terminal 110 is an IP camera, it can transmit a packet containing audio and video data. Since the source end 110 is a conventional technology, it will not be repeated here.
行動端120用以接收被基地端130轉送的封包及傳送否定確認封包。在實際實施上,所述行動端120會根據這些收到的封包進行組合以播放即時影音。The mobile terminal 120 is configured to receive the packet forwarded by the base end 130 and transmit a negative acknowledgement packet. In actual implementation, the mobile terminal 120 combines according to the received packets to play the instant video.
至於基地端130則包含:傳輸模組131、緩衝模 組132、閥值模組133、計時模組134、延遲模組135、設定模組136及重傳模組137。其中,傳輸模組131用以自來源端110接收封包並轉送至行動端120,以及自行動端120接收否定確認封包,其接收與轉送可透過有線或無線網路的方式來實現。As for the base end 130, the transmission module 131 and the buffer module are included. The group 132, the threshold module 133, the timing module 134, the delay module 135, the setting module 136, and the retransmission module 137. The transmission module 131 is configured to receive the packet from the source end 110 and forward it to the mobile terminal 120, and receive the negative acknowledgement packet from the mobile terminal 120, and the receiving and forwarding are implemented by means of a wired or wireless network.
緩衝模組132用以在將封包轉送至行動端120時,將重傳請求區塊暫存至重傳緩衝區。在實際實施上,緩衝模組132更包含在傳輸模組131接收到所述否定確認封包時,比對此否定確認封包要求重傳的重傳請求區塊的區塊序列號(Block Sequence Number,BSN)與重傳緩衝區中的重傳請求區塊是否相符,當不相符時,表示重傳請求區塊超過容許延遲時間已被移除,當比對相符時累計否定確認封包的數量。The buffer module 132 is configured to temporarily store the retransmission request block to the retransmission buffer when forwarding the packet to the mobile terminal 120. In actual implementation, the buffer module 132 further includes a block sequence number (Block Sequence Number) of the retransmission request block that is required to be retransmitted when the transmission module 131 receives the negative acknowledgement packet. The BSN) is consistent with the retransmission request block in the retransmission buffer. When it does not match, it indicates that the retransmission request block has exceeded the allowable delay time, and the number of negative acknowledgement packets is accumulated when the comparison matches.
閥值模組133用以根據要求重傳同一重傳請求區塊的否定確認封包的數量、群播的行動端120的數量來計算重傳閥值。在實際實施上,要求重傳同一重傳請求區塊的否定確認封包的數量可表示為“NNACK
”、群播的行動端120的數量可表示為“NMS
”,則重傳閥值可表示如下:
特別要說明的是,閥值模組133更可偵測網路頻寬及當前資料量,並且根據偵測到的網路頻寬與當前資料量的比值調整重傳閥值,換句話說,重傳閥值可根據網路狀況來進行調整,所述網路狀況可由當前資料量與基地端130所分配的頻寬兩者的比值來決定,當比值小時,將重傳閥值調小;反之,當比值大時,將重傳閥值調大。In particular, the threshold module 133 can detect the network bandwidth and the current data amount, and adjust the retransmission threshold according to the ratio of the detected network bandwidth to the current data amount, in other words, The retransmission threshold can be adjusted according to the network condition, and the network condition can be determined by the ratio of the current data volume to the bandwidth allocated by the base station 130. When the ratio is small, the retransmission threshold is reduced; Conversely, when the ratio is large, the retransmission threshold is increased.
計時模組134用以使用雅各布森(Jacobson)演算法計算出每一個行動端120的重傳逾時值(Retransmission Timeout,RTO),並且選擇最大的重傳逾時值作為等待否定確認封包時間(WNTMAX ),其可表示如下:WNTMAX =MAX[RTOMS1 ,RTOMS2 ,......,RTOMSn ]The timing module 134 is configured to calculate a Retransmission Timeout (RTO) of each of the mobile terminals 120 using a Jacobson algorithm, and select a maximum retransmission timeout value as a wait for a negative acknowledgement packet. Time (WNT MAX ), which can be expressed as follows: WNT MAX = MAX[RTO MS1 , RTO MS2 , ..., RTO MSn ]
其中,“RTOMS1 ”代表第一個行動端120的重傳逾時值、“RTOMS2 ”代表第二個行動端120的重傳逾時值,並以此類推“RTOMSn ”代表第n個行動端120的重傳逾時值,而“WNTMAX ”則是在這些行動端120的重傳逾時值中取最大者。由於以雅各布森演算法計算出重傳逾時值為習知技術,故在不再多作贅述。Where "RTO MS1 " represents the retransmission timeout value of the first mobile terminal 120, "RTO MS2 " represents the retransmission timeout value of the second mobile terminal 120, and so on, "RTO MSn " represents the nth The retransmission timeout value of the mobile terminal 120, and "WNT MAX " is the largest among the retransmission timeout values of these mobile terminals 120. Since the Jacobson algorithm calculates the retransmission timeout value as a conventional technique, it will not be repeated.
延遲模組135用以在每一行動端120傳送否定確認封包直到行動端120處理基地端130傳送相應於此否定確認封包之重傳請求區塊的重傳延遲時間(TR )中選擇時間最短者作為容許延遲時間(TD ),容許延遲時間可表示如下:TD =min[TR_MS1 ,TR_MS2 ,......,TR_MSn ]The delay module 135 is configured to transmit a negative acknowledgement packet at each mobile terminal 120 until the mobile terminal 120 processes the base station 130 to transmit a retransmission delay time (T R ) corresponding to the retransmission request block corresponding to the negative acknowledgement packet. As the allowable delay time (T D ), the allowable delay time can be expressed as follows: T D =min[T R_MS1 , T R_MS2 , . . . , T R_MSn ]
其中,“TR_MS1 ”代表第一個行動端120的重傳請求區塊的重傳延遲時間、“TR_MS2 ”代表第二個行動端120的重傳請求區塊的重傳延遲時間,並以此類推,“TR_MSn ”代表第n個行動端120的重傳請求區塊的重傳延遲時間。在實際實施上,重傳請求區塊的重傳延遲時間(TR )是指行動端120傳送否定確認封包至基地端130,基地端130接收此重傳請求區塊並放置於基地端130的重傳緩衝區直到被傳送,且被傳送的重傳請求區塊被行動端120接收後放置在行動端120的緩衝區中直到被處理的這整段時間,其可表示如下:TR =TNACK +Twait +TARQ +THOL Wherein, "T R_MS1" represents the first mobile terminal 120 requests retransmission block retransmission delay time, "T R_MS2" action represents the second end 120 of the retransmission request retransmission delay block, and to Such a push, "T R_MSn " represents the retransmission delay time of the retransmission request block of the nth mobile terminal 120. In actual implementation, the retransmission delay time (T R ) of the retransmission request block means that the mobile terminal 120 transmits a negative acknowledgement packet to the base end 130, and the base end 130 receives the retransmission request block and places it on the base end 130. The retransmission buffer is transmitted until the transmitted retransmission request block is received by the mobile terminal 120 and placed in the buffer of the mobile terminal 120 until the entire time of processing, which can be expressed as follows: T R =T NACK +T wait +T ARQ +T HOL
其中,“TNACK ”代表否定確認封包的傳送時間、“Twait ”代表重傳請求區塊被放置於基地端130的重傳緩衝區直到被傳送的時間、“TARQ ”代表重傳請求區塊的傳送時間、“THOL ”是指重傳請求區塊被行動端120接收後放置在行動端120的緩衝區中直到被處理的時間。在實際實施上,“THOL ”數值小代表應用層沒有緩衝太多資料,當重傳請求區塊被接收後,必須在很短的時間內組合成影音資料並播放,反之,當“THOL ”數值大則代表應用層有緩衝許多等待播放的影音資料。Where "T NACK " represents the transmission time of the negative acknowledgement packet, "T wait " represents the retransmission request block is placed in the retransmission buffer of the base end 130 until the time of transmission, and "T ARQ " represents the retransmission request area The transmission time of the block, "T HOL " refers to the time during which the retransmission request block is received by the mobile terminal 120 and placed in the buffer of the mobile terminal 120 until it is processed. In practical implementation, the small value of “T HOL ” means that the application layer does not buffer too much data. When the retransmission request block is received, it must be combined into video and audio data and played in a short time. Otherwise, when “T HOL "A large value means that the application layer has buffered a lot of audio and video data waiting to be played.
設定模組136用以將等待否定確認封包時間設為重傳時間(RT),並且在此重傳時間內,持續在等待否定確認封包時間及容許延遲時間中選擇時間最短者以重新設定為重傳時間,所述重傳時間可表示如下:RT=min[WNTMAX ,TD ]The setting module 136 is configured to set the waiting for negative acknowledgement packet time as the retransmission time (RT), and in the retransmission time, continuously select the shortest time in the waiting for the negative acknowledgement packet time and the allowable delay time to reset to the retransmission time. The retransmission time can be expressed as follows: RT=min[WNT MAX , T D ]
其中,“WNTMAX ”與“TD ”皆已於前面作詳細說明,故在此不再多作贅述。在實際實施上,當基地端130將封包群播後,設定模組136會將等待否定確認封包時間“WNTMAX ”設定為重傳時間“RT”,並且在此重傳時間內,基地端130所接收的否定確認封包將被統計,當其中有否定確認封包的累積數量超過重傳閥值時,設定模組136會在等待否定確認封包時間“WNTMAX ”與容許延遲時間“TD ”兩者間選擇時間最短者以重新設定為重傳時間“RT”。Among them, "WNT MAX " and "T D " have been described in detail above, so no further details are given here. In actual implementation, after the base end 130 broadcasts the packet, the setting module 136 sets the waiting negative acknowledgement packet time "WNT MAX " to the retransmission time "RT", and during the retransmission time, the base end 130 The received negative acknowledgement packet will be counted. When the cumulative number of negative acknowledgement packets exceeds the retransmission threshold, the setup module 136 will wait for the negative acknowledgement packet time "WNT MAX " and the allowable delay time "T D ". The shortest selection time is reset to the retransmission time "RT".
重傳模組137用以在接收到的否定確認封包的累計數量達到該重傳閥值且滿足重傳時間時,將重傳請求區塊重新傳送至行動端120,以及當滿足重傳時間但接收到的否定確認封包的累計數量未達到重傳閥值時,基地端130不重新傳送重傳請求區塊並將重傳請求區塊自重傳緩衝區中移除。如此一來,重傳的重傳請求區塊不但可以滿足行動端120的重傳要求,還可以使重傳的重傳請求區塊抵達行動端120時仍然來得及被組合播放。The retransmission module 137 is configured to retransmit the retransmission request block to the mobile terminal 120 when the accumulated number of received negative acknowledgement packets reaches the retransmission threshold and meet the retransmission time, and when the retransmission time is met but When the accumulated number of negative acknowledgement packets received does not reach the retransmission threshold, the base end 130 does not retransmit the retransmission request block and removes the retransmission request block from the retransmission buffer. In this way, the retransmitted retransmission request block can not only meet the retransmission requirement of the mobile terminal 120, but also enable the retransmitted retransmission request block to arrive at the mobile terminal 120 and still have to be played in combination.
接著,請參閱「第2A圖」及「第2B圖」,「第2A圖」及「第2B圖」為本發明即時影音串流的群播重傳方法,應用在基地端130,其步驟包括:當基地端130自來源端110接收到封包並轉送至行動端120時,將重傳請求區塊暫存至重傳緩衝區(步驟210);基地端130自所述行動端120接收否定確認封包(步驟220);根據要求重傳同一重傳請求區塊的否定確認封包的數量及群播的行動端數量計算重傳閥值(步驟230);以雅各布森演算法計算出每一行動端120的重傳逾時值,並且選擇最大的重傳逾時值作為等待否定確認封 包時間(步驟240);在每一行動端120的重傳請求區塊的重傳延遲時間中選擇時間最短者作為容許延遲時間(步驟250);將等待否定確認封包時間設為重傳時間(RT),並且在此重傳時間內,持續在等待否定確認封包時間及容許延遲時間中選擇時間最短者以重新設定為重傳時間(步驟260);當接收到的否定確認封包的累計數量達到重傳閥值且滿足重傳時間時,將重傳請求區塊重新傳送至行動端120,以及當滿足重傳時間但接收到的否定確認封包的累計數量未達到重傳閥值時,基地端130將不重新傳送重傳請求區塊並將重傳請求區塊自重傳緩衝區中移除(步驟270)。透過上述步驟,即可透過基地端130計算重傳閥值、容許延遲時間及重傳時間,以便在滿足重傳時間的情況下,當否定確認封包的累計數量達到重傳閥值時,將重傳請求區塊重新傳送至行動端120,以及當否定確認封包的累計數量未達到重傳閥值時,將重傳請求區塊從重傳緩衝區中移除,使基地端130重傳的重傳請求區塊能夠來得及被行動端120組合播放。Next, please refer to "2A" and "2B", "2A" and "2B" are the multicast retransmission methods of the instant video stream, which are applied at the base end 130, and the steps include When the base end 130 receives the packet from the source end 110 and forwards the packet to the mobile terminal 120, the retransmission request block is temporarily stored in the retransmission buffer (step 210); the base end 130 receives a negative acknowledgement from the mobile terminal 120. Packet (step 220); retransmission threshold is calculated according to the number of negative acknowledgement packets retransmitted by the same retransmission request block and the number of mobile terminals of the multicast (step 230); each is calculated by the Jacobson algorithm The mobile terminal 120 retransmits the timeout value and selects the largest retransmission timeout value as a wait for negative acknowledgement Packet time (step 240); selecting the shortest time as the allowable delay time in the retransmission delay time of the retransmission request block of each mobile terminal 120 (step 250); setting the waiting for negative acknowledgement packet time as the retransmission time (RT) And, during this retransmission time, continuously select the shortest time in the waiting for the negative acknowledgement packet time and the allowable delay time to reset to the retransmission time (step 260); when the cumulative number of negative acknowledgement packets received reaches the retransmission When the threshold value and the retransmission time are met, the retransmission request block is retransmitted to the mobile terminal 120, and when the retransmission time is satisfied but the accumulated number of negative acknowledgement packets received does not reach the retransmission threshold, the base end 130 will The retransmission request block is not retransmitted and the retransmission request block is removed from the retransmission buffer (step 270). Through the above steps, the retransmission threshold, the allowable delay time, and the retransmission time can be calculated through the base end 130, so that when the retransmission time is satisfied, when the cumulative number of negative confirmation packets reaches the retransmission threshold, the weight will be heavy. The request request block is retransmitted to the mobile terminal 120, and when the cumulative number of negative acknowledgement packets does not reach the retransmission threshold, the retransmission request block is removed from the retransmission buffer, and the base station 130 retransmits the retransmission. The request block can be played in combination by the mobile terminal 120.
特別要說明的是,在步驟220後可比對否定確認封包要求重傳的重傳請求區塊的區塊序列號與重傳緩衝區中的重傳請求區塊是否相符,當不相符時表示重傳請求區塊超過容許延遲時間已被移除,當比對相符時累計否定確認封包的數量(步驟221);以及在步驟230後可偵測網路頻寬及當前資料量,並且根據偵測到的網路頻寬與當前資料量的比值調整重傳閥值(步驟231)。In particular, after step 220, the block sequence number of the retransmission request block that is required to be retransmitted to the negative acknowledgement packet is matched with the retransmission request block in the retransmission buffer, and when it does not match, the weight is indicated. The request request block exceeds the allowable delay time has been removed, and the number of negative acknowledgement packets is accumulated when the comparison matches (step 221); and after step 230, the network bandwidth and the current data amount are detected, and according to the detection The ratio of the obtained network bandwidth to the current data amount adjusts the retransmission threshold (step 231).
以下配合「第3圖」至「第4B圖」以實施例的方式進行如下說明,請先參閱「第3圖」,「第3圖」為本發明基地端及行動端的緩衝區及時間示意圖。前面提到,基地端130會接收“NACK”以及將重傳請求區塊(ARQ Block)暫存在重傳緩衝區310以等候重新傳送;行動端120則會傳送“NACK”以及接收“ARQ Block”。在實際實施上,在緩衝區的部分,基地端130會透過傳輸緩衝區320來接收由行
動端120傳送的“NACK”,而行動端120則透過接收緩衝區330來存放接收自基地端130的“ARQ Block”。另外,在時間的部分,行動端120傳送“NACK”至基地端130的這段時間表示為“TNACK
”;至於基地端130傳送“ARQ Block”至行動端120的這段時間則表示為“TARQ
”。由於接收緩衝區330可依序存放多個接收自基地端130的“ARQ Block”,這些“ARQ Block”直到被處理的這段等候時間即表示為“THOL
”,至於基地端130的部分,其重傳的“ARQ Block”在重傳緩衝區310中等待被傳送的時間表示為“Twait
”,所述“Twait
”可如下公式表示:
其中,“Nwait ”為重傳緩衝區310中在此重傳的“ARQ Block”前的所有“ARQ Block”的數量、“w”則為基地端130分配給此群播連線的排程權重(scheduling weight)。The "N wait " is the number of all the "ARQ Blocks" before the "ARQ Block" retransmitted in the retransmission buffer 310, and the "w" is the scheduling weight assigned to the multicast connection by the base station 130. (scheduling weight).
如「第4A圖」及「第4B圖」所示意,「第4A圖」及「第4B圖」為本發明基地端重新傳送重傳請求區塊(ARQ Block)之步驟流程圖。首先,基地端130傳送“ARQ Block”(步驟410)之後,會計算出等待否定確認封包時間“WNTMAX ”(步驟420),並且將“WNTMAX ”設定為重傳時間“RT”(步驟430),接著,判斷“RT”是否逾時(步驟440),假設未逾時則判斷是否接收到否定確認封包“NACK”(步驟450),倘若判斷結果為接受到否定確認封包,那麼將繼續判斷“NACK”的數量是否達到重傳閥值(步驟460),當達到重傳閥值時計算容許延遲時間“TD ”(步驟470),並且在“WNTMAX ”與“TD ”兩者中取最小者的值以重新設定為“RT”(步驟480),另外,倘若步驟450未收到否定確認封包、步驟460未達到重傳閥值或執行完步驟480,那麼將重新回到步驟440。As shown in "4A" and "4B", "4A" and "4B" are flowcharts of the steps of the base station retransmitting the retransmission request block (ARQ Block). First, after the base station 130 transmits the "ARQ Block" (step 410), it calculates an operation waiting for the negative confirmation packet time "WNT MAX " (step 420), and sets "WNT MAX " as the retransmission time "RT" (step 430). Next, it is judged whether "RT" is out of time (step 440), and if it is not timed, it is judged whether or not a negative acknowledgement packet "NACK" is received (step 450), and if the result of the judgment is that a negative acknowledgement packet is accepted, then "NACK" is continued. Whether the number reaches the retransmission threshold (step 460), the allowable delay time "T D " is calculated when the retransmission threshold is reached (step 470), and the minimum is taken between "WNT MAX " and "T D " The value of the person is reset to "RT" (step 480). Additionally, if step 450 does not receive a negative acknowledgement packet, step 460 does not reach the retransmission threshold, or step 480 is performed, then step 440 is returned.
承上所述,假設在步驟440判斷已逾時,那麼將 判斷“NACK”的數量是否達到重傳閥值(步驟490),倘若未達到重傳閥值則基地端130不重新傳送重傳請求區塊並且會從重傳緩衝區中移除“ARQ Block”(步驟510),反之若達到重傳閥值將重新傳送“ARQ Block”(步驟500)。換句話說,當基地端130群播後便會設定重傳時間,並且在此段重傳時間內持續統計接收到的“NACK”,當某一個重傳請求區塊的“NACK”累計數量超過重傳閥值時,在“WNTMAX ”與“TD ”兩者中取最小者的值以重新設定為“RT”,當“RT”時間結束便執行重傳。藉由控制時間使重傳的“ARQ Block”抵達行動端120時仍來得及被播放。As stated above, if it is determined in step 440 that the timeout has elapsed, then it is determined whether the number of "NACKs" has reached the retransmission threshold (step 490), and if the retransmission threshold is not reached, the base end 130 does not retransmit the retransmission request. The block will also remove the "ARQ Block" from the retransmission buffer (step 510), otherwise the "ARQ Block" will be retransmitted if the retransmission threshold is reached (step 500). In other words, when the base station 130 multicasts, the retransmission time is set, and the received "NACK" is continuously counted during the retransmission time, when the cumulative number of "NACKs" of a retransmission request block exceeds When the threshold is retransmitted, the smallest value of "WNT MAX " and "T D " is reset to "RT", and retransmission is performed when the "RT" time is over. By controlling the time, the retransmitted "ARQ Block" arrives at the mobile terminal 120 and is still ready to be played.
綜上所述,可知本發明與先前技術之間的差異在於透過基地端計算重傳閥值、容許延遲時間及重傳時間,以便在滿足重傳時間的情況下,當否定確認封包的累計數量達到重傳閥值時,將重傳請求區塊重新傳送至行動端,以及當否定確認封包的累計數量未達到重傳閥值時,將重傳請求區塊從重傳緩衝區中移除,使基地端重傳的重傳請求區塊能夠來得及被行動端組合播放,藉由此一技術手段可以解決先前技術所存在的問題,進而達成提高在群播環境下的即時影音品質之技術功效。In summary, it can be seen that the difference between the present invention and the prior art is that the retransmission threshold, the allowable delay time, and the retransmission time are calculated through the base end, so that when the retransmission time is satisfied, the cumulative number of negative acknowledgement packets is determined. When the retransmission threshold is reached, the retransmission request block is retransmitted to the mobile terminal, and when the cumulative number of negative acknowledgement packets does not reach the retransmission threshold, the retransmission request block is removed from the retransmission buffer, so that The retransmission request block retransmitted by the base end can be played by the mobile terminal in combination, and the technical problem can be solved by the prior art, thereby achieving the technical effect of improving the real-time audio and video quality in the multicast environment.
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明,任何熟習相像技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之專利保護範圍須視本說明書所附之申請專利範圍所界定者為準。While the present invention has been described above in the foregoing embodiments, it is not intended to limit the invention, and the invention may be modified and modified without departing from the spirit and scope of the invention. The scope of patent protection shall be subject to the definition of the scope of the patent application attached to this specification.
110‧‧‧來源端110‧‧‧Source
120‧‧‧行動端120‧‧‧Action side
130‧‧‧基地端130‧‧‧Base
131‧‧‧傳輸模組131‧‧‧Transmission module
132‧‧‧緩衝模組132‧‧‧buffer module
133‧‧‧閥值模組133‧‧‧ Threshold Module
134‧‧‧計時模組134‧‧‧Timekeeping Module
135‧‧‧延遲模組135‧‧‧Delay module
136‧‧‧設定模組136‧‧‧Setting module
137‧‧‧重傳模組137‧‧‧Retransmission module
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102117537A TWI492581B (en) | 2013-05-17 | 2013-05-17 | Retransmission system for real-time video streams multicasting and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102117537A TWI492581B (en) | 2013-05-17 | 2013-05-17 | Retransmission system for real-time video streams multicasting and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201445994A TW201445994A (en) | 2014-12-01 |
TWI492581B true TWI492581B (en) | 2015-07-11 |
Family
ID=52707246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102117537A TWI492581B (en) | 2013-05-17 | 2013-05-17 | Retransmission system for real-time video streams multicasting and method thereof |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI492581B (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201115515A (en) * | 2009-10-20 | 2011-05-01 | Chunghwa Telecom Co Ltd | Video/audio communication system |
TW201127025A (en) * | 2010-01-25 | 2011-08-01 | Chunghwa Telecom Co Ltd | NGN remote audiovisual monitoring application system and operation method thereof |
TW201210321A (en) * | 2010-08-27 | 2012-03-01 | Avermedia Tech Inc | Interactive AV system, system and method for broadcasting AV information |
TW201220767A (en) * | 2010-11-04 | 2012-05-16 | Ind Tech Res Inst | System and method for peer-to-peer live streaming |
US20120135676A1 (en) * | 2010-11-26 | 2012-05-31 | Industrial Technology Research Institute | System and method for deployment and management of interactive regional broadcast services |
-
2013
- 2013-05-17 TW TW102117537A patent/TWI492581B/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201115515A (en) * | 2009-10-20 | 2011-05-01 | Chunghwa Telecom Co Ltd | Video/audio communication system |
TW201127025A (en) * | 2010-01-25 | 2011-08-01 | Chunghwa Telecom Co Ltd | NGN remote audiovisual monitoring application system and operation method thereof |
TW201210321A (en) * | 2010-08-27 | 2012-03-01 | Avermedia Tech Inc | Interactive AV system, system and method for broadcasting AV information |
TW201220767A (en) * | 2010-11-04 | 2012-05-16 | Ind Tech Res Inst | System and method for peer-to-peer live streaming |
US20120135676A1 (en) * | 2010-11-26 | 2012-05-31 | Industrial Technology Research Institute | System and method for deployment and management of interactive regional broadcast services |
Also Published As
Publication number | Publication date |
---|---|
TW201445994A (en) | 2014-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108881970B (en) | Method and apparatus for transmission rate control for real-time video streaming systems | |
JP6023368B1 (en) | Interactive real-time media transfer protocol | |
CN105357592B (en) | A kind of streaming media self-adapting transmitting selective frame losing method | |
CN113037440B (en) | Data retransmission processing method and device, computer equipment and storage medium | |
KR101032512B1 (en) | Reliable delivery of multi-cast conferencing data | |
US20120170445A1 (en) | Efficient application-layer automatic repeat request retransmission method for reliable real-time data streaming in networks | |
US20030206549A1 (en) | Method and apparatus for multicast delivery of information | |
RU2501172C2 (en) | Method and apparatus for packet loss compensation in user datagram protocol transmission mode | |
US20090175221A1 (en) | multimedia wireless distribution systems and methods | |
EP1301041A1 (en) | Video data transmission method and apparatus | |
US11032104B2 (en) | UDP over TCP tunnel | |
US8984158B2 (en) | Data communication system and method | |
CN103269260A (en) | Data transmission method, data receiving terminal, data sending terminal and data transmission system | |
KR20160135200A (en) | Transport accelerator implementing extended transmission control functionality | |
US20140028779A1 (en) | Video transmitting apparatus and video transmitting method | |
US10044482B2 (en) | Apparatus and method for transmitting a message to multiple receivers | |
CN104065643A (en) | Method and system of multimedia network transmission based on tree logic | |
CN103686446A (en) | Method and system for retransmitting lost packet in video data transmission | |
US8363573B2 (en) | Method for ringcasting with improved reliability | |
CN115189813A (en) | OTT multicast method, system, device, multicast proxy and multicast server | |
TWI492581B (en) | Retransmission system for real-time video streams multicasting and method thereof | |
US11233716B2 (en) | System for real-time monitoring with backward error correction | |
KR101563779B1 (en) | Lightweight end-to-end protocol for retransmitting real-time multimedia data lost over the networks | |
CN114039702B (en) | Data transmission method, device, equipment and medium | |
CN114640724B (en) | RUDP-based data transmission method, device, equipment and computer storage medium |