320 likes | 329 Views
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.
E N D
Adaptable applicationsTowards Balancing Network and Terminal Resources to Improve Video Quality D. Jarnikov
Contents • Introduction (www) • New solutions • Subjective evaluation • Conclusions and future plans
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
Objective: networked terminal • Resource-constrained terminal : CPU • Resource-constrained network : bandwidth • Wireless network has fluctuations Wireless network Source Terminal
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
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
Contents • Introduction (www) • New solutions • System view • Transcoder • Controller • Network sender-receiver • Summary • Subjective evaluation • Conclusions and future plans
System: Present view Wireless network Source Terminal Transcoder Network Sender-Receiver Terminal - ?
Contents • Introduction (www) • New solutions • System view • Transcoder • Controller • Network sender-receiver • Summary • Subjective evaluation • Conclusions and future plans
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
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
Contents • Introduction (www) • New solutions • System view • Transcoder • Controller • Network sender-receiver • Summary • Subjective evaluation • Conclusions and future plans
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
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
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
Contents • Introduction (www) • New solutions • System view • Transcoder • Controller • Network sender-receiver • Summary • Subjective evaluation • Conclusions and future plans
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
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
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
Contents • Introduction (www) • New solutions • System view • Transcoder • Controller • Network sender-receiver • Summary • Subjective evaluation • Conclusions and future plans
System: Global view Transcoder Network Sender-Receiver Terminal - strategy μ, BER / PER Calculated offline Alternative number of layers layers sizes
Contents • Introduction (www) • New solutions • Subjective evaluation • Conclusions and future plans
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
Contents • Introduction (www) • New solutions • Subjective evaluation • Conclusions and future plans
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
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
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
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
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