=Paper= {{Paper |id=Vol-233/paper-14 |storemode=property |title=Extensibility of Adaptation Capabilities in the CAIN Content Adaptation Engine |pdfUrl=https://ceur-ws.org/Vol-233/p29.pdf |volume=Vol-233 |dblpUrl=https://dblp.org/rec/conf/samt/MolinaMVL06 }} ==Extensibility of Adaptation Capabilities in the CAIN Content Adaptation Engine== https://ceur-ws.org/Vol-233/p29.pdf
           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.