With the increasing use of multimedia data in the information systems nowadays, it is mandatory the DBMS can handle these data properly. Besides to store multimedia data, the database manager has to allow fast and effective data retrieval. As multimedia data usually holds complex information, it is necessary to extract the essence of the data, which is given by the features obtained from the data. Afterwards the multimedia data can be dealt through their features instead of the data themselves. From this time on, the DBMS has to organize and manage the multimedia data and the features extracted in a transparent way. That is, the DBMS must know when to use one or the other, because the operations are done over the features but the results presented to the user are over the original multimedia information.
The relational technology has been the primary resource to store and retrieve large amounts of data represented in numerical or categorical format. Two key foundations in this technology are the ability to develop applications that are independent from the low level considerations of how the data are stored and retrieved, and the ability to perform these operations using algorithms that scale well with the increase of the data volume. The first foundation is achieved through the relational algebra and the SQL language. SQL is a declarative language, where the query commands are written specifying what data is required. The system uses the power of the relational algebra to define and optimize how to execute retrieval operations. The second ability has been achieved by pre-processing the data as it is being stored, anticipating the operations that would be necessary to answer the query commands. Effective technologies empowering this ability are the use of access methods (which are built based on the comparison properties of the data domains), and the gathering of statistical data about the stored data to drive the execution of the retrieval operations.
This technology depends on precise definition of rules to compare pairs of objects, so the retrieval operations can be executed in a timely manner. Regarding multimedia data, which include image and video data, this does not occur. Multimedia data cannot be ordered, so the relational operators <, #, etc. cannot be used. Even the identity operator is not useful, because two images or videos of the same subject hardly are "equal." Therefore, the first step to entitle supporting content-based multimedia retrieval inside relational database management systems is the definition of rules that enable the comparisons between pairs of multimedia objects. Regarding video and image objects, this has been pursued through the definition of video and image processing algorithms that extracts features from the data, which are used in place of the real objects when executing the comparisons. However, in spite of the advances already achieved, this is an open research area, mainly due to two factors. The first one is that most of the video and image processing algorithms already developed extract relatively low level features that are hard to combine in queries that demand a semantic appreciation of the data. The second factor is that the comparison algorithms are often dependent on the application domain, or even on the particular objective of a query. Both factors indicate that the development of content-based video and image retrieval systems should allow to add new comparison algorithms as they are being built up. Also, it is important to allow the user to choose the algorithm used to answer each query command. These considerations are valid for complex and multimedia data as well.
This chapter also described CIRCE, a generic approach to extend relational database management systems to support content-based video and image retrieval based on similarity queries. It showed how SQL can be extended with a few but powerful new syntax, which enabled to support images as a new data type seamless integrated to the traditional data. The new SQL syntax allowed the definition of image attributes, the definition of the feature vectors and the corresponding DF(), as well as the similarity conditions based on the k-nearest neighbor and range operators. Furthermore, they enable the creation of access methods based on the feature vectors and distance functions.
Considering the multimedia data as belonging to metric domains, SQL can use the strong formalism of the theory of the metric domains and group theory to maintain strict adherence to the relational algebra, so the powerful query optimization techniques of SQL can be extended to the image-extended commands. Moreover, the client-server architecture of relational system enables to distribute the weight of processing large volumes of data into specific, well-tailored systems to perform the video/image processing and feature extraction, performing indexing operations, and physical storing of the multimedia data. The relational approach also enables the partition of large sets of multimedia objects into disjoint sets, further improving the execution of query operations.
A prototype implementation of CIRCE is under way in the Computer Science Department of the University of Sao Paulo at Sao Carlos. It is being developed aiming to provide content-based image retrieval of medical exams, like tomographies, X-ray, ultrasound, etc. This application explores the full potential of the presented architecture, as it provides an effective way to separate images from different body parts, yet it must deal with different representations (different kind of exams) of them. The prototype is being written in C++ using Oracle 8i as the database server running on a Solaris platform. The client workstations run Windows 2000 on the Radiology Center of the Clinics Hospital of Ribeirvo Preto.
Although the use of CBIR techniques in medical systems is yet exploratory from the medical staff point of view, from the computational view the results already obtained are encouraging. For example, to demonstrate the performance gain of the CIRCE architecture over the traditional one, we modified an existing application that searches a set of X-ray head tomographies looking for a specific disease. In the original version, this application, running at the client station, retrieved the full set of tomographies in the Oracle server using standard SQL. The application pre-processed every image using a histogram-based filter. Using a set of 5049 X-ray head tomographies (a total of approximately 2GBytes of data), the total time to obtain the answer was approximately four hours. In the new version, a distance function was created in CIRCE, using a metric histogram extractor  to characterize the images. The pre-processing phase of the application was removed, and the retrieval of the image was performed through a modified SQL command using a range query to retrieve only highly probable images, using the metric histogram as the initial filter. Using the same set of tomographies, the total time to obtain the answer dropped to ten minutes, yet selecting the same images as before. The time to extract the metric histograms and to create the index structure (in a Slim-tree), which must be performed just once, was 25 minutes. Moreover, the resulting architecture of the software improved, as it is more modular and maintainable, and can now be easily configured to embody new metrics and features as they will become available, without even recompiling its source code.