Term A represents Number of Segments played out to the client

Polishing: A Technique to Reduce
Variations in Cached LayerEncoded Video
By
Michael Zink, Oliver Heckmann, Jens
Schmitt, Andreas Mauthe, Ralf Steinmetz
Presented By
Subramanian Mohan
Caching Layer-encoded Video
• Layer encoded video can only be cached
according to the available bandwidth of
path between server and the cache, if
congestion controlled transport medium is
applied.
• Hence the copy of video stored in the
cache might contain large amount of layer
variations.
Caching Layer-encoded Video
• Video to the client is sent from the cache
in two cases.
– If the server or the link between the server
and the cache is down, or
– Server does not have additional capacity to
allow retransmission in addition to already
active streams
Problem
When the cache forwards such a high layer
variant video to the client, it might be
annoying to the viewer, due to high
variation in quality.
Solution
• In order to increase the perceived quality
of layered video, layer variations should be
minimized.
• By omitting the transmission of certain
segments, especially if that reduces the
amount of layer variations, quality of the
video can be improved.
• POLISHING DOES THIS...
Applications of Polishing
1. Polishing reduces Layer variations in a layerencoded video by omitting the transmission of
certain segments to the client. Challenge is
identifying those segments that should not be
transmitted.
2. Since polishing identifies segments that are
less important in relation to quality, this can be
combined with cache replacement method to
cache more number of objects.
Effect of quality variations
The negative effect of quality variations has
two dimensions.
1. Frequency of Variations
2. Amplitude of Variations
Spectrum
• Spectrum is a metric to gauge the quality
of Layer-encoded video
• Spectrum takes into account both the
frequency and the amplitude of quality
variations
• Small spectrum value indicates good
quality while large value indicated poor
quality
Spectrum
Parameters:
• ht - number of layers in time slot t, t = 1,...,T
• zt – indication if a step in time slot t,
zt {0,1}, t = 1,..., T
Spectrum
Here, at time t = 1, ht = 5 and at time t = 2, ht = 4 and so
on and so forth
Spectrum
• Average quality levels for entire time
period for 1 to T is given by,
• ht contains the highest layer of the polished
video at time t.
Spectrum
• Hence, the Amplitude variations can be
got by the term,
• Frequency variation is captured by zt
Spectrum
• Finally the spectrum of a cached layered
video v is represented by,
Spectrum
Frequency
variation term
Amplitude
variation term
Amplitude variation term is squared so that
the larger amplitude variation gets higher
weight
Spectrum
But, Spectrum has a drawback if it is to be
used for polishing, in deciding which
packets to be dropped. Why?
Spectrum
Reason:
• Spectrum, being a quality metric, becomes 0 for
the case when no layer changes occur
irrespective of the number of layers the video
object consists.
• Hence, even for a video with just the base layer,
the spectrum shows low value, indicating a high
quality. Spectrum ignores the number of layers
of video that is played out at the receiver.
• This reduces the quality of video drastically and
this effect is termed as Over-polishing
Polishing
Goals:
To Minimize the spectrum (reduce quality
variations) and
• At the same time Maximize the number of
segments played out to the client.
This becomes a multi-objective optimization
problem and can be formulated as mixed
integer programming problem.
Polishing
Polishing
Polishing
Polishing
Constraints
Polishing
A
Term A
represents
Number of
Segments played
out to the client
B
Term B
represents the
quality
variations in the
layer-encoded
video
Polishing
A
B
The two parameters ul and p describe the utility of the video
playout.
• The parameter ul takes into account the number of layers in
the layer-encoded video and hence avoids over-polishing
• Parameter p represents the utility loss due to change in the
number of layers that are played back.
Polishing
A
B
The optimization problem conveys that,
1. Term A, that represents the Number of segments played
out, should be Maximized and
2. Term B that represents the layer variations, should be
Minimized
Effectiveness of Polishing in
increasing Perceived Quality
Simulation Results
• 100 video objects were randomly created
and polished.
• The avg. total number of segments and
avg. spectrum are calculated before and
after polishing.
• The polishing method is compared with
two version of heuristics.
– Heuristic (1) drops the top layer.
– Heuristic (2) drops the top TWO layers.
Utility Parameters
Utility Parameters
Polishing with Cache Replacement
• Simulation is done on cache with an initial
fill level of 50 unpolished video objects.
• Then 50, additional objects are added
incrementally, one per time slot, into the
cache.
• The polishing technique is compared with
a non-polished cache replacement method
and two heuristic methods.
Cache Replacement
Cache Replacement
Cache Replacement
The parameter values chosen influenced the behavior of the
cache replacement method. Thus the integration of
polishing with cache replacement is beneficial because
• higher amount of video objects are cached and
• layer changes are reduced.
Thanks!!