Time Indexing Audio Server Case Study
To highlight the power of time-indexing for continuous data consider the issue of
media playback on the web.
The current approach is to click on a link in a web page and
wait for the data to arrive at the browser. A media server can send
the whole media file before it is played, or stream it to the
browser and have the media played more immediately.
The media is usually presented to the user in a player that has an
interface similar to a CD player with various buttons and a
slider which can be used to determine the position to play from.
At first the slider is at the beginning of the media because no
data has been received by the player.
At some time later the user can choose to move the slider to any
point in the media, and playback is started from that point.
For example, if the user wishes to play from the middle, the
slider can be dragged to the middle point of the slider.
The main disadvantages are that the control the user has is very
small and the resolution of the slider is coarse, in that it is
nearly impossible for the user to choose an exact spot to start
playing from. To find a particular piece usually requires quite
a bit of trial and error movement before success is had.
The process described above often happens, even for a short 3 minute
audio file. It is massively exacerbated for a large
presentation that may be an hour long. Imagine the difficulty
of wanting to see 30 seconds of playback within that hour.
Such a desire is nearly impossible using current playback technology.
This is where the introduction of time-indexing can help, and
provide a solution to these problems.
Time-indexing can help in the selection of particular playback
as it allows playback from an exact location in a media
stream. Rather than presenting the whole of the media to the
user, time-indexing allows the media to be played from the server
at a particular point in the media.
In the following diagram the left-hand part shows how the current
media playback looks in a web browser.
The right-hand part shows how playback from multiple exact locations
would look in a web browser.
A further benefit of
time-indexing is that it
allows not just the playback from a particular
point, but also the playback of a segment of the media. That
is, playback from a particular point for a fixed amount of time.
Without time-indexing each segment that a media maintainer wishes to present
has to be hand selected and placed in its own file on the server.
Because of the operations time-indexing supports,
the segment does not have
to be copied into a new file, it can be played directly out of
a time-indexed media file.
This save both time and cost for the maintainers of the media data
as they do not need to make multiple files.
The advantages of using time-indexing for media playback are
that it saves on resources, as only one copy of a media file is needed.
Even if different segments are needed they can all be played out of the single
time-indexed media file. This is a direct consequence of the data sharing
and concurrency capabilities that time-indexing brings.
A further advantage of this approach, is that network bandwidth utilization
is reduced as the playback of the media does not always necessitate sending
the whole media file. As we have seen, it is possible to transmit just a segment
of the media, which can be significantly smaller than the whole media file.
By reducing the network bandwidth, this saves costs in that area also, and frees
up bandwidth for other usage.
It also saves the end-user time and effort as the guess work
of finding key positions is eliminated. It is done just once,
by the media maintainer.
|