IIMS 94 contents
[ IIMS 94 contents ]

A multimedia view of object oriented databases

Thomas Picton-Warlow
Winthrop Technology, Western Australia
One of the major requirements of multimedia applications is the ability to easily manipulate large amounts of complex data. An object oriented approach to the development of multimedia applications significantly reduces the complexity required to manage multimedia information. This paper describes how object oriented databases are relevant in the creation of multimedia applications. Issues relating to object oriented databases in the context of multimedia will be discussed in the following format: 1) A definition and brief description of object oriented databases, 2) The use of the features of object orientation (eg, inheritance, ,encapsulation) to assist in the development of multimedia applications, 3) Adding persistence (the reading and writing of multimedia data to the database, eg text, picture, sound and video), 4) The example of the document and its current uses in multimedia and suitability for modelling with object oriented databases. Engineering object oriented databases and their relevance to multimedia applications, 5) Future directions of multimedia software implementation. The paper will cover all of the above topics with the use of some multimedia application examples.


Introduction

Since the last International Interactive Multimedia Symposium held in Perth two years ago, multimedia has rapidly gained in popularity and application. This trend follows a general rule in computing that if the technology is financially and commercially viable it will be used and applied quickly in what is an intensely competitive industry.

In the proceedings from the last symposium Dr Harry Edgar defined multimedia in terms of interactive media integration and described it as "the integration of audio, video, graphics, animation and text utilising the computer as a control and presentation platform in such a manner to have the potential to significantly enhance the learning and information environment" (IMMS, 1992). This paper discusses the storage of multimedia using object orientated databases.

A majority of current database systems are based around data with logic dispersed throughout a program that interrogates and updates the data according to the requirements of the particular system. The data is maintained independently (often in indexed tables) with control on data redundancy, sharing, integrity and recovery. In most current commercial database systems, data is usually a fixed length string or number. Generally simple relationships exist between the system's entities.

The majority of information storage is been centred around these current database systems, especially in commercial applications. However the requirements of engineering, multimedia and most future information systems is significantly different from the current database applications. For example it is highly likely tomorrow's banks will make use of sound and graphics for voice and signature recognition of clients when making transactions. How will these new data types affect their systems?

In most current engineering and multimedia systems, data is large, complex in structure and of variable length. Multimedia by definition can have many different forms. From a large scale video file through to a small picture that forms only part of a larger piece, multimedia applications have data types that are of widely varying size and form. The multimedia application itself is often very complex in the relationships it contains and its behaviour.

Future commercial information systems will continue to include integrated media (following the general rule that if the technology is financially and commercially viable it will be adopted), subsequently these systems will adopt many of the techniques currently being used in the areas of engineering and multimedia. Object oriented databases have a big contribution to make in this development and they are already widely used in engineering and multimedia systems.

A brief definition of object oriented databases

There is no definitive definition of what exactly in object oriented database is. Even the term database is perhaps not settled as objects contain services as well as data. An object oriented database could be seen more as a persistent object store.

Won Kim has a concise definition drawn from the book Introduction to Object Oriented Databases (Kim, 1990). An object oriented database is "a collection of objects whose behaviour and state, and the relationships are defined in accordance with an object oriented data model." Object oriented databases have the ability to normalise the logic of a system as well as its data.

Won Kim mentions five core modelling concepts that form the basis of an object oriented database. These are :

Object and object identifier

In traditional databases an artificially produced property is formed to produce uniqueness, this is often stored as part of the primary key of a table. In object oriented databases a distinction is made between an objects identity and its properties. When an object is created a unique, system generated identifier is associated with the object while it is in existence.

The object identifier is important in defining relationships between one object and another. This relationship is defined in terms of referencing through an objects object identifier. By using object identifiers it is possible to navigate around a complex structure of objects.

An object identifier can however be used to deal with non-navigational manipulation of objects. Many object oriented databases now support non-navigational manipulation. The Versant object oriented database management system (OODBMS) has Object SQL, which is an SQL based manipulation language that maintains the basic SQL structures.

Attributes and methods

An object's attributes and methods define its characteristics and behaviour. Attributes in an object oriented sense can be quite different from that of a relational database as an attribute within an object can itself be an object.

Encapsulation and message passing

Encapsulation is closely related to the way entities are thought of in the real world. The characteristics and behaviour of a class are rarely split into separate areas and almost always considered in a combined sense. Encapsulation enforces the view that a class can only be dealt with on its own terms (the services it provides to the outside world). In an object oriented environment messages are sent to an object (instance of a class) to access its methods and to a lessor extent attributes it encapsulates. The user of an object can only access an object through its public interface. This feature is often referred to as "data hiding". The hiding of data is related to real world situations where there is often no need to know how the internals of an object work.

Class

A class is an instance of an object. The concept of a class is important in allowing the grouping of related objects to allow queries in an OODBMS. This grouping is like a relationship in a relational database from which queries can be derived.

Class hierarchy and inheritance

A sub-class inherits attributes and services from the base class that it is inheriting from. New attributes and services can be added to the sub-class and the inherited attributes and services can be renamed, replaced or removed.

In a traditional database system entity-relationship schema no distinction can be made between the relationships that are internal to an object and should be hidden and relationships that are public and external that can be shared. Relational databases have difficulty modelling a hierarchy which inheritance achieves. Every level in the hierarchy requires a new table and when an update is carried out all tables need to be changed appropriately.

However there are programming language extensions to relational database systems that allow object oriented requests to be carried out such as in the POSTGRES system.

Persistence and more

The concept of persistence is important to object, oriented databases. A persistent object is an object that maintains its content from instance to instance. The question of how an object oriented database maintains its objects on disk is determined by how you define an object oriented database. If Won Kim's five core modelling concepts are implemented in an object oriented database, the implementation of persistence becomes complex.

There are some object oriented languages that have persistence as part of the language, eg, Galileo. The C++ language requires persistence to be created by the programmer. All object oriented databases that use C++ must add their own form of persistence.

A C++ implementation of persistence is based along the following lines. A persistent object will retrieve a copy of itself when it is declared. The best place to do this in C++, would be in the class constructor. The object will write itself to the disk before it goes out of scope. In C++, the best place to do this would be in the class destructor.

If inheritance is to be included, a relationship has to be formed m the inheritance structure between the base class and its derived class. It is necessary to provide communication between the derived class and the base class. The derived class identifies itself to the base class and supplies type and size information , the base class acts upon this information and stores and retrieves from disk.

The ObjectStorer base class described below, uses pure virtual functions. These are methods (services) that need to be redefined by the derived class before it can be instanciated. This ensures that the base class finds the class id of the derived class and what it needs to read and write from disk. The derived class calls the base class when updates are required and information is passed between the two classes to work out what needs to be read or stored from disk.

     class ObjectStorer {...
     // To be provided by derived class
     virtual int ClassIdentification() = 0;
     virtual void WriteObject() = 0;
     virtual void ReadObject() = 0;
     ....
     }
The Person class inherits (is derived) from the ObjectStorer base class. By redefining the WriteObject and ReadObject pure virtual functions the Person object is able to be read and written to disk when it is created or destroyed. By redefining ClassIdentification the persistent base class can locate the derived class instance.
     // Person class
     class Person : public ObjectStorer {
     ....
     }
The above example is a simplified version based on an article by Al Stevens (1992).

By adding simple persistence you don't necessarily get an object oriented database. As Tom Love points out there are many other requirements that are necessary before a database can become commercially viable (Love, 1993). There are requirements for system backup, restart/ recovery, concurrency control data (object) distribution, query facilities (eg, SQL, security, integrity and the ability to handle schema modification.

A recent project that deals with object oriented databases and distribution of data (or objects), is the Zenith distributed multimedia information system (Davies et al, 1993). Zenith is based around the ANSA computational model which treats all entities as objects, with the objects being accessed through interfaces which operate and constrain an objects invocation. The invocation of the object is carried out by the passing of messages. There are many considerations that need to be dealt with when dealing with distributed objects. In particular there is a need for transparent migration of objects, transparent persistence of objects and access security on objects.

With all distributed object oriented database systems there is a need for class checking. This is required to deal with partial system failure and the requirement if this occurs to mask out the affected objects. An objects class needs to be determined for it to be masked out. Inheritance also produces problems for distributed systems as run time class hierarchy navigation has been found to be too slow. This traditionally acceptable form of object orientation has proven to be difficult to implement on distributed object oriented database systems (Blair & Lea, 1992).

Despite the complexity of a distributed multimedia system , it is worth noting that an audio/video conferencing system and a multimedia Presentation system have been developed using Zenith (Davies et al, 1993).

The document example

The rapid advances in personal computers and the rise in popularity of graphical programming environments data has become more complex. The concept of a document is now common across many different applications (eg, word processor, spreadsheet and presentation programs). These documents now contain the ability to handle all forms of multimedia. Video, sound, graphics as well as the more traditional text is able to be placed in all sorts of combinations within the document.

Borland, one of the world's largest software companies recently announced its Object Exchange technology (OBEX). This technology allows documents and other information to be treated as an object and given the ability to be translated across applications and networks. This development provides an example of how workgroup or office computing is increasing in complexity while providing an environment that is easier for the user to work within. It is highly likely that this type of computing will become more complex and more popular over time. The problem remains however that the storage of these types of documents is inefficient using traditional databases.

On the other hand, object oriented databases are well suited to handling the complexities of multimedia applications and the information contained within these applications. They have the ability to easily model and access the complex structure of a document as well as having the ability to handle many different versions of the same document.

In their 1986 article "An object oriented approach to multimedia databases", Woelk, Kim and Luther proposed - "Objects in a multimedia database have various properties and participate in a number of relationships with other objects. We have found that by generalisation the basic notions of objects (instantiation and generalisation), and augmenting them with the notions of aggregation (an object contains other objects) and relationships (an object is related to another object), we can capture the data modelling requirements of multimedia applications" (Woelk, Kim & Luther, 1986).

A document can consist of any combination of paragraphs, drawings, sound files, etc. Through inheritance, it is possible to represent the way the parts of a document are constructed. At each level of an inheritance hierarchy the class represents an abstraction of all classes that exist on the next level down. A paragraph is composed of sentences, which and made up of words, which in turn contain characters.

Complex multimedia types within the document can be grouped together in one area and are able to be broken down into their individual component parts using aggregation. For example, a drawing could be composed of shapes which can be broken into lines, colours, and other shapes. By implementing the object oriented technique of aggregation, all the various parts of a document can be modelled.

Through the use of an object identifier it is possible to navigate through the document, to access and interrogate objects. This type of access can consist of accessing objects through their class, accessing objects through the inheritance hierarchy, and access through relationships between objects.

The Windows concept of object linking and embedding OLE 1.0 can be represented in an object oriented database by using sharing by reference. This is when a user wishes to include an object in a document and wants only the most recent version of the object to be displayed.

Engineering object oriented systems

There are an infinite number of possible implementations of multimedia object oriented database systems. Many new types of multimedia systems will require object oriented databases that are quite different from those currently available, there may also be a requirement for a very specialised type of object oriented multimedia database in some cases.

Given that the area of multimedia object oriented databases is continuing to grow and expand, it is well worth looking at existing engineering systems that use object oriented database technology in a new and innovative way. There is much to be learned from an examination of these systems from the point of view of potential ideas and approaches for future multimedia systems.

QSEA navigational programs

These programs use a specialised object oriented database to store and display hydrographic survey information. The programs make use of multimedia to display output information. Engineering applications have made use of the many benefits of object oriented databases and object oriented programming. The QSea applications of Acumen and QBin provide good examples of this. The programs are part of navigational acquisition and processing software for marine projects.

The QBin program is a 3D seismic tapered binning program. The program uses sophisticated graphics to show what traces are present in individual bins.

The Acumen part of the system processes data as it is acquired, while carrying out error corrections in real time. The data is received from many different sources including radio, long baseline acoustic receivers, laser, and GPS receivers and streamers. The output from the Acumen system is online and includes the position of active source and vessel reference point in three coordinate systems. Statistical analysis and computations are performed on tho information received. Full streamer and source graphics including streamer and source shapes, LOPs and node positions. There is much more information produced by this system. From a multimedia point of view it is worth noting that the objects are represented graphically online as they are being processed and streamed to disk.

Using object orientation this representation is enabled by defining object behaviour and representing this graphically. The online graphical representation of objects has a wide application in multimedia. In this case a large amount of diverse information is able to be translated into a comprehensible representation of what is happening. The Acumen program works as follows :

It reads real time navigation data from up to eight serial ports continuously; the amount of data varies but a typical figure would be 10 kB every 5 seconds. The program cycles once per seismic shot, which is typically every 8-9 seconds. The incoming data is formatted into an object which is then stored into a file and sent to the processing module. The processing module decodes the incoming object record and splits it into several matrices which are used as entry points into a Kalman filter.

Once the data has successfully been computed and adjusted using the filter, we end up with a vector of polynomial coefficients for each streamer and for each source array, as well as an absolute position for the vessel and its course and speed.... For each shot the size of the output record is about 10 kB, resulting in two 10 MB files for a typical 100-shot line. The system actually completes a whole cycle in about 1.5 seconds for a typical dataset. The key to the speed of operation is in the careful use of pointers to objects (and the new and delete operators) together with the overloaded input and output operators. The use of these operators was found to decrease overhead considerably.

In many respects this system can be seen as an object oriented database system with intricate processing and locking functionality. It is a specialised, highly efficient system that carries out real time processing and mass storage of information. Like the ACUMEN application many multimedia systems are specialised in what they do and require their own type of functionality (Loweth, 1993).

Realize project

An object based modelling system developed in Perth, Realize, places a different emphasis on the fundamental OO components of data, method and message. Here the emphasis is very much on what can be done with (or by) the object in question, ie, on method and message, making it possible for the object to be "out of sight, out of mind".

So the object architecture of Realize focuses on the ability to encapsulate complex processing capabilities within objects, and to provide a model environment in which these objects can be invoked to deliver the required capabilities transparently to the user; ie, at database level. This makes it possible for Realize to implement knowledge and rules based processing and to address the requirements of project automation systems.

Among the capabilities of a Realize object is the ability to evaluate the current state of other objects from which it has been defined, and to maintain its own status as current. This process may involve the creation or updating of a sub model which may represent an expansion or transformation of the original object. Thus an object may be given a capability to project itself forward to a more detailed level of model definition, which could represent a later stage of a physical project (Wittenoom, 1993).

Future implementation directions

Any multimedia application will require some form of front end to display data. Currently there are multimedia specific development tools, however, few are object oriented in their approach and oven fewer provide connectivity to an OODBMS. Therefore there seems to be two approaches to this problem:
  1. The use of a OODBMS that also provides the functionality to develop a Graphical User Interface.

  2. The use of a object oriented front end development tool that provides connectivity to an OODBMS.

Powerbuilder

An example of the second approach is Powerbuilder. Powerbuilder is a front end client wryer development tool that uses object oriented technology in the development of GUI applications. Encapsulation and Inheritance are both techniques supported by Powerbuilder.

Encapsulation is supported in Powerbuilder in that each window encapsulates the interface elements within it. A push button can Only be referenced by first referencing the window that contains the push button.

Inheritance is supported by Powerbuilder in that all windows can inherit from other Windows. In addition there is the concept of a user object that can be built up from any of the visual or non-visual Powerbuilder objects. All user objects can inherit from all other user objects therefore providing the functionality to build an object oriented hierarchy for any application.

Although Powerbuilder currently only provides connectivity to conventional databases, it is anticipated that connectivity to OODBMS will be provided in the near future. This is a trend that seems to be emerging with most of the front end development tools.

Sybase and gain momentum

An example of the first approach is GAIN MOMENTUM. The GAIN MOMENTUM product uses the functionality of an object oriented front end to access both relational database management systems and an object oriented database. Multimedia data such as video and sound is stored on an Objectivity OODBMS that comes with the GAIN product. Traditional data and transaction based processes can be handled using SQL calls that are made to relational database systems from within GAIN.

The GEL language (Gain Extension Language) that is built into GAIN allows multimedia object manipulation. GEL also allows the execution of full SQL statements. Data managers then work to retrieve information from the SQL databases.

As the GAIN Momentum product is based around an object oriented database, it is able to perform exceptionally well when handling complex data. For instance GAIN can handle live video feeds. This type of data input is large and of an indeterminate size making it well suited to being stored in an OODBMS.

The GAIN products will be used in the forthcoming Football World Cup. GAIN will be used to provide everything from security through to multimedia information kiosks.

Conclusion

Object oriented databases provide an effective approach in solving the problem of how to handle and store multimedia. Although object oriented databases are not fully standardised, progress is being made towards finding a common approach.

Object oriented databases provide sophisticated modelling techniques that are important in many multimedia applications. This is carried out by using the object oriented techniques like encapsulation and inheritance. OODBMS are able to handle complex data types and data that is of variable length.

Through sophisticated modelling the maintainability of multimedia object oriented database applications is reduced dramatically.

Documents

While the modelling of documents using object oriented databases is only one area where OODBMS can be of use, the concept of the document is gaining in importance. The current trend in the computer industry is towards workgroup computing which is based around a document interface. Multimedia is playing a large role in increasing the complexity of documents developed in these workgroup environments. For example document conferencing is now available through products like NCR's Telemedia Connection which enables collaborative document editing and real time video communication (Reinhardt, 1993).

A document is well suited to being treated as an object and modelled using object oriented techniques. Object oriented databases are ideal for handling all document types including documents containing complex data. The storage of multimedia documents using object oriented databases is an area that may expand at a previously unexpected rate.

Engineering systems

While often making full use of multimedia themselves, current object oriented engineering database systems have developed techniques that could be of potential benefit to future multimedia applications.

Future directions

With multimedia gaining in popularity and use, databases will have to change to meet this demand. In terms of the client/server approach both the back end and the front end need to be changed to accommodate the storage and handling of multimedia.

Bibliography

Blair, G. S. and Lea, R. (1992). The impact of distribution on support for object oriented software development. Software Engineering Journal, March 1993, pp130-138.

Davies, N., Davy, M., Blair, G. S. and Mariani, L. A. (1993). Object invocation and management in the Zenith distributed multimedia information system. Information and Software Technology, 35(5), 259-266.

IMMS (1992). Proceedings of the International Interactive Multimedia Symposium 1992. Perth: Promaco Conventions. http://www.aset.org.au/confs/iims/1992/iims92-conts.html

Kim, W. (1990). Introduction to object oriented databases. The MIT Press.

Love, T. (1993). Object lessons (Lessons learned in object oriented development projects). SIGS Books Inc.

Loweth, Roger (1993). Letter from the QSEA Company Pty Ltd. (Explanation of the ACUMEN and QBIN systems). 27th Oct.

Reinhardt, A. (1993). Video conquers the desktop. Byte, Sep, 64-80.

Stevens, A. (1992). Persistent objects in C++. Dr Dobb's Journal, December, 34-44.

Wittenoom, Richard (1993). Letter from Richard Wittenoom & Associates Pty Ltd. 11th Nov.

Woelk, D., Kim, W. and Luther, W. (1986). An object oriented approach to multimedia databases. In Stanley B. Zdonik, & David Maier (Eds), Readings in object oriented database systems. Morgan Kaufmann Publishers, Inc, 1990. pp592-606.

Author: Mr Thomas Picton-Warlow, Analyst Programmer,
The University of Western Australia, Nedlands WA 6009.
Tel: 09 380 2611 Fax: 09 382 1688 Email: picton@uniwa.uwa.edu.au

Please cite as: Picton-Warlow, T. (1994). A multimedia view of object oriented databases. In C. McBeath and R. Atkinson (Eds), Proceedings of the Second International Interactive Multimedia Symposium, 430-435. Perth, Western Australia, 23-28 January. Promaco Conventions. http://www.aset.org.au/confs/iims/1994/np/picton-warlow-t.html


[ IIMS 94 contents ] [ IIMS Main ] [ ASET home ]
This URL: http://www.aset.org.au/confs/iims/1994/np/picton-warlow-t.html
© 1994 Promaco Conventions. Reproduced by permission. Last revision: 12 Feb 2004. Editor: Roger Atkinson
Previous URL 15 Aug 2000 to 30 Sep 2002: http://cleo.murdoch.edu.au/gen/aset/confs/iims/94/np/picton-warlow-t.html