MonetDB: Open-source Database Technology Beyond Textbooks Stefan Manegold [email protected] manegold
1 Application-specific constraints for multimedia presentation generation Joost Geurts, Jacco van...
-
Upload
hilda-evans -
Category
Documents
-
view
215 -
download
2
Transcript of 1 Application-specific constraints for multimedia presentation generation Joost Geurts, Jacco van...
1
Application-specific constraints for multimedia presentation generation
Joost Geurts, Jacco van Ossenbruggen and Lynda Hardman
CWI Amsterdam
email: [email protected]
2
Talk overview
•Generating multimedia automatically
•Cuypers multimedia generation engine
•Multimedia and constraints–Quantitative constraints
–Qualitative constraints
•Cuypers demo
•Conclusion, future directions
3
Generating adaptive multimedia
•Content–Large multimedia database
•System profile–PC, PDA, WAP
•Network profile–Modem, Gigabit
•User profile–Language, Interests, Abilities, Preferences
Too costly to author manually
4
Cuypers multimedia generation engine
5
Automatic multimedia generation
•Designer does not specify complete presentation……but only specifies requirements
•System automatically finds a solution which meets requirements
•How should the requirements be specified?–Declarative constraints
6
Traditional use of constraints
•Constraint solving used for problems with:–Many variables–Large domains
•Based on domain reduction paradigm•Quantitative constraints
– Integer domain–Reduction by arithmetic relations
• Greater than (>)• Less than (<)• Equals (=)
7
Drawbacks of quantitative constraints
•Too many (trivial) solutions that differ by:–1 pixel position, or–1 milliseconds in timing
•Not sufficiently expressivee.g. cannot specify “no overlap” constraint
•Too low levele.g. A.X2 B.X1
8
Solution: qualitative constraints
•Example “A not overlap B”, “B after C”•Advantages:
–More intuitive–More expressive–Smaller domains
•Qualitative solutions translate automatically to lower level quantitative constraints
•New problem: What if constraints are insoluble?
9
Solution: Constraint Logic Programming
•Combine Prolog unification and backtracking with constraint solving
•Use Prolog rules to generate constraints•Backtrack when constraints are insoluble
10
Cuypers generation engine
•Multiple layers:
–Prolog rules to generate
constraints
–Qualitative constraints
translate to quantitative
constraints
–Solution of both constraints
provides sufficient
information for final
presentation
11
Cuypers demo: scenario
•Client: User is interested in Rembrandt and wants to know about about the “chiaroscuro” technique
•Server: Query database•Server: Generate constraints according to:
–System profile–User profile–Network profile
•Server: Solve constraints / revise constraints
•Server: Generate SMIL presentation•Client: Play presentation
12
Conclusions
•Quantitative constraintsare insufficient for automatic multimediapresentation generation. Also need
•Qualitative constraintsto allow intuitive and effectivehigh level specification, and
•Backtrackingfor revising specific constraintsthat cause the entire set to fail
13
Future directions
•Best-first instead of depth-first–Choose “best” among possible solutions–Needs evaluation criteria
•Improve knowledge management–Make design knowledge declarative and explicit
–Preserve metadata in final presentation–Use standardized and reusable profiles
14
15
Need to make trade-offs
•Semantics–Convey message
•Aesthetics–Clear / nice layout
•Resources–Screen size, bandwidth
•Dimension may result in conflicting goals
16
Quantitative Constraints% csp(+Ids, -Boxes)csp([IdA,IdB],[box(IdA,[x1:AX1, …]), box(IdB,[x1:BX1,…])]) :-
% get valuesmaxX(MaxX), maxY(MaxY),height(IdA,HeightA),widtht(IdA,WidthA),…% define domains
[AX1,AX2,BX1,BX2]::[0..MaxX], [AY1,AY2,BY1,BY2]::[0..MaxY],
% set width & heightAX2 – AX1 #= WidthA,AY2 – AY1 #= HeightA,…% constraintsAX2 #< BX1, % A left-of BAY1 #= BY1, % A top-align B,…true.
17
Multimedia and Constraints
•Constraint Logic Programming–Domain reduction–Backtracking–Unification (matching rules)
•Qualitative Constraints–Non-integer domain–Allen’s 13 temporal interval relations in three dimensions
18
Qualitative Constraints
•Example:Two images, A,BA left or right of BA not above or
below B
19
Qualitative Constraints
% csp(+Ids, -Graph)csp([IdA, Idb], [edge(IdA,IdB,x,NoOverlap),…]) :-
% define domainsNoOverlap :: [b,b-,m,m-],Overlap :: [d,d-,s,s-,f,f-,e],
% constraintsedge(IdA,IdB,x,NoOverlap), % B not-overlap Aedge(IdA,IdB,y,Overlap), % B overlap Atrue.
20
Qualitative Constraints
•Reasoning– Inverse:
edge(A,B,D,Value) <=> inverse(Value,RValue),edge(B,A,D,RValue).
– Equalityedge(A,B,D,V1), edge(A,B,D,V2) => V1 #= V2
– Transitiveedge(A,B,D,VAB), edge(B,C,D,VBC) =>
tr(VAB,VBC,VAC), % rule generation algorithm
edge(A,C,D,VAC).
•Translation rules to quantitative domainedge(A,B,D,b) => node(A,D/2,V2), node(B,D/1,V1)
V1 #< V2.
21
Problems in generating multimedia
•Text documents are flexible–Add page, scrollbar,
–Template models
–Wrap text around images
•Multimedia documents are less flexible–No pages or scrollbars, no line-breaking or hyphenation
–Not based on text-flow–Feedback needed
•Linear process model does not work for multimedia
22
Quantitative Constraints
•Example:Two images,
A,BA left-of BA top-align B
23
Cuypers generation engine
•Rhetoric/Semantic–Sequence, Example
•Communicative devices–Bookshelf, Slideshow
•Qualitative Constraints–A before B
•Quantitative Constraints–A.X2 < B.X1
•Presentation–SMIL