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:
–
–
2
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:
–
–
3
Composition tool
Formatting tool
Analisi del problema



Composizione delle risorse
Modelli
Template e Stylesheet
–
–



4
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:
–
–

Definizione delle correlazioni fra risorse:
–
–
–
5
categorie d’uso standardizzate
disposizione gerarchica
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:
–
6
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
7
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
8
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:
–

problema:
–

creazione di scene logiche complesse e
specializzate
soluzione:
–
9
riutilizzo e personalizzazione
suddivisione dell’intera presentazione in sottoscene
descritte da SMIL distinti
Analisi del problema
Stylesheet
Uno stylesheet definisce:



10
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
11
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
12
Analisi del problema
Descrittore della risorsa
specifica il ruolo
che la risorsa
riveste nel
indica il
documento
riferimento ad
una risorsa
esterna correlata
13
Analisi del problema
Descrittore del template
informazioni
fornite dal
creatore del
template
informazioni
ricavabili
dall’analisi del
template SMIL
14
Analisi del problema
Descrittore dello stylesheet
15
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
–
16
–
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
«utilizza»
Xerces
/ Xalan
XSLtools
StyleDescriptor
«friend»
TemplateDescriptor
-
*
*
«utilizza»
Placeholder
1
1
-
TemplateList
FormatManager
1
-
StyleList
1
1
«utilizza»
TemplateFilter
ResourceList
1
«friend»
FilteredTemplate
ResourceFactory
*
1
StyleFilter
Resource
ProfileInfo
«friend»
FilteredStyle
ResourceText
ResourceAudio
18
ResourceImage
ResourceVideo
ResourceApplication
DeviceInfo ContextInfo UserInfo
Optimizer
Descrizione del progetto
Gestione della formattazione

Inizializzazione
–
–

Operazioni di filtro
–
–

filtro sui template
filtro sugli stylesheet
Formattazione della presentazione
–
19
caricamento dei descrittori di template e stylesheet
inserimento delle risorse
–
applicazione dello stylesheet al template
selezionato
creazione dell’output SMIL
Descrizione del progetto
Diagramma delle classi
«utilizza»
Xerces
/ Xalan
XSLtools
StyleDescriptor
«friend»
TemplateDescriptor
-
*
*
«utilizza»
Placeholder
1
1
-
TemplateList
FormatManager
1
-
StyleList
1
1
«utilizza»
TemplateFilter
ResourceList
1
«friend»
FilteredTemplate
ResourceFactory
*
1
StyleFilter
Resource
ProfileInfo
«friend»
FilteredStyle
ResourceText
ResourceAudio
20
ResourceImage
ResourceVideo
ResourceApplication
DeviceInfo ContextInfo UserInfo
Optimizer
Descrizione del progetto
Gestione delle risorse
La gestione delle risorse prevede:

descrizione di risorse eterogenee
–

creazione della lista
–
–
21
utilizzo di una factory
caricamento dei descrittori
metodi per reperire informazioni utili per il filtraggio
Descrizione del progetto
Diagramma delle classi
«utilizza»
Xerces
/ Xalan
XSLtools
StyleDescriptor
«friend»
TemplateDescriptor
-
*
*
«utilizza»
Placeholder
1
1
-
TemplateList
FormatManager
1
-
StyleList
1
1
«utilizza»
TemplateFilter
ResourceList
1
«friend»
FilteredTemplate
ResourceFactory
*
1
StyleFilter
Resource
ProfileInfo
«friend»
FilteredStyle
ResourceText
ResourceAudio
22
ResourceImage
ResourceVideo
ResourceApplication
DeviceInfo ContextInfo UserInfo
Optimizer
Descrizione del progetto
Gestione dei template


Creazione e caricamento dei descrittori
Metodi per la creazione di relazioni tra risorse
e placeholders:
–
–

Regole per la gestione delle eccezioni
nell’assegnamento:
–
–
23
per tipo e categoria (facoltativa)
per tipo
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
«utilizza»
Xerces
/ Xalan
XSLtools
StyleDescriptor
«friend»
TemplateDescriptor
-
*
*
«utilizza»
Placeholder
1
1
-
TemplateList
FormatManager
1
-
StyleList
1
1
«utilizza»
TemplateFilter
ResourceList
1
«friend»
FilteredTemplate
ResourceFactory
*
1
StyleFilter
Resource
ProfileInfo
«friend»
FilteredStyle
ResourceText
ResourceAudio
24
ResourceImage
ResourceVideo
ResourceApplication
DeviceInfo ContextInfo UserInfo
Optimizer
Descrizione del progetto
Gestione degli stylesheet
La gestione degli stylesheet si occupa della:



25
creazione e caricamento dei descrittori
associazione fra stylesheet e template
memorizzazione di attributi per l’ottimizzatore
Descrizione del progetto
Diagramma delle classi
«utilizza»
Xerces
/ Xalan
XSLtools
StyleDescriptor
«friend»
TemplateDescriptor
-
*
*
«utilizza»
Placeholder
1
1
-
TemplateList
FormatManager
1
-
StyleList
1
1
«utilizza»
TemplateFilter
ResourceList
1
«friend»
FilteredTemplate
ResourceFactory
*
1
StyleFilter
Resource
ProfileInfo
«friend»
FilteredStyle
ResourceText
ResourceAudio
26
ResourceImage
ResourceVideo
ResourceApplication
DeviceInfo ContextInfo UserInfo
Optimizer
Descrizione del progetto
Gestione dei filtri

Logica di selezione dei modelli di
formattazione
–
–

Impostazione dei pesi per i criteri
–
–

27
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
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
Parsing dei
template
28

Creazione dei placeholder

Setting dei tipi e delle categorie

Creazione del descrittore
Descrizione del progetto
Processo di filtraggio
Filtro
dei
template
Risorse
Template
Template selezionato
Filtro
degli
stylesheet
Stylesheet
Profili
Stylesheet selezionato
29
Descrizione del progetto
Creazione dell’output
Sostituzione
Placeholder/risorsa
Template
selezionato
template
Processore
XSLT
Stylesheet
selezionato
30
SMIL
Esempio
Inserimento delle risorse
31
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
32
Sostituzione placeholder/risorse
Applicazione dello stylesheet
Conclusioni e sviluppi futuri

Problematiche principali:
–
–
–
–
33
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

Sviluppi futuri:
–
–
–
34
integrazione del meccanismo nel framework
AXMEDIS
gestione delle risorse contenute negli oggetti
AXMEDIS
riutilizzo di parti delle presentazioni
Scarica

Modelli e strumenti per la descrizione e la selezione di