An object-oriented client/server architecture for video-on-demand applications
One of the most important standardization efforts in the broad field of audiovisual coding is MPEG-4 that introduces objects as smallest accessible units inside frames. This creates new possibilities in scalable scene compositions where more interesting foreground objects (e. g. a news speaker) can be lossy encoded with a better quality than a less interesting background object. This leads to new degrees of freedom in achieving high compression rates. Furthermore, this new audiovisual coding paradigm provides new functionalities in interactive audiovisual presentations. In this paper, we present a prototype realization of a video-on-demand application that enables distributed event handling of object-related events created by a user. Our system consists of a client/server architecture, where the client side handles events like zooming or moving single video objects at presentation time, while the server side considers user control concerning the quality of a lossy encoding of the single video objects. The term object-oriented stands for the access of objects rather than frames in our coding scheme as well as the object-oriented design of our software system by means of aggregation, association or inheritance. This paper describes the architecture of our system by explaining how the desired distributed functionality can be achieved. The software is entirely written in the Java language. Therefore, platform independence is achieved by using the Java Virtual Machine. Java's multithreading capabilities are used to design a highly extendible and flexible system that can be dynamically configured at runtime. The overall functionality of the system is explained with OMT class diagrams, block diagrams and state diagrams describing a protocol exchange by client and server, including the influence of the user interaction on the quality of the transmitted video objects.
KeywordsServer Side Client Side Video Object Java Virtual Machine Differential Pulse Code Modulation
Unable to display preview. Download preview PDF.
- 1.ITU-T Recommendation H.263. Video Coding for Low Bitrate Communication, July 1995.Google Scholar
- 2.ISO/IEC JTC1/SC29/WG11. IS 13818: Generic Coding of Moving Pictures and Associated Audio, November 1994.Google Scholar
- 3.F. Pereira. MPEG-4: A New Challenge for the Representation of Audio-Visual Information. In Picture Coding Symposium, Melbourne, Australia, 1996.Google Scholar
- 4.ISO/IEC JTC1/SC29/WG11. MPEG-4 Proposal Package Description (PPD), July 1995.Google Scholar
- 5.ISO/IEC JTC1/SC29/WG11. N1484 MSDL VM, November 1996.Google Scholar
- 6.Alexander Steudel, Jürgen Deicke and Manfred Glesner. Unscharfe Segmentierung mit dem Bereichswachstumsverfahren zur Codierung in MPEG-4. In 9. Aachener Kolloquium “Signaltheorie”, Aachen, 1997.Google Scholar
- 7.David Flanagan. Java in a Nutshell. O'Reilly, Sebastopol, 1996.Google Scholar
- 8.Ken Arnold and James Gosling. The Java Programming Language. Addison-Wesley, Reading, 1996.Google Scholar
- 9.ISO/IEC JTC1/SC29/WG11. N1483 Systems Working Draft, November 1996.Google Scholar
- 10.James Rumbaugh, Michael Blaha et al. Object-Oriented Modeling and Design. Prentice-Hall Inc., Englewood Cliffs, 1991.Google Scholar
- 11.ITU-T Recommendation H.245. Control Protocol for Multimedia Communciation, May 1996.Google Scholar
- 12.ITU-T Recommendation H.223. Multiplexing Protocol for Low Bitrate Multimedia Applications, 1996.Google Scholar