Università degli Studi di Firenze Facoltà di Ingegneria Dipartimento di Sistemi e Informatica Corso di Laurea in Ingegneria Informatica Modelli e strumenti per la descrizione e la selezione di stili per la formattazione automatica di contenuti multimediali Relatore: Prof. Ing. Paolo Nesi Candidati: Marco Pini Claudio Sorbi
Contesto Crescita mercato multimedia in rete Esigenza di piattaforme integrate per la gestione di contenuti multimediali Riduzione dei costi di produzione e distribuzione: necessità automatizzazione processi difficoltà causata dall’eterogeneità delle risorse coinvolte
Obiettivo della tesi Studio e realizzazione di un prototipo in linguaggio C++ per la formattazione automatica di contenuti multimediali attraverso l’utilizzo di modelli: generali riutilizzabili personalizzabili Rapporto col framework AXMEDIS: Composition tool Formatting tool
Analisi del problema Composizione delle risorse Modelli Template e Stylesheet Scelta del linguaggio di rappresentazione Adattamento e riutilizzo Descrittori Criteri di filtro Automazione del processo
Analisi del problema Composizione delle risorse Convenzioni che stabiliscano il ruolo delle risorse nella rappresentazione: categorie d’uso standardizzate disposizione gerarchica Definizione delle correlazioni fra risorse: spaziale logica semantica
Analisi del problema Modelli I modelli hanno lo scopo di: permettere la creazione di varie tipologie di documenti essere riutilizzabili più volte anche in contesti eterogenei consentire facili modifiche per l’adattamento a nuovi contenuti consentire la separazione tra lo stile della presentazione e i contenuti che la compongono: soluzione: divisione del modello in template e stylesheet
Analisi del problema Template Un template è il contenitore base degli oggetti multimediali è privo di informazioni riguardanti lo stile e la formattazione descrive le regioni logiche della presentazione definisce la temporizzazione degli eventi
Analisi del problema Linguaggio per i template SMIL (Synchronized Multimedia Integration Language) human readable standard W3C presentazioni su più finestre indipendenti separazione tra elementi spaziali e temporali configurazione dinamica del documento sincronizzazione fra gli elementi transizioni complesse fra i media
Analisi del problema Adattamento e riuso dei template Template SMIL: rappresenta il formato di output è un documento valido che non presenta differenze formali col risultato prodotto dall’applicazione dello stylesheet: riutilizzo e personalizzazione problema: creazione di scene logiche complesse e specializzate soluzione: suddivisione dell’intera presentazione in sottoscene descritte da SMIL distinti
Analisi del problema Stylesheet Uno stylesheet definisce: il look and feel della presentazione il posizionamento e il dimensionamento delle regioni logiche descritte nel template i parametri che regolano le impostazioni di visualizzazione
Analisi del problema Linguaggio per gli stylesheet XSLT (Extensible Stylesheet Language Transformations) permette di operare modifiche sulla struttura del documento XML aumenta la possibilità di personalizzazione e ottimizzazione del documento fornisce funzionalità maggiori al CSS, consentendone l’eventuale inclusione
Analisi del problema Descrittore Il descrittore è un documento XML che: raccoglie informazioni ricavabili dalla struttura stessa dell’oggetto che rappresenta consente l’inserimento di metadati facilita le operazioni di selezione dei template e degli stylesheet
Analisi del problema Descrittore della risorsa specifica il ruolo che la risorsa riveste nel documento indica il riferimento ad una risorsa esterna correlata
Analisi del problema Descrittore del template informazioni fornite dal creatore del template informazioni ricavabili dall’analisi del template SMIL
Analisi del problema Descrittore dello stylesheet
Analisi del problema Criteri di filtro Primo criterio di filtro for each (template) for each (type) template.penalty += | numResInput(type) – numResTemplate(type) | Secondo criterio di filtro for each (template) for each (type) template.penalty += | numCategoryResMatched(type) – numCategoryResTemplate(type) | Criteri di filtro sugli stylesheet precedente scelta del template informazioni derivanti dai profili
Università degli Studi di Firenze Facoltà di Ingegneria Dipartimento di Sistemi e Informatica Corso di Laurea in Ingegneria Informatica Modelli e strumenti per la descrizione e la selezione di stili per la formattazione automatica di contenuti multimediali Relatore: Prof. Ing. Paolo Nesi Candidati: Marco Pini Claudio Sorbi
Descrizione del progetto Diagramma delle classi
Descrizione del progetto Gestione della formattazione Inizializzazione caricamento dei descrittori di template e stylesheet inserimento delle risorse Operazioni di filtro filtro sui template filtro sugli stylesheet Formattazione della presentazione applicazione dello stylesheet al template selezionato creazione dell’output SMIL
Descrizione del progetto Diagramma delle classi
Descrizione del progetto Gestione delle risorse La gestione delle risorse prevede: descrizione di risorse eterogenee utilizzo di una factory creazione della lista caricamento dei descrittori metodi per reperire informazioni utili per il filtraggio
Descrizione del progetto Diagramma delle classi
Descrizione del progetto Gestione dei template Creazione e caricamento dei descrittori Metodi per la creazione di relazioni tra risorse e placeholders: per tipo e categoria (facoltativa) per tipo Regole per la gestione delle eccezioni nell’assegnamento: risorse in eccesso o difetto rispetto al template (risorse di default, cancellazione nodi) risorse da posizionare più volte nella stessa presentazione
Descrizione del progetto Diagramma delle classi
Descrizione del progetto Gestione degli stylesheet La gestione degli stylesheet si occupa della: creazione e caricamento dei descrittori associazione fra stylesheet e template memorizzazione di attributi per l’ottimizzatore
Descrizione del progetto Diagramma delle classi
Descrizione del progetto Gestione dei filtri Logica di selezione dei modelli di formattazione metodi per la scelta del template più adatto sulla base delle risorse in input e della presentazione da generare accesso alle informazioni contenute nei profili dei dispositivi di riproduzione Impostazione dei pesi per i criteri modalità automatica modalità manuale Ranking (penalità, meriti)
Descrizione del progetto Creazione descrittori dei template Insieme dei template contenuti nel sistema Inserimento dei descrittori nella lista Creazione dei placeholder Setting dei tipi e delle categorie Creazione del descrittore Parsing dei template
Descrizione del progetto Processo di filtraggio Filtro dei template Risorse Template Template selezionato Template selezionato Filtro degli stylesheet Stylesheet Profili Stylesheet selezionato
Descrizione del progetto Creazione dell’output Sostituzione Placeholder/risorsa Template selezionato template Processore XSLT Stylesheet selezionato SMIL
Esempio Inserimento delle risorse ID Tipo Categoria back1 video background but1 img button but2 img button but3 img button but4 img button
Esempio Creazione dell’output Template selezionato in base alle risorse in ingresso Sostituzione placeholder/risorse Applicazione dello stylesheet
Conclusioni e sviluppi futuri Problematiche principali: logica di selezione regole di assegnamento risorse/placeholder rappresentazione delle risorse attraverso descrittori XML metodi per la manipolazione di documenti XML mediante le librerie Xerces e Xalan
Conclusioni e sviluppi futuri integrazione del meccanismo nel framework AXMEDIS gestione delle risorse contenute negli oggetti AXMEDIS riutilizzo di parti delle presentazioni