Notwendige Multimedia- Erweiterungen für Anfragesprachen

Post on 03-Jan-2016

20 views 0 download

description

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 - PowerPoint PPT Presentation

transcript

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

1

Notwendige Multimedia- Erweiterungen für Anfragesprachen

Niko Zenker

Email: zenker@cs.uni-magdeburg.de

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

2

Gliederung

1. Anforderungen an eine Multimedia-Anfragesprache

2. Object Query Language vs. TIGUKAT Query Language

3. Inhaltsbasierte & unscharfe Anfragen

4. Spatial Primitives

5. Temporal Primitives

6. Präsentationsfunktionen

7. Zusammenfassung

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

3

Anforderungen an eine Multimedia-Anfragesprache

Zusätzlich zu den Eigenschaften, die eine Anfragesprache erfüllen muss, sollten folgende Attribute geltenUniversell Inhaltsbasierte AnfragenRäumliche AnfragenZeitliche AnfragenUnscharfe AnfragenPräsentation

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

4

Object Query Language orthogonale Sprache SQL92 + objektorientierte Erweiterungen (komplexe

Objekte, Objektidentität, Pfadausdrücke, Polymorphismus, Aufruf von Operationen, late binding, Strukturen, Listen, Felder

GrundstrukturSELECT [DISTINCT] projection_attributesFROM query [[AS] identifier} {, query [[AS] identifier]}[WHERE query][GROUP BY pratition_attributes][HAVING query][ORDER BY sort_criterion {, sort_criterion}]

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

5

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

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

6

Object Query Language: Beispiele

SELECT STRUCT (a:e.age, s:e.salary)FROM (SELECT f

FROM Employees f WHERE f.seniority>20) AS e

WHERE e.name = „John“

SELECT mFROM Images m, Persons pWHERE m CONTAINS p

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

7

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

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

8

TIGUKAT Query Language

in der WHERE Klausel werden drei neue Ausdrücke definiert spatial_expression temporal_expressionboolean_expression

boolean_expression ::=contain_predicate | boolean_function

Beispiel:SELECT mFROM m IN C_image, p IN C_personWHERE m CONTAINS p

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

9

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

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

10

Spatial Primitives

Anforderungen an Räumliche Anfragesprachenkomplexe Objekte setzen sich aus kleineren zusammenDirekte räumliche SucheHybride AnfragenKomplexe Anfragen über gesamte DB räumliche Berechnungen von Objekten mit räumlichen

EigenschaftenRäumlich-Zeitliche Anfragen

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

11

Spatial Primitives II

jedes Objekt wird mit Eigenschaften verglichen Bilder werden in abstraktes Format überführt

<SalientSet, SpatialSet, ColorSet, TextualSet>SalientSet: hervorstechende Objekte im BildSpatialSet: räumliche Eigenschaften der salienten Objekte

im Bild (Umrisse, Positionen, ...)ColorSet: Farbeigenschaften der salienten Objekte und

des HintergrundesTextualSet: Texte im salienten Objekt oder im

Hintergrund

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

12

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

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

13

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 BeziehungenRichtungsbeziehungen

left, right, above, below, front, back, south, north, west, east, northwest, ...

Distanzbeziehungenz.B. euklidische Distanz

topologische Beziehungen

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

14

topologische Beziehungen

A A A

A A A B

BB

B

B B

A disjont B A touch B A inside B

A overlap B A cover B A equal B

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

15

Räumliche Funktionen

führt Berechnungen mit Objekten aus und liefert Werte zurück

Ergebnis abhängig von den Objektenmbr – Minimal umfassendens Rechteckdistance – Entfernung region – Konvertierung zur Regionpan – nur Teilstücke aus dem Bild resize – Grössenänderung superimpose – fügt Bilder zusammen

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

16

Räumliche Anfragen

MOQLSELECT o.nameFROM SalientObjects o, Images mWHERE m CONTAINS o AND (o INSIDE a

OR a COVER o) MTQL

SELECT o.B_nameFROM o IN C_salientObject, m IN C_image WHERE m CONTAINS o AND (o INSIDE a

OR a COVER o)

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

17

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

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

18

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

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

19

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

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

20

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

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

21

Zeitliche Anfragen

MOQLSELECT 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)

MTQLSELECT 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)

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

22

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

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

23

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

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

24

Präsentationsfunktionen Beispiel

MOQLSELECT mFROM Images mWHERE m CONTAINS pPRESENT resize(m, 100, 100) AND display(m, 0, 10)

MTQLSELECT mFROM m IN C_imageWHERE m CONTAINS pPRESENT resize(m, 100, 100) AND display(m, 0, 10)

Niko Zenker Seminar: Ähnlichkeitssuch in MMDB

25

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)