Notwendige Multimedia- Erweiterungen für Anfragesprachen
Download
Report
Transcript Notwendige Multimedia- Erweiterungen für Anfragesprachen
Notwendige MultimediaErweiterungen für
Anfragesprachen
Niko Zenker
Email: [email protected]
Niko Zenker
Seminar: Ähnlichkeitssuch in
MMDB
1
Gliederung
1.
2.
3.
4.
5.
6.
7.
Anforderungen an eine Multimedia-Anfragesprache
Object Query Language vs. TIGUKAT Query Language
Inhaltsbasierte & unscharfe Anfragen
Spatial Primitives
Temporal Primitives
Präsentationsfunktionen
Zusammenfassung
Niko Zenker
Seminar: Ähnlichkeitssuch in
MMDB
2
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
Niko Zenker
Seminar: Ähnlichkeitssuch in
MMDB
3
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}]
Niko Zenker
Seminar: Ähnlichkeitssuch in
MMDB
4
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
5
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 m
FROM Images m, Persons p
WHERE m CONTAINS p
Niko Zenker
Seminar: Ähnlichkeitssuch in
MMDB
6
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
7
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
Niko Zenker
Seminar: Ähnlichkeitssuch in
MMDB
8
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
9
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
Niko Zenker
Seminar: Ähnlichkeitssuch in
MMDB
10
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
Niko Zenker
Seminar: Ähnlichkeitssuch in
MMDB
11
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
12
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
Niko Zenker
Seminar: Ähnlichkeitssuch in
MMDB
13
topologische Beziehungen
A
B
A
B
A
B
A disjont B
B
A
A overlap B
Niko Zenker
A touch B
A inside B
B
A
A B
A cover B
A equal B
Seminar: Ähnlichkeitssuch in
MMDB
14
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
Niko Zenker
Seminar: Ähnlichkeitssuch in
MMDB
15
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)
Niko Zenker
Seminar: Ähnlichkeitssuch in
MMDB
16
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
17
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
18
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
19
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
20
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)
Niko Zenker
Seminar: Ähnlichkeitssuch in
MMDB
21
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
22
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
23
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
FROM
WHERE
PRESENT
Niko Zenker
m
m IN C_image
m CONTAINS p
resize(m, 100, 100) AND display(m, 0, 10)
Seminar: Ähnlichkeitssuch in
MMDB
24
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)
Niko Zenker
Seminar: Ähnlichkeitssuch in
MMDB
25