Video Database API for the MouseCam Project
Stacie RiddleOral Defence Date:
Wednesday, April 25, 2007 - 14:10Location:
Dr. Marguerite Murphy, Dr. Rahul Singh
This paper presents the design, implementation and evaluation of a video data Application Programming Interface (API) that allows developers to store and retrieve streaming media in a database. This API is built with user-defined types (UDTs) that have been implemented utilizing Microsoft’s new integration of the CLR runtime environment with SQL Server 2005 Database Management System (SQLCLR). The primary goal of our project is to collect streaming video data into a database as fast, or faster, than it is being streamed to the server; and subsequently to retrieve subsets by temporal offset. In the prototype system presented here, video is being streamed to the server in real time and archived in MPEG-2 format. Metadata collected from the video stream supports a flexible indexing subsystem that allows researchers to sift through the raw data efficiently. A real time Web interface allows for immediate review of the data as it is being collected, as well as querying by time interval over the archived data. Simple benchmarking experiments show that our system is capable of capturing and archiving in real time at least one stream of 720 x 480 pixels at 29 frames per second for the video, and 1536 kilobits per second bit rate PCM format for the audio data (sampled in 16 bit intervals). Retrieval over the Internet is limited to intervals of less than one hour, however local queries can be processed without this limitation. The design and implementation of our API are flexible enough to allow indexing and querying over any totally ordered metric over the video steams, for example audio frequency or relative degree of motion.