Multimedia Database
07 Feb 2015 Kategori: JermanApa sih multimedia database? Database untuk menyimpan(store), mengambil(retrive) dan menyampaikan (representation) VITA(Video, Image, Text, Audio). Aplikasi multimedia database banyak digunakan di berbagai bidang. Kesehatan misalnya, menggunakan image database untuk menyimpan seluruh hasil digital dari CT Scan yang bisa di query berdasarkan bentuk atau warna. Aplikasi google image juga menggunakan image database untuk hasil pencarian gambar dengan warna tertentu. Setiap VITA mempunyai meta data. Meta data adalah data yang mendeskripsikan data. Pada dasarnya meta data dibagi 3.
- Content Independent cth: nama, ukuran file
- Technical (Syntatic) cth: warna, amplitude, frekuensi, bentuk
- Semantic cth: objek, orang, hubungan
Image Database
Selain meta data yang ada pada gambar seperti nama, ukuran, jenis file, warna, bentuk, tekstur dan objek. Untuk memudahkan dalam pencarian maka digunakanlah teknik segmentasi. Segmentasi bisa berdasarkan warna, tekstur atau bentuk. Untuk warna dengan homogenity lalu dibuat histogram, tekstur dengan teknik co-occurance matrix.
Semantic gap adalah gap(jarak) yang terjadi karena kurangnya kemampuan software untuk mengextrack metadata sebuah objek dengan hasil yang user inginkan. Untuk mengurangi ini caranya adalah relevance feedback. Contohnya adalah pengguna query sesuatu pada database, lalu hasil yang diinginkan tidak sesuai. Pengguna kemudian memberikan penilaian atau masukan terhadap hasil dari query. Dengan machine learning software kemudian akan memberikan hasil yang lebih mendekati daripada hasil sebelumnya.
SIFT(Scale Invariant Features Transform) adalah teknik untuk mendeteksi objek tanpa bergantung kepada skala, transformasi, lokasi, sudut pandang ataupun orientasi. Contoh yang paling nyata adalah Google Goggles dan Face Recognition pada Facebook. Tidak peduli jauh atau dekat foto kita, facebook akan mendeteksi dengan mudah.
Untuk mempercepat pencarian image dan menyimpan feature value pada image terstruktur maka dibuatlah indexing. Ada 2 macam indexing: Kd-Tree dan R-Tree. R-Tree lebih baik daripada Kd-Tree karena seimbang dan multidimensional (sampai dengan 10 dimensi). Menambakan sebuah image pada R-Tree juga ada beberapa langkah. Pertama, kombinasi dengan rectangular yang ada. Dihitung mana nilai yang paling kecil apabila titik image yang baru akan digabung ke dalam rectangular yang sudah ada. Kedua, membuat rectangular baru atau split. Apabila tidak ada ruang lagi untuk memasukkan titik image, maka akan dibuat rectangular baru dengan menghitung kombinasi dua titik yang nilainya paling kecil. Ketiga, kombinasi root. Sesudah split, pastikan setiap rectangular mempunyai root dengan menghitung gabungan rectangular mana yang paling kecil.
Video Database
Maxdome.de dan Netflix adalah contoh layanan yang menggunakan video database. Dimana kita bisa mencari berdasarkan scene yang diinginkan ataupun berdasarkan rekomendasi. Metadata pada video bisa berupa frame per second (fps), key frame, scene dan juga objek. Frame per second adalah jumlah gambar yang ditampilkan perdetik. Scene adalah gabungan shot yang mempunyai semantic yang sama.
Segment tree adalah proses indexing yang menggunakan nilai frame rate.
Audio Database
Shazam dan soundhound adalah layanan yang menggunakan audio database. Bagaimana shazam bekerja sehingga bisa menampilkan lagu yang kita inginkan.
- Rekam query sample kita. Bisa suara di radio, bergumam, bersiul dll.
- Buat keypoint berdasarkan frequency dan time
- Convert menjadi hash table
- Cari dalam database, apakah ada distance point yang mirip dari anchor point ke reference point
- Apabila ada maka ditampilkan data.
Aplikasi dalam Oracle
Implementasi multimedia database sendiri kebanyakan hanya mendukung image database. Dengan tipe data ORDSYS.ORDIMAGE dan ORDSYS.ORDIMAGESIGNATURE kita bisa mendapatkan banyak meta data dalam sebuah image. Sedangkan untuk video dan audio dengan tipe data ORDSYS.ORDVIDEO dan ORDSYS.ORDAUDIO. Banyak juga fungsi yang bisa digunakan seperti isSimilar()
untuk cek kemiripan antara 2 atau lebih gambar atau bisa juga IMGScore()
untuk mengetahui nilai dari sebuah gambar apabila di bandingkan berdasarkan warna ataupun lainnya.