Return to search

Videon http-suoratoiston adaptiivinen hallinta matkapuhelimessa

Tässä työssä tutkitaan HTTP-pohjaista suoratoistoa matalatehoisessa Nokia Asha -mobiilialustassa. Alustan alkuperäinen toteutus kärsii suoratoiston aloitusvaiheessa videon toiston pätkimisestä, kehysten tiputtamisesta sekä hidastuneesta kehysnopeudesta, mikä puolestaan vaikuttaa negatiivisesti laitteen käyttökokemukseen. Toteutukselle suoritetut mittaukset paljastavat ongelmien johtuvan siitä, että videon purkaminen ei saa riittävästi suoritusaikaa, koska TCP-dataliikenteen käsittely vaatii prosessorilta liikaa suorituskapasiteettia.

Tämä työ esittelee kaksi mekanismia, jotka ratkaisevat yllä mainitun ongelman. Molemmat mekanismit rajoittavat tiedonsiirtonopeutta, jolla vastaanotettua videodataa siirretään TCP-puskurista videodatapuskuriin siitä hetkestä eteenpäin, kun videon purkaminen aloitetaan. Näin ollen TCP- dataliikenteen käsittelyn aiheuttama kuormitus laskee, ja vapautuneet resurssit hyödynnetään videon purkamisessa. Ensimmäinen mekanismi rajoittaa siirtonopeutta mukautuen toistettavan videon datanopeuden sekä vastaanotettavien TCP-segmenttien mukaan. Toinen mekanismi puolestaan rajoittaa siirtonopeutta kasvattamalla videodatapuskurin kokoa ennalta määritetyn ajan välein.

Näitä kahta mekanismia ja alkuperäistä toteutusta verrataan toisiinsa prosessorikuormituksen, videodatan siirron, kehyksien tiputtamisen ja subjektiivisen loppukäyttäjä kokemuksen osalta. Molemmat mekanismit jakavat videodatan TCP-liikenteen pidemmälle aikavälille, jolloin videon purkaminen saa riittävästi suoritusaikaa toiston aloitusvaiheessa. Näin ollen suoratoisto ei kärsi toiston pätkimisestä, kehysten tiputtamisesta ja hidastuneesta kehysnopeudesta. Toteutettavaksi valitaan ensimmäinen mekanismi, koska se jakaa prosessoriin kohdistuneen kuormituksen tasaisemmin sekä suoriutuu hiukan paremmin kehyksien tiputtamisesta kuin toinen mekanismi. / This thesis studies HTTP video streaming in the resource constrained Nokia Asha product platform. The original implementation suffers from the freezing of the video, dropped frames and slower frame rate at the beginning of the streaming, which degrades user experience. Experimental measurements reveal that the problem is caused by the decoding of the incoming video not getting enough CPU time, due to the TCP socket created for transmitting the video data using too much CPU resources.

The thesis proposes two mechanisms for solving the problem. Both mechanisms limit the rate at which video data is moved from the TCP buffer to the decoding buffer after the decoding of the video commences. This in turn limits the data transfer rate of the TCP transmission of the video data. Consequently, the TCP socket uses less CPU resources, which frees up CPU resources for decoding the video. The first mechanism adaptively limits the rate according to the target bit rate of the video and the arrival rate of TCP segments. The second mechanism limits the rate with fixed buffer increments at predetermined intervals.

The two mechanisms and the original implementation are experimentally compared with each other with respect to their CPU load, video data I/O, frame drop rate and subjective user experience. Both mechanisms distribute the TCP transmission of the video data over a longer period of time, and the decoding of the video gets enough CPU time at the beginning of streaming. Consequently, streaming no longer suffers from freezing and slower frame rate, which improves user experience. The first mechanism is selected for productization as it provides more uniform distribution of the CPU load and slightly lower frame drop rate than the second mechanism.

Identiferoai:union.ndltd.org:oulo.fi/oai:oulu.fi:nbnfioulu-201406071697
Date10 June 2014
CreatorsNevala, A. (Anton)
PublisherUniversity of Oulu
Source SetsUniversity of Oulu
LanguageFinnish
Detected LanguageFinnish
Typeinfo:eu-repo/semantics/masterThesis, info:eu-repo/semantics/publishedVersion
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess, © Anton Nevala, 2014

Page generated in 0.0023 seconds