<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Extensibility of Adaptation Capabilities in the CAIN Content Adaptation Engine</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Javier Molina</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>José M. Martínez</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Víctor Valdés</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fernando López</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Index Systems.</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Terms-Adaptative Signal Processing</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A. CAIN Architecture</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>B. CAIN Adaptation Process</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>-This paper describes the extensibility mechanism that has been incorporated to the CAIN Adaptation Engine, that provides audiovisual content adaptation based on user preferences, network capabilities and terminal limitations. The integration of new adaptation modules needs no code modifications in the core system, so it does not have to be recompiled for adding or modifying adaptation modules.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        The development of both, new access networks providing
multimedia capabilities, and a wide and growing range of
terminals, makes the adaptation of content an important issue
in future multimedia services. Content adaptation is the main
objective of a set of technologies that can be grouped under
the umbrella of UMA (Universal Multimedia Access ) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
In order to perform content adaptation it is necessary to have
the description of the content and the description of the usage
environment. To enhance the user’s experience [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], not only
terminal and network characteristics and conditions should be
taken into account when adapting, but also user preferences
and handicaps, as well as environmental conditions. All this
information imposes some constraints to the content to be
obtained after adaptation. In this paper section II presents the
current architecture of CAIN (Content Adaptation Integrator),
whilst section III details the differences with the previous
version and therefore explains the extensibility mechanism.
Section IV presents some conclusions and future research
work.
      </p>
      <p>
        First of all, we need a collection of CATs together with the
descriptions of their adaptation capabilities [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. These
descriptions will be used by the DM, together with the content
description and the usage environment description, in order to
select the CAT that will perform the best adaptation.
      </p>
      <p>
        For performing an adaptation we need to receive, at least,
the input media content and a usage environment profile. It is
desirable, but unusual, to receive the associated content
description file. Therefore, the required media information
description is usually extracted directly from the content,
using ffmpeg library[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] .
      </p>
      <p>
        The EM collects all the information extracted from the
required description files (media, usage environment, CAT
capabilities) and launches the DM. The DM selects both the
best CAT and its configuration parameters using a constraints
satisfaction and optimization algorithm [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Afterwards the
EM is able to execute the selected CAT, calling the adaptation
method (see section III.B) of the chosen CAT.
      </p>
    </sec>
    <sec id="sec-2">
      <title>III. CAIN EXTENSIBILITY</title>
      <p>CAIN considers the integration of new CATs, as well as the
update of existing ones. For this purpose, it provides a flexible
extensibility mechanism in order to avoid recoding of the core
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.
Another important requirement for CAT’s integration is the
compliance with interface defined for making the CAT
accessible by the CAIN core.</p>
      <sec id="sec-2-1">
        <title>A. Content Adaptation Tool Plug-in</title>
        <p>
          The main differences with the previous CAIN
version[
          <xref ref-type="bibr" rid="ref3">3</xref>
          ][
          <xref ref-type="bibr" rid="ref4">4</xref>
          ][
          <xref ref-type="bibr" rid="ref5">5</xref>
          ][
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] are the following:
x The integration of new CATs does not need any
modification in the system’s core. This allows to change
the set of available CATs before each execution of CAIN.
x The conditions to be fulfilled when incorporating a new
CAT are only to be compliant with a defined interface , to
follow a certain naming policy (see sectionIII.B).
x The functionality of a working CAT is modifiable even
without recoding its own code. This is possible by the
edition of the correspondent CAT capabilities description
file. This edition may allow the restriction of certain
formats in the input or output. The adaptation schemes can
also be modified in order to, for example, avoid certain
non-desired transcoding operations.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>B. Content Adaptation Tool’s Interface</title>
        <p>All the files implementing the CAT, or used by it, have to be
packaged in a *.jar file. This file has to share name with the
CAT it represents.</p>
        <p>
          For integrating a new CAT we need, at least, two files:
x The CAT code in a *.java file, with the same name as the
CAT. This code file should implement the
adapt(…)method, declared as abstract in its parent
class, CATImplementation.java.
x The CAT Capabilities description[
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] in a *.xml file with
the same name as the CAT. This description file will
contain the adaptation capabilities of the module being
integrated. This information is necessary for the DM, it
will use it for deciding in which situations the new CAT
should be launched by CAIN.
        </p>
        <p>Apart from these mandatory files, it is also be necessary the
inclusion of any library used by the CAT. Any library should
be packaged together with the mandatory CAT code file.
The Adapt(…) method constitutes the common core to every
CAT. It is the method which, by a generic interface, performs
the different adaptations. It will be called by the EM and it is
expected to adapt in a proper fashion, because the DM has
chosen it after checking out, in the CAT´s capabilities
description file, that it is able to do so. It returns a list
containing the paths and formats of the adapted contents. It
can return more than a unique output. A CAT, for example,
could convert a video into a sequence of images (e.g.,
keyframes). In this case, the returned structure would contain
the paths and characteristics of each of the output images.</p>
      </sec>
      <sec id="sec-2-3">
        <title>C. CAIN Content Adaptation Tool’s Management</title>
        <p>The files of each integrated CAT should be packaged in a
*.jar file. This file is stored in a CATs’ folder together with
the other available CATs. When CAIN execution starts, the
CATs’ folder is checked uncompressing each *.jar file in an
execution space accessible by the EM and the DM.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>IV. CONCLUSIONS AND FUTURE WORK</title>
      <p>The proposed extensibility mechanism allows
implementation-agnostic integration of new CATs in order to
incorporate new functionalities without prior knowledge of
each tool capabilities and limitations. This allows to use CAIN
for service prototyping (as in currently being done in the EU
IST aceMedia Integrated Project), service deployment
(reducing the flexibility and numbers of CATs), and as a
benchmarking framework. For the later, it will be necessary to
incorporate the modules required for providing as result of the
adaptation a report of resource consumption (CAT processing
time, CPU and memory use, power consumed, temporary
storage space, …) as well as modules for comparing the
quality of different versions of adapted content, both being the
same or different adaptations, taking into account not only
objective, but also subjective quality measures focus in the
user’s perceived quality even in the case of transmoding.</p>
    </sec>
    <sec id="sec-4">
      <title>ACKNOWLEDGMENTS</title>
      <p>This work is partially supported by the European Commission
6th Framework Program under project FP6-001765
(aceMedia). This work is also supported by the Ministerio de
Ciencia y Tecnología of the Spanish Government under
project TIN2004-07860 (MEDUSA) and by the Comunidad
de Madrid under project P-TIC-0223-0505 (PROMULTIDIS).
The authors want to thank Víctor Fernández-Carbajales for
successful testing of the extensibility mechanism.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Vetro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Christopoulos</surname>
          </string-name>
          , T. Ebrahimi (eds.), “
          <article-title>Universal Multimedia Access (special issue)</article-title>
          ,
          <source>IEEE Signal Processing Magazine</source>
          ,
          <volume>20</volume>
          (
          <issue>2</issue>
          ),
          <year>March 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>F.</given-names>
            <surname>Pereira</surname>
          </string-name>
          , I. Burnett, “
          <article-title>Universal Multimedia Experiences for Tomorrow”</article-title>
          ,
          <source>IEEE Signal Processing Magazine</source>
          ,
          <volume>20</volume>
          (
          <issue>2</issue>
          ):
          <fpage>63</fpage>
          -
          <lpage>73</lpage>
          ,
          <year>March 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J.M.</given-names>
            <surname>Martínez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Valdés</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bescós</surname>
          </string-name>
          , L. Herranz, “
          <string-name>
            <surname>Introducing</surname>
            <given-names>CAIN</given-names>
          </string-name>
          :
          <article-title>A metadata-driven content adaptation manager integrating heterogeneous content adaptation tools”, Proceedings of the WIAMIS'2005 (CD-ROM)</article-title>
          , Montreux,
          <year>April 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>V.</given-names>
            <surname>Valdés</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.M.</given-names>
            <surname>Martínez</surname>
          </string-name>
          , “
          <article-title>Content Adaptation Tools in the CAIN framework”</article-title>
          ,
          <source>in Visual Content Processing and Representation</source>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Atzori</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.D.</given-names>
            <surname>Giusto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Leonardi</surname>
          </string-name>
          , F. Pereira (eds.),
          <source>Lecture Notes in Computer Science</source>
          , Vol.
          <volume>3893</volume>
          , Springer Verlag,
          <year>2006</year>
          , pp.
          <fpage>9</fpage>
          -
          <lpage>15</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>V.</given-names>
            <surname>Valdés</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.M.</given-names>
            <surname>Martínez</surname>
          </string-name>
          , “
          <article-title>Content Adaptation Capabilities Description Tool for Supporting Extensibility in the CAIN Framework”</article-title>
          , Multimedia Content Representation, Classification and
          <string-name>
            <surname>Security-MCRS2006</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Günsel</surname>
            ,
            <given-names>A.K.</given-names>
          </string-name>
          <string-name>
            <surname>Jain</surname>
            ,
            <given-names>A.M.</given-names>
          </string-name>
          <string-name>
            <surname>Tekalp</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          Sankur (eds.),
          <source>Lecture Notes in Computer Science</source>
          , Vol.
          <volume>4105</volume>
          , Springer Verlag,
          <year>2006</year>
          , pp.
          <fpage>395</fpage>
          -
          <lpage>402</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>[6] http://ffmpeg.sourceforge.net/</mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>F.</given-names>
            <surname>López</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.M.</given-names>
            <surname>Martínez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Valdés</surname>
          </string-name>
          , “
          <article-title>Multimedia Content Adaptation within the CAIN framework via Constraints Satisfaction and Optimization”</article-title>
          ,
          <source>Proceedings of the Fourth International Workshop on Adaptative Multimedia RetrievalAMR06 (CD-ROM)</source>
          ,
          <volume>17</volume>
          pp.,
          <string-name>
            <surname>Geneve</surname>
          </string-name>
          , Suiza,
          <year>July 2006</year>
          , in press.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>