1 / 32

Adaptable Applications for Balancing Network and Terminal Resources to Improve Video Quality

This article discusses the development of adaptable applications to optimize video quality by balancing network and terminal resources. It introduces a scalable video technique and a controller that optimizes perceived quality based on available CPU power and input data. It also explores the use of a feedback system and a transcoder for scalable video.

erinlopez
Download Presentation

Adaptable Applications for Balancing Network and Terminal Resources to Improve Video Quality

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Adaptable applicationsTowards Balancing Network and Terminal Resources to Improve Video Quality D. Jarnikov

  2. Contents • Introduction (www) • New solutions • Subjective evaluation • Conclusions and future plans

  3. Introduction of in-home network

  4. Problem description Video data transmission good Perceived video quality bad good Perceived video quality bad good Network condition bad high Video data decoding low Resource consumption

  5. Objective: networked terminal • Resource-constrained terminal : CPU • Resource-constrained network : bandwidth • Wireless network has fluctuations Wireless network Source Terminal

  6. Solution • Scalable video technique • Choose size of base layer such, that we can almost guarantee the transmission • The enhancement layer is transmitted if there is available bandwidth • The number of layers to be decoded can be chosen for every frame • Controller • Choose how much video data (e.g. layers) should be processed. • Optimizes perceived quality when looking at available input data AND available CPU power

  7. Past: Conclusions & Future plans • The usage of scalable video enables trade-offs between user perceived quality and network and terminal resources • A controller can be used to optimized perceived quality with respect to the available CPU power and amount of input data • We developed the controller that doesn’t depend on the scalability technique • The correctness of controller behavior depends on rightness of parameters • Take into account other terminal resources • Organize a feedback from the terminal to the source • Create MPEG2 to scalable video transcoder

  8. Contents • Introduction (www) • New solutions • System view • Transcoder • Controller • Network sender-receiver • Summary • Subjective evaluation • Conclusions and future plans

  9. System: Present view Wireless network Source Terminal Transcoder Network Sender-Receiver Terminal - ?

  10. Contents • Introduction (www) • New solutions • System view • Transcoder • Controller • Network sender-receiver • Summary • Subjective evaluation • Conclusions and future plans

  11. Transcoder: General Info Separates video stream on most important information and least important information (refinement) • Input: MPEG2 video • Output: Scalable MPEG2 video • Parameters: number of output layers, sizes of the layers EL stream Quantization Q’ VLC - BL stream stream Quantization Q VLC VLD Inverse Quantization Q-1

  12. Transcoder: New enhancement layers From I to B frames: • empty macroblocks can be skipped • variable length coding tables of B frames are better suited to encode residual values Advantages: • lower importance of base layer size • less syntax overhead Both approaches are compliant with new MPEG System proposal

  13. Contents • Introduction (www) • New solutions • System view • Transcoder • Controller • Network sender-receiver • Summary • Subjective evaluation • Conclusions and future plans

  14. Controller: General view • Controller chooses how much video data (e.g. layers) should be processed. Takes into account: • amount of available resources (CPU) • amount of video data available (e.g. how many layers have we received) • Objective: maximize perceived quality • MAX number of layers to be processed • MIN deadline misses • MIN quality changes Terminal Post-processing Decoder Scalable Video Input Controller Controller

  15. Controller: Markov decision process State: progress w.r.t. deadline number of layers decoded maximal number of layers for the next frame Revenue: Reward: number of layers Penalty: deadline misses Penalty: quality change Penalty: quality change, caused be the network

  16. Controller: Challenges Processing times • depends on content (stochastic) • depends on layer size Probabilities change for every possible layer size => Unique strategy for every layer size Maximal number of layers for the next frame • network-dependent parameter (stochastic) We need appropriate network behavior model • Unique strategy for every network condition Number of layers in total • Unique strategy for every number of layers

  17. Contents • Introduction (www) • New solutions • System view • Transcoder • Controller • Network sender-receiver • Summary • Subjective evaluation • Conclusions and future plans

  18. Network sender-receiver (NSR) • Streams layers over the network • Takes care about layer prioritization • Sends feedback about receiving conditions Streaming conditions + Receiving conditions = Network conditions μ, BER / PER

  19. NSR: Channel Model • Using μ, BER / PER we can build a simple channel model [example: Gilbert-Elliott channel (GEC)] • We run a simulations for different network conditions and layer configurations • For every pair μ, BER / PER we can estimate what is an optimal layer configuration (lookup table) Layer configuration is a run-time input for the transcoder

  20. NSR: Controller input Processing times • depends on content (stochastic) • depends on layer size Probabilities change for every possible layer size layer size => Unique strategy for every layer size Maximal number of layers for the next frame • network-dependent parameter (stochastic) number of layers We need appropriate network behavior model layer size • Unique strategy for every network conditions μ, BER / PER Number of layers in total • Unique strategy for every number of layers number of layers BUT! Layer sizes and number of layers have one-to-one relation with μ, BER / PER

  21. Contents • Introduction (www) • New solutions • System view • Transcoder • Controller • Network sender-receiver • Summary • Subjective evaluation • Conclusions and future plans

  22. System: Global view Transcoder Network Sender-Receiver Terminal - strategy μ, BER / PER Calculated offline Alternative number of layers layers sizes

  23. Contents • Introduction (www) • New solutions • Subjective evaluation • Conclusions and future plans

  24. User tests How does proportion between sizes of BL and EL influence perceived quality? What is better: a large EL with high losses or small EL with low losses? RESULTS: • BL size is very important • With decrease of overall bit-rate the importance of BL size increases • With increase of EL size married to a lower frequency is perceived slightly worse

  25. Contents • Introduction (www) • New solutions • Subjective evaluation • Conclusions and future plans

  26. Conclusions • Made a transcoder that produces less bit per EL for the same quality • Made a network simulation that allows a better choice of layer configuration • Enhanced a terminal controller with realistic network behavior model • User tests were performed for perceived quality evaluation of a scalable video

  27. Future plans • Take into account other terminal resources • Enhance the feedback mechanism from the terminal to the source with terminal capabilities information • Allow source-terminal resource negotiations • Perform subjective test for dynamic behavior of scalable video scheme • Implement transcoder on CE platform

  28. ?

  29. Transcoder: Comparison of the approaches Difference in PSNR between one-layer reference and two-layer scalable coding (the overall bitrate is 5 MBps) B-frame approach I-frame approach

  30. NSR: Channel Model • Using μ, BER / PER we can build a simple channel model [example: Gilbert-Elliott channel (GEC)] • We model the channel as a two-state discrete time Markov chain (DTMC) with states G (good) and B (bad) and four probabilities P, Q, EG, and EB

  31. NSR: Channel Model Simulation

  32. NSR: Channel Model Outcome For every pair μ, BER / PER we can estimate what is an optimal layer configuration (lookup table) Layer configuration is a run-time input for the transcoder Example: maximal BL bitrate as a function of network conditions

More Related