Prof. Dr. G. Gräfe Lehrveranstaltung Erweiterte Datenbanktechnologien / Medienarchive (Datenbanksysteme III) Gliederung Prof. Dr. G. Gräfe 3. Multimedia-Datenbanken 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Multimedia-Datenbanksysteme – Möglichkeiten und Grenzen Medienobjekte und Datentypen Basistechnologien der Abfrage Information Retrieval Ansätze zur inhaltsbasierten Suche in Mediadaten Konzepte zur Verwaltung von Mediadaten in DBS / Filestream Medienarchive / Mediatheken EDBT/MA - 3. Multimedia-Datenbanken | 1 Begriff Multimedia-Datenbank-System Ausgangspunkt: Datenmenge wächst jährlich um ca. 35%, davon ca. 85% unstrukturierte Daten in Form von Texten, Videos, Bildern etc. Was ist ein Multimedia-Datenbank-System (MM-DBS)? Ein auf Dauer angelegter, strukturierter digitaler Bestand von Multimedia-Daten und ein Verwaltungsprogramm, welches diese Daten recherchierbar speichert, schützt und mehreren Benutzern oder Programmen synchron zugänglich macht. Ein MMDBS weist damit zwei wesentliche Komponenten auf: • die Datenbasis, und • die Datenbankverwaltung Quelle: F.Laux Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 2 Anforderungen an ein Multimedia-DBMS Welche Eigenschaften sollte ein gutes MMDBMS sichern? 1. Es sollte ein vollwertiges DBMS sein: – Persistenz (d. h., dauerhafte Speicherung der Daten) – Mehrbenutzerfähigkeit – Integritätssicherung (z.B. Konsistenz) – Transaktionen (z.B. Robustheit im Fehlerfall) – Recovery (z.B. Robustheit im Katastrophenfall) – Performanz – Ad-hoc-Anfragen – etc. 2. Es sollte Multimedia-Objekte (Daten + Methoden) unterstützen: Text (einschl. HTML/XML), Bild, Audio, Video, komplexe (multi-)mediale Objekte (⇒ Interaktion, Synchronisation), Hyperlinks 3. Es sollte – für MM-Objekte – Informations-Retrieval-Fähigkeiten bieten – Streaming – Attributsuche (einfach, da DBS dies bereits bietet) – Inhaltssuche (i.Allg. sehr schwierig), insbesondere Volltextsuche (nicht so schwierig) – navigierende Suche / Linkverfolgung (nicht so schwierig, wird aber derzeit nicht standardmäßig unterstützt) Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 3 Möglichkeiten und Grenzen der Verwaltung von MM-Daten Vorteile von Multimedia-DBMS: 1. saubere Verwaltung großer Mengen an Multimediadaten (z. B. erzeugen Abbrüche von langen Kopiertransaktionen keine Dateileichen) 2. Schneller Zugriff auf einzelne Objekte (Gegenbeispiel: Ext2-/FAT-Directory mit 10 000 Objekten) 3. optimierte Ablage von MM-Objekten. Verwaltung von DVD/CD-Archiven (Jukeboxes), Bandarchiven, Plattenfarmen etc. 4. Datenbankeigenschaften: Mehrbenutzerbetrieb, Zugriffsschutz, Integritätssicherung (z. B. Konsistenz , referenzielle Integrität) etc. 5. effizientes Information Retrieval 6. und anderes mehr Möglichkeiten und Grenzen klassischer DBMS bei der Verwaltung von MM: Viele klassische DBMS unterstützen Multimedia-Features auf die ein oder andere Weise: – Die meisten Datenbanken können BLOBs (Binary Large Objects) verwalten. – Volltextsuche wird von vielen Datenbanken unterstützt. – Spezielle DB-Tools unterstützen Video-Streaming – Datenbanken für CDs und DVDs werden unterstützt (z. B. TransBase, TransAction). – Es ist möglich WWW-Seiten mit Datenbankunterstützung zu erstellen (z. B. PHP oder JDBC). – Es gibt spezielle Datenbankserver zur Verwaltung von MM-Daten in Clouds Leider sind diese Techniken und Spracherweiterungen derzeit meist proprietärer Natur. Das heißt, jeder Hersteller kocht zurzeit sein eigenes Süppchen. Insbesondere gibt es viele proprietäre Schnittstellen zur Arbeit mit BLOBs. Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 4 Architektur von MMDBS Problem: Sicherung der Formatunabhängigkeit Quelle: Meyer-Wegener Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 5 Architektur von MMDBS 1. Zielstellung: Formatunabhängigkeit in der Datenhaltung Multimedia-Datenobjekte existieren in verschiedenen Speicherungsformaten Aufgabe des DBS: − internes Speicherungsformat vor den Benutzern verbergen − Umsetzungsroutinen bereitstellen − Änderung des Speicherungsformats ermöglichen (z.B. wenn bessere Komprimierung verfügbar) ohne Beeinträchtigung der Anwendungsprogramme Quelle: Meyer-Wegener Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 6 Architektur von MMDBS 2. Zielstellung: Geräteunabhängigkeit in der Datenhaltung Multimedia-Datenobjekte verlangen nach neuen Datenträgern, Speichergeräten und entsprechenden Anwendungsprogrammen Aufgabe des DBS: spezifische Eigenschaften eines Speichergeräts so weit wie möglich verbergen Quelle: Meyer-Wegener Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 7 Zusammenfassung: Multimedia-Datenbank-Management-System Was kennzeichnet ein Multimedia-Datenbank-Management-System (MM-DBMS)? MM-DBMS = klass. DBMS + - Multimedia-Datenbankmodell • Medien-Typen (Darstellung + Operationen) • Substitutions- und Synchronisationsbeziehungen - Information Retrieval (inhaltsbasierte Suche) - Datenunabhängigkeit • Medienabstraktion • Unabhängigkeit von Speicherformaten • Unabhängigkeit von Speichergeräten • Präsentationsunabhängigkeit - Speicher- und Ein-/Ausgabegeräte - Zeitaspekt (etwa Echtzeit für dynamische Medien) - Benutzerschnittstellen Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 8 Medium und Medienobjekt Medium: - Duden: Mittelglied, Mittler oder Mittelsperson - Medium vermittelt zwischen zwei oder mehreren Kommunikationspartnern - Sender erzeugt Signale auf Medium - Empfänger (Rezeptor) nimmt Signale auf zur Interpretation Wandlung Weiterleitung ! Medium ist Nachrichtenträger Quelle: Meyer-Wegener Medienobjekt: - computerverwaltete logische Informationseinheit in einem Medium (nicht auf Text beschränkt) Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 9 Merkmale von Mediadaten Besondere Merkmale von Mediadaten (im Gegensatz zu „einfachen“ Daten): • Größe • Semantik (komplexe Struktur) • Synchronisation zeitabhängiger Inhalte (z.B. Einheit von Ton und Bild) Beispiele für den Speicherbedarf unterschiedlicher Datentypen Typ Integer Float Char Text Text Text Text Audio Audio Image Image Video Prof. Dr. G. Gräfe Bezeichnung Ganze Zahl Fließkomma Zahl Zeichen Kundendaten Brief Bibel Menschliches Genom Lied Musik CD Foto 640x480 Foto 8 Megapixel DVD Film Typische Größe 2–4B 4–8B 1B 100 – 400 B 2 kB 5 MB 750 MB 3-5 MB 600 MB 920 kB 4 MB (kompr.) 4 GB (kompr.) EDBT/MA - 3. Multimedia-Datenbanken | 10 Medienobjekte in Datenbanken Unterscheidung in - Text - Grafik (Vektorgrafik) - Rasterbild (Pixelgrafik - still image) - Tonaufnahme (Audio) - Bewegtbild (Video) - [Geoinformation] Ebenen der Verwaltung von Medienobjekten in DBS: - Beschreibungsdaten Metadaten zum Objekt („klassische Daten einer Datenbank wie Objekt-ID, Name, Autor/Künstler, Inhaltliche Angaben zum Objekt) z.B. in Tabelle - Registrierungsdaten speicherbezogen (Dateiname, Größe/Länge, Datum) z.B. in Tabelle - Rohdaten Objektinhalt z.B. als BLOB Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 11 Medienobjekt Text Merkmale: - dieser Medientyp ist oft auf die Repräsentation von Strings von Zeichen reduziert. - eine sinnvolle Repräsentation in einem Multimedia-Dokumentenarchiv sollte zusätzlich folgende Möglichkeiten vorsehen: • Strukturelle Information wie z.B. Titel, Autor, Kapitel, Abschnitt usw. • Layout-Informationen - Selbst mit Formatierungsinformation ist Text das am wenigsten speicherplatzintensive Medium. Ohne Kompression belegt eine A4-Seite etwa 2KBytes. Basisoperationen, die ein Multimedia-DBMS unterstützen sollte: - gute Recherchemöglichkeiten nach einzelnen Worten und Wortkombinationen (Volltextsuche), - Features, die Toleranz gegenüber Orthographie- oder Konvertierungsfehlern (OCR) bieten, - Unterstützung durch Synonyme (Haus Gebäude, Hütte, Anwesen, Villa …) - Suchen ähnlicher Textdokumente Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 12 Medienobjekt Rasterbild (Pixelgrafik - still image) 1 Merkmale: -entstehen meist durch Eingabe von einer digitalen Kamera oder einem Scanner - können auch aus anderen Daten (Texte, Grafiken, Meßwerte) erzeugt werden - es gibt unzählige verschiedene Formate und Kompressionsverfahren (GIF, TIFF, JPEG, ...) -ein Rasterbild ist konzeptuell eine Matrix von Bildpunkten (Pixel) siehe nächste Folie - es müssen Höhe und Breite eines Bildes bekannt sein, um das Bild korrekt darzustellen (es gibt i.A. kein spezielles “Zeilenende-Zeichen” in Rasterbildern) - der Speicherbedarf für ein Rasterbild variiert je nach Anwendung und Kompressionsverfahren sehr stark. Er reicht von einigen KBytes für komprimierte schwarz/ weiß-Bilder bis zu mehreren 100 MBytes für Satelliten-Aufnahmen. Basisoperationen, die ein Multimedia-DBMS unterstützen sollte: - die Selektion von Teilbildern - das Skalieren (Ändern der Auflösung) - Recherche in Bilddatenbanken auf Basis von manuell erfaßten textuellen Beschreibungen bis zur vollautomatischen Suche nach Bildern mit ähnlichem Inhalt (d.h. ähnlichen Farben, Formen, Texturen usw.) Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 13 Medienobjekt Rasterbild (Pixelgrafik - still image) 2 „… ein Rasterbild ist konzeptuell eine Matrix von Bildpunkten (Pixel)“ Was bedeutet das für die Datenbank? Zur Darstellung eines Pixel werden unterschiedlich viele Bits verwendet: • Bilder mit 2 Farben − 1 Bit (schwarz/weiß, bzw. Vordergrund-/Hintergrundfarbe) − Ausschnitts- und Überlagerungsfunktionen sehr effizient, weil lediglich bitweise boolsche Operatoren (UND, ODER) angewandt werden. • Grauwert- und Farbbilder: − benötigen mehr als 1 Bit pro Pixel. Die Anzahl der Bit pro Pixel (z.B. 24) wird auch als Farbtiefe oder Pixeltiefe bezeichnet. − Die Pixeltiefe ist innerhalb eines Rasterbildes immer konstant. − Bei verschiedenen Bildern in einer Bilddatenbank kann die Farbtiefe variieren. Sie muß deshalb in der Datenbank gespeichert werden. Stehen nur wenige Bit pro Pixel (z.B. 8) zur Verfügung, dann werden meist Farbtabellen angelegt. Die Farbtabelle ordnet jeder Bitkombination einen Farbwert zu, der meist im RGB-Farbmodell codiert wird: Je 8 Bit für die drei Grundfarben rot, grün und blau, aus denen sich durch Mischung alle Farben erzeugen lassen. Alternativ gibt es auch Farbmodelle mit anderen Grundfarben (CYM) oder mit Farbwert, Helligkeit und Sättigung (YIQ). Bei höherer Pixeltiefe werden die Farbwerte meist direkt (ohne die Umsetzung durch eine Farbtabelle) in den Pixel gespeichert, da die Farbtabelle zu groß würde. Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 14 Medienobjekt Grafik (Vektorgrafik) Merkmale: - enthalten eine abstraktere Beschreibung des visuell dargestellten Inhalts (im Gegensatz zu Rasterbildern) - eine Grafik ist meist hierarchisch aus Grundformen wie Linie, Kreis, Polygon zusammengesetzt - der wichtigste Vorteil gegenüber Rasterbildern ist die bessere Manipulierbarkeit durch den Benutzer. Die Grundformen lassen sich einzeln selektieren und bearbeiten. - bei Rastergrafiken ist die Selektion einzelner Teilobjekte schwierig oder unmöglich. - Vektorgrafiken sind je nach Komplexität typischerweise speichersparender als Rasterbilder. Basisoperationen, die ein Multimedia-DBMS unterstützen sollte: Wegen der fehlenden Normung der Grafikformate gibt es jedoch kaum Ansätze, die Manipulations- und Rechercheoperatoren in Datenbanksysteme integrieren. Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 15 Medienobjekt Tonaufnahme (Audio - Musik, Geräusch, Sprache) 1 Merkmale: − die einzelnen Medien Musik, Geräusch und Sprache unterscheiden sich in erster Linie im Hinblick auf die Qualitätsanforderungen, aber auch in Bezug auf die Rechercheanforderungen. − die einfachste Darstellungsform einer Audiosequenz stellt die sog. Pulse Code Modulation (PCM) dar, die das Signal in festen Zeitabständen (gemäß der Abtastrate, sampling rate) abliest und den Meßwert dann mit einer festen Anzahl von Bits (der Abtasttiefe) codiert: − Die Abtastrate und die Abtasttiefe bestimmen die Qualität der Audiosequenz. Gemäß dem Abtasttheorem muß die Abtastrate mindestens doppelt so hoch sein wie die höchste vorkommende Frequenz (Grenzfrequenz) des Audiosignals. Folgende Tabelle zeigt typische Qualitätsstufen: Qualitätsstufe Telefon Mittelwellenradio UKW-Radio Hifi (CD) Prof. Dr. G. Gräfe Grenzfrequenz 3000 Hz 4000 Hz 8000 Hz 22000 Hz Abtastrate 6000 Samp./s 8000 Samp./s 16000 Samp./s 44000 Samp./s EDBT/MA - 3. Multimedia-Datenbanken | 16 Medienobjekt Tonaufnahme (Audio - Musik, Geräusch, Sprache) 2 Speicherformen: - Ohne Kompression Für CD-Qualität wird jeder der beiden Stereokanäle (links/rechts) mit einer Abtasttiefe von jeweils 16 Bit abgetastet. Daraus ergibt sich ein Speicherbedarf für 75 Minuten (max. Kapazität einer CD) von 2·16·44000·60·75/8 Bytes = 755 MBytes (also 10 MBytes pro Minute). -Nutzung von Kompressionsverfahren Es gibt zahlreiche Kompressionsverfahren für Audio. Der minimale Speicherplatzbedarf für Audio in Telefonqualität liegt bei 20 KBytes pro Minute. Basisoperationen, die ein Multimedia-DBMS unterstützen sollte: - das Selektieren von Teilen einer Tonaufnahmen gem. Start- und Endzeitpunkt, - das Aneinanderfügen und Mischen von Audiosequenzen, also typische “Schneideoperationen”, - Operationen zur Beeinflussung der Lautstärke und der Qualität (Abtastrate, Abtasttiefe). - die Recherche in großen Mengen von Audiosequenzen über Mustererkennung (in Analogie zu Texten und Bildern) Ähnliche Muster sollen meist ohne Berücksichtigung der Lautstärke und Sprechgeschwindigkeit gefunden werden, sowie Sprecher-unabhängig. Eine Sonderstellung unter den Audiomedien nimmt Musik ein, die nicht als Folge von Abtastwerten sondern in abstrakter Form (z.B. als Notensequenz oder MIDI-Daten) dargestellt wird, um mit einem Synthesizer abgespielt zu werden. Das Verhältnis zwischen diesen beiden Medien ist ähnlich wie das von Rasterbild zu Vektorgrafik. Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 17 Medienobjekt Bewegtbild (Video) Merkmale: - unter Video versteht man i.A. eine Aggregation von Rasterbildern, die in einem strengen zeitlichen Bezug zueinander stehen - um einen Eindruck von einer einigermaßen kontinuierlichen Bewegung zu bekommen, müssen mindestens 25 Einzelbilder pro Sekunde abgespeichert werden - es gibt auch Spezialanwendungen (Animation) bei denen statt Rasterbildern Vektorgrafiken verwendet werden - oft besteht bei Video die Anforderung der Synchronisation mit weiteren Medien (Audio, Text). - Video stellt die höchsten Anforderungen an die Speicherkapazität. Bei 25 Bildern pro Sekunde und einem Speicherbedarf von 250 KByte pro Einzelbild ergibt sich ein Speicherbedarf von 375 MByte pro Minute. Dies macht Kompressionsverfahren unumgänglich. Basisoperationen, die ein Multimedia-DBMS unterstützen sollte: - Unterstützung der üblichen Schneide-Operationen für Video - die Selektion von Standbildern /Ausschnitten - die Konvertierung in bestimmte Datenformate, Qualitätsstufen und Kompressionsverfahren. Rechercheverfahren erfordern dabei die Zerlegung der Videos in Szenen, Einstellungen usw. Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 18 Beispielanwendung für MMDBMS 1 Polizeiaktion: großflächige Drogenoperation [nach Schmidt] -verdächtige Mitglieder eines Drogenrings werden beobachtet - folgende Geräte werden eingesetzt: •Videoüberwachungskameras erzeugen 6 Monate lang viele Millionen Videoframes (zirka 50-100 Kameras) •Telefonabhörung •Photographien •große Anzahl von Dokumenten, z.B. Notizbücher •strukturierte relationale Daten z.B. Banktransaktionen, Telefonbücher •geografisches Informationssystem: Straßennetz, Berge, ... Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 19 Beispielanwendung für MMDBMS 2 Beispielanfragen: Image-Query: - Suche alle Bilder, die dieselbe Person zeigen wie auf diesem Bild! - entweder über Beschreibungsinformationen oder Bildverarbeitung Audio-Query: - Kann Person zu gesprochener Stimme identifiziert werden? Hat dieselbe Person andere Gespräche geführt? - über Sprachvektoren Text-Query: - Finde alle Dokumente, bei denen es um Drogenkartell-Finanztransaktionen mit Firma ABC geht! - Semantik berücksichtigen (keine reine Stichwortsuche) Video-Query: - Finde alle Videosegmente, auf denen das Angriffsopfer erscheint! heterogene Query: - Finde alle Personen, die des versuchten Mordes in Nordamerika überführt wurden und elektronische Geldüberweisung auf deren Konto von der ABC Corp. kommen! - mehrere heterogene Datenbanken heterogene Multimedia-Query: - Finde alle Personen, die mit Jose Smith photographiert wurden und als versuchte Mörder in Nordamerika überführt wurden und von ABC Corp. Geld bekommen haben! komplexe heterogene Multimedia-Query: - Finde alle Personen, die Kontakt zu Jose Smith hatten! Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 20 Anforderungen an Abfragen in MMDBMS Allgemeine Charakteristika der Anfragen: eine Anfragesprache mit Zugriff auf verschiedene Multimedia-Daten Kombination von verschiedenen Operationen (Orthogonalität) Kombination DBS- und Retrieval-System-Funktionalität Suche arbeitet nicht direkt auf den Medienobjekten Extraktion, Normalisierung und Indexierung inhaltstragender Merkmale (Features) Geeignete Ähnlichkeits-/Distanzmaße Zugriff auf Metadaten (Inhalt), Beschreibungsdaten und Rohdaten medienübergreifende Zugriffe Optimierbarkeit Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 21 Basistechnologien der Abfragen in MM-Daten Modus Anfrageformulierung Suche Sprachlich Textuell Über Metadaten Visuell Multimediales Muster Inhaltserkennung/ Ähnlichkeitssuche (i.d.R. nicht exakt) Klassische Datenbankabfragen QbE (Query by Example) (Abstrakte) Beispiele: SELECT * FROM Bild WHERE Beschreibung LIKE ´%Meer%´ SELECT * FROM Bild WHERE Picture LIKE ´ Prof. Dr. G. Gräfe ´ EDBT/MA - 3. Multimedia-Datenbanken | 22 Modelle der Abfrage Boolesches Modell: Suchterm und boolesche Junktoren (and, or, not …) Fuzzy-Modell: Erweiterung des booleschen Modells unter Einbeziehung von ähnliche Zeichenketten Vektorraum-Modell: kann überall dort eingesetzt werden, wo Medienobjekte durch eine feste Anzahl von numerischen Merkmalswerten dargestellt werden können und sich die Ähnlichkeit zwischen zwei Medienobjekten auf der Grundlage dieser Merkmale berechnen lässt Prof. Dr. G. Gräfe [Quelle: Schmidt 2006] EDBT/MA - 3. Multimedia-Datenbanken | 23 Information Retrieval (IR) Unter Retrieval versteht man die Auswahl von Datenbankobjekten, die einer gewissen Selektionsbedingung (exact match) oder einer definierten Ähnlichkeitsbeziehung (best match) entsprechen Retrieval umfaßt auch die nachfolgende Auslieferung der Ergebnisse an den Benutzer Anwendungsgebiete: Einsatz in Bibliotheken seit 70er Jahren Stärke bei Verwaltung schwachstrukturierter Daten, etwa Text-Dokumente Internet-Suchmaschinen Aspekte : Softwarearchitektur – Neu oder als Erweiterung bestehender Datenbanken? Inhaltsadressierung – Identifikation der Objekte durch inhaltstragende Merkmale Performanz – Steigerung der Leistungsfähigkeit durch Indexierung, Optimierung, etc. Informationsextraktion – (Automatische), Generierung inhaltstragender Merkmale Data Retrieval – Integration der erweiterten Suchfunktionalität Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 24 Formatierte vs. Unformatierte Daten Formatierte (strukturierte) Daten: (NAME = “Müller“; GEBDAT = „720623“, …) Merkmale: maximale Länge (= endlicher Wertevorrat) Werte von Variablen, Feldern, Attributen; durch Namen beschrieben Bedeutung weitgehend vorgegeben relativ geringer Informationsgehalt (klassische Datenbank-Technik) Unformatierte (unstrukturierte) Daten: "Er heißt Müller. Geboren ist er am 23. Juni des Jahres 1972....“ Merkmale: beliebige Länge teilweise selbstbeschreibend Bedeutung nur schwach vorgegeben hoher Informationsgehalt (Information Retrieval) Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 25 IR-Systeme - Volltextindexe (Inhaltssuche) IR-Systeme unterstützen die Volltexttextsuche auf Attributen vom Typ CHAR(n) und BLOB. Für jedes Attribute, das zur Volltextsuche eingesetzt werden soll, muss zunächst ein Volltextindex erzeugt werden. CREATE [POSITIONAL] FULLTEXT INDEX <name> <options> ON <table> (<attribute>) – Positionelle Volltextindexe, d. h., Volltextindexe, die zu jedem Wort auch noch die Wortposition abspeichern, sind umfangreicher als einfache Volltextindexe, ermöglichen aber Phrasensuche (siehe unten). – Die Indexerstellung kann durch die Angabe diverser Optionen gesteuert werden. Beispiel CREATE POSITIONAL FULLTEXT INDEX abstract ON buch (abstract) Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 26 IR-Systeme - Optionen bei der Indexerstellung • WORDLIST FROM <table w> Nur Wörter aus der Tabelle <table w> indizieren (Lexikon). • STOP WORDS FROM <table s> Wörter aus Tabelle <table s> nicht indizieren (z. B. der, die, das, ein, einer . . .). Gerade die Phrasensuche profitiert von der Stop-Word-Tabelle. • CHARMAP FROM <table c> Buchstaben ersetzen (A, B, C . . . durch a, b, c . . .; ä, ö, ü, ß durch ae, oe, ue, ss etc.). Die Tabelle <table c> hat zwei Spalten: char(1) und char(*). • DELIMITERS NONALPHANUM DELIMITERS FROM <table d> Standardmäßig werden Wörter durch Whitespaces voneinander getrennt. Das heißt, Sonderzeichen zählen als Buchstaben. Man kann aber auch alle Sonderzeichen (d. h. Zeichen, die keine Zahlen oder Buchstaben sind) als Worttrenner behandeln (DELIMITERS NONALPHANUM). Oder man kann eine eigene Tabelle mit Worttrennsymbolen definieren. Für jeden Volltextindex <f_index> gibt es Pseudotabellen: – FULLTEXT WORDLIST OF <f_index> (word, wno) – FULLTEXT STOPWORDS OF <f_index> (word) – FULLTEXT CHARMAP OF <f_index> (source, target) – FULLTEXT DELIMITERS OF <f_index> (delimword) Diese können wie normale Tabellen in SELECT-Statements verwendet werden.. Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 27 IR-Systeme - Aufbau des CHARMAP-Index 1. Transformation der Groß- und Kleinschreibung und spezieller Schreibung der Umlaute: source A B C . . . Ä Ö Ü ä ö ü ß target a b c ae oe ue ae oe ue ss Diese Charmap wird sowohl bei der Indexerstellung als auch bei der Auswertung von Anfragen verwendet. Das heißt, z. B. die Anfrage . . . contains (’Mädchen’) ist gleichwertig zur Anfrage . . . contains (’maedchen’). Manchmal ist es allerdings wichtig, noch wesentlich fehlertoleranter zu arbeiten. Folgendes Verfahren funktioniert immer: Es gebe eine Abbildung w : Wort → Wort, die jedes Wort in ein anderes Wort transformiert (z. B. wcharmap(’Mädchen’) = ’maedchen’) 1. Bei der Erstellung des Volltextindexes wird jedes Wort mittels w transformiert, bevor es gespeichert wird. 2. Jedes Wort einer Anfrage wird ebenfalls mittels w transformiert. 2. Ersetzen von phonetisch ähnlich klingender Laute und Entfernen von stummen Lauten: source ’f’ ’F’ ’p’ ’P’ ’c’ ’h’ ’z’ Prof. Dr. G. Gräfe target ’ph’ ’ph’ ’b’ ’b’ ’k’ ’’ ’s’ In diesem Fall werden auch fehlerhafte Schreibwesen in einer Anfrage akzeptiert: Haubtbanhof, Fotograph. Allerdings werden auch mehr Fehltreffer gefunden. Die Frage nach Haus liefert auch das Wörtchen aus (außer man lässt nur das klein geschriebene h entfallen). EDBT/MA - 3. Multimedia-Datenbanken | 28 IR-Systeme - Transformation mittels C- oder C++-Routine 1. Wende die Routine auf alle Texte an, die volltextindiziert werden sollen und speichere die transformierten Texte (evtl. zusätzlich zu den Originaltexten) in einer Tabelle ab: CREATE TABLE text (id INTEGER, text BLOB, transformtext BLOB ... ); 2. Erzeuge einen Volltextindex auf den transformierten Texten. 3. Jede Benutzerangabe wird mit Hilfe der C/C++-Routine (oder einer Javascript-Routine etc.) transformiert, bevor sie an die Datenbank weitergeleitet wird (Dynamic ESQL). 4. Optional: Jedes Wort eines Treffertextes wird wiederum mit der obigen Routine transformiert (allerdings nur temporär). Jedes Wort, dessen transformierte Form der transformierten Anfrage genügt, wird als Treffer markiert (z.B. in HTML farbig hervorgehoben). Beispiel Text 1: Dies kann man lesen Text 2: Diesen Kahn fährt ein Mann Trafo 1: dis kan man lesen Trafo 2: disen kan faert ein man Die Suche erfolgt nun viel fehlertoleranter als bislang. Es werden aber auch viel mehr falsche Dokumente gefunden. Zum Beispiel liefert die Suche nach „Mann“ und „Kahn“ auch Text 1. Weitere Möglichkeiten: alle Vokale weglassen, Wörter durch phonetische Äquivalenzen ersetzen (dazu braucht man ein phonetisches Lexikon, z. B. klingen „bot“ und „Boot“ gleich, nicht aber „kann“ und „Kahn“) etc. Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 29 IR-Systeme - Suche im Volltextindex In IR-Systemen gibt es das Spezialprädikat CONTAINS zur (boolschen) Volltextsuche. Beispiele: Wortsuche: SELECT * FROM buch WHERE abstract CONTAINS (’database’) Phrasensuche: SELECT * FROM buch WHERE abstract CONTAINS (’database’ ’systems’) Wildcardsuche: % und _ haben dieselbe Bedeutung wie im Prädikat LIKE. SELECT * FROM buch WHERE abstract CONTAINS (’data%’) Wortabstand: SELECT * FROM buch WHERE abstract CONTAINS (’data%’ [0,3] ’bases’) Hier wird ein Wort beginnend mit data, gefolgt von bis zu drei beliebigen Wörtern, gefolgt vomWort bases gesucht (zum Beispiel data and knowledge bases). Die Schreibweise contains (’. . .’ [n] ’. . .’) ist eine Abkürzung für contains (’. . .’ [0,n] ’. . .’). Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 30 Inhaltsbasierte Recherche in Bild- bzw. Videodaten QbE – Query by Example: Basiert auf Ähnlichkeitsmodellen • Messen der Ähnlichkeit zweier Objektrepräsentationen • Meist werden Distanzfunktionen verwendet Auswertbare Merkmale von Bilddaten: • Farbe — Farbhistogramme • Textur — Beschaffenheit von Bildsegmenten (z.B. Holzmaserung, Kieselsteine, Karomuster) • Formen (Konturen) — Algebraische Moment-Invarianten — Pixelbasierte Ähnlichkeitsmodelle — Morphologisches Ähnlichkeitsmodell „Suche alle Bilder mit Sonnenuntergang!“ Systeme zur Inhaltsbasierten Suche: — QBIC: Query By Image (and Video) Content. IBM Almaden Research Center — ImageMiner. Technologie-Zentrum Informatik, Uni Bremen — VisualSeek. Center for Telecom Research, Columbia Univ., NY — MARS: Multimedia Analysis and Retrieval System. U. Illinois/Urbana-Champaign — Surfimage. INRIA Recquencourt, France — … und viele mehr! Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 31 Recherche über Farbhistogramme Farbhistogramme: Repräsentation der Farbverteilung in einem Bild (auf Pixelbasis) Vorgehensweise: • Definition der Farbhistogramme — Farbraum festlegen (z.B. RGB, HSV, HLS, Munsell, …) — Menge von Repräsentanten im Farbraum auswählen (sample points) — z.B. Gitter im Farbraum mit 4×4×4 = 64 Farben oder 8×8×8 = 512 Farben • Berechnung der Farbhistogramme — Für jedes Pixel, erhöhe den Zähler des nächstgelegenen Repräsentanten um eins. — Evtl. Normierung, um Histogramm von der Bildgröße unabhängig zu machen. Beispiel mit 64 Repräsentanten: Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 32 Recherche über Ähnlichkeitsmaße Ähnlichkeitsmaße: • Messen der Ähnlichkeit zweier Objektrepräsentationen • Meist werden Distanzfunktionen verwendet • Oft bildet Distanzfunktion D eine Metrik Beispiel Facemining Basis: Fraunhofer® FaceID™-Technologie Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 33 Ähnlichkeitssuche in Videodaten unterstützt durch Spezialsoftware der Firma Pittsburgh Pattern Recognition (pittpatt), Firma wurde 07/2011 von Google übernommen. Link: www.facemining.pittpatt.com Quelle: Spiegel Online 28.4.2009 Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 34 Recherche in Audiodaten - QbH QbH – Query by Humming ● Vorverarbeitung ● Grundfrequenzerkennung ● Rhythmuserkennung ● Melodieextraktion ● Melodievergleich ● Sortierung und Ausgabe Screenshot des QbH Systems „Hummel“ „Hummel“ - eine experimentelle Win32-Anwendung - auf Basis einer (proprietären) Musik-Datenbank - Ähnlichkeitssuche in der Datenbank und die Sortierung nach Ranking - Gesangsmelodieanalyse - Rhythmusanalyse Weitere Multimedia Suchmaschinen: Singingfish - weltweit umfangreichste Streaming-Suchmaschine Friskit - Vorwiegend auf Musik-Streams und - Videos spezialisiert Speechbot - Sucht in Radiosendungen. Durch Texterkennung sind gesprochene Inhalte durchsuchbar. Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 35 Klassische Technologien zur Verwaltung von BLOB BLOB in der DB speichern (varbinary(max)) BLOB im Dateisystem, Verweis in DB •Transaktional konsistente Daten •Einfaches Sichern/Wiederherstellen der Daten •Einheitliches Programmiermodell und Berechtigungskonzept •Kleine Datenbanken •Gute Streamingperformance •Dateigröße nur durch Dateisystem begrenzt •Vergleichsweise günstig •Große Datenbanken •Schlechte Streamingperformance •Beschränkung der Dateigröße auf 2GB •Vergleichsweise teuer •Transaktional inkonsistente Daten •Unterschiedliche Berechtigungssysteme •Sichern/Wiederherstellen der Daten nicht trivial Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 36 Filestream im MS SQL Server 2008 Vorteile beider Technologien zur Verwaltung von BLOB kombinieren Transaktional konsistente Daten Einfaches Sichern/Wiederherstellen der Daten (integriert in SQL Backup) Einheitliches Berechtigungskonzept Gute Streamingperformance Dateigröße nur durch Dateisystem begrenzt Vergleichsweise günstig Wie funktioniert FileStream? BLOBs (varbinary(max)) werden von SQL Server im Dateisystem verwaltet − BLOBs werden in eigenem Verzeichnis gespeichert (erfordert NTFS) Verzeichnisse sind durch DBMS (ACLs) geschützt Bessere Handbarkeit von - Backup/Restore - SQL Server Sicherheit Zwei Programmiermodelle − T-SQL − Win32 Stream-API mit T-SQL Transaktionskontext Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 37 Vergleich von Technologien zur Verwaltung von Mediadaten Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 38 Schritte zur Nutzung von FileStream 1. FileStream auf Server aktivieren: -Aktivieren von FileStream im SQL Server-Konfigurations-Manager - EXEC sp_configure filestream_access_level, 2 RECONFIGURE; 2. Ablageort in CREATE DATABASE festlegen: CREATE DATABASE db_name ON PRIMARY (NAME = name1, FILENAME = c:\data\mediadat1.mdf'), FILEGROUP FileStreamGroup1 CONTAINS FILESTREAM( NAME = fs_media, FILENAME = 'c:\data\fs_data') LOG ON (NAME = name_log1, FILENAME = 'c:\data\namelog1.ldf'); 3. Tabelle anlegen, die GUID-Feld enthalten muß: CREATE TABLE db_name.dbo.tab_name ( [id] [uniqueidentifier] ROWGUIDCOL NOT NULL UNIQUE, [bildnummer] INTEGER UNIQUE, [bild] VARBINARY(MAX) FILESTREAM NULL); Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 39 Manipulation mit FileStream-Daten Einfügen und Ändern von Tupeln: INSERT INTO tab_name VALUES (newid (), 1, CAST (‘Texteintrag' as varbinary(max))); INSERT INTO tab_name VALUES (newid (), 2, NULL); UPDATE tab_name SET bild =( SELECT BulkColumn FROM OPENROWSET(BULK 'C:\Temp\abc999.jpg', SINGLE_BLOB) AS InsertBild) WHERE bildnummer = 2; SELECT * FROM tab_name; id bildnummer bild C871B90F-D25E-47B3-A560-7CC0CA405DAC 1 0x536569736D69632044617461 F8F5C314-0559-4927-8FA9-1535EE0BDF50 2 0x12369736D696320446174567 INSERT INTO tab_name SELECT NEWID(), 3, BulkColumn FROM OPENROWSET(BULK 'C:\Temp\music.mp3', SINGLE_BLOB) AS Ins_musik; Löschen von Tupeln: DELETE tab_name WHERE bildnummer = 1; Prof. Dr. G. Gräfe EDBT/MA - 3. Multimedia-Datenbanken | 40