Multimedialne bazy danych

Slides:



Advertisements
Podobne prezentacje
Teoretyczne podstawy tworzenia systemów relacyjnych baz danych
Advertisements

Indeksy w bazie danych Oracle
Zastosowanie LDAP w obsłudze katalogów bibliotecznych
Rafał Hryniów Tomasz Pieciukiewicz
INDEKSY I SORTOWANIE ZEWNĘTRZNE
Wprowadzenie do C++ Zajęcia 2.
Popularne formaty grafiki
Multimedia, prezentacje, wideo, dokumenty elektroniczne
Komponenty bazy danych Baza danych Jest to uporządkowany zbiór powiązanych ze sobą danych charakterystycznych dla pewnej klasy obiektów lub zdarzeń,
BAZA DANYCH - RODZAJE.
WPROWADZENIE DO BAZ DANYCH
Wycofywanie potwierdzonych transakcji
Dokumentowanie wymagań w języku XML
Co to jest studium przypadku?
Zastosowanie pamięci semantycznej we wspomaganiu decyzji medycznych
Pakiety i ATD 1 Definicja. Pakietem albo jednostką programową nazywamy grupę logicznie powiązanych elementów, które mogą być typami, podtypami, obiektami.
POWTÓRZENIE Metodologia : Pojęcia:
Zapytania SQL: wydajność i optymalizacja
Wykład 5 Wojciech Pieprzyca
Enteprise Java Beans Emil Wcisło.
Rozproszone bazy danych
Projekt i implementacja aplikacji do zasilania bazy danych testowymi danymi Jacek Lis Promotor: prof. dr hab. inż. Włodzimierz KASPRZAK.
Bazy Danych Wykład 1 S. Kozielski.
Bezpieczeństwo baz danych
Autor: Maciej Piwowarczyk
Autor: Maciej Piwowarczyk
AUTORZY: Paulina Pluta kl. 3c Agata Łoboda kl.3c
Teoria relacyjnych baz danych
Podstawowe pojęcia i problemy związane z przetwarzaniem plików graficznych.
Digitalizacja obiektów muzealnych
Kierunek : Elektronika i Telekomunikacja
Bazy danych podstawowe pojęcia
Autor: Justyna Radomska
Metadane w opisie hurtowni danych oraz procesie ETL
InTouch.
Moduł: Informatyka w Zarządzaniu
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Temat 3: Podstawowa struktura dokumentu
Wybrane zagadnienia relacyjnych baz danych
Programowanie obiektowe – język C++
-wyszukiwanie informacji.
Autor: Joanna Barańska Promotor: dr inż. Paweł Figat Konsultant:
DxR 700 & Bosch Video Client
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
Bazy danych Microsoft access 2007.
Łódź 2008 Banki danych WYKŁAD 2 dr Łukasz Murowaniecki T-109.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Model obiektowy bazy danych
systemy zarządzania bazami danych
Systemy informatyczne
Hibernate Podstawy.
Multimedia To media, które wykorzystują różne formy informacji oraz różne formy ich przekazu (np. tekst, dźwięk, grafikę, animację, wideo) w celu dostarczania.
Odwzorowania relacyjno-obiektowe Hibernate Podstawy.
Transfer Wiedzy w Leśnym Centrum Informacji dr inż. Dorota Farfał Sękocin Stary 5 grudnia 2011 r.
Dane – informacje - wiadomości Kodowanie danych i problem nadmiarowości.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
 Multimedia jest to ogólne określenie środków komunikacji wykorzystujących różne formy przekazu w celu dostarczenia odbiorcom rozrywki. Multimedia są.
Bazy danych Podstawy relacyjnych baz danych Autor: Damian Urbańczyk.
ŁÓDŹ Budowa cyfrowego archiwum przy pomocy aplikacji IBM DB2 Content Manager Anna Leśniak 18 stycznia 2005.
BAZY DANYCH MS Access.
Modelowanie model związków encji
Bazy Danych Wprowadzenie
Temat nr 5 Struktura strony www _________________________________________________________________________________________________________________ [ Przedmiot:
Specjalność E Multimedia Studia dzienne inżynierskie Opiekun specjalności: prof. Krzysztof Marasek.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Prezentacja programu PowerPoint
Temat: Tworzenie bazy danych
(c) InMoST 2006 Plan szkolenia ▪ Wprowadzenie (9:00-10:30): Czym jest szacowanie? (MO) Systematyczne podejście do planowania (ŁO) Planowanie, a kalendarz.
Strukturalny język zapytań SQL - historia
JavaBeans by Paweł Wąsala
Zapis prezentacji:

Multimedialne bazy danych Adam Duszeńko

Geneza problemu Świat Audio Obiekty Video Zjawiska Dane 3D złożone proste

Cechy multimedialnych baz danych Zawierają 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

Zagadnienia powiązane z MMBD rozwó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ą”

Techniki modelowania MM Dekompozycja danych złożonych na dane atomowe Modelowanie w oparciu o analogie z tradycyjnymi danymi Modelowanie w oparciu o specyfikę poszczególnych danych MM

Informacje połączone z MM wł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

Metadane semantyczne Niskopoziomowe Wysokopoziomowe Wynikające bezpośrednio z budowy zasobu Wysokopoziomowe Są wynikiem interpretacji niskopoziomowych metadanych w oparciu o niezbędną wiedzę dziedzinową

MPEG Moving Picture Experts Group MPEG 1 – kompresja MPEG 2 – kompresja MPEG 4 – kompresja + obiekty MPEG 7 – opis zasobów Description Tools – metadane, ich struktura i relacje

Drogi rozwoju Natywne multimedialne bazy danych Tradycyjne bazy danych z multimedialnymi rozszerzeniami

Natywne MMBD Bardziej dostosowane do specyfiki materiału multimedialnego Lepsza wydajność Konieczność implementacji mechanizmów relacyjnych Transakcyjność, bezpieczeństwo SCORE, TVQL, SMDS, CSQL, MOQL

Rozszerzenia tradycyjnych BD Bazowanie na dopracowywanej od lat wydajności, bezpieczeństwie Gotowe zarządzanie danymi relacyjnymi Uzupełnienie o specyficzne dla multimediów UDF i UDT

Język zapytań MM Podstawą jest SQL Zdefiniowane UDF i UDT rozszerzają SQL o operacje na multimediach Wygodne łączenie atrybutów multimedialnych z danymi relacyjnymi

SQL to za mało Zaniechano rozszerzania samego SQL’a Stworzono 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

Etapy analizy multimediów Użytkownik Interfejs Zapytanie Szacowanie podobieństwa Dane opisowe Noncontent metadata Niskopoziome operacje na obrazie Interpretacja Obiekty i relacja Ekstrakcja cech Obraz

Formy składowania MM Wewnątrz struktur bazy danych W plikach w systemie plików systemu operacyjnego Na zewnętrznych serwerach przeznaczonych do składowania multimediów

Baza danych IBM DB2 Image Extender, Audio Extender, Video Extender, Text Extender

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

Przykładowa tabela

Zapytanie SELECT FILENAME(ADS_VIDEO) FROM ADS WHERE CLIENT='IBM' AND SHIP_DATE>='01/01/1997' AND DURATION(ADS_VIDEO) <=30

EXEC SQL FETCH c1 INTO :hvClient, :hvCampaign, :hvSdate, :hvVid_fname; #include <dmbvideo.h> int count = 0; EXEC SQL BEGIN DECLARE SECTION; char hvClient[30]; /*client name*/ char hvCampaign[30]; /*campaign name*/ char hvSdate[8]; /*ship date*/ char hvVid_fname [251] /*video file name*/ EXEC SQL END DECLARE SECTION; EXEC SQL DECLARE c1 CURSOR FOR SELECT CLIENT, CAMPAIGN, SHIP_DATE, FILENAME(ADS_VIDEO) FROM ADS WHERE CLIENT='IBM' AND SHIP_DATE>='01/01/1997' AND DURATION(ADS_VIDEO)<=30 FOR FETCH ONLY; EXEC SQL OPEN c1; for (;;){ EXEC SQL FETCH c1 INTO :hvClient, :hvCampaign, :hvSdate, :hvVid_fname; if (SQLCODE != 0) break; printf("\nRecord %d:\n", ++count); printf("Client = '%s'\n", hvClient); printf("Campaign = '%s'\n", hvCampaign); printf("Sdate = '%s'\n", hvSdate); rc=DBvPlay(NULL,MMDB_PLAY_FILE,hvVid_fname,MMDB_PLAY_WAIT); } EXEC SQL CLOSE c1;

#include <dmbqbqpi.h> #define MaxQueryReturns 10 static SQLHENV henv; static SQLHDBC hdbc; static SQLHSTMT hstmt; static SQLRETURN rc; void main(int argc, char* argv[]) { char line[4000]; char* handles[MaxQueryReturns]; QbQueryHandle qHandle=0; QbResult results[MaxQueryReturns]; SQLINTEGER count; SQLINTEGER resultType=qbiArray; SQlAllocEnv(&henv); SQLAllocConnect(henv, &hdbc); rc = SQLConnect(hdbc, (SQLCHAR*)"qtest", SQL_NTS, (SQLCHAR*)"", SQL_NTS, (SQLCHAR*)"", SQL_NTS); if (argc !=2) { printf("usage: query colorname\n"); exit(1); } QbImageSource is; is.type = qbiSource_AverageColor; /* run the get color subroutine */ getColor(argv[1], is.average.Color); QbQueryCreate(&qhandle); QbQueryAddFeature(qhandle, "QbColorFeatureClass"); QbQuerySetFeatureData(qhandle, "QbColorFeatureClass",&is); QbQuerySearch(qhandle, "ADS", "ADS_IMAGE", 10, 0, resultType &count, results); for (int j = 0; j <count; j++) { printf(j,":\n"); DBiBrowse("usr/local/bin/xv %s", MMDB_PLAY_HANDLE, handles[j], MMDB_PLAY_WAIT); } QbQueryDelete(qhandle); SQLDisconnect(hdbc); SQLFreeConnect(hdbc); SQLFreeEnv(henv);

Dostępność

Obiektowe typy danych Każdy obiekt traktowany jako obiekt z atrybutami i metodami Obiekty umieszczane bezpośrednio w tabelach

Typy Large Objects LOB Binary large objects (BLOBs) Character large objects (CLOBs) Double-byte character large objects (DBCLOBs)

Możliwości składowania Każdy LOB może mieć do 2GB W jednym wierszu tabeli może być przechowane 24GB W całej tabeli do 4TB

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)

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'

Używanie UDT i UDF Nowe typy i funkcje należą do schematu MMDBSYS Ustawienie zmiennej path SET CURRENT FUNCTION PATH = mmdbsys, CURRENT FUNCTION PATH Funkcje mogą być przeciążane nawet w obrębie schematu

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

Atrybuty wykorzystywane w QBIC Średni kolor Histogram kolorów Lokalny kolor Tekstury

Korzystanie z QBIC Utworzenie i wypełnienie tabeli z obrazami Stworzenie katalogu na bazie wskazanych cech obrazów Zadanie zapytania odnoszącego się do cech umieszczonych w katalogu.

Indeksy video Plik służący do wyszukiwania klatek w materiale video Budowany na podstawie zmian sceny Odszukane zmiany są zaznaczane

Przykład wykorzystania rozszerzeń

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

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

Dodanie obsługi Audio Uruchomienie obsługi Audio Extender ENABLE 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

Umieszczanie danych w tabeli Umieszczanie w bazie na zasadzie Kopiowania do struktury bazy Umieszczenie w bazie referencji do zasobu znajdującego się nadal w systemie plików systemu operacyjnego

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*/ );

Przebieg procesu ładowania Odczytanie 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.

interMeida Oracle 10g Standardowa część pakietu bazy Oracle Zawiera zbiór typów obiektowych Przygotowane do rozszerzenia

Rozszerzanie interMedia dodatkowe formaty zapisu nowe metody kompresji materiału specjalizowane indeksy specyficzne metody optymalizacji zapytań nowe źródła danych specjalistyczne algorytmy przetwarzania danych

Formy składowania zasobów MM Binary 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

Obiektowe typy danych ORDImage, ORDAudio, ORDVideo, ORDDoc

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)

Windows Media Services Składowanie to podstawowe zagadnienie Dostarczanie danych z zadaną jakością jest drugim zagadnieniem

Terminy dot. transmisji Unicast 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.

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.

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.

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