<<

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 () 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 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 , 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. 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 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 . 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

=1− (1) Gi Gi Erate = 1 − ∑ SRLi/ ∑ SSLi (1) where Gi is the number of transmitted GoV, SSLi= is0 the sizei= of0 the transmitted data in GoV units, and SRL is the size of the received data in GoV units. where GToi is reduce the number the network of transmitted error rate,GoV data, SSL canis be the retransmitted, size of the transmitted but this is dataa waste in GoV of networkunits, and SRLbandwidth.is the size The of the proposed received algorithm data in GoV usesunits. client feedback information to determine an adaptive quantityTo reduce of data the networkfor retransmission. error rate, In data this can me bechanism, retransmitted, the key challenges but this is are a waste related of to network the bandwidth.determination The proposedof the desired algorithm QoS and uses the client associated feedback redundancy. information The to determineQoS is determined an adaptive by quantityusing offeedback data for retransmission. information from In thisthe mechanism,client. We assume the key that challenges the same are amount related of to data the determinationis sent again and of the desiredtherefore QoS the and size the ofassociated the next data redundancy. packet is known.The QoS The is data determined quantity decision by using algorithm feedback is information shown in fromAlgorithm the client. 2. We assume that the same amount of data is sent again and therefore the size of the next data packet is known. The data quantity decision algorithm is shown in Algorithm 2. Algorithm 2. Data quantity decision iSizeofNet : the predictable network bandwidth Algorithm 2. Data quantity decision 1 for (procedure of Temporal layer) { iSizeofNet2 for (procedure : the predictable of Spatial network layer) bandwidth { 1 for3 (procedure iSizeofLayer of Temporal = size of layer) layer; { 24 for (procedure iSizeofSend of Spatial= 0; layer) { 35 iSizeofLayer if (expansion = size layer) of layer; 46 iSizeofSend iSizeofSend = 0; += iSizeofLayer; 57 if (expansion else (base layer) 68 iSizeofSend iSizeofSend += += iSizeofLayer; (iSizeofLayer * amount of redundancy) 79 else if (base (iSizeofSend layer) > iSizeofNet) break; 810 } iSizeofSend += (iSizeofLayer * amount of redundancy) 911 if if (iSizeofSend (iSizeofSend > > iSizeofNet)iSizeofNet) break;break; 1012 } } 11 if (iSizeofSend > iSizeofNet) break; 12 } The error-rate calculation, transfer determination algorithm, transfer data error rate, and data redundancy should be determined. For meaningful MPEG streaming, higher layer data associated The error-rate calculation, transfer determination algorithm, transfer data error rate, and data redundancy should be determined. For meaningful MPEG streaming, higher layer data associated with the current layer should be transmitted first. The proposed algorithm guarantees that this higher Sustainability 2017, 9, 367 7 of 13 layer data is transferred with a higher reliability. The probability of redundant transfer can be derived Sustainability 2017, 9, 367 7 of 13 from Equations (2) and (3). with the current layer should be transmitted first. The proposed algorithm guarantees that this higher N11 layer data is transferred with( a higher) = reliability.× ×The · · probability · × of= redundant transfer can be derived T1S1 P111 P112 P11N11 ∏ P11k (2) from Equations (2) and (3). k=1 where Pijn is the probability that the nth packet of the TiSj layer will be transmitted, Nij is the number = × ×⋯× = (2) of packets in TiSj layer, and ∆P is the size of the packet.

where Pijn is the probability that the nth packet of the TiSj layer will be transmitted, Nij is the number N11 ! of packets in TiSj layer, and ∆ is the size of the packet. ∏ P11k × Dup > ProBotLmt (3) k=1

×> (3) where ProBotLmt is the minimum probability that a layer should be transmitted and DuP is the amount of redundant transmission. where ProBotLmt is the minimum probability that a layer should be transmitted and DuP is the 4. Experimentalamount of redundant Evaluation transmission. and Performance Analysis The4. Experimental performance Evaluation of the proposed and Performance algorithm Analysis was analyzed by simulation using a video stream. The adaptiveThe performance QoS algorithm’s of the proposed performance algorithm was was compared analyzed with by simulation a transfer using technique a videothat stream. did not considerThe theadaptive QoS. TheQoS directalgorithm’s and indirect performance packet was losses comp wereared computedwith a transfer in terms technique of the that GoV did packet not size by processingconsider the the QoS. merged The direct data atand the indirect client packet side. Thelosses result were provedcomputed that in theterms proposed of the GoV adaptive packet QoS algorithmsize by is processing better than the the merged current data methods. at the client side. The result proved that the proposed adaptive FigureQoS algorithm8 illustrates is better a simulation than the current environment methods. for the performance evaluation of the proposed algorithms.Figure The 8 streaming illustrates servera simulation was implemented environment infor Visual the performance C++ under evaluation Windows of 2000, the proposed and the client experimentedalgorithms. with The astreaming laptop using server an was Intel implemente Core (TM)d in i3 Visual CPU. TheC++ under TS (Transport Windows Stream) 2000, and Divider the is client experimented with a laptop using an Intel Core (TM) i3 CPU. The TS (Transport Stream) responsible for dividing; the TS Sender is in charge of sending the divided stream; the TS Writer is Divider is responsible for dividing; the TS Sender is in charge of sending the divided stream; the TS in chargeWriter of is data in charge receiving; of data and receiving; the TS Mergerand the TS decodes Merger the decodes received the received data. The data. Error The Rate Error Controller Rate determinesController the determines loss of the the packet loss sentof the and packet the sent Error an Inspectord the Error measures Inspector themeasures indirect the data indirect loss data between the higherloss between layer and the higher lower layer and in accordance lower layer in with accordance the presented with the error presented rate. error rate.

Figure 8. Simulation diagram. Figure 8. Simulation diagram. The streaming data used in the experiment is an MPEG-4 stream called Foreman, which is 176 × The144 pixels streaming in size. data The total used number in the of experiment frames is 400 is frames, an MPEG-4 and the streamnumber calledof frames Foreman, per second which is is 176 ×30144 frames. pixels Wein divide size. the The data total into number 12 layers of through frames the is 400 divider frames, of the and server the and number assume of that frames the per seconddata is that 30 frames. can be transmitted We divide in the each data time into unit 12 is layers the same. through We controlled the divider the error of the of serverthe network and assume in that thebetween data 5% that and can 50% be for transmitted comparison inof eachsend efficiency. time unit is the same. We controlled the error of the network in between 5% and 50% for comparison of send efficiency. Sustainability 2017, 9, 367 8 of 13 Sustainability 2017, 9, 367 8 of 13

4.1. Performance of the Session-Based Adaptive QoS and Non-QoS Techniques 4.1. Performance of the Session-Based Adaptive QoS and Non-QoS Techniques The data transmitted using the non-QoS and session-based adaptive QoS techniques was not The data transmitted using the non-QoS and session-based adaptive QoS techniques was not large large in size. However, the final merged multimedia data showed big differences because the inrelationship size. However, between the final the merged layers was multimedia different. data Figure showed 9a–c big show differences the comparison because theresults. relationship This betweendemonstrates the layers that was the different.lower layer Figure can only9a–c be show decoded the comparison by using higher results. layer This data demonstrates and that the that loss the lowerof higher layer layer can onlydata becan decoded result in byloss using of lower higher layer layer data. data To minimize and that thethis, loss the session-based of higher layer method data can resulttransmits in loss this of lowerlayer using layer TCP, data. resulting To minimize in a more this, thereliable session-based transfer as methodcompared transmits to UDP. this The layer transfer using TCP,time resulting is reduced, in a morehowever, reliable reliable transfer transfer as compared is acquired. to UDP.This difference The transfer widens time isas reduced,the packet however, size reliableincreases. transfer As the is data acquired. transfer This rate difference decreases, widens the data as transfer the packet failure size possibility increases. and As the the indirect data transfer loss ratesize decreases, increase. the data transfer failure possibility and the indirect loss size increase.

(a)

(b)

(c)

Figure 9. (a) Non-QoS and Session-based adaptive QoS-1; (b) Non-QoS and Session-based adaptive Figure 9. (a) Non-QoS and Session-based adaptive QoS-1; (b) Non-QoS and Session-based adaptive QoS-2; (c) Non-QoS and Session-based adaptive QoS-3. QoS-2; (c) Non-QoS and Session-based adaptive QoS-3. Sustainability 2017, 9, 367 9 of 13 Sustainability 2017, 9, 367 9 of 13

4.2.4.2. FEC-Based FEC-Based Adaptive Adaptive QoS QoS and and Non-QoSNon-QoS PerformancePerformance Compare Compare FigureFigure 10 10a–ca–c show show thethe comparisoncomparison ofof resultsresults obtained using using the the FEC-based FEC-based adaptive adaptive QoS QoS algorithmalgorithm and and the the non-QoS technique. technique. The The FEC-based FEC-based adaptive adaptive QoS algorithm QoS algorithm transfer transfer result is resultlower is lowerin comparison in comparison with withnon-QoS. non-QoS. This result This resultis a consequence is a consequence of the ofadaptive the adaptive QoS algorithm’s QoS algorithm’s flow flowcontrol. control.

(a)

(b)

(c)

Figure 10. (a) FEC method adaptive QoS and non-QoS-1; (b) FEC method adaptive QoS and non-QoS-2; (c) Figure 10. (a) FEC method adaptive QoS and non-QoS-1; (b) FEC method adaptive QoS and non-QoS-2; FEC method adaptive QoS and non-QoS-3. (c) FEC method adaptive QoS and non-QoS-3. Sustainability 2017, 9, 367 10 of 13

To compare the two techniques, the same amount of data is transferred using both. As the sizes of all the layers are not equal, we observe, from Figure 10a–c, that the transferred data is not continuous. The amount of data received using the FEC-based adaptive QoS method is smaller than that received from the non-QoS technique. Nevertheless, the whole data transfer loss rates are similar because of the direct loss factor. In the real-time data quantity comparison, the FEC-based adaptive QoS system shows better results. This is caused by FEC-based redundant retransmission of data. The higher level data is repeatedly sent, resulting in a lower transfer failure rate as compared to the non-QoS system. The FEC-adaptive QoS transfer method reduces the indirect loss of the transfer.

4.3. Performance Analysis Result The performance of the adaptive QoS transfer algorithm and the existing transfer algorithm are compared. The experimental results show that the proposed method exhibits better data transfer results. During the transfer of a large multimedia file, the indirect loss of data caused by network limitations is comparable to the direct loss. It is almost impossible to compensate for direct loss at the client side. Therefore, data recovery techniques based on the transfer data specification that reduce indirect losses play a vital role. The proposed method is based on the principle that the higher layer transmission must be reliable in order to improve overall transmission efficiency. The server determines the data transfer rate by using the real-time bandwidth information. This results in an efficient data transfer system. In order to quantify the efficiency of the system, we measured the error rate in data. The results indicate that the adaptive QoS algorithm system performs better than the non-QoS technique.

5. Conclusions Multimedia transmissions have gained research interest due to advances in networking. The emergence of mobile communication technologies and improved device performance are the key factors that have motivated studies on multimedia data transfer. This paper proposed two adaptive QoS transfer algorithms. The first method involved the selection of important data based on relationships and the other advocated setting of data transmission rates in accordance with the network bandwidth. When applied to a network that involves multimedia transmission, this adaptive QoS algorithm can be used to solve different problems. The proposed adaptive QoS data transfer algorithm can be adapted for use in wired and wireless networks. It can be considered as a service for server/client-based network structure that guarantees reliable service. In our future research, we will be analyzing new QoS algorithms and transfer-error prevention methods to address various heterogeneous network quality issues.

Acknowledgments: This research was supported by the MSIP (Ministry of Science, ICT and Future Planning), Korea, under the University Information Technology Research Center support program (IITP-2016-R2718-16-0003) supervised by the IITP (Institute for Information & Communications Technology Promotion). Author Contributions: All authors developed the research design and contributed to the writing of the paper. Sang-Hyong Kim and Yoojae Won contributed to the study design, algorithm improvement, and drafted the manuscript. Kwan-Jong Yoo was involved in data acquisition and analysis, worked on aspects of the experiment evaluation, and drafted the manuscript. All authors have read and approved the final manuscript. Conflicts of Interest: The authors declare no conflict of interest.

References

1. Tian, G.; Liu, Y. Towards Agile and Smooth Video Adaptation in HTTP Adaptive Streaming. IEEE/ACM Trans. Netw. 2016, 24, 2386–2399. [CrossRef] 2. Liu, J.; Li, B.; Hou, Y.T.; Chlamtac, I. On optimal layering and bandwidth allocation for multisession video broadcasting. IEEE Trans. Wirel. Commun. 2004, 3, 656–667. [CrossRef] 3. Lee, J.; Lee, K.; Han, C.; Kim, T.; Chong, S. Resource-Efficient Mobile Multimedia Streaming with Adaptive Network Selection. IEEE Trans. Multimed. 2016, 18, 2517–2527. [CrossRef] Sustainability 2017, 9, 367 11 of 13

4. Oyman, O.; Singh, S. for HTTP adaptive streaming services. IEEE Commun. Mag. 2012, 50, 20–27. [CrossRef] 5. Mok, R.K.P.; Chan, E.W.W.; Chang, R.K.C. Measuring the quality of experience of HTTP video streaming. In Proceedings of the 12th IFIP/IEEE International Symposium on Integrated Network Management, Dublin, Ireland, 23–27 May 2011; pp. 485–492. 6. Chen, C.; Choi, L.K.; Veciana, G.D.; Caramanis, C.; Heath, R.W., Jr.; Bovik, A.C. A dynamic system model of time-varying subjective quality of video streams over HTTP.In Proceedings of the 2013 International Conference on Acoustics, Speech, and Signal Processing, Vancouver, BC, Canada, 26–31 May 2013; pp. 3602–3606. 7. Bhargava, B.; Wang, S.Y.; Khan, M.; Habib, A. Multimedia data transmission and control using active networks. Comput. Commun. 2016, 36, 632–639. [CrossRef] 8. Yang, H.S.; Sun, J.H. A Study on Stable Data Transmission Using Hierarchical Share Group in Mobile Ad Hoc Network. Wirel. Pers. Commun. 2016, 86, 333–349. [CrossRef] 9. Ji, W.; Li, Z. Heterogeneous QoS video broadcasting with optimal joint layered video and digital fountain coding. In Proceedings of the 2011 IEEE International Conference on Communications, Kyoto, Japan, 5–9 June 2011; pp. 1–6. 10. Ahn, S.H.; Kang, M.G.; Kim, D.H.; Kim, H.C. QoS adaptive MPEG-2 streaming based on scalable Media Object Framework. In Proceedings of the International Conference on Information Networking, Beppu City, Oita, Japan, 31 January–2 February 2001; pp. 683–688. 11. Kumar, S.; Sarkar, M.; Gurajala, S.; Matyjas, J.D. MMMP: A MAC Protocol to Ensure QoS for Multimedia Traffic over Multi-hop Ad Hoc Networks. J. Inf. Process. Syst. 2008, 4, 41–52. [CrossRef] 12. Rodriguez, D.Z.; Rosa, R.L.; Alfaia, E.C.; Abrahão, J.I.; Bressan, G. Video Quality Metric for Streaming Service Using DASH Standard. IEEE Trans. Broadcast. 2016, 62, 628–639. [CrossRef] 13. Luo, H.; Shyu, M.L. Quality of service provision in mobile multimedia—A survey. Hum.-Centric Comput. Inf. Sci. 2011, 1, 5. [CrossRef] 14. Li, Q. Providing Adaptive QoS to Layered Video Over Wireless Local Area Networks through Real-Time Retry Limit Adaptation. IEEE Trans. Multimed. 2004, 6, 278–290. [CrossRef] 15. Zivizni, A.; Wolfinger, B.E.; de Rezende, J.F.; Duarte, O.C.M.B.; Fdida, S. Joint Adoption of QoS Schemes for MPEG Streams. Multimed. Tools Appl. 2005, 26, 59–80. [CrossRef] 16. Verscheure, O.; Garcia, X.; Karlsson, G.; Hubaux, J.P. User-Oriented QoS in Packet Video Delivery. IEEE Netw. 1998, 12, 12–21. [CrossRef] 17. Wolfinger, B.E.; Zaddach, M. Techniques to Improve Quality-of-Service in Video Communications via Best Effort Networks. In Proceedings of the International Conference on Networking, Colmar, France, 9–13 July 2001; pp. 754–765. 18. Shin, J.; Kim, J.W.; Lee, D.C.; Kuo, C.C.J. Adaptive Packet Forwarding for Relative and Categorized Packet Video. In Proceedings of the IEEE International Conference on Communications, Helsinki, Finland, 11–14 June 2001; pp. 763–767. 19. Shin, J.; Kim, J.; Kuo, C.C.J. Quality of service mapping mechanism for packet video in differentiated services network. IEEE Trans. Multimed. 2001, 3, 219–231. [CrossRef] 20. Da Silva Gonçalves, P.A.; Rezende, J.F.; Duarte, O.C.M.B.; Pujolle, G. Optimal Feedback for Quality Source-Adaptive Schemes in Multicast Multi-layered Video Environments. In Proceedings of the Second International IFIP-TC6 Networking Conference, Pisa, Italy, 19–24 May 2002; pp. 563–574. 21. Cavusoglu, B.; Schonfeld, D.; Ansari, R.; Kumar Bal, D. Real-Time Low-Complexity Adaptive Approach for Enhanced QoS and Error Resilience in MPEG-2 Video Transport Over RTP Networks. IEEE Trans. Circuits Syst. Video Technol. 2005, 15, 1604–1614. [CrossRef] 22. Pliakas, T.; Kormentzas, G.; Skianis, C. End-to-end QoS issues of MPEG-4 FGS video streaming traffic delivery in an IP/DVB/UMTS network. Eur. J. Oper. Res. 2008, 191, 1089–1100. [CrossRef] 23. Cranley, N.; Davis, M. Performance Analysis of Network-level QoS with Encoding Configurations for Unicast Video Streaming over IEEE 802.11 WLAN Networks. In Proceedings of the 2005 International Conference on Wireless Networks, Communications and , Maui, HI, USA, 13–16 June 2005; pp. 510–515. 24. Ng, J.K.Y.; Leung, K.R.P.H.; Hui, C.K.C. A QoS-Enabled Transmission Scheme for MPEG Video Streaming. Real-Time Syst. 2005, 30, 217–256. [CrossRef] Sustainability 2017, 9, 367 12 of 13

25. Malgi, M.A.; Gaikwad, G.N. A Study on QoS Enhancement of MPEG-4 Video Transmission over Wireless Mesh Network. In Proceedings of the 2005 International Conference on Pervasive Computing, Pune, India, 8–10 January 2015; pp. 1–5. 26. Song, D.W.; Chen, C.W. QoS Guaranteed SVC-based Video Transmission over MIMO Wireless Systems with Channel State Information. In Proceedings of the 2006 IEEE International Conference on Image Processing, Atlanta, GA, USA, 8–11 October 2006; pp. 3057–3060. 27. Fan, Y.; Su, F.; Li, Y.; Xu, H. Netwvork-aware Adaptive QoS Archiitecture or Video Delivery over Differentiated Service Network. In Proceedings of the 2006 International Conference on ITS , Chengdu, China, 21–23 June 2006; pp. 1330–1333. 28. Ruijin, F.; Busung, L.; Gupta, A. Scalable Layered MPEG-2 video Multicast Architecture. IEEE Trans. Consum. Electron. 2001, 47, 55–62. 29. Arvind, R.; Civanlar, R.; Reibman, R. Packet Loss Resilience of MPEG-2 Scalable Video Coding Algorithms. IEEE Trans. Circuits Syst. Video Technol. 1996, 6, 426–435. [CrossRef] 30. Hsio, Y.-M.; Chen, C.-H.; Lee, J.-F.; Chu, Y.-S. Designing and implementing a scalable video-streaming system using an adaptive control scheme. IEEE Trans. Consum. Electron. 2012, 58, 1314–1322. [CrossRef] 31. Van Der Schaar, M.; Radha, H. A Hybrid Temporal-SNR Fine-Granular Scalability for Internet Video. IEEE Trans. Circuits Syst. Video Technol. 2001, 11, 318–331. [CrossRef] 32. Kim, T.J.; Kim, B.G.; Park, C.S.; Jang, K.S. Efficient Block Mode Determination Algorithm Using Adaptive Search Direction Information for Scalable Video Coding (SVC). J. Converg. 2014, 5, 14–19. 33. Wien, M.; Schwarz, H.; Oelbaum, T. Performance analysis of SVC. IEEE Trans. Circuits Syst. Video Technol. 2007, 17, 1194–1203. [CrossRef] 34. Zhang, Q.; Zhu, W.; Zhang, Y.Q. Network-Adaptive Rate Control and Unequal Loss Protection with TCP-Friendly Protocol for Scalable Video over Internet. J. VLSI Signal Process. Syst. Signal Image Video Technol. 2003, 34, 67–81. [CrossRef] 35. Schierl, T.; Stockhammer, T.; Wiegand, T. Mobile Video Transmission Using Scalable Video Coding. IEEE Trans. Circuits Syst. Video Technol. 2007, 17, 1204–1217. [CrossRef] 36. Schwarz, H.; Marpe, D.; Wiegand, T. Overview of the scalable video coding extension of H.264/AVC. IEEE Trans. Circuits Syst. Video Technol. 2007, 17, 1103–1120. [CrossRef] 37. Wiegand, T.; Sullivan, G.J.; Bjontegaard, G.; Luthra, A. Overview of the H.264/AVC video coding standard. IEEE Trans. Circuits Syst. Video Technol. 2003, 13, 560–576. [CrossRef] 38. Radha, H.; van der Schaar, M.; Chen, Y. The MPEG-4 fine-grained scalable video coding method for multimedia streaming over IP. IEEE Trans. Multimed. 2001, 3, 53–68. [CrossRef] 39. Song, D.W.; Chen, C.W. Scalable H.264/AVC Video Transmission over MIMO Wireless Systems with Adaptive Channel Selection Based on Partial Channel Information. IEEE Trans. Circuits Syst. Video Technol. 2007, 17, 1218–1226. [CrossRef] 40. Van der Auwera, G.; David, P.T.; Reisslein, M. Traffic and Quality Characterization of Single-Layer Video Streams Encoded with the H.264/MPEG-4 Advanced Video Coding Standard and Scalable Video Coding Extension. IEEE Trans. Broadcast. 2008, 54, 698–718. [CrossRef] 41. Xu, C.; Fallon, E.; Qiao, Y.; Zhong, L.; Muntean, G.M. Performance Evaluation of Multimedia Content Distribution over Multi-Homed Wireless Networks. IEEE Trans. Broadcast. 2011, 57, 204–215. 42. Wu, D.; Hou, Y.T.; Zhu, W.; Lee, H.J.; Chiang, T.; Zhang, Y.-Q. On End-to-End Transport Architecture for MPEG-4 Video Streaming over the Internet. IEEE Trans. Circuits Syst. Video Technol. 2000, 10, 923–941. 43. Chang, K.-D.; Chen, C.-Y.; Chen, J.-L.; Chao, H.-C. Challenges to Next Generation Services in IP Multimedia Subsystem. J. Inf. Process. Syst. 2010, 6, 129–146. [CrossRef] 44. Tan, W.; Zakhor, A. Real-Time Internet Video Using Error Resilient Scalable Compression and TCP-Friendly Transport Protocol. IEEE Trans. Multimed. 1999, 1, 172–186. [CrossRef] 45. El Essaili, A.; Schroeder, D.; Staehle, D.; Shehada, M.; Kellerer, W.; Steinbach, E. Quality-of-experience driven adaptive HTTP media delivery. In Proceedings of the 2011 IEEE International Conference on Communications, Budapest, Hungary, 9–13 June 2013; pp. 2480–2485. 46. Park, S.H.; Lee, S.J.; Kim, J.W. Network-Adaptive High Definition MPEG-2 Streaming over IEEE 802.11a WLAN using Frame-based Prioritized Packetization. In Proceedings of the Third ACM International Workshop on Wireless Mobile Applications and Services on WLAN Hotspots, Cologne, Germany, 2 September 2005; pp. 84–87. Sustainability 2017, 9, 367 13 of 13

47. Setton, E.; Yoo, T.; Zhu, X.; Goldsmith, A.; Girod, B. Cross-layer design of ad-hoc networks for real-time video streaming. IEEE Wirel. Commun. Mag. 2005, 12, 59–65. [CrossRef] 48. Taubman, D.; Thie, J. Optimal erasure protection for scalably compressed video streams with limited retransmission. IEEE Trans. Image Process. 2005, 14, 1006–1019. [CrossRef][PubMed] 49. Kim, S.H.; Lee, S.I.; Yoo, W.K.; Yoo, K.J. A Study of Session-based Algorithm for Optimal Streaming Data Transmission. In Proceedings of the 4th Asia-Pacific International Symposium on Information Technology, Gold Coast, Australia, 26–27 January 2005; pp. 519–522. 50. Vakili, A.; Grégoire, J.-C. Modelling the Impact of the Position of Frame Loss on Transmitted Video Quality. J. Converg. 2011, 2, 43–48. 51. Van der Schaar, M.; Turaga, D.S. Cross-Layer Packetization and Retransmission Strategies for Delay-Sensitive Wireless Multimedia Transmission. IEEE Trans. Multimed. 2007, 9, 185–197. [CrossRef] 52. Rhee, I.; Joshi, S.R. Error Recovery for Interactive Video Transmission over the Internet. IEEE J. Sel. Area Commun. 2000, 18, 1033–1049. [CrossRef] 53. Lindeberg, M.; Kristiansen, S.; Plagemann, T.; Goebel, V. Challenges and techniques for video streaming over mobile ad hoc networks. Multimed. Syst. 2011, 17, 51–82. [CrossRef] 54. Majumdar, A.; Sachs, D.G.; Kozintsev, I.V.; Ramchandran, K. Multicast and unicast real-time video streaming over wireless LANs. IEEE Trans. Circuits Syst. Video Technol. 2002, 12, 524–534. [CrossRef] 55. Liu, Q.; Wang, X.; Giannakis, G.B. A Cross-Layer Algorithm with QoS Support in Wireless Networks. IEEE Trans. Veh. Technol. 2006, 55, 839–847. [CrossRef] 56. Xu, C.; Fallon, E.; Qiao, Y.; Muntean, G.-M.; Li, X.; Hanley, A. Performance Evaluation of Distributing Real-time Video over Concurrent Multipath. In Proceedings of the Wireless Communications and Networking Conference, Budapest, Hungary, 5–8 April 2009; pp. 1–6. 57. Pinzon, M.H.; Choi, L.K.; Bovick, A.C. Temporal video quality model accounting for variable frame delay distortions. IEEE Trans. Broadcast. 2014, 60, 637–649. [CrossRef] 58. Kim, S.H.; Yoo, K.J. An FEC-based error control scheme for Layered MPEG media delivery. In Proceedings of the 2009 International Conference on Multimedia, Information Technology and Its Applications, Osaka, Japan, 19–21 August 2009; pp. 307–310. 59. Marcotte, R.J.; Olson, E. Adaptive forward error correction with adjustable-latency QoS for robotic network. In Proceedings of the 2016 IEEE International Conference on Robotics and Automation, Stockholm, Sweden, 16–21 May 2016; pp. 5283–5288. 60. Wu, H.; Claypool, M.; Kinicki, R. Adjusting Forward Error Correction with Temporal Scaling for TCP-Friendly Streaming MPEG. ACM Trans. Multimed. Comput. Commun. Applicat. 2005, 1, 315–337. [CrossRef] 61. Puri, R.; Ramchandran, K.; Lee, K.W.; Bharghavan, V. Forward error correction(FEC) codes based multiple description coding for internet video streaming and multicast. Signal Process. Image Commun. 2001, 16, 745–762. [CrossRef] 62. Frossard, P.; Verscheure, O. Joint Source/FEC Rate Selection for Quality-Optimal MPEG-2 Video Delivery. IEEE Trans. Image Process. 2001, 10, 1815–1825. [CrossRef][PubMed] 63. Mohr, A.E.; Riskin, E.A.; Ladner, R.E. Unequal Loss Protection: Graceful Degradation of Image Quality over Packet Erasure Channels through Forward Error Correction. IEEE J. Sel. Areas Commun. 2000, 18, 819–828. [CrossRef] 64. Cosman, P.C.; Rogers, J.K.; Sherwood, P.G.; Zeger, K. Combined forward error control and packetized zerotree wavelet encoding for transmission of images over varying channels. IEEE Trans. Image Process. 2000, 9, 982–993. [CrossRef][PubMed] 65. Sherwood, P.G.; Zeger, K. Error protection for progressive image transmission over memoryless and fading channels. IEEE Trans. Commun. 1998, 46, 1555–1559. [CrossRef]

© 2017 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).