250 likes | 343 Views
Notwendige Multimedia- Erweiterungen für Anfragesprachen. Niko Zenker Email: zenker@cs.uni-magdeburg.de. Gliederung. Anforderungen an eine Multimedia-Anfragesprache Object Query Language vs. TIGUKAT Query Language Inhaltsbasierte & unscharfe Anfragen Spatial Primitives Temporal Primitives
E N D
Notwendige Multimedia- Erweiterungen für Anfragesprachen Niko Zenker Email: zenker@cs.uni-magdeburg.de Seminar: Ähnlichkeitssuch in MMDB
Gliederung • Anforderungen an eine Multimedia-Anfragesprache • Object Query Language vs. TIGUKAT Query Language • Inhaltsbasierte & unscharfe Anfragen • Spatial Primitives • Temporal Primitives • Präsentationsfunktionen • Zusammenfassung Seminar: Ähnlichkeitssuch in MMDB
Anforderungen an eine Multimedia-Anfragesprache • Zusätzlich zu den Eigenschaften, die eine Anfragesprache erfüllen muss, sollten folgende Attribute gelten • Universell • Inhaltsbasierte Anfragen • Räumliche Anfragen • Zeitliche Anfragen • Unscharfe Anfragen • Präsentation Seminar: Ähnlichkeitssuch in MMDB
Object Query Language • orthogonale Sprache • SQL92 + objektorientierte Erweiterungen (komplexe Objekte, Objektidentität, Pfadausdrücke, Polymorphismus, Aufruf von Operationen, late binding, Strukturen, Listen, Felder • Grundstruktur SELECT [DISTINCT] projection_attributes FROM query [[AS] identifier} {, query [[AS] identifier]} [WHERE query] [GROUP BY pratition_attributes] [HAVING query] [ORDER BY sort_criterion {, sort_criterion}] Seminar: Ähnlichkeitssuch in MMDB
Object Query Language II • Erweiterungen zu OQL sind meistens in der WHERE Klausel zu finden • spatial_expression (räumliche Objekte, Linien, Punkte, Kreise, ...) • spatial_functions (length, area, intersection) • spatial_expression, temporal_functions, temporal_predicates • contain_predicates • contain_predicate ::= media_object CONTAINS salientObject Seminar: Ähnlichkeitssuch in MMDB
Object Query Language: Beispiele SELECTSTRUCT (a:e.age, s:e.salary) FROM (SELECT f FROM Employees f WHERE f.seniority>20) AS e WHERE e.name = „John“ SELECT m FROM Images m, Persons p WHERE m CONTAINS p Seminar: Ähnlichkeitssuch in MMDB
TIGUKAT Query Language • tee-goo-kat, bedeutet „Objekte“ bei kanadischen Inuits • Typische Objektorientierte Features werden unterstützt • SQL-like (ad-hoc), zusätzlich werden Pfadausdrücke unterstützt • Grundstruktur SELECT object_variable_list [INTO [PERSISTENT [ALL]]] collection_reference FROM range_variable_list WHERE boolean_formular Seminar: Ähnlichkeitssuch in MMDB
TIGUKAT Query Language • in der WHERE Klausel werden drei neue Ausdrücke definiert • spatial_expression • temporal_expression • boolean_expression • boolean_expression ::=contain_predicate | boolean_function • Beispiel: SELECT m FROM m IN C_image, p IN C_person WHERE m CONTAINS p Seminar: Ähnlichkeitssuch in MMDB
Inhaltsbasierte & unscharfe Anfragen • Informationen gewinnen aus extrahierten Features oder Metadaten • Schlüsselwort-basierte Ansätze • Feature-basierte Ansätze • Konzept-basierte Ansätze • Manuelle Abschwächung / Verschärfung • Automatische Abschwächung / Verschärfung • auch bei wenigen Informationen müssen adäquate Resultate geliefert werden Seminar: Ähnlichkeitssuch in MMDB
Spatial Primitives • Anforderungen an Räumliche Anfragesprachen • komplexe Objekte setzen sich aus kleineren zusammen • Direkte räumliche Suche • Hybride Anfragen • Komplexe Anfragen über gesamte DB • räumliche Berechnungen von Objekten mit räumlichen Eigenschaften • Räumlich-Zeitliche Anfragen Seminar: Ähnlichkeitssuch in MMDB
Spatial Primitives II • jedes Objekt wird mit Eigenschaften verglichen • Bilder werden in abstraktes Format überführt <SalientSet, SpatialSet, ColorSet, TextualSet> SalientSet: hervorstechende Objekte im Bild SpatialSet: räumliche Eigenschaften der salienten Objekte im Bild (Umrisse, Positionen, ...) ColorSet: Farbeigenschaften der salienten Objekte und des Hintergrundes TextualSet: Texte im salienten Objekt oder im Hintergrund Seminar: Ähnlichkeitssuch in MMDB
Spatial Primitves III • identical • 2 Bilder sind gleich, wenn sie im Salient-, Spatial-, Color- und TextualSet übereinstimmen • coincident • identische SpatialSets • subpicture • Teil des ersten Bildes ist identisch mit dem gesamten zweiten • similar • Ähnlich, wenn es räumliche Beziehungen, Farben, Texturen gibt • contains • Gehört ein salientes Objekt zum SalientSet Seminar: Ähnlichkeitssuch in MMDB
Spatial Primitives IV • Punkte, Linie und Regionen werden als räumliche Zustände definiert • andere Formen (Kreise, Rechtecke, etc.) werden als Sonderformen von Regionen behandelt • räumliche Beziehungen • Richtungsbeziehungen • left, right, above, below, front, back, south, north, west, east, northwest, ... • Distanzbeziehungen • z.B. euklidische Distanz • topologische Beziehungen Seminar: Ähnlichkeitssuch in MMDB
topologische Beziehungen B A B A A B A disjont B A touch B A inside B B A B A A B A cover B A equal B A overlap B Seminar: Ähnlichkeitssuch in MMDB
Räumliche Funktionen • führt Berechnungen mit Objekten aus und liefert Werte zurück • Ergebnis abhängig von den Objekten • mbr – Minimal umfassendens Rechteck • distance – Entfernung • region – Konvertierung zur Region • pan – nur Teilstücke aus dem Bild • resize – Grössenänderung • superimpose – fügt Bilder zusammen Seminar: Ähnlichkeitssuch in MMDB
Räumliche Anfragen • MOQL SELECT o.name FROM SalientObjects o, Images m WHERE m CONTAINS o AND (o INSIDE a OR a COVER o) • MTQL SELECT o.B_name FROM o IN C_salientObject, m IN C_image WHERE m CONTAINS o AND (o INSIDE a OR a COVER o) Seminar: Ähnlichkeitssuch in MMDB
Temporal Primitives • Essentiell für MM-Anfragesprache • vor allem für Geschichtsdatenbanken • zeitliche Beziehungen zwischen realen Objekten in den Multimedia Daten • grosses Interesse besteht vor allem bei salienten Objekten • „Finde das letzte Video, in dem Gerhard Schröder erscheint“ • „...letzte...“ stellt besondere Anforderungen an Anfragesprachen • Zeitintervall stellt eine Basis für eine verankerte Spezifikation der Zeit • J.F. Allen 1983: • equal, before, after, meet, metBy, overlap, overlapedBy, during, include, start, startedBy, finish, finishedBy Seminar: Ähnlichkeitssuch in MMDB
Zeitliche Funktionen • unäre Funktionen: Anfang (LB), Ende(UP), Länge • binäre Funktionen: Vereinigung, Durchschnitt, Differenz • time interval • verankerter Zeitpunkt in der Zeit • Vergleiche (<,>) • Hinzufügen, Abziehen von Zeiten neue time instant • time interval mit gleichem LB u. UB • time span • Nichtverankerte Zeitdauer • ist unabhängig von interval und instant • year, month, day, hour, minute, second, ms Seminar: Ähnlichkeitssuch in MMDB
Stetige Zeitliche Funktionen • Videodaten • Sequenz von clips, und ein clip ist eine Sequenz von frames (Bild) • jeder Frame hat: Zeitstempel oder time instant; clip, video wird mit time interval assoziiert • haben alle Eigenschaften, die auch Bilder haben (Farbe, Umrisse, Objekte, Texturen) • Zusätzlich: Zeitliche Beziehungen, z.B. Bewegungen • Audiodaten • Sequenz von Tönen • jeder Ton hat unterschiedliche Länge, Lautstärke und Frequenz • Auch hier zeitliche Beziehungen: z.B. gesprochene Sprache Seminar: Ähnlichkeitssuch in MMDB
Videoanalyse • lokale • Objektbewegungen • globale • Kamerabewegungen • tatsächliche Kamerabewegungen (6 Freiheitsgrade) • aber auch Zoombewegungen (Fokusänderung der Linse) • Funktionen: zoomIn, zoomOut, panLeft, panRight, tiltUp, tiltDown, cut, fade, wipe, dissolve • Clips • müssen segmentiert werden • sind Mengen von salienten Objekten zu verschiedene Zeiten Seminar: Ähnlichkeitssuch in MMDB
Zeitliche Anfragen • MOQL SELECT c1, c2 FROM Clips c1, Clips c2, p.prSet pr WHERE c1 CONTAINS p AND c2 CONTAINS p AND pr.timestamp DURING intersection(c1.timestamp, c2.timestamp) • MTQL SELECT c1, c2 FROM c1 IN C_clip, c2 IN B_clip, pr IN p.prSet WHERE c1 CONTAINS p AND c2 CONTAINS p AND pr.B_timestamp DURING intersection(c1.B_timestamp, c2.B_timestamp) Seminar: Ähnlichkeitssuch in MMDB
Präsentationsfunktionen • Synchronisation von Audio und Videofiles • räumliches Layout • Anzahl der Fenster • Grösse • Lage • zeitliches Layout • welches Objekt startet zuerst • Länge der Präsentation • Szenario Layout • Verwendung von räumlichen und zeitlichen Layoutfunktionen Seminar: Ähnlichkeitssuch in MMDB
Präsentationsfunktionen II • atWindow(identifier, point, point) • atTime(absoluteTime) • display(identifier, start_offset, duration) • play(identifier, start_offset, duration, speed) • thumbnail(identifier) • resize(identifier, width, height) • parStart • parEnd • after Seminar: Ähnlichkeitssuch in MMDB
Präsentationsfunktionen Beispiel • MOQL SELECT m FROM Images m WHERE m CONTAINS p PRESENT resize(m, 100, 100) AND display(m, 0, 10) • MTQL SELECT m FROM m IN C_image WHERE m CONTAINS p PRESENT resize(m, 100, 100) AND display(m, 0, 10) Seminar: Ähnlichkeitssuch in MMDB
Zusammenfassung • leichte Anfragesprache hilft Benutzern bei der Arbeit auf MMDB • sollte so allgemein sein wie möglich, d.h. verschiedenen Datentypen unterstützen und daraus auch Information zu finden • viele Sprachen enthalten vorgestellte Funktionen nicht, sind daher speziell für einzelne Anwendungsgebiete • komplexere Anfragen nur für qualifizierte Anwender verstehbar • Entwicklung von grafischen BNO (z.B. VisualMOQL) Seminar: Ähnlichkeitssuch in MMDB