Extensibility of Adaptation Capabilities in the CAIN Content Adaptation Engine Javier Molina, José M. Martínez, Víctor Valdés, Fernando López  Abstract—This paper describes the extensibility mechanism II. CAIN SYSTEM OVERVIEW that has been incorporated to the CAIN Adaptation Engine, that provides audiovisual content adaptation based on user A. CAIN Architecture preferences, network capabilities and terminal limitations. The CAIN is a complete multimedia Adaptation Engine integration of new adaptation modules needs no code modifications in the core system, so it does not have to be integrating different content adaptation approaches[3]. It is recompiled for adding or modifying adaptation modules. constituted by three main modules: the DM (Decision Module), the EM (Execution Module), and the “battery” of Index Terms—Adaptative Signal Processing, Multimedia CATs (Content Adaptation Tools), that is, the set of CATs Systems. CAIN can use for content adaptation and made available to CAIN thanks to the extensibility mechanism explained in III. Currently we have integrated CATs belonging to the four I. INTRODUCTION categories considered in the design of CAIN: ‘Transcoder CATs’, ‘Scalable Content CATs’, ‘Real-time Content-driven T he development of both, new access networks providing multimedia capabilities, and a wide and growing range of CATs’ and ‘Transmoding CATs’[4]. To make possible the work of the main modules, a set of support modules are also necessary, which are basically terminals, makes the adaptation of content an important issue MPEG-7/21 XML parsers to make data (that is, descriptions) in future multimedia services. Content adaptation is the main accessible for the EM and the DM. objective of a set of technologies that can be grouped under B. CAIN Adaptation Process the umbrella of UMA (Universal Multimedia Access ) [1]. In order to perform content adaptation it is necessary to have First of all, we need a collection of CATs together with the the description of the content and the description of the usage descriptions of their adaptation capabilities [5]. These environment. To enhance the user’s experience [2], not only descriptions will be used by the DM, together with the content terminal and network characteristics and conditions should be description and the usage environment description, in order to taken into account when adapting, but also user preferences select the CAT that will perform the best adaptation. and handicaps, as well as environmental conditions. All this For performing an adaptation we need to receive, at least, information imposes some constraints to the content to be the input media content and a usage environment profile. It is obtained after adaptation. In this paper section II presents the desirable, but unusual, to receive the associated content current architecture of CAIN (Content Adaptation Integrator), description file. Therefore, the required media information whilst section III details the differences with the previous description is usually extracted directly from the content, version and therefore explains the extensibility mechanism. using ffmpeg library[6] . Section IV presents some conclusions and future research The EM collects all the information extracted from the work. required description files (media, usage environment, CAT capabilities) and launches the DM. The DM selects both the Manuscript received June 21, 2006. best CAT and its configuration parameters using a constraints Javier Molina, Grupo de Tratamiento de Imágenes, EPS, Universidad satisfaction and optimization algorithm [7]. Afterwards the Autonoma de Madrid, Madrid, Spain. phone: 0034-91-497-22-60; e-mail: EM is able to execute the selected CAT, calling the adaptation javier.molina@ uam.es). J. M. Martínez, Grupo de Tratamiento de Imágenes, EPS, Universidad method (see section III.B) of the chosen CAT. Autonoma de Madrid, Madrid, Spain. e-mail: jm.martinez@ uam.es). V. Valdés, Grupo de Tratamiento de Imágenes, EPS, Universidad III. CAIN EXTENSIBILITY Autonoma de Madrid, Madrid, Spain. phone: 0034-91-497-22-60; e-mail: victor.valdes@ uam.es). CAIN considers the integration of new CATs, as well as the F. López, Grupo de Tratamiento de Imágenes, EPS, Universidad Autonoma update of existing ones. For this purpose, it provides a flexible de Madrid, Madrid, Spain. phone: 0034-91-497-22-60; e-mail: f.lopez@ extensibility mechanism in order to avoid recoding of the core uam.es). of CAIN as well as recompiling. One of the integration requirements is to make the CAT´s capabilities accessible from the DM. For this, we need to have a complete and lack of ambiguity file, describing what transformations a concrete CAT is able to do and with which input and output formats. IV. CONCLUSIONS AND FUTURE WORK Another important requirement for CAT’s integration is the The proposed extensibility mechanism allows compliance with interface defined for making the CAT implementation-agnostic integration of new CATs in order to accessible by the CAIN core. incorporate new functionalities without prior knowledge of A. Content Adaptation Tool Plug-in each tool capabilities and limitations. This allows to use CAIN The main differences with the previous CAIN for service prototyping (as in currently being done in the EU version[3][4][5][7] are the following: IST aceMedia Integrated Project), service deployment (reducing the flexibility and numbers of CATs), and as a x The integration of new CATs does not need any benchmarking framework. For the later, it will be necessary to modification in the system’s core. This allows to change incorporate the modules required for providing as result of the the set of available CATs before each execution of CAIN. adaptation a report of resource consumption (CAT processing x The conditions to be fulfilled when incorporating a new time, CPU and memory use, power consumed, temporary CAT are only to be compliant with a defined interface , to storage space, …) as well as modules for comparing the follow a certain naming policy (see sectionIII.B). quality of different versions of adapted content, both being the x The functionality of a working CAT is modifiable even same or different adaptations, taking into account not only without recoding its own code. This is possible by the objective, but also subjective quality measures focus in the edition of the correspondent CAT capabilities description user’s perceived quality even in the case of transmoding. file. This edition may allow the restriction of certain formats in the input or output. The adaptation schemes can ACKNOWLEDGMENTS also be modified in order to, for example, avoid certain non-desired transcoding operations. This work is partially supported by the European Commission 6th Framework Program under project FP6-001765 B. Content Adaptation Tool’s Interface (aceMedia). This work is also supported by the Ministerio de All the files implementing the CAT, or used by it, have to be Ciencia y Tecnología of the Spanish Government under packaged in a *.jar file. This file has to share name with the project TIN2004-07860 (MEDUSA) and by the Comunidad CAT it represents. de Madrid under project P-TIC-0223-0505 (PROMULTIDIS). For integrating a new CAT we need, at least, two files: The authors want to thank Víctor Fernández-Carbajales for x The CAT code in a *.java file, with the same name as the successful testing of the extensibility mechanism. CAT. This code file should implement the adapt(…)method, declared as abstract in its parent REFERENCES class, CATImplementation.java. [1] A. Vetro, C. Christopoulos, T. Ebrahimi (eds.), “Universal x The CAT Capabilities description[5] in a *.xml file with Multimedia Access (special issue), IEEE Signal Processing the same name as the CAT. This description file will Magazine, 20(2), March 2003. contain the adaptation capabilities of the module being [2] F. Pereira, I. Burnett, “Universal Multimedia Experiences for integrated. This information is necessary for the DM, it Tomorrow”, IEEE Signal Processing Magazine, 20(2):63-73, March 2003. will use it for deciding in which situations the new CAT [3] J.M. Martínez, V. Valdés, J. Bescós, L. Herranz, “Introducing should be launched by CAIN. CAIN: A metadata-driven content adaptation manager Apart from these mandatory files, it is also be necessary the integrating heterogeneous content adaptation tools”, inclusion of any library used by the CAT. Any library should Proceedings of the WIAMIS’2005 (CD-ROM), Montreux, April be packaged together with the mandatory CAT code file. 2005. The Adapt(…) method constitutes the common core to every [4] V. Valdés, J.M. Martínez, “Content Adaptation Tools in the CAT. It is the method which, by a generic interface, performs CAIN framework”, in Visual Content Processing and the different adaptations. It will be called by the EM and it is Representation, L. Atzori, D.D. Giusto, R. Leonardi, F. Pereira expected to adapt in a proper fashion, because the DM has (eds.), Lecture Notes in Computer Science, Vol. 3893, Springer Verlag, 2006, pp. 9-15 chosen it after checking out, in the CAT´s capabilities [5] V. Valdés, J.M. Martínez, “Content Adaptation Capabilities description file, that it is able to do so. It returns a list Description Tool for Supporting Extensibility in the CAIN containing the paths and formats of the adapted contents. It Framework”, Multimedia Content Representation, Classification can return more than a unique output. A CAT, for example, and Security-MCRS2006, B.Günsel, A.K.Jain, A.M. Tekalp, B. could convert a video into a sequence of images (e.g., Sankur (eds.), Lecture Notes in Computer Science, Vol. 4105, keyframes). In this case, the returned structure would contain Springer Verlag, 2006, pp. 395-402 the paths and characteristics of each of the output images. [6] http://ffmpeg.sourceforge.net/ [7] F. López, J.M. Martínez, V. Valdés, “Multimedia Content C. CAIN Content Adaptation Tool’s Management Adaptation within the CAIN framework via Constraints The files of each integrated CAT should be packaged in a Satisfaction and Optimization”, Proceedings of the Fourth *.jar file. This file is stored in a CATs’ folder together with International Workshop on Adaptative Multimedia Retrieval- the other available CATs. When CAIN execution starts, the AMR06 (CD-ROM), 17 pp., Geneve, Suiza, July 2006, in press. CATs’ folder is checked uncompressing each *.jar file in an execution space accessible by the EM and the DM.