Multimedia Storage and Retrieval
There are 3 requirements for the support of multimedia databases
that differ from the support of relational databases:
- VOLUME of data. For example, one compressed video frame typically
exceeds 10 KB; consequently, 30 frames per second requires a volume
of over 300 KB/s -- far more than that required by typical relational
queries.
- CONTINUITY within each video or audio stream (i.e., interframe
and intersegment time constraints)
- SYNCHRONIZATION of multiple streams of data (e.g., video, closed
caption, left speaker's audio, right speaker's audio). We note
that individual streams of data should not be viewed as separate
clients. Furthermore, interleaving is impractical if the only
difference is, say, closed captioning or foreign language subtitles
for a video.
Resources to Consider
- Network
- bandwidth
- communications protocols
- buffering
- Disk Bandwidth
- amount of data that can be read per unit of time
- CPU
- may be needed for decompression; however, JPEG and MPEG
hardware decoders exist
- Disk buffers to facilitate I/O
Admission Control and Buffer Allocation
- These policies are influenced by a number of factors:
- The reference patterns of a query (e.g., pause, fast forward,
rewind). We call this the "demand" side. From an operating
systems perspective, the reference patterns in programs are
typically too complicated to analyze and predict. In relational
DBMS's, however, reference patterns are defined by the relational
algebra (6 basic operations). Good RDBMS's can exploit reference
patterns for performance gains. With multimedia databases,
the reference patterns are simpler than those for relational
databases since the types of queries tend to be quite limited
(and hence it is easier to determine and calculate the demand
side).
- The number of buffers available at the time the query is
serviced. We call this the "supply" side. Queries in multimedia
databases are not initiated unless an adequate number of buffers
exists.
- The characteristics of all active queries in the system.
Continuous Media Streams
Each video or audio stream typically has a fixed display rate.
The display rate is what the user sees and is concerned with. The
consumption rate, on the other hand, is determined from the perspective
of the disk(s). In an uncompressed stream, the display rate equals
the consumption rate. In a compressed stream, there are 2 scenarios:
- with constant compression "r" (e.g., JPEG), display_rate =
r * consumption_rate
- with variable compression (e.g., MPEG), display_rate > min_constant
* consumption_rate
To satisfy the continuity requirements of a multimedia database system,
the reading curve must not be below the consumption curve. In practice,
it makes sense to read at least one buffer ahead since most implementations
require a buffer to be completely filled before it can be read. Obviously,
the scheduling of multiple streams requires more planning since reading
rates, consumption rates, switching times (e.g., disk seek time),
and disk utilization rates need to be considered.
Buffer sharing can yield significant efficiencies in multimedia
systems. Buffer sharing can be facilitated by careful interleaving.
For example, each stream requires its maximum number of buffers
only right after completing its reading period. The total number
of buffers required is not necessarily constant throughout a given
time period for a number of reasons: consumption rates often differ,
data streams are not contiguously placed on disk, and idle periods
exist.
Non-contiguous streams can be handled better if the data is put
into clusters. These clusters (subsets of the data) are stored contiguously.
Clustering avoids time-consuming seek operations within a stream's
reading period. This kind of buffer analysis needs to be carried
out at design time rather than at execution time (unlike admission
control, which is dynamic).
Although continuity requirements must be met, we are not forced
to follow a fixed reading order. In fact, intelligent disk scheduling
can be used to reduce the total seek time. For example, a strategy
can be used to restrict the maximum inter-piece (or cluster) distance
on disk. This distance is referred to as a scattering parameter.
Of course, some disk strategies are impractical to implement, especially
if updates are involved, since a complete disk reorganization may
be required.
On-going or Future Work
- Buffer allocation strategies for variable compression rates.
See also
Continuous Media Filesystems.
- Statistical models of variable compressed streams
- Analyzing display orders (e.g., news-on-demand systems in which
users may not care about the order of most, or all, of the short
video clips requested)
- Content-based retrieval of videos (e.g., search for the goals
scored in a hockey game). See also our web page on Image
Databases.
|