May 8th, 2009 @ 9:14pm | njames | Categories Au fond du labo à droite | No Comments »
Vitooki est une boîte à outil vidéo: streaming, codecs, mpeg-7 et mpeg-21. C'est pour ces deux derniers que je regarde ce que propose le projet.
J'ai un problème assez étrange sous Ubuntu Intrepid Ibex: Vitooki utilise xvidcore-1.1.0-beta2, et avec cette version d'ubuntu le bootstrap.sh refuse de générer le config.sub et config.guess... donc pas de configure, plutôt embêtant pour compiler le projet !
C'est d'autant plus embêtant car le projet intègre Muvino, un outil pour générer du mpeg-7 avec TemporalDecomposition qui m'intéresse un brin...

Cependant, sous Hardy, ça fonctionne impeccablement, c'est assez étrange... et question: il y a t-il des logs d'autoconf ou autoreconf quelque part ?

C'est corrigé avec une bidouille à la barbarian (j'ai pas le temps pour autre chose): remplacer xvidcore-1.1.0-beta2 par la 1.1.2 téléchargeable ici (ou directement xvidcore-1.1.2).
Il faut compiler avec g++-4.2 et gcc-3.4.

Mais j'ai maintenant une erreur de compilation de paragui que je ne comprends pas... une commande de compilation gcc demande -lstdc++, ce qui ne lui plaît pas: /usr/bin/ld: cannot find -lstdc++, solution barbarian encore une fois: softlinker un /usr/lib/libstdc++.so vers /usr/lib/libstdc++.so.6.

Autre problème: avec la compilation de ffmpeg:
In file included fro mathematics.c common.h:598: error: static declaration of 'lrintf' follows non-static declaration
De même solution babarian: suppression de la macro #ifndef HAVE_LRINTF, ça me fait plein de warning mais ça passe, on verra bien...

Autre problème: dans libebml, 'memcpy' was not declared in this scope.

=> addon 2009-05-13: Je laisse tomber, compiler ce projet sous une distribution GNU/Linux récente semble bien compliqué...
March 31st, 2008 @ 3:49pm | njames | Categories CBIR, XML/XSD | No Comments »
Dans le cadre d'un prototype sur mes recherches, j'investigue sur MPEG-7. Au début, j'avais définit un format de fichier de description, j'ai écrit une grammaire XML assez sommaire pour avancer assez rapidement, et produire des fichiers XML pour décrire, stocker des descripteurs, et annoter mes documents multimédia, mais au fur et à mesure que j'avançais, je m'approchais vraiment de ce que propose la norme. C'est pourquoi depuis quelques temps, je m'attaque à un XML binding en Java de la norme MPEG-7.
Java XML binding
Le langage Java propose dans son API un mécanisme de XML binding (depuis Java1.6, dans les versions précédente de Java c'était l'API Jaxb, Java API for XML binding, qui était située dans un package externe, le JWSDP Java Web Services Developer Pack), et pour les normes comme MPEG-7 basé sur des XML-schemas, c'est très pratique. (J'aurais bientôt a travailler sur MPEG-21 pour les besoins d'un projet de labo, j'essayerai la même approche pour la production d'une requête MPEG-21, j'en reparlerai ici en temps et en heure). Pour la génération du binding, il y a JAXB (Sun) et XMLBeans (Apache), avec ces 2 frameworks, il y a des problèmes de compilations du bindings (grammaire non valide), dans les deux cas il semble y avoir un problème avec des définitions d'éléments au noms identique, ce n'est pas un problème de définition dans la norme, mais plutôt des outils JAXB et XMLBeans2.3 qui ne gèrent pas correctement l'inheritance à outrance utilisé dans la norme MPEG-7. (réf. nécessaire). Quelques liens web parlant du problème: Il semble plus sérieux d'utiliser XMLBeans2.3, car malgré une petite modification aux schemas MPEG-7 à faire, la modification reste acceptable. JAXB quand à lui nécessite de modifier le nom de certains éléments, ce qui pourrait amener à des problèmes (fichiers MPEG-7 générés non MPEG-7 compliant).
Avec JAXB
Avec JAXB (version java1.6) des collisions de noms sont un problème, voir http://cbvr.ims.tuwien.ac.at/user-documentation/mpeg7-java-binding-1.pdf. Il y en a plusieurs, c'est bloquant. La correction à apporter aux schemas est de modifier les noms de plusieurs éléments (à priori pas très pratique donc, car le MPEG-7 résultant ne valide plus la norme). La correction proposée ci-dessous pour XMLBeans2.3 fonctionne également avec JAXB, mais elle ne suffit pas, il y a des propriétés au nom identique dans mds-2001.xsd et Jaxb génère une erreur "already define"; Une solution pour contourner cela semble l'utilisation de custumizations JAXB.
Avec XMLBeans
Avec XMLBeans2.3, il y a un problème dans audio-2001.xsd mais qui peut être corrigé rapidement, voir http://iiss039.joanneum.at/cms/index.php?id=231 (recherche menée par Joanum Research propose également un profile mpeg-7, le DAVP detailed AudioVisual Profile, pour la description de contenu audiovisuel simple, dans le sens de single);
Quelques liens:
  • VizIR web server project: équipe autrichienne, membre du noe DELOS, utilise JAXB pour la génération du binding;
  • le laboratoire Joaennum propose une librairie en C++ pour manipuler des documents MPEG-7, (avec un XML-binding en C++ développé maison), cette librairie de contient pas de features extractors. Ce laboratoire propose également une génération de XML-binding en Java utilisant XMLBeans (déjà cité plus haut);
  • mpeg-7 and mpeg-21 community portal, voir dans la section "software and tools" une liste de projet autour de ou utilisant MPEG-7;
  • LAS, Lightweigth Application Server for mpeg-7, utilise XMLBeans, dans le cadre du projet MECCA;
  • un projet d'élève de l'université polytechnique de catalogne d'annotation de photographie, utilise XMLBeans. D'autres projets d'élèves de la même université qui utilise également XMLBeans;
  • le site du NIST pour récupérer les schemas, et qui propose un validateur;
June 13th, 2007 @ 4:47pm | njames | Categories CBIR | No Comments »
LIRe, Lucene Image Retrival, c'est une library de Mathias Lux, j'ai découvert son blog par del.ico.us, http://www.semanticmetadata.net/. LIRe create a Lucene index of image feature for CBIR. Three of the available image retrieval features are taken from the MPEG-7 standard: ScalableColor, ColorLayout, EdgeHistogram, and an Auto Color Correlogram. LIRe is part of Caliph&EMIR project. Rien à voir avec le projet européen EMIR. EMIR, European Multilingual Information Retrieval, finalisé en 1994, c'est un projet ancien maintenant, spirit est de la même époque. Le système SPIRIT est monolingue, repose sur une analyse linguistique du document et une pondération statistique. PRISME a pour objectif la conception et la réalisation d'un outil de veille technologique multilingue sur Internet. PRISME utilise les technologies multilingues développées dans le cadre du projet européen EMIR, et du produit SPIRIT de T.GID. Un test rapide de LireDemo, une application en java pour tester LIRe, ne fonctionne pas, pourtant sur le site de l'auteur il est bien indiqué qu'un JDK1.6 est requis mais des exceptions sont catchées lors de la construction de l'index.
June 13th, 2007 @ 3:33pm | njames | Categories Research | No Comments »
Jannach, Leopold (2007) UMA, Universal Multimedia Access, article de Pereire, Burnett, 2003. DIA, Digital Item Adaptation, article de Vetro, Timmerer, 2005. the MPEG-21 DIA framework. MPEG-7, Martinez (2002), (c'est monsieur MPEG-7 lui...) multimedia content adaptation functional model This paper bring out an extension to the MPEG-21 DIA (the part 7 of the MPEG-21) => avec un mécanisme qui apporte interopérabilité entre les third-party tools. Adaptation: 1- user's constraint: terminal capabilities, network bandwith, content preferences => MPEG-21 DIA 2- information about the requested source, actual encoding format for instance, in ordre to determine which sort of adaptation it is required or possible => MPEG-7 Un problème est qu'actuellement MPEG-21 ne dit pas comment le serveur d'adaptation multimédia détermine et effectue les transformation, cette tâche est laissé au tool vendor. Pour cela, on a besoin des mécanisme suivant: 1- une représentation pour la description des capacité d'un outil arbitraire (the semantic of performing an adaptation operation, such that automatic construction of adaptation chains become possible). 2- invoke the tools in a standardized form once the adaptation sequence is determine. 3- intégrer ce mécanisme dans MPEG-21. State Space Planning problem, Bratko (2000), it's a general problem-solving approach (an AI-planning approach). A planning problem comprises a set of world-altering actions, which are provided by the system. 1. Each action are annotated with a set of preconditions that have to hold when the action should be applied 2. a list of effects when applying the action 3. a list of inputs and outputs (parameters) of the action when it is embeded in a action sequence PDDL, Planning Domain Description Language, Fox, Lang (2003) OWL, Harrock & al. (2003) OWL-S, Martin & al. (2004) Semantic Web Services, McIlraith, (2001): the main idea of that initiative is to semantically annotate the services that are available on the web with the goal that they can be automatically searched annd accessed by agents. (=>spécification web services de XEDIX, fédération de bases, UDDI). The rule langage SWRL (w3c recommandation) Semantic Web Rule Language, Harrocks, Pattek-Schneider (2004) SWRL est inclus dans OWL-S, c'est la partie contrainte (precondition), par contre OWL-S n'impose rien sur le moteur d'inférence utiliser pour évaluer les contraintes. However, it would be possible to re-write the parts of the standard in terms of an owl ontology, hunter (2001). moteur de recherche CORESE, INRIA-ACACIA, et serveur web sémantique SEWESE (gérer les échanges et orchestrer les applications). CORESE est un moteur RDF basé sur les CG, il utilise SPARQL, un langage de requête RDF. Les descriptions OWL-s apportent 3 types de connaissances à propos des services: 1. profile: what the service require from the user 2. process: how the service work? 3. grounding: how can access the service on the technical level (mapping avec WSDL) WSDL = description de "messaging-capable collection of communication endpoints". La spécification actuelle de WSDL décrits les bindings pour SOAP, HTTP GET/POST, MIME WSDL apporte l'information low-level nécessaire à l'implémentation. message -> abstract description of the data being exchanged port type -> abstract collection of operation binding -> port type + message + protocole port -> network + address + binding Service == a collection of related endpoints The next important step towards bringing more intelligence to the Web can be seen in the development of "Semantic Web Service, McIlraith et al., 2001". The main idea of that initiative is to semantically annonate the services that are available on the Web with the goal that they can be automatically searched and accessed by agents. In addition, software agents shall also be enabled to execute more complex tasks by combining the different services in an intelligente manner. One example for such an application from the domain of "travel planning" can be found in McIllraith et al. (2001), where an intelligent agent makes a complex travel arrangement on behalf of the user by exploiting several web services like online hotel reservations of flight bookings. Today, a major obstacle to the successfull implementation of Semantic WS in many domains lies exactly in the problem of etablishing a shared ontology (even for well-understood applications domains like e-Commerce environments, many competing and partially incomptatible pseudo-standards can be found on the market). However, in the application domain of multimedia adaptation services, such a shared ontology is implicitly established by the existing MPEG standards. Building distributed multimedia systems with the goal of performing server-side resource adaptation is a research are with a quite long tradition. The main effort in that area for a long time were spent with the problem of coping with the hard real-time constraints when delivering continuous data. These challenges are in many cases mainly tackled with the development of lowlevel stream adaptation algorithms. Only few projects are known that try to exploit the extended metadata annotation available with the MPEG standards. ViTooKi, Video ToolKit project, [Schojer et al., 2003], [Boeszoermeny et al., 2003] http://vitooki.sourceforge.net Il existe le MPEG-7 VariationSet Decription Scheme qui apporte des indices sur quand appliquer une adaptation et quel algorithme utiliser. Ontologies in multimedia and semantic web technology: - Addis & al. (2003), SCULPTEUR: Multimedia retrieval for Museums - Kompatsiaris & al. (2004), Multimedia content indexing and retrieval using an ontology object - Mezaris & al. (2004), Region-based image retrieval using an object ontology and relevance-feedback - Qu & al. (2004), OREL: An Ontololy-based rights expression language


 Valid XHTML 1.0 Transitional Valid CSS! WordPress