1 Multimedialne bazy danychAdam Duszeńko
2 Geneza problemu Świat Audio Obiekty Video Zjawiska Dane 3D złożoneproste
3 Cechy multimedialnych baz danychZawierają materiały typu: obraz, dźwięk animacja, sekwencja video Posiadają mechanizmy zarządzania treścią, a nie tylko składowania Dysponują specyficzną funkcjonalnością dedykowaną multimediom Oferują typy danych dla multimediów
4 Zagadnienia powiązane z MMBDrozwój technik modelowania danych multimedialnych techniki indeksowania i wyszukiwania informacji multimedialnych rozwój wydajnych metod składowania heterogenicznych obiektów multimedialnych zagadnienia związane z dostarczaniem informacji multimedialnych z założoną „jakością”
5 Techniki modelowania MMDekompozycja danych złożonych na dane atomowe Modelowanie w oparciu o analogie z tradycyjnymi danymi Modelowanie w oparciu o specyfikę poszczególnych danych MM
6 Informacje połączone z MMwłaściwe informacje zawarte w materiale multimedialnym parametry samego zbioru multimedialnego, jak jego format, rodzaj kompresji, system kodowania, rozmiar parametry opisujące zbiór jak tytuł, autor, data powstania
7 Metadane semantyczne Niskopoziomowe WysokopoziomoweWynikające bezpośrednio z budowy zasobu Wysokopoziomowe Są wynikiem interpretacji niskopoziomowych metadanych w oparciu o niezbędną wiedzę dziedzinową
8 MPEG Moving Picture Experts GroupMPEG 1 – kompresja MPEG 2 – kompresja MPEG 4 – kompresja + obiekty MPEG 7 – opis zasobów Description Tools – metadane, ich struktura i relacje
9 Drogi rozwoju Natywne multimedialne bazy danychTradycyjne bazy danych z multimedialnymi rozszerzeniami
10 Natywne MMBD Bardziej dostosowane do specyfiki materiału multimedialnego Lepsza wydajność Konieczność implementacji mechanizmów relacyjnych Transakcyjność, bezpieczeństwo SCORE, TVQL, SMDS, CSQL, MOQL
11 Rozszerzenia tradycyjnych BDBazowanie na dopracowywanej od lat wydajności, bezpieczeństwie Gotowe zarządzanie danymi relacyjnymi Uzupełnienie o specyficzne dla multimediów UDF i UDT
12 Język zapytań MM Podstawą jest SQLZdefiniowane UDF i UDT rozszerzają SQL o operacje na multimediach Wygodne łączenie atrybutów multimedialnych z danymi relacyjnymi
13 SQL to za mało Zaniechano rozszerzania samego SQL’aStworzono nowy standard odnoszący się do pakietów SQL Multimedia and Applications Packages (SQM/MM) Składa się z 4 części Dotyczy poszczególnych typów MM
14 Etapy analizy multimediówUżytkownik Interfejs Zapytanie Szacowanie podobieństwa Dane opisowe Noncontent metadata Niskopoziome operacje na obrazie Interpretacja Obiekty i relacja Ekstrakcja cech Obraz
15 Formy składowania MM Wewnątrz struktur bazy danychW plikach w systemie plików systemu operacyjnego Na zewnętrznych serwerach przeznaczonych do składowania multimediów
16 Baza danych IBM DB2 Image Extender, Audio Extender, Video Extender,Text Extender
17 Elementy pakietów API administracyjne, za pomocą którego możemy zarządzać bazą zawierającą informacje multimedialne API wyświetlania i odtwarzania obrazów i sekwencji video QBIC API służące do przygotowywania obrazów i przeszukiwania ich według zawartości Video shot detection API, służące do wykrywania sekwencji klatek na podstawie zmian sceny
18 Przykładowa tabela
19 Zapytanie SELECT FILENAME(ADS_VIDEO) FROM ADS WHERE CLIENT='IBM' ANDSHIP_DATE>='01/01/1997' AND DURATION(ADS_VIDEO) <=30
20 EXEC SQL FETCH c1 INTO :hvClient, :hvCampaign, :hvSdate, :hvVid_fname; #include
21 #include
22 Dostępność
23 Obiektowe typy danych Każdy obiekt traktowany jako obiekt z atrybutami i metodami Obiekty umieszczane bezpośrednio w tabelach
24 Typy Large Objects LOB Binary large objects (BLOBs)Character large objects (CLOBs) Double-byte character large objects (DBCLOBs)
25 Możliwości składowaniaKażdy LOB może mieć do 2GB W jednym wierszu tabeli może być przechowane 24GB W całej tabeli do 4TB
26 User defined types (UDT)Tworzone za pomocą: CREATE DISTINCT TYPE map AS BLOB (1M) Traktowane jak każdy typ prosty CREATE TABLE places (locid INTEGER NOT NULL, location CHAR (50), grid map)
27 User defined function (UDF)Rozszerzenie standardowych funkcji SQL CREATE FUNCTION map_scale (map) RETURNS SMALLINT EXTERNAL NAME 'scale!map' LANGUAGE C PARAMETER STYLE DB2SQL NO SQL DETERMINISTIC NO EXTERNAL ACTION Wykorzystanie: SELECT map_scale (grid) FROM places WHERE location='SAN JOSE, CALIFORNIA'
28 Używanie UDT i UDF Nowe typy i funkcje należą do schematu MMDBSYSUstawienie zmiennej path SET CURRENT FUNCTION PATH = mmdbsys, CURRENT FUNCTION PATH Funkcje mogą być przeciążane nawet w obrębie schematu
29 Katalogi QBIC Zbiór plików zawierających informacje o wizualnych właściwościach obrazów Tworzony dla każdej kolumny obrazów, która ma być przeszukiwana po zawartości Podczas tworzenia określa się analizowane atrybuty obrazu
30 Atrybuty wykorzystywane w QBICŚredni kolor Histogram kolorów Lokalny kolor Tekstury
31 Korzystanie z QBIC Utworzenie i wypełnienie tabeli z obrazamiStworzenie katalogu na bazie wskazanych cech obrazów Zadanie zapytania odnoszącego się do cech umieszczonych w katalogu.
32 Indeksy video Plik służący do wyszukiwania klatek w materiale videoBudowany na podstawie zmian sceny Odszukane zmiany są zaznaczane
33 Przykład wykorzystania rozszerzeń
34 Kolejne kroki Uruchomienie usługi Image Extender (użytkownik systemu operacyjnego z uprawnieniami typu SYSADM): DMBSTART Stworzenie bazy danych (linia poleceń bazy danych): CREATE DATABASE personnl ON /persdb WITH "Personnel database" Podłączenia bazy do rozszerzenia(linia poleceń rozszerzenia): CONNECT TO personnlENABLE DATABASE FOR DB2IMAGE
35 Kolejne kroki Ustawienie zmiennej path:SET CURRENT FUNCTION PATH = mmdbsys, CURRENT FUNCTION PATH Stworzenie tabeli (użytkownik z uprawnieniami DBA): CREATE TABLE employee (id CHAR(6) name VARCHAR(40) picture DB2IMAGE) Podłączenie kolumny MM do rozszerzenia: ENABLE TABLE employee FOR DB2IMAGE ENABLE COLUMN employee picture FOR DB2IMAGE
36 Dodanie obsługi Audio Uruchomienie obsługi Audio ExtenderENABLE DATABASE FOR DB2AUDIO Dodanie kolumny audio ALTER TABLE employee ADD voice DB2AUDIO Dodanie obsługi kolumny audio ENABLE TABLE employee FOR DB2AUDIO ENABLE COLUMN employee voice FOR DB2AUDIO
37 Umieszczanie danych w tabeliUmieszczanie w bazie na zasadzie Kopiowania do struktury bazy Umieszczenie w bazie referencji do zasobu znajdującego się nadal w systemie plików systemu operacyjnego
38 EXEC SQL BEGIN DECLARE SECTION;long hvInt_Stor; long hvExt_Stor; EXEC SQL END DECLARE SECTION; hvInt_Stor = MMDB_STORAGE_TYPE_INTERNAL; hvExt_Stor = MMDB_STORAGE_TYPE_EXTERNAL; EXEC SQL INSERT INTO EMPLOYEE VALUES( '128557', /*id*/ 'Anita Jones', /*name*/ DB2IMAGE( /*Image Extender UDF*/ CURRENT SERVER, /*database server name in*/ /CURRENT SERVER register*/ '/employee/images/ajones.bmp' /*image source file*/ 'ASIS', /*keep the image format*/ :hvInt_Stor, /*store image in DB as BLOB*/ 'Anita''s picture'), /*comment*/ DB2AUDIO( /*Audio Extender UDF*/ /*CURRENT SERVER register*/ '/employee/sounds/ajones.wav', /*audio source file*/ 'WAVE', /* audio format */ :hvExt_Stor, /*retain content in server file*/ 'Anita''s voice') /*comment*/ );
39 Przebieg procesu ładowaniaOdczytanie podanych w wywołaniu parametrów Stworzenie unikalnego wskaźnik do pliku graficznego i umieszczenie go w osobnej tablicy administracyjnej W osobnej tablicy administracyjnej zapisanie parametrów ładowanego obrazu Podobne czynności są wykonywane dla pliku audio ale pozostaje w systemie plików OS.
40 interMeida Oracle 10g Standardowa część pakietu bazy OracleZawiera zbiór typów obiektowych Przygotowane do rozszerzenia
41 Rozszerzanie interMediadodatkowe formaty zapisu nowe metody kompresji materiału specjalizowane indeksy specyficzne metody optymalizacji zapytań nowe źródła danych specjalistyczne algorytmy przetwarzania danych
42 Formy składowania zasobów MMBinary large objects (BLOB), składowany w bazie danych File-based large objects (BFILE), składowany w lokalnym systemie plików systemu operacyjnego URLs zawierające odniesienia do plików graficznych i dźwiękowych przechowywanych na serwerach HTTP Specjalizowane serwery składowania multimediów
43 Obiektowe typy danych ORDImage, ORDAudio, ORDVideo, ORDDoc
44 Metadane Parametry składowania (typ źródła, lokalizację, typ kompresji, datę i format) Typ MIME Obrazy (szerokość, wysokość, długość, liczba kolorów) Audio (kodowanie, liczba kanałów, częstotliwość, kompresja) Dodatkowe metadane (podawane przez użytkownika)
45 Windows Media ServicesSkładowanie to podstawowe zagadnienie Dostarczanie danych z zadaną jakością jest drugim zagadnieniem
46 Terminy dot. transmisjiUnicast jest transmisją pakietów danych poprzez sieć o charakterze point-to-point pomiędzy klientem i serwerem. Multicast jest metodą przesyłania materiału poprzez sieć pozwalającą wielu użytkownikom odbierać ten sam strumień. Broadcast jest transmisją materiału do obszernej grupy słuchaczy jednocześnie.
47 On-demand On-demand określa metodę dostarczania materiału w oparciu o transmisje unicast tylko na konkretne żądanie klienta. Każdy klient ma pełna kontrolę nad transmisją (swoboda przewijania, wstrzymywania itp) gdyż serwer osobno obsługuje każdego klienta.
48 Streaming Streaming jest to transmisja materiału cyfrowego za pomocą pakietów, które mogą zostać wyświetlone jak tylko zostaną przesłane, umożliwiając odtwarzanie całości materiały jak gdyby był on lokalnie dostępnym zasobem bez konieczności oczekiwania przesłania całego zasobu.
49 Podsumowanie Obecnie tylko niektóre bazy dysponują mechanizmami wspomagającymi multimedia Wsparcie to jest jeszcze niewystarczające Duże możliwości i jeszcze większe potrzeby