Abstract
In this thesis we study a problem related to cost-effective video processing in software
by consumer electronics devices, such as digital TVs. Video processing is the
task of transforming an input video signal into an output video signal, for example
to improve the quality of the signal. This transformation is described by a video
algorithm. At a high level, video processing can be seen as the task of processing a
sequence of still pictures, called frames. Video processing in consumer electronic
devices is subject to strict time constraints. In general, the successively processed
frames are needed periodically in time. If a frame is not processed in time, then a
quality reduction of the output signal may be perceived.
Video processing in software is often characterized by highly ??uctuating,
content-dependent processing times of frames. There is often a considerable gap
between the worst-case and average-case processing times of frames. In general,
assigning processing time to a software video processing task based on its worstcase
needs is not cost effective. We consider a software video processing task to
which has been assigned insuf??cient processing time to process the most computeintensive
frames in time. As a result, a severe quality reduction of the output signal
may occur. To optimize the quality of the output signal, given the limited amount
of processing time that is available to the task, we do the following. First we use
a technique called asynchronous processing, which allows the task to make more
effective use of the available processing time by working ahead. Second, we make
use of scalable video algorithms. A scalable video algorithm can process frames at
different quality levels. The higher the applied quality level for a frame, the higher
is the resulting picture quality, but also the more processing time is needed. Due
to the combination of asynchronous processing and scalable processing, a larger
fraction of the frames can be processed in time, however at the cost of a sometimes
lower picture quality.
The problem we consider is to select the quality level for each frame. The
objective that we try to optimize re??ects the user-perceived quality, and is given by
a combination of the number of frames that are not processed in time, the quality
levels applied for the processed frames, and changes in the applied quality level
between successive frames. The video signal to be processed is not known in
advance, which means that we have to make a quality-level decision for each frame
without knowing in which processing time this will result, and without knowing the
complexity of the subsequent frames. As a ??rst solution approach we modeled this
problem as a Markov decision process. The input of the model is given by the
budgetted processing time for the task, and statistics on the processing times of
frames at the different quality levels. Solving the Markov decision process results
in a Markov strategy that can be used to select a quality level for each frame to be
processed, based on the amount of time that is available for processing until the
deadline of the frame.
Our ??rst solution approach works well if the processing times of successive
frames are independent. In practice, however, the processing times of successive
frames can be highly correlated, because successive frames are often very similar.
Our second solution approach, which can be seen as an extension of our ??rst
approach, takes care of the dependencies in the processing times of successive
frames. The idea is that we introduce a measure for the complexity of successively
processed frames, based on structural ??uctuations in the processing times
of the frames. Before processing, we solve the Markov decision process several
times, for different values of the complexity measure. During video processing we
regularly determine the complexity measure for the frames that have just been processed,
and based on this measure we dynamically adapt the Markov policy that is
applied to select the quality level for the next frame.
The Markov strategies that we use are computed based on processing-time
statistics of a particular collection of video sequences. Hence, these statistics can
differ from the statistics of the video sequence that is processed. Therefore we also
worked out a third solution approach in which we use a learning algorithm to select
the quality levels for frames. The algorithm starts with hardly any processing-time
statistics, but it has to learn these statistics from run-time experience. Basically,
the learning algorithm implicitly solves the Markov decision process at run time,
making use of the increasing amount of information that becomes available. The
algorithm also takes care of dependencies in the processing time of successive
frames, using the same complexity measure as in our second solution approach.
From computer simulations we learned that our second and third solution
approaches perform close to a theoretical upper bound, determined by a reference
strategy that selects the quality levels for frames based on complete knowledge
of the processing times of all frames to be processed. Although our solutions are
successful in computer simulations, they still have to be tested in a real system.
Original language | English |
---|---|
Qualification | Doctor of Philosophy |
Awarding Institution |
|
Supervisors/Advisors |
|
Award date | 29 Nov 2006 |
Place of Publication | Eindhoven |
Publisher | |
Print ISBNs | 90-74445-74-8 |
DOIs | |
Publication status | Published - 2006 |