sustainability
Article Transmission Algorithm with QoS Considerations for a Sustainable MPEG Streaming Service
Sang-Hyong Kim, Kwan-Jong Yoo and Yoojae Won *
Department of Computer Science and Engineering, Chungnam National University, Daejeon 34134, Korea; [email protected] (S.-H.K.); [email protected] (K.-J.Y.) * Correspondence: [email protected]; Tel.: +82-42-821-6294
Academic Editors: James J. Park and Han-Chieh Chao Received: 23 December 2016; Accepted: 25 February 2017; Published: 2 March 2017
Abstract: With the proliferation of heterogeneous networks, there is a need to provide multimedia stream services in a sustainable manner. It is especially critical to maintain the Quality of Service (QoS) standards. Existing multimedia streaming services have been studied to guarantee QoS on the receiving side. QoS has not been ensured due to the fact that the loss of streaming data to be transmitted has not been considered in network conditions. With an algorithm that considers the QoS and can reduce the overhead of the network, it will be possible to reduce the transmission error and wastage of communication network resources. In this paper, we propose a scheme that improves the reliability of multimedia transmissions by using an adaptive algorithm that switches between UDP (User Datagram Protocol) and TCP (Transmission Control Protocol) based on the size of the data. In addition, we present a method that retransmits essential portions of the multimedia data, thus improving transmission efficiency. We simulate an MPEG (Moving Picture Experts Group) stream service and evaluate the performance of the proposed adaptive MPEG stream service.
Keywords: sustainability; MPEG; scalability; layered coding; Quality of Service; Forward Error Correction
1. Introduction The simultaneous advances in computing and information communication technologies have enabled the processing of massive volumes of data using personal computers. Several studies analyze multimedia data services [1–8] for a variety of communication media and devices. The process of providing real-time multimedia services over mobile and broadband Internet connection has different requirements in terms of the Quality of Service (QoS) [9–27]. This prompts the division of multimedia data into two layers—the base layer and the enhancement layer. This modularization helps in the customization of encoding and decoding operations as per the user connection capabilities. The layers can be divided based on spatial and temporal aspects; the fundamental characteristics and scalability of these have been previously analyzed [28–41]. Here, scalability refers to the adaptability of the multimedia data service to a dynamic network environment with the aim of reducing data loss and providing best QoS. Several measures have been proposed to improve the efficiency of multimedia data services. However, these are not suitable for deployment in resource constrained environments, where the users experience poor QoS. A multi-layered methodology has been proposed to implement adaptive multimedia transmission to improve efficiency [42–46]. In this, depending on the streaming bandwidth, either TCP or UDP sessions are chosen for transmission through the heterogeneous network [47–56]. To prevent the loss of packets during the transfer, important data segments are selected using the Forward Error Correction (FEC) methodology [57–65] and these are retransmitted.
Sustainability 2017, 9, 367; doi:10.3390/su9030367 www.mdpi.com/journal/sustainability Sustainability 2017, 9, 367 2 of 13 Sustainability 2017, 9, 367 2 of 13
The rest rest of of the the paper paper is is organized organized as as follows. follows. In In Section Section 2,2 ,the the layered layered coding coding methodology, methodology, a dataa data division division method method for for adaptive adaptive MPEG MPEG system, system, is is described. described. A A description description of of the the adaptive QoS algorithm based on session selection and FEC is provided in Section 3 3.. TheThe evaluation ofof thethe proposed algorithm is provided in Section 44.. SectionSection5 5 concludes concludes the the paper paper by by providing providing an an overall overall summary summary and describing further research tasks.
2. Related Related Work Work
2.1. Layered Layered Coding Methodology In order toto adaptadapt to to changing changing network network environments, environments, multimedia multimedia data data must must be divided. be divided. The QoSThe QoSis improved is improved by adding by adding decoding decoding data. data. When When the the network network condition condition is good,is good, the the multimedia multimedia data data is istransmitted transmitted as as a single a single unit unit without without any any interference. interference. However, However, when when the networkthe network is relatively is relatively slow, slow,we perform we perform basic databasic encoding data encoding to improve to improve the QoS. the QoS.
2.1.1. Spatial Spatial Division Division Method The type of divisiondivision methodmethod toto bebe implemented implemented depends depends on on the the data data resolution. resolution. The The encoding encoding of ofthe the basic basic layers layers is performed is performed first andfirst the and extension the extension area is encodedarea is encoded based on thebased in betweenon the in differential. between differential.Figure1 illustrates Figure the 1 illustrates process for the an process object using for an the object minimum using value. the minimum There is an value. expansion There ofis thean expansionlayers with of an the increase layers inwith the an value increase of the in expression the value of layer. the Theexpression left upper layer. area The is designatedleft upper area as the is designatedlow frequency as the area low while frequency the right area lower while area the has right higher lower frequency. area has The higher area information frequency. isThe used area to informationdetermine the is spatialused to resolution. determine the spatial resolution.
Figure 1. SpatialSpatial division method.
2.1.2. Time Division Method 2.1.2. Time Division Method In the time division method, the process of dividing the base layer and extended layer is the In the time division method, the process of dividing the base layer and extended layer is the same as that in the spatial division method. However, the time division method utilizes the time same as that in the spatial division method. However, the time division method utilizes the time difference between the base layer and the extended layer. This is done by identifying different difference between the base layer and the extended layer. This is done by identifying different streams streams in the frame expression and segregating them. When the base layer is subject to continuous in the frame expression and segregating them. When the base layer is subject to continuous replay, the replay, the result is an expression of wide movement. A smooth streaming replay can be acquired by result is an expression of wide movement. A smooth streaming replay can be acquired by adding the adding the extended layers to the wide movement frame. extended layers to the wide movement frame. The time division method uses the time axis and is shown in Figure 2. The redundancy is The time division method uses the time axis and is shown in Figure2. The redundancy is removed removed for coding movements and can be categorized by its application methods. for coding movements and can be categorized by its application methods.
Sustainability 2017, 9, 367 3 of 13
Sustainability 2017, 9, 367 3 of 13 Sustainability 2017, 9, 367 3 of 13
Figure 2. Time division method.
2.1.3. Relationship between Layers Theoretically, an MPEG stream can be divided into 192 different layers by applying time and Figure 2. Time division method. other division methods. The time division method produces up to 15 video layers that exhibit inter- dependencies as shown in Figure 3. Here, “n” represents the number of layers generated using spatial 2.1.3. Relationship between Layers division. The base layer T_layer1 is a time division layer used to decode T-layer2, which in turn is used Theoretically,to decode T_layer3. an MPEG stream can be divided into 192 different layers by applying time and otherLayers division division that methods. methods. are divided The The basedtime time di onvision division the definition method method produces of producesan image up toalso up 15 to havevideo 15 videodependencies. layers layers that exhibit that Each exhibit inter-layer dependenciesexistsinter-dependencies independently, as shown as but shown in Figureis dependent in Figure 3. Here,3 .on Here,“n other” represents “ n layers” represents thefor numberreplay. the number Forof layers decoding of generated layers a generatedlower using layer, spatial using the division.higherspatial division.layer The shouldbase The layer basehave T_layer1 layer already T_layer1 is been a time isdecoded. a division time division This layer results layer used used into thedecode to decodeexistence T-layer2, T-layer2, of a which base which layerin inturn turnand is usedarbitraryis used to todecode lower decode T_layer3.layers T_layer3. for encoding and decoding operations. Layers that are divided based on the definition of an image also have dependencies. Each layer exists independently, but is dependent on other layers for replay. For decoding a lower layer, the higher layer should have already been decoded. This results in the existence of a base layer and arbitrary lower layers for encoding and decoding operations.
Figure 3. Relationship between the layers.
2.2. Adaptive MPEG System Layers that are divided based on the definition of an image also have dependencies. Each layer exists independently, but is dependent on other layers for replay. For decoding a lower layer, the higher An optimum stream transferFigure takes3. Relationship into co nsiderationbetween the layers.the real-t ime network bandwidth measurement.layer should have Figure already 4 represents been decoded. the proposed This resultsMPEG system in the existence structure ofthat abase consists layer of andan algorithm arbitrary lower layers for encoding and decoding operations. that2.2. Adaptivesplits a MPEGmultimedia System stream into many streams and transfers each of them to the client. The transferred streams are merged into a single multimedia stream and are sent to the client through the 2.2. Adaptive MPEG System MPEGAn player. optimum This processstream cantransfer provide takes a betterinto secorvicensideration by using the the real-t real-timeime networknetwork bandwidth informationmeasurement.An optimum to Figure estimate stream 4 represents transferthe network takes the intoproposedload consideration and MPEGminimize system the real-timedata structure loss. network The that proposed bandwidthconsists systemof measurement.an algorithm uses an thatautonomousFigure splits4 represents a real-timemultimedia the bandwidth proposed stream MPEGinto cali brationmany system streammethod structures andto monitor thattransfers consists the eachchanging of of an them algorithm stream to theinformation. that client. splits The aIt transferredmultimedia streamstreams into are many merged streams into a and single transfers multimedia each of stream them to and the client.are sent The to transferredthe client through streams the are MPEGmerged player. into a single This multimediaprocess can streamprovide and a better are sent se torvice the clientby using through the real-time the MPEG network player. This bandwidth process informationcan provide ato better estimate service the bynetwork using theload real-time and mini networkmize data bandwidth loss. The information proposed system to estimate uses thean autonomous real-time bandwidth calibration method to monitor the changing stream information. It Sustainability 2017, 9, 367 4 of 13
Sustainability 2017, 9, 367 4 of 13 network load and minimize data loss. The proposed system uses an autonomous real-time bandwidth calibrationfirstSustainability sends methodmetadata 2017, 9, to367 monitor to the client the changing and initiates stream st information.ream service. It firstThis sends helps metadata to adapt to to the bandwidth client4 of 13 and initiateschanges streamand provide service. better This stream helps toservice. adapt to bandwidth changes and provide better stream service. first sends metadata to the client and initiates stream service. This helps to adapt to bandwidth changes and provide better stream service.
Figure 4. Adaptive MPEG system transfer module. Figure 4. Adaptive MPEG system transfer module. 3. Adaptive QoS Transfer AlgorithmAlgorithm 3. Adaptive QoS Transfer Algorithm Figure5 5illustrates illustrates the the temporal-fidelity temporal-fidelity scalability scalability method method used used in transferring in transferring data from data a from server a Figure 5 illustrates the temporal-fidelity scalability method used in transferring data from a toserver the client. to the Steps client. 1–4 Steps show 1–4 the show initial the server initial and serv clienter and states. client The states. server The sends server a requested sends a multimedia requested multimediaserver to thefile client. to the Steps client 1–4 first show and the the initial actual serv multimediaer and client data states. later The as server shown sends in steps a requested 5–7. The filemultimedia to the client file first to andthe client the actual first and multimedia the actual data multimedia later as showndata later in stepsas shown 5–7. Thein steps received 5–7. The file is mergedreceived into file ais single merged file into using a thesingle merging file using module. the merging As shown module. in steps As 8–11, shown this isin playedsteps 8–11, back this to the is playedreceived back file to theis merged client via into a aplayer. single Thefile usingQoS Monitor the merging obtains module. the current As shown session in steps information 8–11, this based is clientplayed via aback player. to the The client QoS via Monitor a player. obtains The QoS the Monitor current obtains session the information current session based information on the multimedia based on the multimedia data (steps 10–11). This information is resent to the server QoS Adapter, which dataon (steps the multimedia 10–11). This data information (steps 10–11). is resent This information to the server is QoS resent Adapter, to the whichserver determinesQoS Adapter, the which data to determines the data to be transferred next (steps 12–13). bedetermines transferred the next data (steps to be 12–13). transferred next (steps 12–13).
FigureFigure 5. 5.Adaptive Adaptive QoS algorithm. Figure 5. Adaptive QoS algorithm.
Sustainability 2017, 9, 367 5 of 13
Sustainability 2017, 9, 367 5 of 13 3.1. Session-Based Adaptive QoS Algorithm 3.1. Session-Based Adaptive QoS Algorithm Existing streaming services run over UDP, which enables them to meet real-time requirements. Existing streaming services run over UDP, which enables them to meet real-time requirements. However,However, there there is a is possibility a possibility of of losing losing important important data data when when using using UDP, UDP, which which could could result result in a loss in a loss of integrity.of integrity. On On the the other other hand, hand, the the TCP TCP ensuresensures re reliableliable delivery delivery but but at the atthe cost cost of increased of increased time time latency.latency. The The proposed proposed session session transfer transfer algorithm algorithm exploitsexploits the the advantages advantages of both of both the theprotocols. protocols. It uses It uses UDPUDP to transfer to transfer real-time real-time data data and and TCP TCP to to transfer transfer critical critical high-priority high-priority data.data. The categorization categorization of of the datathe is determined data is determined by client by feedback client feedback and based and onbased this, on the this, session the session group isgroup increased is increased or decreased. or decreased.Figure6 illustrates the session size (group) calculation at time instances A and B. The client side countsFigure the 6 number illustrates of the packets session nsize for (group) the final calcul transferation at and time the instances playback A and time B. The from client packet side n to packetcountsn + 1the, where numbern >0, of packets to determine n for the whether final transfer the receiving and the playback operation time is from complete. packet Whenn to packet thetime n of + 1, where n >0, to determine whether the receiving operation is complete. When the time of completion is smaller, it indicates that there is still time to receive more packets. The difference value completion is smaller, it indicates that there is still time to receive more packets. The difference value can becan used be used to determine to determine the the time time required required toto send more more packets packets and and the the next next session session packet packet number. number. The stepsThe steps in the in the session session size size (group) (group) calculation calculation algorithmalgorithm are are shown shown in inAlgorithm Algorithm 1. 1.
FigureFigure 6. 6. SessionSession group group calculation. calculation.
Algorithm 1. Session size calculation AlgorithmNRT : 1.theSession time it sizetakes calculation to play the next GoV NRT :CRT the time: the time it takes it takes to play to complete the next the GoV current session CRT :CSPN the time : the it number takes to of complete packets received the current in the session current session CSPNiLayerPackNo : the number :of the packets number received of packets in thein a currentparticular session spatial and temporal layer obtained from the metafile iLayerPackNoNSS : the size : the of number the next of session packets to inbe atransmitted particular spatial and temporal layer obtained from the metafile NSS :PN the : sizethe number of the next of extra session packets to be that transmitted can be sent during the free time PN : the number of extra packets that can be sent during the free time 1 T = NRT-CRT; 1 T =2 NRT-CRT; PN = ROUND((T * CSPN)/CRT); 2 PN3 = NSS ROUND((T = 0; * CSPN)/CRT); 3 NSS = 0; 4 for4 (procedure for (procedure of Spatial of Spatial layer) layer) { { 5 5for (procedure for (procedure of Temporal of Temporal layer) layer) { { 6 6 if ((NSS if ((NSS + iLayerPackNo) + iLayerPackNo) > CSPN > CSPN + PN) + PN) 7 7 break ;break; 8 8 else NSS else += NSS iLayerPackNo; += iLayerPackNo; 99 } } 10 } 10 }
3.2. FEC-Based3.2. FEC-Based Adaptive Adaptive QoS QoS Algorithm Algorithm The existing FEC method does not use client feedback information. The server calculation is The existing FEC method does not use client feedback information. The server calculation is performed for transmission operations only and places a heavy load on the network bandwidth. It is performednot suited for for transmission a variable network operations environment only and as places it requires a heavy that the load transmitted on the network data segments bandwidth. have It is not suitedthe same for size. a variable To address network this issue, environment we propose as itthat requires client feedback that the information transmitted be data used segments to obtain have the sameknowledge size. Toof the address network this condition. issue, we This propose information that client is used feedback to implement information data redundancy be used toand obtain knowledge of the network condition. This information is used to implement data redundancy and minimize data loss. Figure7 illustrates the indirect loss situation that arises during network transfer after termination assuming that there is no higher layer. Sustainability 2017, 9, 367 6 of 13
Sustainabilityminimize2017 data, 9, loss. 367 Figure 7 illustrates the indirect loss situation that arises during network transfer6 of 13 after termination assuming that there is no higher layer.
Figure 7. Indirect packet loss. Figure 7. Indirect packet loss.
Consider a five-layered data (T1F1~T1F5) scenario, where the layers decrease in importance fromConsider top to bottom, a five-layered i.e., T1F1 data > T1F2 (T1F1 > T1F3~T1F5 > T1F4) scenario, > T1F5. whereHere, T1F2 the layersneeds T1F1 decrease for replay in importance and so fromon. topTherefore, to bottom, when i.e., transferringT1F1 > T1F2 data,> T1F1T1F3 is> retransmittedT1F4 > T1F5 .to Here, preventT1F2 indirectneeds lossT1F1 of forother replay levels. and soThe on. proposed Therefore, algorithm when transferring uses feedback data, informationT1F1 is retransmittedfrom the client to side prevent to improve indirect the loss QoS. of The other levels.amount The of proposed data transmitted algorithm by uses the feedbackserver and information received by from the theclient client is calculated side to improve based on the the QoS. Thefeedback amount information of data transmitted and error rate bythe of the server current and network. received The by metrics the client used is calculatedto quantify basedthis is on the feedback information and error rate of the current network. The metrics used to quantify this is