A Parallel Multimedia Information Retrieval System
Transkript
A Parallel Multimedia Information Retrieval System
1 T.C. EGE ÜNĐVERSĐTESĐ FEN BĐLĐMLERĐ ENSTĐTÜSÜ BĐLGĐSAYAR MÜHENDĐSLĐĞĐ ANABĐLĐMDALI 12.2700.0000.011 KOŞUT ÇOKLU ORTAM BĐLGĐ GÖSTERĐM ve ERĐŞĐM DĐZGESĐ DOKTORA TEZĐ Hazırlayan Adil ALPKOÇAK Danışman Prof. Dr. Sıtkı AYTAÇ Bornova – ĐZMĐR 1997 2 3 KABUL ve ONAY SAYFASI Adil Alpkoçak’ın DOKTORA TEZĐ olarak hazırladığı “Koşut Çoklu Ortam Bilgi Gösterim ve Erişim Dizgesi” başlıklı bu çalışma, jürimizce Lisansüstü Yönetmeliği’nin ilgili maddeleri uyarınca değerlendirilerek oy birliği ile kabul edilmiştir. 10 / 12 / 1997 Başkan : Prof. Dr. Sıtkı AYTAÇ Üye : Prof. Dr. Şaban EREN Üye : Prof. Dr. Esen ÖZKARAHAN Fen Bilimleri Enstitüsü Yönetim Kurulu’nun …. / …. / 1997 gün ve …. / …. sayılı kararıyla onaylanmıştır. Prof. Dr. Đsmet ERTAŞ Enstitü Müdürü 4 ÖZET KOŞUT ÇOKLU ORTAM BĐLGĐ GÖSTERĐM ve ERĐŞĐM DĐZGESĐ ALPKOÇAK, Adil Doktora Tezi, Bilgisayar Mühendisliği Bölümü Danışman: Prof. Dr. Sıtkı AYTAÇ Eylül 1997, 183 sayfa. Bu çalışmada Çoklu ortam Bilişim Dizgelerinin (ÇDB) Giriş/Çıkış ve işlem güçü gibi iki önemli darboğazın üstesinden gelebilecek bir dizge modeli geliştirilmiştir. Oldukça yeni bir kavram olan ÇBD problemlerini tanımlayabilmek amacıyla öncelikle, ayrıntılı olarak çoklu ortam verilerinin özellikleri incelenmiştir. Ayrıca, çoklu ortam bilişim dizgelerinin özellikleri ve çoklu ortam sorgulama yöntemleri detaylı olarak incelenmiş ve bir sınıflama geliştirilmiştir. ÇBD alanındaki durum bilimini anlatabilmek amacıyla özgün çalışmalar incelenerek mevcut teknolojinin karşı karşıya kaldığı problemler ortaya konmuştur. Çoklu ortam verilerine erişimi kolaylaştırarak geliştirilecek bir çoklu ortam modelinin etkinliğini arttırmak için Konumsal Izgara Dosyası (KID) adı verilen ve birden çok vektörel özniteliğe göre dizinleme yapabilen bir yöntem geliştirilmiştir. KID organizasyonu çok kaba olarak geleneksel ızgara dosyalarının doğrusal ölçek bileşenine, dizinleme yöntemi eklenerek sınıf nesnesi haline getirilmesi ilkesine dayanır. KID, anahtar özniteliklere göre çoklu ortam verilerinin kümelenmesini de sağlanmaktadır. Hazırlanan çoklu ortam dizge modeli doğrudan KID organizasyonunu kullanmaktadır. ÇBD'lerde karşılaşılan G/Ç ve işlem darboğazlarına çözüm olarak koşut bilgisayarlardan yayarlanılabilmesi için Koşut Kümeleme Tabanlı Erişim (KKTE) modeli geliştirilmiştir. Çoklu ortam veri uzayının parçalanması ve işlemcilere dağıtılması konusunda da KID yapısından yararlanılmıştır. Önerilen dizge sentetik veriler ile tek ve koşut bilgisayar ortamlarında denenmiş ve üstün bulgular elde edilmiştir. 5 Anahtar kelimeler: Çoklu Ortam Bilgi Erişimi, Bilgi Erişimi, Đçerik Tabanlı Erişim, Çoklu Ortam Veritabanları, Konumsal Erişim Yöntemleri, Çok-öznitelikli Erişim Yöntemleri, Koşut Bilgi Erişimi, Koşut Bilgi Đşleme. 6 ABSTRACT PARALLEL MULTIMEDIA INFORMATION REPRESENTATION and RETRIEVAL SYSTEM ALPKOÇAK, Adil Doctor of Philosophy in Computer Science Supervisor: Prof. Dr. Sıtkı AYTAÇ September 1997, 183 pages. In this study, a multimedia system has been designed aimed at solving the major I/O and processor bottlenecks of multimedia retrieval. For this goal, firstly, the general characteristics of multimedia data and requirements of multimedia information system (MMIS) are discussed and defined. Taxonomy for multimedia attributes and query types are also presented to help understanding of the requirements of MMIS and open research problems of this domain. Some of the well-known models and methods are surveyed in order to take a snapshot of the state of the art. A new file structure called Spatial Grid File (SGF) is developed to index multimedia objects by adding a method to the linear scale part of the traditional grid file. The SGF file structure preserves the characteristics of grid files and it is efficiently used to represent and retrieve multimedia data where multimedia data is defined as having more than one spatial/multi-dimensional attribute. The SGF can be easily tailored to requirements of different MMIS applications by changing the Spatial Access Methods (SAM) embedded in SGF and the similarity measures. Another attractiveness of SGF organisation is its performance in clustering multimedia data. A complete multimedia system model including data model, indexing structure and querying is developed and presented. The system is based on SGF usage on a parallel computer environment. A Parallel Cluster Based Retrieval model used in the system has been also introduced. Both models have been tested using synthetic data on both a single machine and a parallel computer environment. The findings look promising and are discussed in detail. Keywords: Multimedia Information Retrieval, Information Retrieval, Content-based Retrieval, Spatial Access Methods, Multi-attribute Access methods, Multimedia Databases, Parallel Information Retrieval, Parallel Processing, 7 TEŞEKKÜR Problemlere akademik olarak nasıl yaklaşılacağını ve akademik çalışmanın nasıl sabır gerektiren titiz bir çalışma olduğunu öğreten, karşılaştığım her problemde ve içine düştüğüm her çıkmazda beni dinleyip tartışarak sahip olduğu engin bilgi birikimini düzlüğe çıkabilmem için cömertçe paylaşan, çalışmalarımı en küçük ayrıntısına kadar inceleyen değerli hocam Prof. Dr. Esen ÖZKARAHAN’a tüm bu özverili katkılarından dolayı en içten teşekkürlerimi sunarım. Yüksek Lisans eğitiminden başlayarak uzun yıllar boyunca danışmanlığımı üstlenen, olaylara değişik açılardan bakabilmeyi öğreten, hiç bir zaman desteğini ve beğenilerini eksik etmeyen, kişisel özgüveni ve kıvrak zekasıyla beni her zaman etkileyen değerli hocam Prof. Dr. Sıtkı AYTAÇ'a sonsuz teşekkürler ederim. Tüm lisanüstü eğitimim boyunca her türlü bürokratik sorunun ivedilikle çözümünde yol gösterici ve destekleyici katkılarını hiç bir zaman esirgemeyen Bilgisayar Mühendisliği Bölüm Başkanı Sayın Prof. Dr. Şaban EREN’e teşekkür ederim. Bu tez çalışmasının birçok aşamasını sevgili eşim Tülay ve canım oğlum Mert’le paylaşmam gereken zamanlarda gerçekleştirmek zorunda kaldığım için onlardan öncelikle özür diliyor, göstermiş oldukları anlayış ve hiçbir zaman eksik etmedikleri desteğe sonsuz teşekkür ediyorum. 8 ĐÇĐNDEKĐLER 1. GĐRĐŞ 1 1.1 Çoklu-Ortam Verilerinin Yönetimi 2 1.2 Çoklu Ortam Veri Patlaması 3 1.3 Pasif Katılım 4 1.4 Aktif Katılım 5 1.5 Geleneksel Veri Tabanlarının Yetersizlikleri 6 1.6 Problem 7 1.7 Amaç 8 1.8 Tez Organizasyonu 9 2. ÇOKLU ORTAM NESNELERĐ 10 2.1 Çoklu Ortam Nesnelerinin (ÇON) Genel Özellikleri 10 2.2 Çoklu Ortam Veri Tipleri 12 2.3 Çoklu Ortam Öznitelikleri 15 2.3.1 Nesnel Öznitelikler 16 2.3.1.1 Dışsal Öznitelikler 16 2.3.1.2 Đçsel Öznitelikler 17 2.3.2 Öznel Öznitelikler 19 2.3.2.1 Yorumlama Öznitelikleri 19 2.3.2.2 Kavramsal Öznitelikler 20 3. ÇOKLU ORTAM BĐLĐŞĐM DĐZGELERĐ (ÇBD) 22 3.1 ÇBD’lerin Genel Özellikleri 22 3.2. Çoklu Ortam Sorguları 26 3.2.1 Hazırlanma Şekline Göre Çoklu Ortam Sorguları 27 3.2.1.1 Belirtmeli Sorgular 27 3.2.1.2 Örnekle Sorgu 29 3.2.1.3 Gezinti ile Sorgu 30 3.2.2 Uyum Kriterlerine Göre 3.2.2.1 Tam Uyum Sorguları 31 31 9 3.2.2.2 Yaklaşık Sorgular 32 3.2.2.3 En-Yakın Komşu (EYK) Sorguları 32 3.2.2.4 Tüm-Eşler (All-pairs) Sorgular 33 3.2.2.5 Örnekleme Sorguları 33 3.2.2.6 Sınıflama Sorguları 34 3.2.3 Tamlıklarına Göre Çoklu Ortam Sorguları 3.2.3.1 Tam Sorgular 35 3.2.3.2 Eksik Sorgular 35 3.2.3.2.1 Muğlak (vague) Sorgular 35 3.2.3.2.2 Sisli Sorgular 36 3.3 Geçmiş Çalışmalar 3.3.1 Özkarahan Modeli 3.3.2 QBIC 34 36 36 3.3.1.1 Kavramsal Model 37 3.3.1.2 Erişim Modeli 39 3.3.1.3 Dizinleme 39 3.3.1.4 Associative Arama 39 3.3.1.5 Anlamsal Arama 40 3.3.1.6 Ortama-özgü Arama 40 41 3.3.2.1 QBIC Genel Dizge Yapısı 41 3.3.2.2 Veri Modeli 42 3.3.2.3 Filtreleme 43 3.3.2.4 Dizinleme 43 3.3.2.5 Durağan Resimlerin Eklenmesi 45 3.3.2.6 Video Verilerinin Eklenmesi 45 3.3.2.7 Şotların Yakalanması 45 3.3.2.8 Temsilci Çerçevelerin Yaratılması 46 3.3.2.9 Katmanlı Gösterim 46 3.3.3 CORE 47 3.3.3.1 ÇON modeli 47 3.3.3.2 CORE'un Mimarisi 48 3.3.3.3 ÇON'ların gösterimi 49 10 3.3.3.4 ÇON Analizi 51 3.3.3.5 Dizinleme Yapısı 51 3.3.3.5 CORE'un Erişim Yapısı 52 3.3.3.6 Bulanık Erişim 53 3.3.3.7 Birleşik Erişim 54 3.3.4 InfoScope 54 3.3.4.1 Veri Tabanı 57 3.3.4.2 Ekleme Modülü 57 3.3.4.3 Arayüz 58 3.3.4.4 Bilgi Tabanı 58 3.3.4.5 Bilgi Organizasyonu 59 3.3.4.6 Özellik Tipleri 60 4. ÖNERĐLEN ÇOKLU ORTAM DĐZGE MODELĐ 63 4.1 Temel Kavramlar 63 4.2 Veri Modeli 64 4.2.1 Veri Katmanı 65 4.2.2 Đçerik Katmanı 68 4.3 Kavramsal Model 70 4.3.1 Kavramsal Model Đçin Kullanıcı Arayüzü 71 4.3.2 Benzerlik Değerlerinin Hesaplanması 73 4.3.2.1 Benzerlik Fonksiyonları 73 4.3.2.2 Nesne Benzerlikleri 75 4.3.2.3 Konumsal Olmayan Đlişkilerin Benzerlikleri 77 4.3.2.4 Konumsal Benzerlik Fonksiyonları 78 4.4 Çoklu Ortam Sorgu Modeli 79 4.4.1 Çok Parçalı ve Katmanlı Sorgulama Dili 80 4.4.2 Çok-Parçalı Tanımlama 82 4.4.4 Zamansal Tanımlamalar 83 4.4.5 Konumsal Tanımlama 85 4.4.6 Đçerik Tanımlama 87 4.4.6.1 Metin Đçeriklerinin Tanımlanması 88 11 4.4.6.2 Resim Đçeriklerinin Tanımı 88 4.4.6.3 Video Đçeriklerinin Tanımlanması 89 4.4.6.4 Ses Sorguları 90 4.4.7 Sorgulama Dilinin BNF Gösterimi 5. ÇOKLU ORTAM DĐZĐNLEME YÖNTEMLERĐ 5.1 Çoklu Ortam Gösterim Şekilleri 91 94 94 5.1.1 Doku (Texture) Özellikleri 95 5.1.2 Renk Özellikleri 96 5.1.3 Şekil Özellikleri 97 5.1.4 Konumsal Özellikler 98 5.2 Özellik Gösterim Şekilleri 99 5.3 Benzerlik Ölçütleri 101 5.4 Konumsal Erişim Yöntemleri 103 5.5 Yüksek-boyutlu Verilerin Dizinlenmesi 105 5.6 Izgara Dosyaları 106 5.6.1 Izgara Dosyalarının Dinamizmi 5.7 R-ağaç 107 109 6. KONUMSAL IZGARA DOSYALARI (KID) 115 6.1 Çoklu Ortam Dizinleme Gereksinimi 115 6.2 KID'lerin Genel Özellikleri 116 6.3 KID'lerin Oluşturulması 122 6.4 KID Erişim Örneği 127 6.5 Eksik Tanımlı Sorgular 129 7. KOŞUT ÇOKLU ORTAM ERĐŞĐM MODELĐ 131 7.1 Küme Tabanlı Erişim (KTE) 131 7.2 Koşut Küme Tabanlı Erişim (KKTE) 132 7.3 Kümeleme133 7.4 Dağıtım 134 12 7.4.1 Disk Modulo (DM) 134 7.4.2 Fieldwise XOR (FX) 135 7.4.3 Uzay Doldurma Eğrileri (UDE, Space Filling Curves) 135 7.4.3.1 Peano-Eğrileri 136 7.4.3.2 Reflected Binary Gray Codes (RBC) 136 7.4.3.3 Hilbert Eğrisi 137 7.4.4 Dağıtımda UDE Kullanılması1 138 7.5 Problem Tanımı 140 7.6 Önerilen KKTE Dizgesi 142 7.6.1 Mimari 7.6.2 Kümeleme 143 144 7.6.3 Dağıtım 145 7.6.4 Formal Tanımlamalar 147 7.6.5 Koşut Erişim 150 7.6.6 Zaman Analizi 151 8. BAŞARIM ANALĐZĐ 156 8.1 Veri Kümesi 156 8.2 Çoklu Ortam Benzeşim Ortamı 158 8.3 Tek Bilgisayar Sonuçları 158 8.3.1 Başarım Parametreleri 159 8.3.2 Kontrol Yöntemi 160 8.4 Koşut Erişim Başarım Sonuçları 163 9. SONUÇ 166 KAYNAKÇA 169 13 ŞEKĐLLER DĐZĐNĐ Şekil-2.1 Çoklu ortam öznitelikleri .......................................................................... 16 Şekil-3.1 Çoklu-ortam sorgulama tipleri. ................................................................. 28 Şekil-3.2 Özkarahan modelinde bileşenler arasındaki iletişim ................................ 38 Şekil-3.3 Özkarahan modelinin erişim katmanları ................................................... 38 Şekil-3.4 QBIC'in mimarisi ...................................................................................... 44 Şekil-3.5 CORE'da üç katmanlı veri modeli ............................................................ 49 Şekil-3.6 CORE'un resim gösterim şeması ............................................................. 50 Şekil-3.7 CORE'da gerçekleştirilen Đçerik Tabanlı Erişim Yöntemleri .................. 52 Şekil-3.8 InfoScope dizgesinin genel mimarisi........................................................ 58 Şekil-3.9 InfoScope'da farklı seviyelerdeki soyutlamaları içeren dört seviyeli veri modeli................................................................................... 56 Şekil-4.1 Veri modelinin iki katmanı ....................................................................... 65 Şekil-4.2 Çok-parçalı tanımlama.............................................................................. 81 Şekil-4.3 Zamansal operatörlerin şekilsel gösterimi ................................................ 84 Şekil-4.4 Zamansal tanımlama örneğinin zaman düzleminde gösterimi.................. 85 Şekil-4.5 Nesnelerin konumsal tanımlama operatörleri ........................................... 86 Şekil-4.6 Nesnelerin resim üzerinde yerleşimi......................................................... 86 Şekil-5.1 (a) örnek şekil, (b) örnek şeklin gösterimi, (c) temel alfabe ..................... 100 Şekil-5.2 (a) Nesne alanlarının düzlemsel gösterimi (b) alt-nesne alanlarının ağaç yapısı ile temsil edilmesi. ................................................................. 100 Şekil-5.3 Minkowski metrikleri................................................................................ 102 Şekil-5.4 Izgara dosyasının yapısı ............................................................................ 107 Şekil-5.5 Tek bloklu ızgara dosyası ......................................................................... 108 Şekil-5.6 Örnek ızgara dosyasında ilk bölünme....................................................... 108 Şekil-5.7 Örnek ızgara dosyasında ikinci bölünme.................................................. 109 Şekil-5.8 Örnek ızgara dosyasında üçüncü bölünme ............................................... 110 Şekil-5.9 R-ağacının gösterimleri............................................................................. 112 Şekil-6.1 Örnek bir KID organizasyonu................................................................... 118 Şeki-6.2 KID dizin rehberinin oluşturulma adımları............................................... 123 14 Şekil-6.3 KID organizasonunda ızgara sayfaları...................................................... 125 Şekil-6.4 Bir KID organizasyonunda blok numaraları ve Peano Eğrisi................... 127 Şekil-6.5 Aralık numaralarından sayfa numaralarının elde edilmesi. ...................... 128 Şekil-6.6 Eksik sorgularda sayfa numaralarının elde edilmesi. ............................... 130 Şekil-7.1 1, 2 ve 3 düzeyleri için Z (Peano) eğrileri ................................................ 136 Şekil-7.2 1,2 ve 3 düzeyleri için Reflected Binary Code eğrileri............................. 137 Şekil-7.3 Düzey 1, 2 ve 3 için Hilbert eğrileri ......................................................... 137 Şekil-7.4 Farklı UDE’lerin 2 düzeyi için değerleri .................................................. 138 Şekil-7.5 Peano ve Hilbert eğrileriyle kümelemenin aralık sorgularına etkileri ...... 139 Şekil-7.6 Veri erişiminde kullanılan koşut mimarinin şematik gösterimi................ 143 Şekil-7.7 ÇON'ların kümelenme süreçleri................................................................ 145 Şekil-7.8 Sabit ızgara ve ızgara dosya yapıları arasındaki ilişki .............................. 146 Şekil-7.9 Kümelerin ve içerisindeki nesnelerin işlemcilere dağıtılması .................. 150 Şekil-8.1 Sorgu setlerinin yanıt kümelerindeki eleman sayıları............................... 157 Şekil-8.2 KID organizasyonundaki kayıt ve dizin düğümleri sayıları ..................... 159 Şekil-8.3 KID sayfa doluluk oranları ....................................................................... 160 Şekil-8.4 S1 sorgu seti için sorgulama sürecinde R-ağaç ve KID kullanımıyla ................................................................................................................... ................................................................................................................... ................................................................................................................... oku nan disk sayfa sayıları ............................................................................... 161 Şekil-8.5 Sorgu setleri için KID ve R-ağacı yanıt süreleri ....................................... 162 Şekil-8.6 Koşut erişim yanıt süreleri ........................................................................ 163 Şekil-8.7 Tam ve Parça Dağıtım sonucu sorgu yanıt süreleri süreleri ..................... 164 15 16 TABLOLAR DĐZĐNĐ Tablo-4.1 Farklı veri türlerinin içerdikleri bilgi tipleri.............................................. 83 Tablo-7.1 Problem tanımında kullanılan parametreler.............................................. 140 Tablo-7.2 Koşut erişim zaman analizinde kullanılan parametreler ........................... 152 Tablo-8.1 Veri Kümeleri ........................................................................................... 156 17 KISALTMALAR DĐZĐNĐ API : Application Program Interface BLOB : Binary Large Objects BNF : Backus Naur Form C3M : Cover Co-efficient based Clustering Methodology CASE : Computer Aided Software Engineering CBD : Coğrafi Bilişim Dizgeleri CORE : Content-based Retrieval Engine CPU : Central Processing Unit ÇBD : Çoklu ortam Bilişim Dizgesi ÇOD : Çoklu Ortam Durumları ÇON : Çoklu Ortam Dizgesi ÇOO : Çoklu Ortam Olayı ÇOS : Çoklu ortam Sorgusu ÇOSU : Çoklu Ortam Sunumu ÇVTYD : Çoklu ortam Veri Tabanı Yönetim Dizgeleri DCT : Discrete Cosine Transform DDL : Data Definition Language DFT : Discrete Fourier Transforms DM : Disk Modulo DÖN : Doğrusal Ölçek Nesnesi E/R : Entity/Relationship EYK : En Yakın Komşu (Nearest Neighbor) FX : Fieldwise Xor G/Ç : Giriş/Çıkış HTML : Hyper Text Markup Language I/O : Input/Output IBM : International Bussiness Machines ĐTE : Đçerik Tabanlı Erişim (Content Based Retrieval) KED : Kapsayan En-küçük Dörtgen KEY : Konumsal Erişim Yöntemleri 18 KID : Konumsal Izgara Dosyaları KKTE : Koşut Kümeleme Tabanlı erişim KL : Karhunen-Loeve KTE : Kümeleme Tabanlı Erişim LUT : Look Up Table MIT : Massachuset Institue of Technology MĐB : Merkezi Đşlem Birimi PVM : Parallel Virtual Machines QBIC : Query By Image Content RBC : Reflected Binary gray Codes SAM : Spatial Access Methods SQL : Structured Query Language UDE : Uzay Doldurma Eğrileri (Space Filling Curves) UKE : Uzaklık Koruyan Eşleme (Distance Preserving Mapping) UPA : Uygulama Programı Arayüzü VTD : Veri Tanımlama Dili VTYD : Veri Tabanı Yönetim Dizgeleri 19 1. GĐRĐ Ş Đnsan beyni binlerce farklı şekli, resmi, rengi, sesi, muzik eserlerini, dokuyu ve gerçek dünyanın sayısız bileşenini ayırt edebilme, saklayabilme ve gerektiğinde tekrar geri getirebilme gibi akıl almaz bir yeteneğe sahiptir. Beynimizde sakladığımız bu veriler çok farklı şekillerde olabilir. Bir arkadaşımızın ismi, yüzü, sesi, telefon numarası, binlerce şarkının sözleri ve melodileri gibi uzayıp giden bu liste insan beyninin başarı ile algılayıp işlediği farklı veri şekillerine örnek olarak verilebilir. Đnsan beyninin bu muhteşem yapısı henüz tam olarak çözülememiştir. Tüm bu farklı şekillerdeki bilgiler insan beyninde nasıl saklanır veya güncellenir? Gözlerimiz nasıl binlerce farklı tondaki rengi ayırt edebilir? Nasıl bir arkadaşımızı saçının rengini değiştirdiğinde, gözlük taktığında veya bıyık bıraktığında tanımakta zorluk çekmeden hatırlarız? Nasıl yıllardır görmediğimiz bir arkadaşımızın sesini telefonda duyduğumuzda, anlık zaman dilimi içerisinde ismini veya yüzünü hatırlayabiliriz? Bütün bu soruların yanıtları henüz tam olarak bilinmemektedir. Đnsan beyni ve diğer organların birçok özelliği bizler için henüz açılmamış bir kapalı kutu gibidir. Bilişim dizgelerinin amacı insanlara yardımcı olmak olduğuna göre, bilgisayara dayalı bir bilişim dizgesi, tamamını gerçekleştiremese bile, insan beyninin başarıyla yerine getirdiği bu işlemleri her türlü veri üzerinde yapabilmelidir. Modern bilişim dizge tasarımcıları, bilişim dizgelerinin işlemesi gereken verilerin sadece sayı ve metinlerden oluşmadığını, gerçek dünyada çok daha farklı şekillerde veri türünün bulunduğunun farkına vardılar. Gerçek dünyadaki bu veriler sayı ve metinler dışında, ses, renk, resim, müzik, konuşma veya video olarak da karşımıza çıkar. Đşte bu çeşitli şekillerde görülebilen veriler çoklu ortam verileri olarak isimlendirilirler. Bilişim dizgeleri gerçek hayattan soyutlanamayacağına göre, mükemmel bir bilişim sistemi tüm bu farklı şekillerdeki veriler üzerinde işlem yapabilme yeteneğine sahip olmalıdır. Đşte her türlü veriyi işleyebilen bu dizgelere Çoklu ortam Bilişim Dizgeleri (ÇBD) adı verilir. Bir başka ifade ile ÇBD’ler heterojen veri tipleri üzerinde işlem yapabilen bilişim dizgeleridir [Yoshikata et al., 1994]. 20 Geleneksel bilişim dizgelerinde, bilgisayar ortamlarında saklanan verilerin bir çoğu alfasayısaldır. Fakat günümüzde, bilgisayar girdi birimlerinin artmasıyla birlikte, hemen hemen her şekildeki verilerde bir patlama yaşanmaktadır. Đşte bu çeşitli şekillerdeki verilerin hızlı artışı, çoklu ortam verilerinin nasıl saklanacakları ve işlenecekleri konusunun önemini ortaya koymaktadır. Çoklu ortam Veri Tabanı Yönetim Dizgeleri (ÇVTYD) henüz çok yeni uygulamalar olmasına karşın bir çok çalışmanın temel konusunu oluşturmaktadır [Subrahmanian et al, 1996]. 1.1 Çoklu-Ortam Verilerinin Yönetimi Çoklu ortam verilerinin belirli ilişkiler ile organize edilerek, istendiğinde kolaylıkla ulaşılabilmesini sağlayacak düzenlemelerin yapılması çözüm bekleyen en önemli problemlerin başında yer alır. Benzer bir durum geçmişte, alfasayısal veriler için de yaşanmıştır ve bilgisayara dayalı Veri Tabanı Yönetim Dizgelerinin (VTYD) yaratılmasını sağlamıştır. Veri tabanlarında çok büyük boyutlardaki veri grupları ilişkili sahaların oluşturduğu tablolar olarak organize edilmiş, hızlı erişim gerektiren durumlarda anahtar sahalar arama işlemlerini kolaylaştıran dizinlerin oluşturulması için kullanılmışlardır. Bu veritabanı dizgeleri modern toplumda bir devrim yapmıştır. Fakat bu dizgeler sadece alfasayısal veriler üzerindeki işlemleri başarıyla gerçekleştirmektedirler. Günümüzde birçok araştırmacı gerçek dünyadaki verilerin bir çoğu alfasayısal olmadıkları için, Çoklu ortam Bilişim Dizgelerinin (ÇBD) tasarımı ve gerçekleştirilmesi üzerinde çalışmaktadır. ÇBD'ler çoklu ortamın doğasında bulunan heterojen veri tipleri nedeniyle geleneksel bilişim dizgelerinden daha çok işleve ve yeteneğe sahip olmalıdırlar. Bir çoklu ortam verisi metin, sayı, ses, görüntü veya diğer bir şekilde olabilir. Her şeyden önce bir ÇBD, bu tür verileri saklama, arama ve üzerlerinde işlem yapabilme yeteneğine sahip olmalıdır. Daha genel bir ifade ile, ÇBD’ler geleneksel veritabanlarına ek olarak günümüzde mevcut bulunan her türlü veriyi yönetebilme yeteneğine sahip olmalıdırlar. Çoklu ortamın en temel özelliği olan, verilerin farklı şekillerde olması, çoklu ortam içerisinde yer alan her türlü verinin birden aynı anda ele alınmasını zorlaştırmaktadır. Birçok araştırmacı tarafından çok sayıda araştırmalar yapılmış ve hatta bazıları ticari ürün haline gelmiş olmalarına rağmen, 21 henüz tüm gereksinimleri karşılayabilecek bir model geliştirilememiştir. Bu nedenle, araştırmacıların konuya olan ilgisi her geçen gün artan bir şekilde devam etmektedir. Bir ÇBD, farklı organizasyon, dizinleme ve sorgulama tekniklerinin kullanımını zorunlu kılar. Bu zorunluluk, çoklu ortam verilerini bir veritabanın ilavesi olarak görmek yerine, onu bilginin merkezi olarak gören yöntemlere olan gereksinimi ortaya koyar. ÇBD alanında bu problemin çözümündeki genel yaklaşım, geleneksel VTYD’lere ekler yapmak yerine köklü çözümler içeren öneriler olmalıdır. 1.2 Çoklu Ortam Veri Patlaması Çoklu ortam teknolojilerinin geliştirilmelerinden yarar bekleyen geniş bir yelpazeye yayılmış alanlar mevcuttur. Artan bilgisayar girdi ortamlarıyla birlikte, bilgisayarlar farklı şekillere sahip çok daha fazla veriyi işlemekle karşı karşıyadırlar. Video kameralar, tarayıcılar, sayısallaştırıcılar her geçen gün daha fazla veri üretmekte ve bu verilerin bilgisayarlarda işlenmesi beklenmektedir. Kütüphaneler, bilgisayar görme ve algılama uygulamaları, tıbbi resim arşivleri, video veritabanları sadece birkaç örnektir. Bu farklı uygulama alanlarındaki ÇBD gereksinimlerinin artmasıyla birlikte, bu tür verilerin işlenmesi veritabanı araştırmacılarının temel araştırma konularından bir tanesini oluşturmaktadır. Bu ise, çoklu ortamı yönetme, anlama, geliştirme ve kullanımıyla ilgili alanlardaki araştırma patlamasını kısmen açıklamaktadır [Ghafoor, 1995]. Çoklu ortam verileri çok büyük hacimli verilerdir. Örneğin, NASA günde 1 terrabaytlık (=1012) veri almaktadır. Bu ise yılda 1016 baytlık bir veri hacmine karşılık gelir. Coğrafi Bilişim Dizgelerinin (CBD) verileri de çok büyük hacimlere sahiptir. Örneğin, Amerika Bureau of Census veritabanı, 19 Gigabayt boyutundadır [Thomasi and Guibas, 1994][Koudas et al., 1996]. Đnternet günümüz bilgi işleme ve iletişimi alanındaki gelişmelerin gözle görülür en güzel örneğidir. Çok değil, sadece beş-on yıl öncesinde, internet uygulamalarının bu 22 kadar yaygınlaşacağı ve masamızın önünde oturduğumuz yerden dünya üzerindeki bir çok merkezdeki bilgilere ulaşabileceğimizi hayal etmek bile oldukça güçtü. Fakat hemen hemen herkesin internette kaybolmakla ile ilgili bir deneyimi vardır. Birçok kişi var olduğunu bilmesine rağmen istediği bilgiye kolaylıkla ulaşamamakta veya çok kolay bir şekilde internette kaybolabilmektedir. Đnternetin sağladığı bu veri yığınları arasında kaybolma veya kolaylıkla ulaşılamama sorunu, insanların ya isteğinin azalması ya da kolaylıkla kafalarının karışmasıyla sonuçlanmaktadır. Birçok kişi bu karşılaşılan durumu bilgi patlaması olarak değerlendirebilirler. Aslında bu yaşanan bir veri patlamasıdır. Eğer veri hacmi çok büyük ise insanın algılama yeteneği ve verimliliği düşer. Çoklu ortam verilerini istediğimiz zamanda tekrar geri getirebilecek düzenlemeler yapamadığımız takdirde, bu veri patlamasının üstesinden gelebilmemiz mümkün değildir [Jain, 1995]. 1.3 Pasif Katılım Son yıllarda, resimler üzerinde işlem yapan çok çeşitli veri tabanı yönetim sistemleri geliştirilmiştir. Geleneksel veri tabanı yönetim sistemleri üç temel veri modeline dayanırlar (sıradüzensel, ağ, ve ilişkisel). Aslında bu veri tabanları genel olarak iş uygulamalarını çözümlemek üzere geliştirilmişlerdir ve işledikleri veriler genellikle biçimli (formated) veriler olarak anılırlar. Biçimsiz (unformated veya free format) veriler ise, genellikle bir dizi (string) olarak temsil edilir ve yapıları bu geleneksel veritabanları tarafından anlaşılamazlar. Bu biçimsiz veriler aynı zamanda, bayt, string, BLOB (BLOB=Binary Large Objects) olarak bilinirler. Veri tabanlarındaki bu sahalarda genellikle resimler ve diğer çoklu ortam verileri saklanır. Bunlar üzerinde yapılacak olan sorgular ise söz konusu sahalar ile ilişkilendirilmiş anahtar sözcükler veya diğer sahalar üzerinden gerçekleştirilmektedirler. Bu tür dizgeler gerçek bir çoklu ortam dizgesi olarak tanımlanamazlar [Ghafoor, 1995]. Çünkü, bu tür dizgelerde çoklu ortam verileri veritabanının pasif bir üyesidirler. Sorgulama ve erişim gibi temel veritabanı işlemlerine aktif katılım hakları yoktur. Ne erişim, ne dizinleme ve ne de arama işlemlerinde doğrudan kullanılamazlar. Bu dizgelerin tek katkısı çoklu ortam verilerinin BLOB olarak veri tabanınında saklanmasını sağlamaktan başka birşey 23 değildir. Gerçek bir ÇBD’de her türlü verinin yönetime doğrudan veya dolaylı katılma hakları olmalıdır. Resimler üzerinde işlem yaptığını belirten bir çok ticari dizge aslında sorguları doğrudan resimler üzerinden değil de, resim sahaları ile ilişkilendirilmiş olan anahtar sözcükler ve metin sahaları üzerinden gerçekleştirmektedir [Niblack et al.,1993]. Örneğin, Kodak Picture Exchange projesi, 17 fotoğraf evine ait yüzbinlerce resmin bulunduğu online bir veri tabanıdır [Benson, 1994]. Her bir resim veya resmin içerisindeki nesneler bir metin sahası ile ilişkilendirilmiştir. Bir kullanıcı sorgusu ise, mantıksal olarak birleştirilmiş anahtar sözcükler sorgusu olarak gerçekleştirilmektedir. Maalesef, resim sorgulamalarında metinsel sorguların kullanılmasının sayısız problemleri vardır [Flickner et al., 1995]. Herşeyden önce bir resme metinsel tanımlamaların iliştirilmesi elle yapıldığı için son derece zaman alıcı ve emek yoğun bir çalışmadır. Dolayısı ile, yapılan işlemler bu işi gerçekleştiren kişiye sıkı sıkıya bağımlıdır. Çoğu kere bazı özelliklerin metinsel olarak tanımlanmaları olanaksızdır [Flickner et al., 1995]. Örneğin, şekillerin ve dokuların metinlerle tanımlanması hemen hemen imkansızdır. Bu tür yöntemlerin daha birçok birçok zayıf tarafı vardır. 1.4 Aktif Katılım Bir ÇBD’de temel amaç bütün nesnelerin her türlü veri tabanı işlemine aktif olarak katılımı sağlamaktır. Araştırmacılar bunu sağlamak için Đçerik-Tabanlı-Erişim (ĐTEContent Based Retrieval) kavramını ortaya atmışlardır. ĐTE, herhangi bir sorgulama sürecinde, sorgu ile veritabanındaki nesnelerin karşılaştırılmalarında nesnelerle ilişkilendirilmiş sahalarının kullanılması yerine, doğrudan nesnenin kendi özelliklerinin kullanılmasına dayanan bir yöntemdir. ĐTE çok farklı anlamlarda kullanılmaktadır. Hernekadar ĐTE kavramı bilgisayar görme (computer vision) araştırıcıları tarafından ortaya atılan yeni bir kavram gibi gösterilmiş olsa da, aslında çok yeni bir kavram değildir. Çünkü ĐTE, 20-30 yıldan daha fazla süreden beri veri tabanı araştırmacıları tarafından kullanılan Özellik Tabanlı Erişiminden ( feature based retrieval) çok farklı bir şey değildir [Narasimhalu, 1995]. 24 Son yıllarda, ĐTE birçok araştırmacı için güncel bir araştırma konusudur. Konu ile ilgili bir çok dergi özel sayılar yayınlamışlardır. Birçok üniversite ve ticari kurumların araştırma bölümleri konu ile ilgili araştırma grupları kurmuşlardır. Örneğin IBM QBIC (Query By Image Content) adı verilen bir proje yürütmekte [Niblack et al., 1993] ürünler vermektedirler. Đçerik tabanlı erişim araştırmaları iki farklı yönde ilerlemektedir. Birinci grup çalışmaların ana felsefesi, resim içeriğinin otomatik/yarı otomatik veya elle çıkartılarak geleneksel veritabanlarında modellenmesine dayanır. Sorgular da bu çıkartılan özellikler kullanılarak belirtilir. Çoklu ortam nesnelerinin bu özellik-tabanlı gösterimleri üst düzeyli bir soyutlamaya karşılık gelir. Bu yaklaşım veritabanı araştırmacıları tarafından önerilmiştir. Đkinci yaklaşım ise, özellik-tabanlı yaklaşımın eksikliklerini gidermek amacıyla tümleşik bir özellik çıkarımı ve nesne-tanıma altdizgelerinin kullanımına dayalı yöntemler bütünüdür. Bu altdizgeler, veritabanının oluşturulması aşamasında özellik-çıkarımı ve nesne-tanıma işlemlerini otomatikleştirir. Nevar ki, nesne-tanıma süreci hesaplanma açısından son derece pahalı, zor ve alana bağımlıdır. Bu yaklaşım öncelikle resim-algılama araştırıcıları tarafından önerilmiştir [Gudivada and Raghavan, 1995]. 1.5 Geleneksel Veri Tabanlarının Yetersizlikleri Çoklu ortam veritabanı dizgeleri, geniş bir çeşitliliğe dağılan verilerin tümleşik bir çerçeve içerisinde birleştirilmesini sağlamaya çalışır. Bu tür veriler saklanmasında farklı yöntemlere gereksinim duyulur. Verilerin gösterimlerinin farklı standartlara sahip olması ise bu bütünleştirme işlemini güçleştirir. Bu bağlamda, geleneksel veri tabanı yönetim dizgelerinin heterojen çoklu-ortam veritabanlarındaki çoklu ortam verilerini modellemekte yetersiz kaldıkları söylenebilir. Çeşitli veri tiplerinin anlam tabanlı birleşimleri çok sayıda çoklu ortam uygulamasının kullanımını gerektirir. Đlişkisel model çoklu ortam verilerinin hatalı yorumlanmasına ve anlamlarını yitirilmesine neden olabilir. Şema birleştirimi ile metinsel bütünleştirmenin problemleri giderip 25 gideremeyeceği konusunda bir tartışma sürmektedir. Tüm bu çözüm ailesi, içsel ve dışsal şema tümleştirilmesi önerilerini içerir. Herbir çözümün ayrı ayrı güçlü ve eksik oldukları yönler mevcuttur. Her nekadar, bazı ilişkisel veri tabanı ürünleri çoklu ortam verilerini BLOB’lar olarak saklayabiliyor olsalar da, her bir nesnenin belirli bir kısmına erişime izin vermemekte ve belirli bir BLOB’u kendi içerisinde bir bütün olarak değerlendirmektedir [Gudivada and Raghavan, 1995]. Đlişkisel modelin aynı zamanda video ve ses gibi zaman bağımlı verilerin modellenmesinde de eksiklikleri mevcuttur [Gudivada and Raghavan, 1995]. Bu tür verilerin temel özellikleri bünyelerinde konumsal/zamansal anlamların ilişkilendirilmesidir. Bu özellik metin ve resim gibi zamana bağımlı olmayan (non-temporal) verilerden farklılıklarını göstermektedir. Bir kullanıcı hem konumsal hem de zamansal kavramlar ile sorgu oluşturabilir. Bu önemli anlam çeşitliliği kullanıcının hem veriyi hem de bilginin kullanımı ile ilgilidir. Anlam çeşitliliği geleneksel veritabanları için de önemli bir problemdir ve bugün bile açıklıkla ortaya konulamamıştır. Nesne yönelimli veri modeli teknolojisi ise, çoklu ortam verilerinin gereksinimlerini karşılama ve anlam modellemesi için güçlü yeteneklere sahiptir. Nesne yönelimli modelin veri ve hesaplama kapsülleştirilme özelliği çoklu ortam veri tabanlarında farklı seviyelerde bilgi soyutlaması bakımından şık yeteneklere sahiptir. Bir çok araştırmacı nesne yönelimli veri tabanlarının çoklu ortam veri tabanı olarak kullanılmasını önermişlerdir. [Löhr and Rakow, 1995][Chen et al., 1995][Özsu et al., 1995]. 1.6 Problem Her geçen gün çoklu ortam alanında çalışan araştırmacı sayısı artmakta ve çeşitli yöntemler önerilmekteyse de, her duruma uyabilen ve tüm gereksinimleri karşılayabilen bir model henüz geliştirilememiştir. Şimdiye kadar gerçekleştirilen çoklu ortam bilişim dizgeleri, gerçek dünyada karşılaştığımız veri tiplerinin sadece belirli bir kesimi 26 üzerinde yoğunlaşan dizgelerdir. Bir başka deyişle, mevcut dizgeler gerçek dünyayı modellemekten uzaktır. Bu nedenle bilişim endüstrisi çok acil olarak içerisinde her tür verinin işlendiği çoklu ortam bilişim dizgelerine gereksinim duymaktadır. Bazı çalışmalar ise, teorik boyutta kalmış olup uygulamaları son derece zor görünmektedir. Sonuç olarak, her duruma uyabilen jenerik bir model ortaya atılamamıştır. Çoklu ortam verilerinin modellenmesi çözüm bekleyen en temel problemlerden bir tanesidir. Çoklu ortam alanındaki bir diğer önemli problem ise verilerin özellikleri nedeni ile özel dizinleme yöntemlerine olan gereksinimdir. Dizinleme yöntemleri verilere hızlı ve doğrudan erişim sağlaması açısından son derece önemlidir. Fakat, geleneksel veritabanlarında kullanılan dizinleme yöntemlerinin bir çoğu çoklu ortam erişimi için uygun değildir. Bugüne kadar çoklu ortam verilerinin dizinlenmesi için birçok değişik yöntemler geliştirilmiş olmasına rağmen, yöntemler birbirlerinden farklı heterojen türdeki verilerin dizinlenebilmesi için uygun değildir. Bu nedenle çoklu ortam alanında çözüm bekleyen bir diğer önemli problem ise çoklu ortam verilerinin dizinlenmesine uygun dizinleme yöntemlerinin geliştirilmesidir. ÇBD'lerin başarımlarını etkileyen iki temel donanım darboğazı bulunmaktadır. Bunlar, Giriş/Çıkış (G/Ç, I/O=Input/Output) ve Merkezi Đşlem Birimi (MĐB, CPU=Central Processing Unit) darboğazlarıdır. Genel olarak çoklu ortam işleme alanında ortaya atılacak tüm önerilerin öncelikle bu tür darboğazları aşabilecek yeteneklere sahip olmaları beklenir. Bu iki darboğaza ilişkin olarak akla ilk gelen çözüm yolu, çoklu ortam veri işlemede koşut bilgisayar mimarilerinden yararlanmaktır. 1.7 Amaç Bu çalışmanın amacı, ÇBD’lerinin karşılaştığı iki temel darboğazı ortadan kaldırmaya da yardımcı olabilecek jenerik bir yöntemin geliştirilmesidir. Bu amaçla, bu tez çalışmasında farklı veri türlerinini dizinlenmesine olanak veren ve Konumsal Izgara Dosyası (KID) olarak adlandırılan bir dizinleme yöntemi geliştirilmiştir. KID yapısının en genel özelliği farklı şekillerdeki verilerin dizinlenmesindeki yeteneğidir. Bir diğer 27 özelliği ise KID yapısının koşut bilgisayarlar üzerindeki uygulamaya olan uygunluğudur. Koşut bilgisayarlar üzerindeki uygulama ile G/Ç ve MĐB gibi çoklu ortam veri işleme sürecinin iki temel darboğazını giderilmesi amaçlanmaktadır. 1.8 Tez Organizasyonu Tezin bundan sonraki bölümleri şu şekilde düzenlenmiştir; Đkinci bölümde, çoklu ortam verilerinin genel özelliklerini tanıtılarak şimdiye kadar yapılan çalışmaların ışığında çoklu ortam verilerinin özellikleri için bu tez kapsamında geliştirilen sınıflama tanıtılmıştır. Üçüncü bölüm de ise, ÇBD’lerin genel özellikleri incelenerek ayrıntıları ile anlatılarak ve bugüne kadar geliştirilen dizgelerden örnekler verilerek mevcut teknolojinin fotoğrafı çekilmeye çalışılmaktadır. Ayrıca, ÇBD'lerin desteklemeleri gereken sorgulama yöntemlerine ait bu çalışma içersinde geliştirilen sınıflama sunulmuştur. Dördüncü bölümde, ÇBD için önermiş olduğumuz genel bir çoklu ortam dizge modeli tanıtılmaktadır. Model iki seviyeli bir veri ve sorgulama modeline sahip olup, mümkün olduğunca alan bağımsız olarak tasarlanmaya çalışılmıştır. Yapı, formal olarak tanımlanmış ve örnek senaryolar ile açıklanmıştır. Beşinci bölümde, çoklu ortam veri temsil şekilleri ve çoklu ortam dizinlemesi için önerilmiş olan mevcut yapıların incelemesinden elde edilen bulgular tartışılmıştır. Altıncı bölümde ise, bu tez kapsamında geliştirilen ve çoklu ortam verilerinin dizinlenmelerine büyük katkılar sağlayan Konumsal Izgara Dosyaları (KID) tanıtılarak tartışılmış ve formal tanımlaması sunulmuştur. Yedinci bölümde, koşut erişim konusunda şimdiye kadar yapılan çalışmalar incelenip mevcut proplemler kısaca tanıtıldıktansonra, bu problemlere ait çözüm önerilerimiz tanıtılmıştır. Sekizinci bölüm de ise, önerilen dizgenin sentetik veriler ile denenmesi amacıyla tek ve koşut bilgisayar mimarileri üzerinde gerçekleştirdiğimiz deneylerin sonuçları sunulmuştur. Dokuzuncu bölümde yapılan çalışmalarda elde edilen sonuçlar özetlenmekte ve gelecekte yapılabilecek çalışmalar tartışılmaktadır. 28 2. ÇOKLU ORTAM NESNELERĐ Bir bilişim dizgesini anlamak için öncelikle, o dizgenin işleyeceği temel veri tiplerinin anlaşılmış olması gerekmektedir. Bu nedenle bu bölümde, bir Çoklu ortam Bilişim Dizgesinde (ÇBD) karşılaşılabilecek farklı veri tipleri ve bu veri tiplerinin genel özelliklerinin açıklıkla ortaya koyulabilmesi amacıyla, şimdiye kadar bu alanda yapılan araştırmalar üzerinde yapılan inceleme sonuçları yer almaktadır. Ayrıca, bu ayrıntılı inceleme sonunda elde edilen bulgular sentezlenerek, çoklu ortam verilerinin tanımlanması ve dizinlemesinde temel olan öznitelikler için bu çalışma kapsamında geliştirilen sınıflama yöntemi de tanıtılmıştır. Bir önceki bölümde de değinildiği gibi, çoklu-ortam verilerinin genel özellikleri heterojen bir yapıda olmaları ve her bir türün farklı şekillerde temsil edilmesidir. Bir ÇBD içerisinde karşılaşılabilecek bir çoklu ortam verisi tezin bu noktasından itibaren Çoklu Ortam Nesnesi (ÇON) olarak adlandırılacaktır. 2.1 Çoklu Ortam Nesnelerinin (ÇON) Genel Özellikleri ÇON'ların genel özellikleri modellemeden dizinlemeye kadar yapılacak her türlü çalışmayı yakından ilgilendirmektedir. Bu özellikler ÇON'ların doğasından kaynaklanan genel özelliklerdir ve aşağıda açıklanmıştır • ÇON’lar karmaşık nesnelerdir ve tanımlanmaları güçtür. Bu nedenle, gerek veritabanlarına eklenmeleri ve gerekse sorguların hazırlanması aşamasında, büyük bir olasıkla, tam olarak temsil edilemezler [Wu et al., 1995]. • ÇON’lar mevcut bilgisayar teknolojisi ile, sınırları çok iyi belirlenmiş alanlar dışında, otomatik olarak sınıflanamaz, algılanamaz veya tanınlanamazlar. Bu nedenle, bu tür işlemlerin yapılmasında, insan aracılığı 29 kaçınılmazdır ve genellikle ya elle ya da yarı otomatik olarak bilgisayar yardımı ile yapılabilirler [Wu et al., 1995]. • ÇON’lar doğaları gereği görsel ve işitseldirler. Bu nedenle birden çok tanımlamaları olabilir. Aynı veriden farklı, bazen çakışan bilgiler çıkartılmış olabilir [Wu et al., 1995]. Bir ÇON’dan çıkartılan bilgi, doğrudan verinin içeriğine bağlı olduğu kadar aynı zamanda o bilginin çıkartılmasına aracılık eden kişiye de sıkı sıkıya bağlıdır. • ÇON’lar durum-duyarlıdırlar (context-sensitive) ve çoğu kere öznel ve bulanık tanımlamalar içerirler. Farklı durumlarda, aynı nesne bile farklı ifadelerle tanımlanabilir. • ÇON’lar çok-boyutludurlar. Sıradüzensel olarak yapılandırılabilirler ve iç-içe geçmiş ilişkileri de olabilir. Bir ÇON içerisinde birden çok alt-nesneler bulunabilir ve bunlar birden çok ve farklı özellikler barındırabilirler. Örneğin, bir resimdeki renk, doku, şekil ve benzeri niteliklerin hepsi resmi tanımlamada kullanılabilecek özelliklerdir. Tanımlanabilmeleri için genellikle insan beyninin yapısına benzeyen yapay us mekanizmalarına gereksinim duyarlar. ÇON’lar belirli bir ölçek üzerinde sıralanamazlar. Bu nedenle özel dizinleme yapılarına ve modellere gereksinim duyarlar. • ÇON’ların hacimleri çok büyüktür. Örnek olarak 1024x1024 pixel boyutunda ve 24 bit/pixel duyarlılığında bir resim 3 MB depolama alanını gerektirir. 10:1’lik sıkıştırma oranına sahip sıkıştırma algoritmalarının kullanılmasıyla aynı resim 300 KB’lık bir alanda saklanabilir. Saniyede 30 çerçeve içeren 5 dakikalık bir video kaydı, sıkıştırılmamış halde bir saniye için 90 MB, bir dakika için 5400 MB ve beş dakika için 27000 MB (27 GB)’lık bir depolama alanı gerektirir. Daha iyi bir sıkıştırma oranına (100:1) sahip algoritmaların kullanılmasıyla yüksek çözünürlükteki bir video verisi ancak 270 MBlık bir alanda saklanabilir . 30 • ÇON’lar gecikme-duyarlı (delay-sensitive) nesnelerdir. Özellikle ses ve video gibi zaman boyutuna sahip temel ÇON türleri, sunumda belirli bir zaman dilimi içerisinde belirli sayıdaki birim nesneyi işlemek zorundadır. Bir birim işlem herbir bileşenin bir işlemden geçirilmesi, ağ üzerinde bir noktadan diğerine iletimi veya kullanıcıya sunulması anlamına gelebilir. 2.2 Çoklu-Ortam Veri Tipleri Önceki bölümde belirtilen özellikler ÇON’ların genel özellikleridir ve genel olarak ÇBD’lerin niçin geleneksel bilişim dizgelerinden farklılıklar içerdiğini açıklanmasına yardımcı olur. Bir ÇBD içerisinde karşılaşılabilecek temel veri tipleri şunlardır: • Metin: Metin belgeleri kitap, bölüm veya paragraf halinde şekillendirilmemiş metin blokları halinde olabilirler. Her bir belge, o belgeyi veritabanı içerisinde en iyi temsil edilebilecek olan anahtar sözcüklerle temsil edilir. Anahtar sözcüklerin seçimi elle yapılabileceği gibi otomatik olarak da yapılabilir. Otomatik olarak anahtar sözcüklerin oluşturulması kabaca şu aşamaları içerir: Öncelikle belgelerde geçen ve dizinleme değeri bulunmayan boş sözcükler (noise words) ayıklanır. Daha sonra veri tabanındaki belgelerde geçen sözcükler ön ve son eklerinden arındırılarak, köklerine ayrıştırılır. Daha sonra, herbir kökün veritabanındaki belgelerde kullanılma frekanslarına bakılır. Düşük ve yüksek frekanslara sahip kökler normalize edilerek dizinlemede esas alınacak anahtar sözcük listesi hazırlanır. Metin üzerinde yapılacak işlemler diğer çoklu ortam veri tiplerinde görünmeyen bir özelliğe sahiptir. Diğer veri tipleri ulusal karakterde değil iken, metin üzerinde yapılacak olan işlemler yoğun olarak ulus-bağımlı bir süreçtir ve doğal-dil işleme (natural language processing) alanı ile yoğun ilişki halindedir. • Grafikler: Grafikler çeşitli formatlarda yapılmış olan çizimlere karşılık gelir. Grafikler DWG, PICT, PDF, PostScript ve benzeri formatlarda olabilir. Bu tür veriler belirli bir yapı halinde veri tabanında saklanabilir ve çizgi, daire, 31 kare gibi meta-verilerle kolaylıkla sorgulanabilir. Kuşkusuz, şekiller basit bir tip olarak ele alınamazlar ve özel sorgulama kriterlerine gereksinim duyarlar. Örneğin, birçok bileşenden oluşan sandelye çizimi, kolaylıkla sorgulanamaz ve çeşitli soyutlama seviyelerinde üst düzey gösterim şekillerine gereksinim duyar. • Görüntü: Bu başlık altında sayısallaştırılmış resim veya fotoğraflar ifade edilmek istenmektedir. Bir görüntü, farklı şekillerde kodlanmış olabilir. JPEG, TIFF, BMP ve GIF çok bilinen resim kodlama tekniklerine örnek olarak verilebilir. Her nekadar bazı kodlama teknikleri resmin bilgisayarda saklanan boyutunu küçültebilmek için özel sıkıştırma yöntemleri kullanıyor olsalar da, bir resim pixel-pixel bir matris olarak temsil edilir ve içerisinde çizgi, şekil, çerçeve, doku gibi bileşenler içermezler. Görüntü işleme araştırıcılarının temel araştırma konuları ÇBD'ler için de son derece önemlidir ve ÇBD içerisinde yer alan bir çok araç görüntü işleme alanındaki bu teknikleri kullanır. • Animasyon: Bir animasyon, grafik veya görüntülerin belirli bir zaman dilimi içerisinde ardarda sıralanmış şeklidir. Görüntü ve grafikler bağımsız olarak inşa ve organize edilebilirler. Basit görüntülerin tersine, animasyonların belirli bir zaman dilimi içerisinde belirli bir sayıdaki resmi arayıp getirmesi ve sunumda aktif resmi bir sonraki resim ile belirli bir süre içerisinde değiştirmesi gerekmektedir. Çeşitli animasyon kodlama tekniklerinde bu süre farklı olmakla birlikte, genellikle saniyede 2 resimden 30 resime kadar değişebilmektedir. • Video: Video belirli bir zaman dilimi içerisinde sıralanmış fotoğraf verileridir. Video verisi genellikle sayısal-video-kaydedici adı verilen cihazlar tarafından kaydedilen gerçek yaşam kayıtlarıdır. Veri, çerçeve adı verilen birimlere bölünmüştür. Her bir çerçeve, tek bir fotoğraf verisini içerir ve bir video verisinde genellikle saniyede gösterilmesi gereken 24 ile 30 çerçeve bulunur. • Yapısal Ses: Animasyonlardaki yapıya benzer olarak, bu veriler de belirli bir zaman dilimi içerisinde herbiri bağımsız ses bileşenlerini içerir. Bu 32 bileşenlerin herbiri kendi başlarına da kullanılabilen nota, ton veya es verileridir. Bu verilerdeki seslerin dinlenmesi ise genellikle yaratılma zamanında belirlenmiş olan hızlarına göre belirlenen zaman içerisinde ses bileşenlerinin icra edilmesiyle sağlanır (örneğin; 1/8’lik nota gibi) [Pazandak, 1996]. • Ses (Audio): Ses, gerçek hayattan kaydedilmiş bir dizi sıralanmış veriyi ifade eder. Ses verisi de bir zaman dilimi içerisinde örnek (sample) adı verilen sıralı birimlere ayrılmıştır [Pazandak, 1996] ve kayıt sırasında belirlenen ve tekrar dinlenebilmesi için insan kulağının ayırt edemeyeceği bir hızda sunulması gereken verilerdir. • Karma Tipler: Karma veri tipleri, diğer temel çoklu ortam veri tiplerinin veya karma tiplerin birleşiminden oluşur. Herbir veri yeni bir tip elde etmek için fiziksel veya mantıksal olarak karıştırılmış olabilir. Fiziksel karışım yeni bir saklama ve işleme şeklini beraberinde getirebilir. Örneğin ses ve video iç-içe karıştırılmış olabilir. Artık, bu, verinin işlenmesi için yeni tip özgü yöntemlerin kullanılması gerekir. Mantıksal karışım ise, karışımı oluşturan herbir bağımsız verinin formatında değişim meydana getirmeden yeni bir tip elde edilmesidir. Örneğin, yeni bir tip olan AV (Audio-Video), herbirisi birbirinden ayrık iki veri tipinin karışımıdır. Burada bağımsız verilerin yapısında değişim meydana getirilmemiştir. Verinin yeniden gösterilmesinde ise bu iki veri tipi ayrı ayrı olmak üzere senkronize bir biçimde kullanıcıya sunulur veya iletilirler. Bunun yanında, karma veriler aynı zamanda kullanıcıya verinin nasıl sunulacağı konusunda bazı ilave bilgiler de içerebilirler. • Sunum: Sunumlar da karma veri tipleridir ve aynı zamanda yapısında sunum için gerekli orkestrasyon bilgileri içerirler. Orkestrasyon basit olarak zamanlama sırası olabilir. Örneğin; video1’i oynat, sonra video2’yi ve benzeri gibi. Bazen sunum bilgileri kullanıcıyla etkileşimi de içerecek şekilde daha karmaşık bilgileri de barındırabilir. Sunum verilerini hazırlamak için çok özel uygulamalar (MS Power Point, vb) kullanılabileceği gibi, özel bir dil de kullanılabilir. Internet’de yaygın olarak kullanılan Hyper Text Markup 33 Language (HTML) bu yapıya uygun bir sunum diline örnek olarak verilebilir. [Pazandak et al., 1995]. 2.3 Çoklu Ortam Öznitelikleri Bir ÇON’u tanımlamak için birden çok ve birbirinden oldukça farklı özelliklerin olması ÇON’ların en belirgin ve en önemli genel özellikleri arasındadır. Çünkü, bu özellikler verilerin veri tabanına eklenmesi ve tekrar geri getirilmesi süreçlerinde kullanılan özniteliklerdir. Bu öznitelikler üzerinde bir oydaşma sağlanamamış, benzer kavramlar farklı deyimlerle tanımlanmış ve bazen de farklı çalışmalarda aynı terimler farklı anlamlarda kullanılmıştır. Bu nedenle, hem kullanılacak olan terminolojiyi açıklıkla ortaya koymak hem de anlaşılırlığı kolaylaştırmak için bu bölümde çoklu ortam öznitelikleri konusunda bir sınıflama yapılmaya çalışılmıştır. Çoklu verilerinin özniteliklerine ait sınıflama Şekil-2.1’de gösterilmiştir. Buna göre, çoklu ortam verileri genel olarak öznel ve nesnel olmak üzere iki temel grupta incelenmiş ve detayları aşağıdaki bölümlerde açıklanmıştır. 2.3.1 Nesnel Öznitelikler Nesnel öznitelikler alandan alana değişim göstermeyen ve uygulamaya bağımlı olmayan özniteliklerdir. Bu tür öznitelikler [Gudivada et al., 1995] tarafından, küçük farklılıklarla, meta-öznitelikler olarak tanımlanmışlardır. Nesnel öznitelikler insan algılamasına veya yardımına gerek olmadan çıkartılabilen, ya çoklu ortam verisinin kendi dışından gelen ya da insanın aracılığına gerek kalmaksızın otomatik olarak ÇON’un içerisinden ayıklanabilen özellikleri temsil ederler. Bu tür öznitelikler, nereden çıkartıldıklarına göre içsel ve dışsal öznitelikler olarak iki alt gruba ayrılmıştır. 34 Çokluortam öznitelikleri Nesnel öznitelikler Dışsal öznitelikler Đçsel öznitelikler Öznel öznitelikler Kavramsal öznitelikler Yorumsal öznitelikler Şekil-2.1: Çoklu ortam öznitelikleri 2.3.1.1Dışsal Öznitelikler Bu tür öznitelikler ÇON dışından ve verinin içeriğine bakılmadan elde edildikleri için dışsal öznitelikler olarak adlandırılmışlardır. Bu tür öznitelikler, örnek olarak, bir resim nesnesinin elde ediliş tarihi, numarası, resmi çeken kişinin adı, resmin boyutları ve saklama formatları gibi bilgileri içerir. Bir ÇBD bu tür öznitelik değerlerinin elde edilmesi için insanın algılama aracılığına genellikle geresinim duymaz. Bu tür öznitelikler, genellikle alfasayısal veri türündedir ve geleneksel veri tabanı yönetim sistemlerinde kullanılan tekniklerle başarıyla işlenebilirler. Bunlar tek boyutlu uzayda bir nokta olarak temsil edilirler ve erişim yöntemleri genellikle öznitelik değerlerinin tam uyumuna göre yapılır. Tam uyum sorguları, mevcut veri tabanı yönetim teknikleriyle başarıyla yerine getirildiklerinden, bu tür öznitelikler çoklu ortam sorgulama sürecinde son derece önemli bir yere sahiptirler. Örneğin, bir resim veri tabanında, yukarıda örnek olarak verilen dışsal özniteliklerin kullanıldığını varsayalım. Uygun nesnelerin ayıklanması için bu tür öznitelikler daha ileri arama işlemlerinin gerçekleştirilmesinden önce, arama alanını daraltmak için kullanılabilirler. Örneğin, doğal dilde kullanıcı şöyle bir sorgu vermiş olabilir: “Ara Güler tarafından çekilen ve 35 GIF formatındaki Đstanbul’un günbatımı resimlerini bul”. Bu sorguda, kullanıcı tarafından belirtilmiş olan üç tane dışsal öznitelik değeri vardır. (1) resmin çekildiği yerin adı: Đstanbul, (2) resmi çeken kişi: Ara Güler, (3) resmin saklanma formatı: GIF. Đstenen nesnelerin bulunması için bu öznitelik değerleri iki açıdan son derece önemlidir. Birincisi, bu tür verilerin nasıl saklanacakları, nasıl dizinlenecekleri son derece iyi bilinen işlemlerdir ve mevcut veritabanı yönetimi teknolojisi ile başarıyla yerine getirilmektedir. Đkincisi, bu özniteliklere göre yapılacak sorgular, aşağıda anlatılacak olan ve ÇON’ların içeriğini kontrol eden diğer grup özniteliklere göre son derece kısa zamanda sonuçlandırılabilmektedir. Bu nedenlerle, bu öznitelikler diğer grup öznitelikler üzerinde yapılacak olan sorgulardan önce arama alanını daraltmak için başarıyla kullanılabilirler. 2.3.1.2 Đçsel Öznitelikler Bu tür öznitelikler de nesnel özniteliklerdir fakat, insan algılamasına mümkün olduğunca az gereksinim duyularak veya hiç gereksinim duyulmadan elde edilen ve doğrudan ÇON içeriğini temsil eden özniteliklerdir. Bu tür öznitelikler özellik vektörü (feature vector) adı verilen vektörlerle temsil edilirler. Bütün ÇBD’ler bu tür verileri ÇON’lar içerisinden çıkartabilecek araçlara ve bu öznitelikler üzerinde temel işlemleri gerçekleştirebilme yeteneğine sahip olmalıdırlar. Bu tür öznitelik verilerine örnek olarak, bir resimin genel veya kısmi renk histogramları, doku matrisleri, şekil bilgileri, bir sesdeki ardışık diziler veya bir dokümanı temsil eden dizinleme terimleri vektörü verilebilir. Bu tür özniteliklerin iki temel özelliği vardır: (1) nesnellikleri ve (2) ÇON içeriğini temsil etme yetenekleri. Birinci özellik bu özniteliklerin ÇBD’nin bir bileşeni tarafından doğrudan ÇON kullanılarak, insan aracılığı olmadan elde edilmesidir. Bu tür özniteliklerin otomatik olarak elde edilmeleri bir zorunluluktur. Çünkü, eğer insan aracılığı ile edilir ise, aynı insan bile aynı nesneye farklı zamanlarda farklı değerler verebileceğinden nesnellik özellikleri bozulabilir. Örneğin, bir resim için renk histogramının bir program tarafından otomatik olarak hazırlandığını varsayalım. 36 Programın aynı ÇON’dan daima aynı histogramı çıkartacağı açıktır. Aynı prensip metin belgeleri için otomatik anahtar sözcük hazırlama süreci için de geçerlidir. Bu içsel özniteliklerin nesnelliğini oluşturur. Đkinci temel özellik bu özniteliklerin içerik tabanlı erişim için son derce önemli olan doğrudan ÇON üzerinden elde edilmiş bilgileri barındırıyor olmalarıdır. Bu tür verilerin elle elde edilmeleri hemen hemen olanaksızdır ve bilgisayarlar için bile oldukça yoğun zaman harcatan uygulamalardır. Genellikle, içsel öznitelikler ÇON’ların veritabanına eklenmesinden önce bilgisayar tarafından şeçilirler. Sorgu sırasında ise uygun arayüzlerin kullanımı ile bu öznitelik değerleri kullanıcı tarafından verilirler. Hernekadar farklı teknikler aynı tipteki içsel öznitelikler için farklı değerler üretebiliyor olsalar da, ÇON veritabanına eklenirken ve sorgulanırken aynı teknik kullanıldığı için, nesnellik özelliği bozulmaz. Fakat insan aracılığı devreye girdiğinde problem başlar. ÇON’ların genel özelliklerinde anlatıldığı gibi, farklı kişiler, hatta bazen aynı kişi bile, farklı zamanlarda aynı nesneyi tanımlamak için farklı veya çakışan yorumlar yapabilmektedir. Aynı resme bakan bir kişi, eğer moda tasarımcısı ise, resimlerdeki insanların giysileri ile, eğer bir dekoratör ise, podyumun dekorasyonu ile ilgilenmesi gayet doğaldır. Eğer içerik tabanlı bilginin elde edilmesi insan yorumuna bağımlı ise, bu eylem normalde veritabanına eklenmesi ve sorguların hazırlanması aşaması olmak üzere en az iki kez yapılacaktır. Bu iki yorumun farklı olma olasılığı oldukça yüksektir. Bu varsayım belki sınırları ve kapsamı son derece iyi belirlenmiş uygulamalar için geçerli olamamakla birlikte insanların hata yapma olasılıkları makinalarınkine göre çok daha fazla olacağı için, geçerli varsayılabilir. Şurası kesindir ki, alan-bağımsız bir ÇBD uygulaması ancak her içerik tabanlı özelliğin nesnel öznitelikler sınıfında yer alması ile mümkündür. Maalesef, günümüz bilgisayar tanıma teknolojisi, iyi tanımlanmış ve dar kapsamlı alanlar dışında, son derece kısıtlı olanaklara sahiptir. Đnsan aracılığına bağımlı öznitelikler dikkatli kullanılmalıdırlar. 37 Đçsel öznitelikleri dışsal özniteliklerden ayıran bir diğer önemli özellik ise, çok-boyutlu olmaları ve genellikle bir vektör ile temsil edilmeleri nedeniyle, geleneksel dizinleme yöntemlerinin kullanılamamalarıdır. Bu tür öznitelik değerleri, Konumsal Erişim Yöntemleri (KEY) adı verilen özel dizinleme yöntemlerine gereksinim duyarlar. KEY’ler üzerine ayrıntılı bilgiler beşinci bölümde verilecektir. 2.3.2 Öznel Öznitelikler Bu tür öznitelikler, elde edilmelerinde insan algılama gücünden yararlanılması gereken özniteliklerdir. ÇON’ların genel özelliklerinde de belirtildiği gibi, ÇON’ların farklı tanımlamaları olabilir. Bu tanımlamalarda kullanılan yöntemlere göre öznel öznitelikler iki alt grupta incelenmişlerdir. 2.3.2.1 Yorumlama Öznitelikleri Bu tür öznitelik değerleri doğrudan insan yorumuna bağlıdır. Çoklu ortam verilerini dizinlemenin en yaygın yolu, herbir ÇON'a metinsel açıklamaların verilmesidir. Bazı araştırmacılar bu tür öznitelikler için metinsel meta-veri deyimini kullanmışlardır. Kolaylıkla farkedilebilecği gibi, metinsel tanımlamalar insan yorumuna doğrudan gereksinim duyarlar ve farklı insanlar farklı yorumlar yapabileceği için, özneldirler. Bu yorumlar herhangi bir formda olabilirler ve metin bulma (text retrieval) teknikleri kolaylıkla bu tür öznitelikler için kullanılabilir. Fakat, sorgulama süreci sonunda elde edilen ÇON’ların kullanıcı sorgusuna mutlak benzerlik göstereceği kesin değildir. Bu nedenle, değişik sorgu sınıfları içeren karmaşık bir sorguda, bu tür özniteliklerin ağırlıkları yüksek olmamalıdır. Diğer önemli bir konu ise metinsel tanımlamaların, içsel öznitelikler gibi özniteliklerle desteklenmediği sürece önemli olmadığıdır. Fakat, uygulanmaları son derece kolaydır ve mevcut veri tabanı teknolojilerinde yaygınlıkla kullanılmaktadırlar. 38 Yorum öznitelikleri serbest form metin olabileceği gibi, geleneksel veritabanlarının başarıyla yerine getirdikleri nokta veriler de olabilir. Eğer durum böyle ise, nesnel öznitelikler içerisinde yer alan dışsal özniteliklere çok benzerlik gösterebilirler ve tam uyum sorguları yapılabilir. Fakat, bu tür öznitelik değerleri, yorumsal oldukları için arama alanını daraltmak amacıyla kullanılmazlar. Örneğin, bir yüz tanıma dizgesinde, her bir yüz için kaş şekillerinin yay, normal ve düz olarak önceden tanımlanmış olduğunu varsayalım. Bir kullanıcı, önüne gelen herhangi bir portrenin kaş şeklini yorumlarken, başka bir kullanıcının yay şeklinde işaretlediğini çok kolaylıkla normal olarak yorumlayabilir. Eğer kaş şekilleri arama alanını daraltmak için kullanılırsa, sonuçların ıskalama (fall-out) oranı yüksek olacaktır. Bir başka deyişle, bu tür öznitelik değerleri üzerinde, tam uyum sorgu işleme yapılabilirken sonuçlar mutlak doğru değildir. 2.3.2.2 Kavramsal Öznitelikler Buraya kadar anlatılan öznitelikler bir ÇON’u tanımlamak için yeterli değildir ve ÇON’un içeriğindeki anlamların kavramsal modeline gereksinim vardır. Kavramsal öznitelikler de ÇON’un içeriğinden çıkartılmışlardır ve alt-nesneleri ve diğer nesneler arasındaki ilişkisel bilgileri barındırırlar. Bu ilişkiler konumsal ilişkiler olduğu kadar aynı zamanda zamansal ilişkiler de olabilir. Kavramsal öznitelikler Veri Tanımlama Dilleri (VTD) veya simgesel (iconic) CASE (Computer Aided Software Engineering) araçları yardımıyla tanımlanır. Bir ÇON için kavramsal anlamların tanımlanması, günümüz teknoljisi ile maalesef hala emek yoğun bir süreçtir ve sınırlanmış alanlarda işlem yapılabilmektedir. Bu nedenle, bu öznitelikler özneldirler ve bu anlam içerisinde ele alınmalıdırlar. Bu arada bu öznitelikler aslında kavramsal modelde tanımlanmış öznitelik değerleridir ve modeldeki veriler yorumsal özniteliklerdir. Eğer bilgisayar nesne algılama teknolojileri insanın yerine getirdiği işlemleri yerine getirebilecek seviyeye gelirse, bu tür özniteliklerde içsel öznitelikler olarak algılanabileceklerdir. 39 Bu konuda önerilen kavramsal bir model dördüncü bölümde ayrıntılı olarak tartışılmıştır. 40 3. ÇOKLU ORTAM BĐLĐŞ ĐM DĐZGELERĐ (ÇBD) Bir ÇBD, çoklu-ortam nesnelerinin yaratılması, saklanması, yönetilmesi, geri getirilmesi, sunulması ve kullanılması ile ilgili işlemleri sağlayan işlevlere sahip olmalıdır. Bir çoklu ortam nesnesi (ÇON) yaratmak için veri setinin işlenmesi ve özellik değerlerinin çıkartılmış olması gerekmektedir. Çoklu ortam bilişim dizgesi bir veritabanı yönetim dizgesinin sunduğu yeteneklere ilave işlevler gerektirir. Bu nedenlerle, bir ÇBD geleneksel bilişim dizgelerine göre çok daha karmaşık bir organizasyondur. Bu alanda yapılacak bir çalışmanın başarılı olabilmesi büyük bir oranda bu karmaşık yapının ve temel gereksinimlerin ayrıntıları ile ortaya konulmuş olmasına bağlıdır. Bu bölümde öncelikle, çoklu ortam bilişim dizgelerinin genel özellikleri ve sahip olmaları gereken temel işlevler incelenerek, elde edilen bulgular sunulmuştur. Daha sonra bu bulgular sentezlenmiş ve bir ÇBD'deki sorgu biçimlerine ait bir sınıflama geliştiriltirilerek ayrıntılı olarak tartışılmıştır. Ayrıca, bu alanda yapılan çalışmalardan önemli ve özgün görülen dört taneside incelenerek mevcut durum bilimin fotoğrafı çekilmeye çalışılmıştır. 3.1 ÇBD’lerin Genel Özellikleri ÇBD’ler genellikle ÇON’ların özelliklerinden kaynaklanan bazı özel niteliklere sahiptir. Bu özellikler aşağıdaki gibi özetlenebilir: • Bir ÇBD yüksek başarımlı depolama yönetimine sahip olmalıdır, çünkü ÇON’ların boyutları çok büyük olabilmekte ve bazen birkaç gigabayta kadar çıkabilmektedir. Görüntü, video ve ses verileri çok büyük hacimlere sahiptir 41 ve depolanmalarında özel tekniklerin kullanılması gerekebilir. Bu tür büyük hacimli verilere hızlı ulaşım sağlanması başlı başına bir araştırma konusudur. • Bir ÇON’un içeriği veri, özellik, yorumlama veya kavramsal modeller ile temsil edilir. Đçerik Tabanlı Erişim (ĐTE, Content-Based Retrieval), veri tabanındaki nesnelere bu temsillerin kullanılarak erişilmesi temel ilkesine dayanır. Đçerik tabanlı sorguların işlenmesini gerçekleştiren bir dizgenin etkin olarak özellik çıkartma ve yorumlama yeteneklerine sahip olması gerekir. Bu, bir resmin anlaşılması veya konuşmanın metine dönüştürülmesi anlamına gelebilir ve tahmin edilenden daha zor ve kaynak tüketen işlemdir. • ÇBD’lerde kullanılacak dizinleme yöntemlerinin içerik-tabanlı olması ise bir diğer önemli konudur ve çözümlenmesi gereken temel problemlerin başındadır. Herşeyden önce, ÇON’ların özellik ölçütleri son derece karmaşıktır. Đkincisi ise, önerilecek dizinleme yöntemi özellik kategorileri arasında tutarlı olmalıdır. Bu, alana özel bilgi, eğitim veri setleri ve yordamları gerektirir. Üçüncü olarak, görsel listelemeyi kolaylaştırmak amacıyla herbir düğüm için ikonik resimlerin yaratılması gerekmektedir. Eğer, veri görsel değil ise, dizin ağacının düğümleri için ikonik resimlerin yaratılmasına özel dikkat gösterilmelidir. Bazı durumlarda, sadece görüntüleme amacıyla, düğümler konumsal olarak düzenlenebilir, yatay veya dikey çok-çözünürlüklü görsel listelemeler tercih edilebilir. • ÇON’ların bulunduğu veri tabanları hızlı sorgu işleme ve görsel listeleme için çok büyük olabilir. Đçerik tabanlı özellikler üzerinde sofistike dizinleme teknikleri gereklidir. Bu özellik ölçütleri farklı modlarda (sayısal vektör veya sembol) ve boyutlarda olabilir. Bu ölçütlerin karması ile kavramsal olarak geçerli indislerin yaratılmaları çok güçtür. 42 • ÇON’ları tanımlamak çok zor olduğu için, SQL benzeri bir sorgu dili ile tanımlamak çoğu kere oldukça zordur. Öncelikle, daha kullanıcı merkezli bir yaklaşımla, daha user-friendly sorgu dilleri geliştirilmesi gerekmektedir. Ayrıca, önerilecek olan sorgu işleme modelleri bulanık ve eksik sorguları da desteklemelidir. • Herhangi bir bilişim dizgesinde çoklu ortam nesnelerininin kullanılması asıl amaçtır. Fakat, ÇON’ların kullanımının planlama ve karar alma organlarına nasıl katkılar sağlayacağı konusunda çok az çalışma yapılmıştır. • Böylesi karmaşık bir dizgenin arama mekanizmasının tekrar kullanılabilir ve genişleyebilir özelliklere sahip olması ise bir diğer arzu edilen niteliktir. • Bilgisayar endüstrisindeki gelişmeler çoklu ortam çalışmalarını bilişim dizgelerinin merkezine itmiştir. Bu tür sistemlerde, veri ve bilgi kavramları birbirinden olabildiğince ayrılmalıdır. Genellikle veri ve bilgi kavramlarında hata yapılır. Verinin şekli veya tipinin gözlemi veya gerçeği elde edildiği kaynağa dayanır. Bilgi, işlem-bağımlıdır ve belirli bir bilgi birikimi kullanılarak veriden çıkartılır. Geleneksel veri tiplerinin tersine, görüntü ve video verileri kullanıcıların yönelttikleri sorgulardan çok daha farklı bir soyutlama seviyesine sahiptirler. Bilgi kaynak veya gösteriminden bağımsız olarak işin odağını oluşturmalıdır. Sorgular genellikle verilere iliştirilen anlamlar üzerinden gerçekleştirilir. Metin bulma dizgeleri de bu tür problemlerle karşı karşıya kalmışlardır, fakat ÇBD’lerde bu olay ÇON’ların heterojen doğası nedeniyle daha karmaşıktır. • ÇBD, ne bir veri tabanı yönetimi sistemi ne de bilgisayar görme dizgesidir. Hernekadar kullanılacak olan yöntem ve algoritmalar birçok disiplinin temel konuları ise de, ÇBD bu farklı ortamlardan gelen tekniklerin yoğun ve uyumlu bir şekilde kullanıldığı bir kompozisyondur. 43 Birleşik bir dizgeye olan gereksinimden ötürü, ÇBD alanında çalışma yapacak olan araştırmacılar öncelikle şu sorulara yanıt aramalıdırlar: Tipik bir ÇBD’din temel gereksinimleri nelerdir? Bu aslında problemin tanımıdır. Aslında birçok araştırmacı tarafından ortaya atılmış birçok problem mevcuttur. ÇBD alanındaki problemler donanım ve yazılım olmak üzere iki temel başlık altında incelenebilir [Kunii et.al., 1995]. Hızla gelişen bu konuda her geçen gün yeni çözümlerin kazandırılmasına rağmen çok temel olarak aşağıda donanıma ait mevcut problemler açıklanmaya çalışılmıştır. • Bilgisayarlarda çevrim içi olarak kullanılan depolama ünitelerinin kapasiteleri yeteri kadar büyük değildir. • Depolama ünitelerinden bilgi aktarım hızı, çoklu ortam gereksinimlerini karşılayacak düzeyde değildir. Aynı zamanda ÇON’ların saklanma süresi de kısadır. Aktarım hızında iyileştirmelere gereksinim vardır. • Đçerik adreslenebilir bellekler (Content addressable Memories) yararlı araçlardır, ancak çoklu ortam gereksinimlerini karşılayabilecek kadar büyük değillerdir. • Đletişim bant genişliği ise çoklu ortam uygulamaları için bir diğer donanım problemidir. Sadece bir nesnesin belirli bir zaman diliminde iletimi bile çok büyük bant genişliklerini gerektirir. Đletişim problemi, ÇON’ların gecikme-duyarlı veriler olması nedeniyle son derece önemlidir. Donanım problemleri yanında, çözüm bekleyen bir dizi yazılım problemi vardır. • Senkron olarak farklı biçimlerdeki verileri modelleyebilecek yapılara gereksinim vardır. Bu modelleri tanımlayan veritabanı şemalarının entegrasyonuna gereksinim vardır. Geri getirme aşamasında, senkronizasyon gereksinimlerini belirleyebilmek için zamana bağımlı meta-şemalara gereksinim vardır. Üst düzey bilgi soyutlamalarıyla nesne bulma algoritmalarının tasarlanması için, hypermedia veya nesne yönelimli modellere gereksinim vardır. 44 • Özellikle video, ses ve görüntü verileri için kavramsal modellere gereksinim vardır. Bu modeller anlamsal yoğunluğa sahip olmalı, ÇON’ların konumsal ve zamansal özelliklerini ifade edebilecek yeteneğe sahip olmalıdır. • Çoklu-ortam veritabanlarında arama işlemi özellikle sıkıştırılmış olarak saklanan görüntü, video ve ses verileri için hesaplama ve G/Ç açısından yoğun olabilir. Arama işlemi zaman zaman bulanık veya eksik sorgulara dayanabilir. Arama işlemini kolaylaştırmak için bazı sınıflama/kümeleme süreçlerine gereksinim vardır. • Çoklu ortama özel sorgulama dilleri/araçlarının geliştirilmelidir. Bu sorgulama araçları karmaşık konumsal ve zamansal sorguları ifade edebilmeli, benzerlik bulmaya izin vermeli ve ÇON’lar üzerinde bazı işlemleri yapabilecek özel fonksiyonlara sahip olmalıdır. • Gerçek zamanlı çoklu ortam uygulamaları için merkezi veya koşut disk ortamları için etkin kümeleme algoritmalarına gereksinim vardır. • Çoklu ortam veri tabanlarını destekleyecek özel işletim sistemlerine gereksinim vardır. • Bilgisayar ağları üzerinde dağıtık çoklu ortam yönetimi ile ilgili yazılımlara gereksinim vardır. 3.2. Çoklu Ortam Sorguları Çoklu Ortam Sorguları (ÇOS) alışılagelmiş diğer sorgu tiplerinden farklı birçok özelliğe sahiptir. Herşeyden önce kabul edilmesi gereken genel özellikleri vardır. Bu genel özellikler aşağıda anlatılmıştır. • ÇOS birden çok, küçük alt sorguları içeren içeren tümleşik bir sorgudur. Herbir sorgu aslında birbirinden farklı sorgu şekillerini bünyesinde barındırabilir. • ÇOS etkileşimlidir. Elde edilen sonuçlar mutlak doğru değildir ve sorgu iyileştirmeye gereksinim duyulur. 45 • ÇON'ların tanımlanmalarındaki güçlükler nedeni ile ÇOS’ların tanımlanabilmeleri için yardımcı araçlara gereksinim duyulur. Geleneksel veri tabanlarında kullanılan SQL yeterli değildir. Diğer birçok bileşende olduğu gibi, çoklu ortam sorgulaması alanında da birçok tanımlama ve görüşler ileri sürülmüş, fakat bir çoğunun tanımlanması veya içeriğinde görüş birliği sağlanamamıştır. Bu bölümde çoklu ortam sorguları hakkında bilgiler verilmiş ve çeşitli kriterler gözönünde bulundurularak sorguların sınıflanması konusunda bir sentez yapılmıştır. Genel olarak önerilen sınıflama Şekil-3.1’de gösterilmiştir. 3.2.1 Hazırlanma Şekline Göre Çoklu Ortam Sorguları Tanımlanmalarındaki güçlükler nedeni ile, çoklu-ortam sorgularının hazırlanması için çeşitli yollar önerilmiştir. Bir ÇBD sorgulama süreci, bu özellikleri gözönünde bulundurarak aşağıdaki anlatılan sorgu yöntemlerini bünyesinde barındırmalıdır. 3.2.1.1 Belirtmeli Sorgular Belirtmeli sorgular kullanıcının ne aradığının tariflerini belirterek yapmış olduğu sorgu tipleridir. Günümüz veritabanı yönetim dizgelerinde SQL ve benzeri diller yaygın olarak ve başarı ile kullanılmaktadırlar. Bu tür sorgulama dilleri bu sınıfa girerler. Ne varki, bu tür diller genellikle tek boyutlu uzayda nokta olarak temsil edilen verilerin sorgulanmasında kullanılır. Hernekadar, ÇON'ları tanımlamak güç olsa da, ÇON'ların bazı öznitelikleri bu tür sorguların yapılmasına izin verirler. Örnek olarak, bir resmin açıklama sahası, bir müzik eserinin bestecisi, bir kişiye ait fotoğraf ile ilişkilendirilmiş doğum yeri, tarihi, isim, soyisim gibi kimlik bilgileri gösterilebilir. Bu tür veriler SQL benzeri araçlarla kolaylıkla sorgulanabilir. Bu yöntem günümüz veri tabanlarında ve bazı çoklu ortam verilerinin sorgulanmalarında başarıyla kullanılmaktadır. 46 Çoklu-Ortam Sorguları Tamlıklarına Göre Hazırlanma Şekillerine Göre Uyum Kriterine Göre Belirtmeli sorgular Tam Uyum sorguları Tam sorgular Örnekle Sorgu Benzerlik Sorguları Eksik sorgular Gezinti ile sorgu En yakın-komşu sorgular Muğlak sorgular Bütün eşler sorguları Sisli sorgular Örnekleme Sorguları Bulanık Sorgular Sınıflama Sorguları Şekil-3.1: Çoklu-ortam sorgulama tipleri. SQL benzeri yöntemlerle ÇON'ların tüm özelliklerinin belirtilebilmesi olanaksızdır. Bu nedenle bir ÇBD'de renk, doku, şekil ve benzeri özelliklerin belirtilebilmesine yardımcı olacak ilave yöntem ve araçlara gereksinim duyulur. Literatürde, renk dağılımı için renk seçim arayüzleri, şekil için serbest formda şekil çizim programları ve veri tabanında yer alan mevcut dokuları listeyen listeler (thesaurus) önerilmiştir. Çoklu ortam verilerinin tanımlama güçlüğü, araştırmacıları tanımlamalara yardımcı olacak araçlar geliştirmeye zorlamaktadır. Örnek olarak, bir doktorun tibbi resim arşivinden, belirli bir dokuya sahip olan röntgen filmlerini bulmak istediğini varsayalım. Aranan bir dokunun tanımı nasıl en iyi şekilde belirtilebilir? Kuşkusuz, kullanıcının serbest formdaki bir çizim programı ile dokuyu tanımlamasını beklemek doğru değildir. Röntgen filmleri veri tabanına ilave edildikleri zaman, özellik listeleri hazırlanabilir. Sorgulama sırasında, kullanıcının aramış olduğu dokuyu verilen kavramlar dizininden seçmesi istenir. Hernekadar kavramlar dizini kullanımı yaygın olarak metin arama dizgelerinde dizinlemeye temel 47 olan sözcüklerin listesi olarak kullanılıyor ise de, renk, ses, metin, gibi ÇON'ları tanımlamakta kullanılan herhangi bir özellik için de kavramlar dizini hazırlanabilir. Bu sorgunun hazırlama sürecine büyük katkılar sağlayabilir. Belirtmeli sorgular tek başlarına bir ÇBD'nin sorgulama süreci için yeterli değildirler ve ilave araçlara gereksinim vardır. Fakat, belirtmeli sorgular çoklu ortam sorgularının önemli bir parçasıdırlar ve ÇBD'ler tarafından desteklenmeleri zorunludur. 3.2.1.2 Örnekle Sorgu Bu yöntem geçmişte geleneksel veri tabanları tarafından da kullanımış eski bir yöntemdir. Bu yöntemde kullanıcı, aradığı nesnelerin özelliklerini belirtmek yerine aradığı nesneye benzeyen bir örneği verir. Sorgulamaya esas teşkil edecek olan sorgu parametreleri yardımcı araçlar tarafından bu örnekten otomatik olarak çıkartılır. Bu sorgu tipi, bir önceki grupta yer alan tüm durumları kapsar. Fakat göz önüne alınması gereken başka problemlerle karşı karşıya kalınabilir. Öncelikle, sorgu işlemede ele alınacak kıyaslama kriteri ne olacaktır? Tek başına doku uyumu yeterli olacak mıdır veya doku uyum analizini rastgelelik (randomness), yönelim (orientation), tekrarlılık (periodicity) gibi bağımsız ölçeklere ayırmalı mıdır? Đkinci problem ise; herhangi bir sorgunun tüm arama kriterleri eşit ağırlığa mı sahip olacaktır? Yoksa, ağırlıkların belirlenmesi alana ve nesneye özel olarak mı belirlenecektir? Eğer bir resimdeki şekiller koyu kenarlı, buna karşılık dokular zorlukla ayırt edilebiliyor ise, dizge, ilgili resim için otomatik olarak şekillere ait uyum sonuçlarının dokulara göre daha yüksek bir ağırlığa sahip olmasını sağlayacak mıdır? Üçüncüsü; herbir kıyaslama boyutu farklı benzerlik veya uzaklık ölçütleri gerektirecektir. Elde edilen herbiri bağımsız ve farklı sonuçlardan, genel değerlendirme listesi (ranked list) nasıl oluşturulacaktır? Örneğin, renk uzayı için Euclidian ölçütü mü yoksa, ağırlıklı Euclidean ölçütü mü kullanılmalıdır? 48 Dördüncüsü ise; eğer kullanıcı bir resmin tamamını değil de, sadece bir bölümünü örnek olarak vermek istiyor ise, benzerlik nasıl tanımlanacaktır? Eğer sorgu örneği resimde bir sandalye varsa ve kullanıcı böyle bir resmi içeren bütün oturma odası resimlerini bulmak istiyorsa, benzerlik hesaplaması nasıl yapılmalıdır? Örnekle sorgu hazırlanması her ne kadar ÇON’ların tanımlanma zorluğunun sorgu hazırlamada doğurduğu güçlükleri ortadan kaldırabilecek sihirli bir yöntem gibi düşünülebilse de kullanımında altı çizilen konulardaki problemlere dikkat edilmesi gerekir. Bu arada, konuların çözümü için nasıl bir modele gereksinim olduğu, nasıl bir veri yapısının uygun olduğu konusunda da ayrıntılı çalışmalar yapılmamıştır ve bunlar halen açık olan bir çalışma konusudur. 3.2.1.3 Gezinti ile Sorgu Gezinti ile sorgu, sorgunun veri tabanı üzerinde gezinme yöntemi ile yapılması şeklidir ve bir sonraki sorgu bir önceki sorgunun sonuçları üzerinde yapılır. Gezinme için kullanılacak yardımcı araçlara gezgin (navigator, browser) adı verilir ve kullanıcıdan aldığı mümkün olduğunca az bilgi ile işe başlar. Gezgin, kullanıcının ifade edemediği bilgileri keşfetmeye, ortaya çıkartmaya yardımcı olur. Örneğin, bir reklamcının bir resim arşivinden, “bir reklam için ilgili temaya en uygun resimler” aradığını varsayalım. Görüldüğü gibi sorgu yüzbinlerce resmin yer aldığı bir resim arşivi için son derece kötü-belirtilmiştir (ill-defined). Eğer dizge, kullanıcının ilgilenebileceği belirli sayıda resmi içeren altuzayı sunamaz ise kullanıcı çok kolaylıkla sıkılacak veya veriler arasında istediğine ulaşamadan kaybolacaktır. Gezinme aracı örnekler sunarak işe başlayabilir ve kullanıcıya rastgele kullanıcıya çok kesin kararlar verdirmeden etkileşim halinde potansiyel arama uzayını tespit etmeye çalışır. Gezinme işi, kullanıcı artık ne istediğini belirtebilecek konuma gelinceye kadar devam eder. Bir diğer ifade ile gezgin, katlamalı (incremental) olarak kullanıcı gereksinimlerinin modellenmesini sağlar. Kullanıcı ilgilendiği resimlerin kümesini bir kere tanımlayabildiğinde sorgularını daha kesin olarak belirtebilecektir. 49 Gezinme ile sorgu, benzer olarak sorgu iyileştirme (query refinement) aşamasında da kullanılabilir. Bu durumda, gezgin bir sorgu sonucuyla işe başlar ve kullanıcı sorgu kriterleri ekler, siler veya herbir kriterin katkılarını değiştirir. Dizge, her defasında bir önceki sonuçları kullanarak ve sorguyu kısmen yeniden işleterek kullanıcının gereksinimi olan nesneleri bulmasına yardımcı olur. Sorgu iyileştirme, ÇBD’lerin desteklemesi gereken ve özellikle örnekle sorgu modelinde sıklıkla başvurulacak bir yöntemdir. 3.2.2 Uyum Kriterlerine Göre Bu gruplama, çoklu ortam sorgularının kendi özelliklerinden çok, verilen bir sorgunun nasıl işlendiğini göz önüne alınarak yapılmış sınıflamaları içerir. Tam uyum (exact match) ve kısmi/yaklaşık uyum (partial/aproximate match) olmak üzere iki alt grupta incelenmiştir. 3.2.2.1 Tam Uyum Sorguları Her ne kadar birçok çoklu ortam sorgusu yaklaşık sorgular grubunda olsa da, ÇBD’ler bünyelerinde tam uyum sorgularını da işleyebilecek yöntemler barındırmalıdırlar. Tam uyum sorguları, geleneksek veritabanlarında başarıyla işlenir ve sonuçları mutlaktır. SQL ve benzeri diller ile yapılan sorgular bu grup içerisinde yer alırlar. Bu sorguların işlenmesi süreci deterministik olup, uyum için kullanılan ölçütlerin sonucu kesindir. Tam uyum sorguları çoklu ortam veritabanlarında arama alanını daraltmak için kullanılırlar. 3.2.2.2 Yaklaşık Sorgular Bu tür sorgular aynı zamanda benzerlik sorguları olarak da bilinir. Arama sürecinde mutlak benzerlikler yerine nesnelerin veri uzayında birbirlerine olan uzaklıkları veya benzerliklerinin esas alınması ilkesine dayanır. Bu tür sorguların işlenmesinde yaygın olarak, Manhattan distance, Euclidian veya ağırlıklı Euclidean distance ölçütleri 50 kullanılır. Bu ölçütler ve ÇBD’lerdeki kullanımları beşinci bölümde, ayrıntılı olarak anlatılmıştır. 3.2.2.2.1 En-Yakın Komşu (EYK) Sorguları Bu tip sorgular yaygın olarak Coğrafi Bilişim Dizgeleri (CBD)’nde, belirli bir coğrafi noktaya en yakın komşu noktaların bulunması için kullanılırlar ve etkin işleme süreçleri kendi başlarına bir araştırma konusudur. Örnek olarak, bulunulan bir noktaya en yakın benzin istasyonunun bulunması CBD’ler için tipik bir EYK sorgusudur. EYK sorgularının çoklu ortam veritabanlarındaki karşılığı ise verilen bir nesneye en-benzer olanının bulunması olarak tanımlanabilir. Bu tür sorgular, geleneksel veritabanlarındaki seçim işlemine (selection operation) benzediği için, aynı zamanda benzerlik seçimi (similarity selection) sorgusu olarak da adlandırılabilirler. Fakat, EYK sorguları iki veya daha çok boyutlu uzayda gerçekleştirildikleri için farklı özellikleri vardır. Bir EYK sorgusunun, referans verilen nesne dışında iki temel parametresi vardır. Birinci parametre, t, verilen referans noktasının ne kadar uzaklığına kadar arama yapılacağını, yani arama sınırlarını belirtir. Örnek olarak iki boyutlu uzayda t; verilen referans noktası merkez olan dairenin yarıçapıdır. Bir başka değişle t, uyum işleminde tolere edilebilen eşik değeridir. Đkinci parametre, k, ise sorgu sonunda istenen en fazla nesne sayısını gösterir. Eğer k=1 ise, bu sorgu gerçek anlamda bir EYK sorgusudur. Uygulamada k sayısının 1’den büyük olarak kullanılması da son derece yaygındır. Bu durumda, sorgu k-EYK sorgusu haline gelir. 3.2.2.2.2 Tüm-Eşler (All-pairs) Sorguları Tüm-eşler sorgusu bir önceki grupda anlatılan k-EYK sorgularına çok benzer. Eğer k değeri çok büyük verilirse, verilen arama alanı içerindeki tüm nesneler sonuç listesinde yer alır ve geleneksel veri tabanlarındaki aralık sorgu (range query)’ya benzer bir hal alır. Genel olarak tüm-eşler sorgularında k parametresi kullanılmaz. Dolayısı ile, verilen referans nesnesine t eşik değeri uzaklıktaki tüm nesneler sonuç kümesi içerisinde yer alır. 51 Bu sorgu grubunun ÇBD’lerinde kullanımına ait tipik bir örnek olarak, “verilen referans resminin renk dağılımına t eşik seviyesinde benzeyen tüm resimleri getir” verilebilir. 3.2.2.2.3 Örnekleme Sorguları Bazı araştırmacılar bu tür sorgulara, benzerlik/örnek işlemi (similarity selection operation) adı vermişlerdir. Bu tür sorgular verilen bir küme nesneyi temsil edebilecek örneklerin bulunmasını amaçlayan sorgulardır. Bu tür sorguların ilişkisel modelde bir karşılığı yoktur, fakat çoklu ortam sorgularının tanımlanmasındaki güçlükler nedeniyle önemli bir parçasını oluşturur. Hernekadar gezginler rastgele örnekleme ile işe başlıyor olsalar da, birçok uygulama için büyük veri tabanlarının örneklemelerinin çıkartılmaları kendi başlarına önemli bir sorgudur. Örnekleme sorgular, gezginlere sağladıkları yararlar yanında, bir sorgunun sonuç kümesi çok büyük olduğu zamanlarda da önemli yararlar sağlayacaktır. Bir sorguya uyan sonuçların tamamı yerine n örneğinin listelenmesi daha yararlı olabilir. Kuşkusuz bir grup nesnenin bütün özellikleriyle uyuşan temsilci örneğinin bulunması son derece zordur. Benzer problem geçmişte metin bulma konusunda kümeleme alanında da yaşanmıştır. Veritabanının belirli bir kesiminin örneklerinin belirlenmesinde çok sayıda farklı yöntem vardır. Örnekler veritabanındaki nesnelerin temsilcileridir, bu nedenle örnekler arasındaki mesafe o kesimdeki örneklerin yoğunluğu ile yaklaşık olarak ters orantılıdır. Kümeleme ÇON’ların özellikleri üzerinde gerçekleştirilebilir. Bu durumda küme merkezleri örnek olarak alınabilir. Sonuç olarak, belki de en kolay yol, ilgili kümeler içerisinden rastgele seçilen nesnelerin örnek olarak alınmasıdır. 3.2.2.2.4 Sınıflama Sorguları 52 Bazı durumlarda birçok bilimsel ve kültürel uygulamalar için verilerin hangi sınıfa düştükleri gerçek verilere ulaşmaktan daha önemli olabilir. Bu tür uygulamalar genellikle her geçen gün ilginin arttığı veri kazısı (data mining) uygulamalarının temel konusudur. Bu sorgular arama etkinliğine tümleşik olarak sınıflama yeteneklerine gereksinim duyarlar. Çoklu ortam alanında sınıflama sorguları birkaç şekilde karşımıza çıkabilir. Verilen bir resim kümesinde hangi özellikler onları benzer kılmaktadır? Örneğin, eğer bu resim kümesi bir tıbbi resim arşivine ait ise, bu resimler aynı hastalığa sahip hastalara ait olabilir mi ? Đkinci olarak, bir arkeolojik kazının belirli bir katmanına ait verilen resimler, ülke çapındaki kazılardan toplanan tüm resimlerin toplandığı ve mevcut bir sınıflaması olan veritabanındaki hangi sınıflamalara uymaktadır? Belirli ressamların resimlerinde ışık, gölge, insan figürleri vb yorumlar açısından benzerlikler var mıdır? Benzer sorgular müzik eserleri veya edebiyat alanları gibi çoklu ortam verilerinin sıklıkla karşılaşıldığı alanlar için de kolaylıkla türetilebilir. 3.2.3 Tamlıklarına Göre Çoklu Ortam Sorguları Bu grup içerisinde yer alan sorgular, sorguların belirtme anında tam olup olmadıklarına, eğer tam değil iseler, niçin eksik belirtilmiş olabileceklerine göre tam sorgular ve eksik sorgular olmak üzere iki grupta incelenmiştir. 3.2.3.1 Tam Sorgular Bu tür sorgular çoğunlukla geleneksel veritabanlarında karşılaşılan sorgulama tipleridir. Tam sorgular, genellikle sorgu ile aranan nesnelerin bütün özelliklerinin en ince ayrıntısına kadar belirtildiği sorgulardır. Bu nedenle, sorgu anında her özellik belirtildiği için tam sorgular olarak adlandırılmışlardır. Bu tür sorgular etkileşimli değildir, çünkü bu sorguların sonuçları mutlaktır ve sorgu iyileştirmesine gereksininim duymazlar. Bu sorguların SQL ve benzeri dillerle yapılmasında bir istisna olarak like deyimi gösterilebilir. Çoklu ortam sorguları bir bütün olarak ele alındığında bütün olarak bu gruba girmezler fakat, çoklu ortam sorgularının birden çok boyutu olduğu için, bir veya birkaç boyutu bağımsız olarak bu gruba girebilir. 53 3.2.3.2 Eksik Sorgular Çoklu ortam sorguları, ÇON'ların genel karakterleri gereği bu gruba daha yakındır. Bir bütün olarak, ÇOS'ların sonuçları genellikle mutlak değildir. Eksik sorgular ise, tam olarak ifade edememe nedenlerine göre iki alt grupta incelenmiştir. 3.2.3.2.1 Muğlak (vague) Sorgular Bu tür sorguların genel özelliği sorgunun eksik olarak tanımlanmasıdır. Bu sorgularda aslında kullanıcı ne aradığını biliyordur, fakat kullanıcı sorguyu şekillendirmede zorluk çekiyordur. Bu zorluk, ÇON'ların genel özelliklerinden kaynaklanıyor olabileceği gibi, ÇBD'nin sunduğu olanakların yetersizliğinden de kaynaklanmış olabilir, veya sorgulamada kullanılan benzerliklerin nasıl yorumlanması gerektiği hakkında kullanıcının bilgisi olmayabilir. Bu gibi nedenlerle eksik olarak hazırlanan sorgular muğlak sorgular olarak adlandırılmıştır. 3.2.3.2.2 Sisli Sorgular Bu tür sorgularda, aslında dizge, her ne kadar gerekli olanakları sunmuş olsa da, kullanıcı aramış olduğu nesneler hakkında sisli fikirlere sahip veya veri tabanı üzerinde sadece şöyle bir gezinti yapmak istiyor olabilir. Bu durum ise, kullanıcının sorguyu şekillendirmesini zorlaştıracaktır. Bu tür sorguların neden olduğu eksiklikler genellikle, gezinme ile sorgu başlığında anlatılan yöntemler ile çözüme ulaştırılırlar. 3.3 Geçmiş Çalışmalar Yapılan bazı çalışmalar çoklu ortam verilerinin erişiminde hypertext belgelerini kullanmayı önermiş [Agosti et.al., 1995], bazıları ise alana bağımlı resim arşivi uygulamalarını ele almıştır [Berrut and Chiaramella, 1995]. Bir diğer grup ise ilişkisel 54 modeli geliştirerek çoklu ortam verilerini desteklemeyi amaçlamıştır [Davis et.al., 1996]. Bir grup çalışma ise çoklu ortam erişimleri ile beraber sunumu ve iletimine ait problemlere çözüm önermişlerdir.[Fritzsche, 1995] [Furth et. al., 1995] [Gemmel, 1994] [Khalfallah and Karmouch] [Narhstedt and Steinmetz, 1995]. Yakın geçmişte çoklu ortam alanında birçok çalışmalar yapılmış olup bu bölümde örnek olarak dört dizge tanıtılarak mevcut teknolojininin fotoğrafı çekilmeye çalışılmıştır. 3.3.1 Özkarahan Modeli Bu model, nesne-yönelimli veritabanlarının ÇON'ları kapsayacak şekilde tümleşik kavramsal gösterim şemalarının geliştirilmesi esasına dayanır. Arama yapısının temelini oluşturan RM/T modelinde kavramsal model için gerekli soyutlamalar ve ilaveler gerçekleştirilmiştir. Üç seviyeli bir arama mekanizması önerilmiştir: Sorgu terimi uyumlu (associative) arama, anlamsal (semantic) arama ve ortama-özgü (mediaspecific) arama. Aynı zamanda modelde, önerilen kavramsal modeli kapsayacak şekilde geleneksel SQL sorgu diline eklentiler yapılmış ve elde edilen yeni sorgu diline SQLX adı verilmiştir. 3.3.1.1 Kavramsal Model Bu çalışmanın en önemli katkılarından birisi ilişkisel veri tabanlarının ilavelerle çoklu ortam kavramsal modelini destekler hale getirilmesidir. Kullanılan kavramsal model, E2/R olarak adlandırılan Entity/Relationship modelinin genişletilmiş bir uyarlamasıdır. Bu model, soyutlama yeteneğini arttıran generalization ve aggregation sıradüzenleri ile total ilişkileri ve nesne yönelimli veritabanları kavramlarının temel yeteneklerini içermektedir. Model öncelikle ÇON'ların veri ve yöntemden oluşan sınıflar olarak temsil edilmeleriyle bir soyutlama sağlamaktadır. Sınıfların yöntem parçasında, o alt ÇON ile ilgili karakteristik bilgiler ve yordamlar bulunur. Model, soyutlama yanında, konumsal ilişkilerin de tutulmasına izin verebilmektedir. 55 Deneysel dizgede, E2/R kavramsal modelinin girdisi Veri Tanımlama Dili (VTD, DDL=Data Definitin Language)'dir. Fakat kullanıcıya sağladığı kolaylıklar nedeniyle OMDIS adı verilen nesne yönelimli bir CASE aracı kullanılması önerilmiştir. CASE aracı, grafiksel bir kullanıcı arayüzüdür ve çıktısı VTD'dir. VTD'ler çok seviyeli nesne yönelimli veritabanı dizgesine E2/R modelini ilişkisel veritabanına gönderirler. Çok seviyeli nesne yönelimli veritabanı yönetim dizgesi olarak GDBMS ve ilişkisel veritabanı dizgesi olarak da SERAP olarak adlandırılan dizgeler kullanılmıştır. Şekil-3.2 OMDIS, GDBMS ve SERAP arasındaki iletişimi göstermektedir. Kullanıcı E2/R kavramsal modelini OMDIS arayüzü kullanarak hazırlar. OMDIS E2/R grafiksel şemasını GDBMS VTD'ne çevirir. OMDIS aynı zamanda E2/R şemasında yer alan nesnelerinin yöntemlerini de SERAP'a gönderir. E2/R şemasının VTD'ye dönüştürülmesi işi GDBMS tarafından yapılır ve SERAP'a gönderilir. Bu dönüştürme işi RM/T modeline göre gerçekleştirilir. RM/T modelinin seçilmesindeki temel neden, RM/T'nin E2/R'de belirtilen soyutlamaları destekliyor olmasıdır. Yordamların saklanması, bağlantı özniteliklerin tanımlanması, soyut veri tipi ve küme değerli öznitelikleri (set valued attributes) kapsayabilmesi için RM/T'nin özgün yapısında da değişiklikler yapılmıştır. E2/R şeması OMDIS GDBMS 2 E /R şeması Kullanıcı Arayüzü Şema tanımlaması SERAP E2/R şeması Şekil-3.2: Özkarahan modelinde bileşenler arasındaki iletişim 3.3.1.2 Erişim Modeli 56 Modelde kısmen sıralı dört aşamalı bir yapı önerilmektedir. {I, AS, SS, MS}, I dizinlemeyi, AS associative aramayı, SS anlamsal aramayı, MS ise ortama-özgü aramayı ifade etmektedir. Erişim modelinin üç aşamalı yapısı Şekil-3.3’de gösterilmiştir. 3.3.1.3 Dizinleme Erişim modelinde I olarak temsil edilmiştir. Çoklu ortam dizinleme elemanlarının tamamen metin üzerinden gerçekleştirilmesi önerilmiştir. tt metin belgelerinden, ta ses belgelerinden, ti ise resimlerden çıkartılmış olan anahtar sözcüklerin eklenmesi ile herbir ÇON'a ait birleşik bir dizin tanımlayıcısının geliştirilmesi önerilmiştir. Kullanıcı sorgusu Associative Arama Anlamsal Arama Ortama-özgü arama Sorgu Sonuçları Şekil-3.3: Özkarahan modelinin erişim katmanları Genel olarak herbir ÇON veri tipinin çeşitli aşamalardan geçirilerek metin haline dönüştürülmesi ve elde edilecek birleşik tanımlayıcıların metin bulma yöntemleri uygulanarak dizinlenmesini önermektedir. Model, sadece ÇON'lardaki alt nesnelere anahtar sözcüklerin ilişkilendirilmesini değil, kurulan kavramsal modelin de metinsel olarak ifade edilmesini önermektedir. 57 3.3.1.4 Associative Arama Hazırlanan çoklu ortam dizinleri kullanılarak toplam arama alanının daraltılmasını temel alan aşamadır. Bu aşamanın gerçekleştirilmesinde hızlı erişim yolu yapısı hazırlanır. Associative aramanın arkasından anlamsal arama gerçekleştirilir. Bu hızlı erişim yapısı devrik dizin, imza dosyası [Aktuğ and Can,1993] veya belge küme vektörleri olabilir. Örnek olarak, devrik dizin yapısı ikili bir ilişki olarak şu şekilde tanımlanabilir: (TmmR, DocId). Herbir ilişki örneğinin bir elemanı, Tmmi, bir grup belgeyi tanımlar, örneğin; Tmmi→{Doc1, …,Dock}. Kullanıcı sorgusundan çıkartılmış bir grup Tmmi, bu ilişkinin benzer belgelerini (ve nesnelerini), associative arama yolu ile belirler. Benzer işleyiş imza veya belge küme vektörleri dosyası için de kullanılabilir. Çalışmada kümelerin kullanılması tercih edilmiştir. 3.3.1.6 Anlamsal Arama Anlamsal arama, associative aramanın ardından, associative arama tarafından belirlenen veri tabanının alt kümesi üzerinde gerçekleştirilir. Büyük veritabanlarında kullanıcılar hypertext sayfaları arasında çok kolay kaybolabilecekleri için, associative arama kullanıcının arama alanını daraltılmasını sağlamaktadır. Çalışmada, hypertext dizgelerinde genel bir arama yapısının mantıksal bir tanımlamasının olmadığı belirtilmiştir. Bir başka deyişle, kullanıcının gezindiği bağlaçlar arama yapısının anlamsal değil mantıksal bir gösterimidir. Bu çalışmada, kavramsal model ile çoklu ortam belgelerinin anlamsal gösterimi su yüzüne çıkartılmıştır. Anlamsal aramanın geçekleştirilebilmesi için yaygın olarak kullanılan ilişkisel veri tabanı sorgulama dili olan SQL genişletilerek SQLX adı verilen yeni bir yapı tanıtılmıştır. SQLX’teki eklentiler konumsal ilişki operatörleri, soyut veri tipleri ve yöntemleri kapsayacak ilaveler içerir. 58 3.3.1.6 Ortama-özgü Arama Ortama-özgü arama, sorguya bağlı olmak üzere, anlamsal sorgunun bir parçası olabileceği gibi anlamsal aramadan önce veya sonra da yapılabilir. Fakat her iki durumda da associative aramadan sonra gelir. Ortama-özgü arama SQLX ve benzeri diller ile desteklenebilir. 3.3.2 QBIC QBIC (Query By Image Content), IBM tarafından Almaden araştırma merkezinde geliştirilmiş bir projedir ve ürün haline getirilerek IBM Ultimedia Manager adı ile pazarlanmaya başlanmıştır. Projede elde edilen bulgular IBM Digital Libraries and DB2 serisi yazılımları ile de entegre edilerek DB2 Extender adı ile kullanıma sunulmuştur. QBIC, büyük resim ve video veritabanlarında içerik tabanlı erişim yöntemlerini kullanan bir dizgedir. Dizgede, örnek resim, kullanıcı tarafından verilen çizim, anahtar sözcük, renk ve doku eşlerine göre sorguların yapılması sağlanmaktadır. QBIC şu temel ilkeye dayanır: Görüntü algılama ve görüntülere anlamlar atama alanında insanlar bilgisayarlardan daha iyidir. Buna karşılık, birtakım renk, doku, şekil gibi kısmen veya tamamen sayılabilen ölçütlerin bulunması açısından ise bilgisayarlar insanlara göre daha üstündür. Bu gerçeklerden yola çıkılarak, QBIC insanların iyi olduğu alanlarda insanlardan, bilgisayarların iyi olduğu alanlarda ise bilgisayarlardan yararlanarak çoklu ortam dizgesini oluşturmayı amaçlamıştır. QBIC'in temel özellikleri; (1) renk, doku, şekil ve resimlerin hareketi gibi hesaplanabilen ve resimlerin içeriğini temsil eden özelliklerin sorgularda kullanılabilmesi, (2) sorguların grafik bir sorgulama dili ile çizilerek, boyanarak veya seçilerek yapılmasıdır. 59 3.3.2.1 QBIC Genel Dizge Yapısı Dizge temel olarak iki ana bölümden oluşmaktadır: veritabanı üretimi (database population), ve veritabanı sorgusu. Veritabanı üretimi sırasında, resimler ve videoların içeriklerini tanımlayan renk, doku, şekil gibi özellikler işlenerek ayıklanmakta ve veritabanında saklanmaktadır. Sorgu sırasında ise, kullanıcı sorgusunu grafik bir arayüz yardımı ile hazırlar. Grafiksel sorgudan özellik vektörleri üretilir ve sonra uyum makinasına girdi olarak verilir. Uyum makinası benzer özellik vektörlerine sahip resim veya videoları bulur. QBIC'in temel dizge mimarisi Şekil-3.4'de gösterilmiştir. 3.3.2.2 Veri Modeli QBIC veri modeli hem üretim hem de sorgulama aşaması için iki ana bileşen üzerine kurulmuştur. • Durağan resimler veya nesneleri içeren sahneler. • Bir grup ardışık çerçeveden oluşan ve nesne hareketini içeren video şot (shot). QBIC veri modelinde durağan resimler için sahne ve nesnelerin farkı vardır. Bir sahne, bir resim veya bir videoyu temsil eden tek bir çerçevedir. Bir nesne ise, bir sahnenin parçasıdır veya videoda hareket eden bir şeydir. Veritabanına eklenmeden önce durağan resimlerin ve nesnelerin özellikleri çıkartılır ve Şekil-3.4'ün sol üst tarafında gösterildiği gibi veri tabanında saklanır. Videolar şot adı verilen kliplere ayrılmıştır. Herbir şot R-çerçeve adı verilen çerçevelerle temsil edilmektedir. R-çerçeveler durağan resim olarak temsil edilir ve durağan resimler için yapılan işlemlerin benzerleri gerçekleştirilir. Ayrıca, şotlar üzerinde hareket eden nesnelerin belirlenmesi gibi işlemler de yapılmaktadır. Nesneler üzerinde "içinde kırmızı yuvarlak nesnelerin olduğu resimleri bul", sahneler için "ortalama %30 kırmızı ve %15 beyaz içeren resimleri getir", şotlar için 60 "soldan sağa doğru kayan bütün şotları bul" tarzında sorgular yapılabilmektedir. Aynı zamanda bu sorguların herhangi bir birleşimi de mümkündür. Örneğin: "%30'u kırmızı olan ve içinde mavi dokulu nesnelerin bulunduğu bütün resimleri bul". QBIC benzerlik sorguları uyum makinası adı verilen modül tarafından, ekleme öncesinde elde edilerek veritabanında saklanan özellik vektörleri kullanılarak, aralarındaki mesafelerin ölçüm yordamlarına göre sonuçlandırılır. Bu yordamlar, insan algılama yöntemini taklit etmeye çalışarak, veritabanının insan algılamasına göre sıralanmasını sağlar. Uyum makinası, Şekil-3.4'de görüldüğü gibi filtreleme/dizinleme modülü ile etkileşim halinde çalışır. 3.2.2.3 Filtreleme Veritabanında yer alan her türlü veriye ait filtreleme çalışmasının yapıldığı ve sadece bu filtreleri geçen verilerin daha detaylı ve pahalı benzerlik algoritmalarıyle test edildiği belirtilmektedir. Örneğin, QBIC renk uyumu 256 boyutlu renk histogramlarıyla test edilmektedir. Veri tabanının öncelikle 3 boyutlu uzayda renk uyumları test edilerek, bu filtreleri geçenler arasında detaylı 256-boyut hesaplamalar yapılmaktadır. QBIC'e ait yapılan yayınlarda filtreleme işleminin nasıl yapıldığı hakkında detaylı bir açıklamaya rastlanamamıştır. 3.3.2.4 Dizinleme Düşük boyutlu özellik vektörleri, örneğin ortalama renk dağılımı veya üç boyutlu doku vektörleri ve benzerleri için R*-ağaçları kullanılmıştır. Daha yüksek boyutlu özelliklerin dizinlenmesinde ise öncelikle özellik vektörlerinin boyutları KarhunenLowe (K-L) transformu ile duyarlılığından bir şey kaybetmeden iki veya üçe düşürülmüş, daha sonra R*-ağaç yöntemi ile dizinlenmiştir. Altıncı Bölümde, transformasyon yöntemleri ve dizinleme yöntemleri hakkında ayrıntılı açıklamalar yapılmıştır. 61 62 Video Resim R-Çerçeveleri Çerçeve çıkarımı 1.temsilci çerçeveler 2.Hareket tabanlı nesneler 3.Şotlar Kullanıcı Nesne Tanımlama Nesneler Sahne Hareket nesneleri Sahne Kroki Konumsal Kullanıcı Tanımlı renk/doku Renk/doku Nesne Pozisyo n Şekil Sahne Kamera Nesne hareketi hareketi Filtreleme/Dizinleme Veri Tabanı Sorgulama Arayüzü Kullanıcı Renk - doku - şekil - ÇokluNesne - Kroki - Lokasyon - Metin Konumsal renk/metin – örnek resim - nesne hareketi - kamera hareketi Uyum Makinası Renk - doku - şekil - ÇokluNesne - Kroki - Lokasyon - Metin Konumsal renk/metin - örnek resim - nesne hareketi - kamera hareketi Kullanıcı Uyan nesneler benzerlik sırasında geri döner Şekil-3.4: QBIC'in mimarisi 63 3.3.2.5 Durağan Resimlerin Eklenmesi Durağan resimlerin veri tabanına eklenmesi sırasında, resimler ikon boyutlarında küçültülmekte ve resimlere uygun metinsel açıklamalar girilmektedir. Nesne tanımlaması yapılması, zorunlu değil ise de, bu aşamada yapılması gereken en önemli işlemdir. QBIC, kullanıcıların elle, yarı otomatik veya otomatik olarak nesnelerin tanımlanmasına izin veren araçlara sahiptir. Herbir resim içerisinde değişik sayıda nesnenin saklanabilmesine olanak verecek düzenlemeler yapılmıştır. Nesneler çakışık, veya birbirinden ayrık birden çok nesneyi barındıran birleşik nesneler olabilirler. 3.3.2.6 Video Verilerinin Eklenmesi Video verilerinin eklenmesi için, üç temel bileşen vardır: • Şotların yakalanması, • Herbir şot için temsilci çerçevelerin yaratılması, • Hareket halindeki nesne/yapılarının katmanlar olarak belirlenmesi. 3.3.2.7 Şotların Yakalanması Genel olarak, aşağıdaki durumlarda bir grup ardışık çerçeve bir şot olarak gruplanabilir: • Aynı sahneye kenetlenmiş ise, • Tek bir kamera işlemini gösteriyorlar ise, • Önemli bir nesnenin varlığı veya yokluğu gibi çok belirgin bir olay veya vakayı içeriyor ise, • Kullanıcı tarafından özel olarak ayrıştırılmış ise. 64 Literatürde sahnedeki büyük değişimler (gross scene changes) veya sahne kesimleri (scene cut) şotların sınırlarını belirleyen önemli kriterlerdir. Bu yöntemlerin birbirlerine göre avantaj ve dezavantajları bulunmakla birlikte, herbirisi şotların yakalanması için kullanılmıştır. 3.3.2.8 Temsilci Çerçevelerin Yaratılması Bir önceki aşamadaki yöntemlerle şot sınırları belirlendikten sonra, bu sınırlar arasında kalan çerçeveleri temsil eden R-çerçeveler sentetik olarak yaratılır. R-çerçeveler iki amaçla kullanılırlar: 1. R-çerçeveler veri tabanına ekleme aşamasında durağan resim olarak kabul edilirler ve daha önce anlatılan yöntemlerle nesneleri tanımlanır. 2. Herhangi bir sorgu sonucunda, video sorgusunun temel birimi olarak kabul edilerek kullanıcıya sunumda kullanılırlar. Eğer kullanıcı video kaydını oynatmak isterse, ilgili çerçeveye tıklayarak başlatır. Temsilcilerin yaratılmasının en kolay yöntemi baştaki, ortadaki ve sondaki çerçevenin seçilmesidir. Fakat, çok uzun kaydırmaların olduğu veya kamera zumlarının yoğun olduğu şotlar için bu uygun olmayabilir. Bu durumda, birden çok çerçeve mozaik halinde birleştirilerek de temsilci çerçeve üretilebilir. Bu gibi durumlar için geliştirilen bir diğer yöntem ise aday çerçevelerin farklı gri tonlarında üst-üste bindirilerek sentetik çerçeve yaratılmasıdır. 3.3.2.9 Katmanlı Gösterim Bağımsız olarak hareket eden nesnelerin ve önemli yapıların otomatik segmentasyonunu kolaylaştırmak için, katmanlı gösterim olarak nitelendirilen, video verisinin zaman değişimli yapısının avantajı kullanılmıştır. Bir sahnede sorgulama ve özelliklerin hesaplanması için farklı katmanlar önemli nesneleri tanımlamak için kullanılmıştır. 3.3.3 CORE 65 CORE (Content-based Retrieval Engine), Singapur ulusal üniversitesi, sistem bilimleri enstitüsü tarafından geliştirilen bir çoklu ortam erişim dizgesidir. Modelinden mimarisine kadar bir bütünlük arzeder. Proje sonunda geliştirilmiş olan Uygulama Programı Arayüzü (UPA, API=Application Program Interface) ile iki uygulama geliştirilmiştir. Đlki, bilgisayar destekli yüz tanıma ve diğeri ise ticari marka tanıma dizgesidir. 3.3.3.1 ÇON modeli Bir çoklu ortam bilişim dizgesi geliştirmeden önce, ÇON modelinin oturtulması amacıyla bir model önerilmiştir. Bir ÇON, ilişkisel modeldeki altı öznitelikli bir ilişki olarak tanımlanmıştır. Oçon = { U, F, M, A, Op, S} • U, çoklu ortam nesnesinin veri bileşenidir. NULL olabileceği gibi resim ve video gibi bir veya daha çok çoklu-ortam bileşeninden oluşabilir. • F={F1, F2, …}, veriden çıkarılmış bir grup özellik vektörünü temsil eder. Bir özellik, Fi, özellik uzayında sayısal olarak gösterilebilen özellik ölçütleri veya yorumlamalarıyla kavramsal olarak da tanımlanabilir. • Mi = {Mi1, Mi2,…}, Fi özelliğinin yorumlarını temsil eder. Örneğin, bir yüz resminde, saç, göz, kaş, burun, ağız gibi görsel özellikler vardır. Gözleri temsil etmek için alanı, boyutları gibi bazı ölçütlerin çıkartılması gerekmektedir. Bu özellik ölçümleri vektöreldir ve özellik uzayında nokta olarak temsil edilirler. Gözler aynı zamanda bir takım küçük, büyük, orta gibi kavramlarla da temsil edilebilirler. Đşte bu kavramlar özelliklerin yorumlarıdır. 66 • A, belirli bir ÇON’a ait, geleneksel özniteliklerdir. Bunlar, eğer bu ÇON bir logo resmi ise, numarası, sahibi, kayıt tarihi vb niteliklerdir. • Op ise bir grup göstergeçtir. Op = {Osub, Osup, Oother) alt-nesnelerine, üst-nesnelerine veya diğer nesneleri gösteren göstergeçlerdir. Bu bağlaçlar nesne sıradüzenlerinin kurulmasını ve kullanıcının veritabanını kavramsal olarak dolaşabilmesini sağlamaktadır. • S ise nesnenin durumlarını listeler ve dört değişik değer alabilir. Sp kararlı, Snp kararlı olmayan Sc tamamiyle tanımlanmış ve Suc tamamıyle tanımlanmamış. CORE, temel olarak veri, özellik ve yorum olmak üzere üç katmanlı bir veri modeline sahiptir. Özelliklerin ayıklanması veri setinden özellik ölçeklerine geçişi sağlar. Bir veriden birkaç özellik ölçümleri çıkartılabilir. Farklı uygulamalar aynı veriden çıkartılmış farklı özelliklere gereksinim duyabilir. Bu ise veri ile özellik arasında 1-e-çok ilişki ile gösterilir. Bunun yanında, farklı veri setleri aynı özelliği paylaşabilirler. Burada veri setleri ile özellik vektörleri arasında çok-a-1 ilişki ile CORE'un geliştirilmesinde altı çizilen üç ana unsur göze çarpar. (1) özellik ayıklama, (2) benzerlik erişimi ve görsel listeleme için gerekli olan karmaşık nesnelerin dizinlenmesi, (3) bulanık (fuzzy) erişim gösterimi. 3.3.3.2 CORE'un Mimarisi CORE mimarisi üç ana bileşenden oluşur: çoklu ortam analiz modülü, sorgu modülü (erişim ve dizinlemeyi de içerir) ve düzenleme (öğrenme) modülü. Yeni bir uygulama geliştirilirken, ÇON'lar hem VTD hem de programlama dili ile tanımlanır. Özellik ölçümlerinin kavramlara eşleştirilmesi alana özel bilgi birikimi gerektirir. Bu bilgi birikimi genellikle düzenleme veya (öğrenme) veri seti olarak temsil edilir. Öğrenme yordamlarının çalıştırılması ile eşleme parametreleri üretilir ve dizinleme ve sorgularda kullanılmak üzere saklanır. CORE'da erişim makinası tarafından gezinme ile erişim, benzerlik erişimi, örnekle erişim ve anahtar sözcük ile bulanık erişim gibi çoklu erişim yöntemleri desteklenmektedir. 67 3.3.3.3 ÇON'ların gösterimi Temel olarak bir ÇON'un gösterimi nesne-sınıf tanımlaması için yordamların gerçekleştirilmesini gerektirir. Bütün ÇON'lar temsil edilirken daha önceki bölümde anlatılan modeli kullanırlar. Örnek olarak incelenen yapıda, bir resmin gösterimi dört katmanlı olarak gerçekleştirilmiştir. Şekil-3.6 katmanları göstermektedir. Kavram-1 Kavram-1 Kavram-2 Kavram-2 Yorum - 2 Yorum - 1 Ölçüm-1 Ölçüm-1 Ölçüm-2 Ölçüm-2 Özellik - 2 Özellik - 1 veri-1 veri-n veri-2 Şekil-3.5: CORE'da üç katmanlı veri modeli Burada segmente edilmiş resim, resim ile özellik ölçümleri araşındaki ilişkinin sağlanması amacıyla kullanılır. Bu gösterim Şekil-3.5'da gösterilen ÇON modelini açıklamaktadır. Bu model CORE'da bir resmin gerçekleştirilme adımlarını göstermektedir. Bu gösterim modeli ile ÇON modeli arasındaki ilişki, ÇON modelinin M, F ve U bileşenleri tarafından gerçekleştirilir. 68 Yorumlama katmanı Tanımlamalar & ölçütler katmanı Öznitelikler ve yorumlar bütünü Tanımlamalar & ölçütler Tanımlamalar & ölçütler Tanımlamalar & ölçütler Segmente edilmiş resim katmanı Resim katmanı Şekil-3.6: CORE'un resim gösterim şeması Gösterim modelinin en alt seviyesi, sayısallaştırılmış özgün resimdir. Genellikle resimler önplan ve arkaplanlara sahiptirler. Resim içerisinde ilgilenilen alanların tanımlanmaları, ayıklanmaları ve analiz edilmeleri için segmente edilmeleri gerekir. Đkinci katman segmente edilmiş resmi içerir ve segmente edilmiş olan bölümlerin konumsal bilgilerini kodlamayı amaçlar. Üçüncü aşama ise resim analiz yordamı tarafından üretilen tanımlama/ölçüt bilgilerini içerir. Resimler, segment edilmiş parçalar ve tanımlamalar arasında ikiyönlü bağlaçlar burada tanımlanırlar. Gösterimin herhangi bir aşamasına bu bağlaçlar kullanılarak erişilir. Segmente edilen her parça konumsal, yersel ve sınırsal bilgileri kapsayacak şekilde etiketlenir. Bu etiketler bağlaçların gerçekleştirilmesinde kullanılır. Özellik ölçütleri doğrudan özellik yordamlarının çağrılmasıyla elde edilirler. Tanımlamalar metinde olabilir. Örneğin bir tomografi görüntüsünde, doktor kanserli tümör alanını 69 işaretleyerek, "kanserin ilk aşamalarını gösteren küçük bir tümör" açıklamasını verebilir. Bu aşamada, büyüklüklerin ölçülmesi, konumsal bilgilerin girilmesi ve diğer ölçütler için yardımcı araçlar kullanılmaktadır. Yorumlama katmanı, en üst seviyedir ve genel ve alana özgü yorumlamaları içerir. Ayrıca, herbir resmin farklı doktorlar tarafından modelinin çıkarılacağı düşünülerek erişim makinası tarafından çoklu başlaçlar kurulur ve bakımı yapılır. 3.3.3.4 ÇON Analizi Çoklu ortam Analiz modülü, ÇON'ların özellik ölçütlerinin ayıklanması, yorumlamaların eklenmesi, ve özniteliklerin doldurulması gibi işlemlere kolaylık sağlamayı amaçlayan bir modüldür. Modül, veri alımı, veri ön-işleme, segmentasyon, özelliklerin ayıklanması ve metin editörü gibi yardımcı araçları içermektedir. 3.3.3.5 Dizinleme Yapısı Đçerik tabanlı erişimin sağlanabilmesi için, önerilen veri modeline uygun bir içerik tabanlı dizinleme yapısı hazırlanmıştır. Dizinleme, veri modelindeki özellik ve yorum katmanları arasında yer almaktadır. Dizinleme mekanizması temel olarak, benzer özelliklerin yapay sinir ağları ve bilgi tabanı kullanılarak düğümlerde kümelendiği bir çeşit genelleştirme veya sınıflama ağacı olarak tanımlanabilir. Örneğin, eğer bir tıbbi bilişim dizgesinde, aynı semptomlara sahip hastalardan aynı tedaviyi görmüş birden çok hasta var ise, bu tür hastalar kümelerek düğümde toplanırlar. Bu ağaç yapısı “bu tedavinin ilgili hastalığı tedavi edebildiği” olarak ifade edilebilen bir deneyimi belirtmektedir. Bu bağlamda içerik tabanlı dizinleme, verileri anlam seviyesinde organize eden ve veritabanı ile bilgitabanı arasında bir köprü kuran bir yapıya sahiptir. Fakat bu dizinleme yapısı, tamamen otomatik olmayıp, öğrenme veri setlerinin verilmesi ve kuralların girilmesi gibi aşamalarda insan bilgisine geresinim duymaktadır. 70 Geleneksel Öznitelik erişimi Đçerik-tabanlı erişim Benzerlik Erişimi Görsel listeleme Bulanık Erişim Metin Erişimi Bulanık dizin Metin dizini Geri iletim Öznitelik dizini Đkonik dizin Veri Tabanı Şekil-3.7: CORE'da gerçekleştirilen Đçerik Tabanlı Erişim Yöntemleri 3.3.3.5 CORE'un Erişim Yapısı ÇOS ve ÇON'ların genel özellikleri gereği olarak, CORE'da değişik formlarda sorgulama ve erişim yöntemleri kullanılmıştır. Gerçekleştirilen geleneksel ve içerik tabanlı erişim yöntemleri Şekil-3.7'de gösterilmiştir. CORE'da geleneksel, benzerlik ve metin erişimi yöntemleri diğer çalışmalardaki yöntemlere benzer yollar kullanılarak gerçekleştirilmiştir. Bu konudaki ayrıntılı bilgiler altıncı bölümde verilmiştir. CORE erişim mekanızması diğer çalışmalara göre iki farklı yönteme sahiptir. Bunlar bulanık erişim ve birleşik erişim olmak üzere iki başlık altında toplanabilir. 71 3.3.3.6 Bulanık Erişim Bulanık erişim, geliştirilen bulanık uzayda temel benzerlik ölçütlerine göre yapılmaktadır. Çıkartılan özellik ölçütleri nesnelerin bulanıklaştırılması (fuzzification) ile bulanık uzaya eşleştirilmektedir. Kullanıcının bulanık sorguları girmesi ve sorguların ön işlemeden geçirilmesinin ardından, bulanık sorgu nesnelerini temsil eden Q vektörü ile veri tabanındaki nesneleri temsil eden B vektörü arasındaki benzerlikleri bulunur. Sıradan korrelasyon ve mesafe ölçütleri doğrudan kullanılamayacağından, çok boyutlu bulanık uzaydaki Q ve B bulanık vektörleri arasındaki mesafelerinin ölçülmesi için aşağıda açıklanan yöntem önerilmiştir. dis (Q, B) =∑ mQj ( x) − (mBj ( x) eğer Qj boş değil ise; j ∑m k Qj ( x) − (mBj ( x) cor(Aj, Ak) bulanık uzayın j’ninci ve k’nıncı koordinatları olarak tanımlanan Aj ve Ak bulanık altkümeleri arasındaki korrelasyondur ve şöyle tanımlanmıştır: cor(Aj, Ak) = -card(Aj ∩ Ak) / card(Aj ∪ Ak) card(A) bulanık kümesinin kardinalitesi ise aşağıdaki şekilde tanımlıdır card ( A) = ∫ mA( x)dx veya card ( A) = ∑ mA( x) x 3.3.3.7 Birleşik Erişim 72 Çoklu ortam dizgelerinde bir ÇON birden çok bileşen tarafından tanımlandığı ve sorguların da bu tanımlama bileşenleri kullanılarak yapıldığı için birleşik sorguların gerçekleştirilmeleri oldukça önemlidir. CORE, birleşik sorguların işlenmesi için yöntemler önermektedir. Veri modeline göre, bir ÇON genellikle A, F ve M bileşenleri ile tanımlanır. Bu nedenle, birleşik sorgu için aşağıdaki formül önerilmiştir. sim ( Oq ,O ) ∏ sim exact i (aiq , ai )(∑ sim Aj (a qj , aj )w Aj j i + ∑ sim ( Fq , F ) w F j j j F j j + ∑ sim Mj ( M qj , M j ) w Mj ) j 3.3.4 InfoScope Infoscope, veri tabanı, görüntü anlama dizgeleri ve bilgi-tabanı dizgelerinin özelliklerini birleştirmeyi amaçlayan bir dizgedir. Hernekadar, bir çoklu ortam dizgesi olarak gösterilmiş olsa da, yapılan çalışmalar sadece resim ve video verilerini kapsamaktadır. Bir çok durumda, birbirinden farklı kaynaklardan gelen bilgiler cevabın hazırlanması için birleştirilmek zorundadır. Aynı zamanda cevabın sunumu için yeterli görselleştirme yöntemlerinin kullanılması gerekir. InfoScope iyi tanımlanmış dört modülden oluşur. Dizgenin temel fonksiyonları ve mimarisi Şekil-3.8'de gösterilmiştir. Bu mimari farklı uygulamaların tutarlı bir şekilde geliştirilmesi ve gerçekleştirilmelerini sağlar. 73 Etkileşimli Sorgu Mödülü Sorgu hazırlama Resim Veritabanı Özellik Veritabanı Yeni Resim Ekleme Mödülü Veri (resim) Đşleme Modülü Bilgi-tabanı Modülü Şekil-3.8: InfoScope dizgesinin genel mimarisi Bu mimari ve bir sonraki bölümde tartışılan işlemler, InfoScope’un farklı seviyelerinin etkileşimine izin veren veri modeline yoğun olarak bağlıdır. Veri modeli InfoScope’un gereksinimlerine uyan sıradüzensel bir gösterime sahiptir. Veri modeli Şekil-3.9’da gösterilmiştir. Resim gösterim (IR=Image Representation) katmanında gerçek resim verisi saklanır. Resim nesneleri (IO=Image Object) katmanında çizgi ve bölgeler gibi resim nesneleri ayıklanır ve alan yorumlaması olmaksızın saklanır. Bunların herbiri, alan nesnesi (DO=Domain Object) katmanında alan nesneleri ile ilişkilendirilir. Bu nesnelerin anlamsal yorumlamaları yapılır. Alan Olayları (DE=Domain Event) katmanı DO katmanındaki herbir nesne ile konumsal ve zamansal ilişkileri sağlayacak şekilde ilişkilendirilir. Bu sıradüzen, ilgili resmi kullanarak üst 74 seviyeli anlamsal kavramların içerik tabanlı sorgulara dönüştürülmesini sağlar. Bu ise, nesne benzerliklerine dayalı sorguların kullanıcı tarafından resmin alt seviyeli yapılarına ve nesnelerin özniteliklerine bakılmadan üretilmesini sağlar. Bu gösterimin iki önemli bakış açısı ise, IR ve IO katmanlarının alan-bağımlı, DO ve DS katmanlarının ise alanbağımsız olmasıdır. InfoScope'un, bu açıdan yapılan çalışmasının diğerlerinden farklı olduğu belirtilmiş ve alan-bağımlı ve alan-bağımsız işlemlerin net olarak ayrılmış olmasını önemli bir katkı olarak gösterilmiştir. DO DE Alan Nesneleri Alan Olayları Resim Nesneleri Resim IO IR Şekil-3.9: InfoScope'da farklı seviyelerdeki soyutlamaları içeren dört seviyeli veri modeli Mimari dört işlevsel bileşene ayrılmıştır: Veritabanı, ekleme modülü, arayüz ve bilgi tabanı. Đlk üç bileşen herbirinin uygulamasında gereksinim duyulan alan-bağımlı bilgileri içeren bilgi tabanı modülü ile etkileşir. Bu sistem işlemlerin her seviyesinde alana özel bilgiler kullanır. Bu bilgi, kullanıcı tarafından istenen etkilerin etkin bir şekilde yerine getirilmesine ve yorumlanmasına izin verir. Bilgi modülünün önemi 75 genel mimarinin alana-özel bilgilerden ayırt edilmesini sağlamasıdır. Bu yapı ise bu mimarinin genel amaçlı kullanılabileceği anlamına gelir. 3.3.4.1 Veri Tabanı Bu bileşen verinin kendisi yanında, aynı zamanda veriden ayıklanmış olan özelliklerin de saklanmasını sağlar. Ekleme anında, verilerin değerleri ile birlikte bu özelliklerin resimlerle olan bağlantıları da saklanır. Benzer şekilde herbir resimde sahip olunan özellikleri gösteren referanslar da saklanır. Veriler, veri tabanında farklı sıradüzen seviyelerinde gösterilirler. Bu ise resim, resim nesneleri ve temsil ettikleri gerçek dünya alan objeleri arasında iyi tanımlanmış ilişkileri gösterir. Gerçek resmin saklanmasına ilave olarak, alan nesnelerini gösteren resmin segmente edilmiş bölümleri de tanımlanır ve saklanırlar. Bu ise alan nesnelerinin ilave özelliklerinin hesaplanmasında etkin bir yol sağlar. Bu modül, InfoScope’un en önemli bileşenlerinden birisidir ve diğer modüllerin yokluğunda çalışabilmektedir. Çoklu ortam verilerini saklamak için ilişkisel veri tabanlarının yetersiz olduğu ve nesne-yönelimli bir veritabanının kullanılması zorunluluğu yaygın bir kanıdır. Fakat nesneye-yönelik bir veri tabanının gereksinim duyulan tüm kolaylıkları sağlayıp sağlamayacağı çok açık değildir. Hernekadar, veri modelindeki her bir düzlem bir grup nesne ile temsil edilebilecek gibi görünüyor ise de, düzlemler arası ilişkilerin etkin olarak nasıl tanımlanacağı konusu çok açık değildir. 3.3.4.2 Ekleme Modülü Bu bileşen, resimlerin değerlendirilmesi ve veri tabanına eklenmesini gerçekleştirir. InfoScope’da da diğer modellerde olduğu gibi, verinin, girilmesinden önce ön-işlemden geçirilerek özelliklerin ayıklanması gerekmektedir. Elde edilen özelliklerin hangi alannesnesi ile ilişkilendirileceğine karar verilmelidir. Alan nesneleri tanımlandığında, değerleri hesaplanır ve veri tabanında saklanır. InfoScope’da da ekleme modülü tam otomatik değildir ve kullanıcının yardımına gereksinim duyulur. 76 3.3.4.3 Arayüz Bu modül, kullanıcı tarafından veritabanındaki verilere erişmek için etkileşimli olarak kullanılır. Kullanıcı isteklerini sembolik ve görsel araçlar yardımıyla hazırlar. Sistem ayrıca, gerekli olan en iyi sunum yöntemini de belirler. Bu sistemlerin ana görevi sadece uygun verilere ulaşmayı sağlamak değil, aynı zamanda verileri en uygun biçimde sunmaktır. Erişim işlemi boyunca, sorguya uyan benzerlik değerleri verilir. Daha sonra bu benzerlik değerleri sıralanarak kullanıcıya sunulur. Sorgunun sonuçları kullanıcıya gösterildikten sonra, katlamalı (incremental) olarak kullanıcı ya sonuç listesi üzerinde, ya da yeni bir sorgu hazırlayarak, etkileşimli olarak sorgusunu derinleştirir. Arayüz modülünde, birleşik sorguların işlenmesinde kullanıcının herbir özelliğe göreceli ağırlıklar verebildiği belirtilmiş olsa da, detayları sunulmamıştır. 3.3.4.4 Bilgi Tabanı Bu modül, herbir özel uygulama için alana-özel bilgilerin bakımının yapıldığı yerdir. Bu bilgi dizgedeki işlemlerin herbir aşamasında kullanılır. Alan nesne tanımlamaları, resimdeki önemli özelliklerin bulunması ve değerlendirilmesi için kullanılır. Bu özellikler belirtilen gösterim şeması kullanılarak veri tabanında saklanır. Sorgu işleme süresince, kullanıcı tarafından belirtilen özellikler uygun özellik veya özellik aralıklarıyla eşleştirilmelidir. 3.3.4.5 Bilgi Organizasyonu Özel işlemler ve bilgiler farklı alanlarda büyük farklılıklar gösteriyor ise de, InfoScope’da bilgi tipleri ve gerekli işler birçok uygulamada benzerlik gösterir. Bu modülün gerçekleştirilmesi ile, farklı alanlarda kullanılabilecek bir mimaride işlemler 77 gerçekleştirilmiştir. Bir başka deyişle, bu modüldeki bilgi organizasyonu alana özel sınırlamalara sahip değildir. Herhangi bir uygulamada, alan nesneleri gerçek dünyadaki eşsiz (unique) nesneyi temsil eden nesnelerdir. Bu nesnelerin herbiri diğer nesnelerden oluşan bileşik nesne (composite object) olabileceği gibi, kendisi de bir başka nesnenin parçası olabilir. Bunlar ise bir resimde dizgenin ve kullanıcının tanımlaması gereken temel parçaları gösterir. Örneğin, bir yüz-tanıma uygulamasında, en önemli nesne birkaç alt nesneden oluşan yüz nesnesidir. Yüz nesnesi göz, burun, ağız gibi alt nesnelerden oluşabilir. Nesnelerin bu ilişkisi veri modelinde DO katmanına karşılık gelir. Alanı temsil eden nesnelerin nasıl işleneceği ve bakımılarının yapılacağı belirtilmelidir. Alan nesneleri ve olaylar resim nesnelerine ilişkilendirilmelidirler. Resim nesneleri verilen bir uygulama için neyin gerekli olduğu ve resimden nelerin hesaplanması gerektiği göz önünde bulundurularak belirlenir. Bu resim nesneleri sistem tarafından kullanılacak olan işin alfabesini oluşturur. Bu bilginin kullanılabilir olmasını sağlayacak fonksiyonlar aşağıda anlatılan üç kategoriye ayrılmıştır. • Segmentasyon ve ekleme bilgisi: Bu herbir resimdeki nesnenin bulunması için gerekli olan işlem tiplerini içerir. Herbir alan nesnesi için, gerekli fonksiyonlar ve özniteliklerin bir resmin segmente edilmesi ve tanımlanabilmesine izin veren bakımları yapılacaktır. Bir resmin segmentasyonu sadece temel resim nesneleri ve alan nesnelerinin bilgisi kullanılarak gerçekleştirilebilir. Resim nesnelerinin tanımlanmasındaki bir diğer etmen ise bir grup resim nesnesinin nesneleri ve aralarındaki ilişkiyi sağlayan dilin alfabesi olduğu gerçeğidir. Dolayısı ile bu alfabe çok dikkatli seçilmelidir. Her ne kadar bu dilin mümkün olduğunca alan bağımsız olarak seçilmesi önerilse de, zaman zaman alana özel bilgilerin kullanılması kaçınılmaz olabilir. • Gösterim bilgisi: Bu, herbir alan nesnesinin veri tabanında nasıl temsil edildiğini belirler. Alan nesnesinin gösteriminin nesnelerin birbirinden kolaylıkla ayırt edilebileceği bilgileri içermesi gerekir. Herbir nesnenin gösterim şeması, veri modelinin farklı katmanları arasında bir eşleştirme sağlar. Gösterim hangi tipte resim nesnelerinin hangi alan nesnesi ile ilişkilendirildiğini belirler. Bu eşleştirme 78 daha sonra hangi resimlerin hangi alan nesnelerini barındırdığı veya hangi alan nesnelerinin hangi resimlerde bulunduğunun elde edilmesinde kullanılır. Ayrıca, seçilen gösterim yöntemi, nesnelere erişim sırasında, nesneler arasındaki benzerliklerin belirlenmesinde de kullanılır. Eğer sadece gerçek resim bilgisi mevcut ise, bu hesaplama çok güç olabilir. • Sorgu Bilgisi: Sorgu bilgisi, sorguların hazırlanması ve işlenmesi aşamasında kullanılır. Herbir özellik için kabul edilebilecek başlangıç değerleri belirlenmelidir. Ayrıca, bu değerlerin ayırt edici özelliklerinin belirlenebilmesi için gerekli istatistiksel bilgiler de girilmiş olmalıdır. Bu bilgiler aynı zamanda, sorgu sonuçlarının belirlenmesi aşamasında da kullanılır. 3.3.4.6 Özellik Tipleri Özellikler girdi resminden ayıklanarak veri tabanında saklanmalıdır. Gayet iyi bilindiği üzere, farklı uygulamalar farklı özelliklere gereksinim duyabilirler. Özellikler veri ekleme aşaması başında saklandıkları için, dikkatli seçilmelidirler. InfoScope bütün özellikleri başlıca üç grupda değerlendirmektedir. • Fu : Yaygın olarak meta-özellik olarak bilinen özellikleri içerir. Đkinci bölümde tanımlanan dışsal-özniteliklere karşılık gelmektedir. • Fd : Bu grup öznitelikler, resimlerin veri tabanına eklenmesi öncesinde, doğrudan resimden ayıklanan nitelikler olup, daha önce anlatılan içsel özniteliklere karşılık gelmektedirler. • Fc: Bu tür özellikler ise gerekmedikçe hesaplanmayan özellikleri temsil ederler ve veri tabanında saklanmazlar. Bu özelliklerin hesaplanması için gerekli olan yordamlar dizge tarafından sağlanmalıdır. Bu özellikler sorgu sırasında veriden hesaplanabilir ve sadece-sorgu özellikleri veya hesaplanan sorgular olarak adlandırılırlar. Đlk iki grup özellikler, verilerin eklenmesi aşaması öncesinde hazırlanarak veri tabanında saklanırlar. InfoScope, kullanıcıları mümkün olduğunca bu özellikleri 79 kullanarak sorguları hazırlamaları için zorlar. Fakat, eğer gerekli ise kullanıcılar Fc tipi özellikleri de sorgularında kullanabilirler. Đlk iki grup özellik, sorgu işlemenin ilk aşamasında veri tabanında arama alanının daraltılması aşamasında kullanılır, ve elde edilen bu sonuçlar üzerinde Fc tipi özellikler hesaplanır. Arayüzler Kullanıcıların çoklu ortam sorgulamasında kullanacakları arayüzler, doğal olarak çoklu ortamda olmak zorundadır. Bu amaçla, aşağıda belirtilen bir dizi arayüzün hazırlanması önerilmiştir: • Sembolik sorgular • Örnekle resim sorguları • Sorgu Canvas • Resim parçası sorguları • Anlamsal Sorgular • Nesne ile ilgili sorgular • Konumsal/zamansal sorgular 80 4. ÖNERĐLEN ÇOKLU ORTAM DĐZGE MODELĐ Günümüzde çoklu-ortam bilişim dizgeleri konusunda yapılan akademik ve ticari çalışmalarda büyük bir artış vardır. Fakat yapılan çalışmalar ve üretilen ürünlerin bir çoğu sadece belirli bir alanın gereksinimlerini karşılamak üzere tasarlanmış alan bağımlı uygulamalardır [Gudivada et.al., 1996] [Ogle and Stonebraker, 1995]. Geniş ölçekli bir ÇBD geliştirilmesi belirli bir uygulama alanından bağımsız olarak karakteristiklerinin belirlenmesini gerektirir. Bu temel özellikler ise birleşik bir sorgulama formu, dizinleme ve kavramsal modeller gibi özellikleri gerektirir. Bu nedenle, bu bölümde geçmişte yapılan çalışmalardan da esinlenerek genel ve birleşik bir ÇBD modeli sentezlenmeye çalışılmıştır. Bu sentez ile mümkün olabildiğince alan bağımsız olarak ÇBD’lerinin kavramsal modelleme, dizinleme, sorgulama ve sunu yapılarını formal olarak tanımlamaya yönelinmiş ve bu konulardaki sorulara yanıt olabilecek teorik bir çerçeve çizilmeye çalışılmıştır. Geliştirilen model, çoklu ortam verilerinin saklanması ve yorumlanması gibi konular yanında sorgu modelini de içeren bir bütünlük içerisinde ayrıntılı olarak tanıtılmıştır. 4.1 Temel Kavramlar Bir ÇBD’deki temel kavramlardan en önemlisi Çoklu Ortam Nesnesidir (ÇON). ÇON’lar değişik örneklerle (instance) karşımıza çıkabilir. Bir ÇON, ses veya bir video-klip olarak karşımıza çıkabileceği gibi geleneksel veritabanlarında işlenen alfasayısal bilgi formunda da olabilir. ÇON’lar GIF, bitmap veya WAV gibi değişik şekillerde depolama mekanizmalarıyla temsil edilebilir ve video-tape, Compact-Disk (CD) veya disket gibi manyetik ortamlarda saklanabilirler. Her ÇON ayrıca kendisine özel bir dizi işlev ve özellikleri de içerebilir. ÇON’lar çok geniş bir yelpazedeki verileri temsil etmek için kullanılabilirler. Bu veri formları belgeler, fotoğraflar, ses gibi kısmen az karmaşık veriler olabileceği gibi video gibi ses ve görüntünün tümleşimden meydana gelen ve zamana bağımlı olan karma veriler de olabilir. 81 ÇON’lar temel alındığında, bir ÇBD ÇON’lardan meydana gelmiş bir küme olarak tanımlanabilir. Fakat ÇON’ların kendi içlerinde birden çok formda veri bulundurması ve zaman boyutunda da temsil edilme özelliği ÇON’ların daha alt seviyelerde incelenmesini gerektirir. Bu alt seviye ÇON’ların verilen bir t zamanındaki bir görüntüsüdür ve Çoklu Ortam Durumu (ÇOD, Multimedia Object States) olarak tanımlanmıştır. Birbirinden farklı ÇOD’lar, sabit bir zaman aralığında birleşerek bir Çoklu Ortam Olayı (ÇOO, Multimedia Event) meydana getirirler. Örneğin verilen bir t zamanında, ekranda Süleyman Demirel’in X konusunda konuşma yaparken bir görüntüsü olduğunu varsayalım. t zamanında video ortamındaki Süleyman Demirel’in görüntüsü video ile ilgili bir ÇOO, ses ortamındaki X konusundaki konuşması ise ses ile ilgili bir ÇOO’dur. ÇBD’lerde açıklıkla tanımlanması gereken bir diğer önemli konu ise Çoklu Ortam Sunumu (ÇOSU, Multimedia presentation)’dur. Buraya kadar anlatılan ÇOD ve ÇOO kavramları ile ÇOSU bir dizi sıralı ÇOO olarak tanımlanabilir. ÇOSU ise belirli bir zaman dilimi içerisinde ÇOO’ların nasıl değiştiklerini ve varsa aralarındaki ilişkileri belirler. Özetle, ÇOSU isteği bir dizi ardışık sorgunun belirtilmesi olarak görülebilir. Bir başka deyişle, ÇOO’ların üretimi sorgu işleme süreci olarak görülebilir. ÇOO’lar belirli bir zaman içerisindeki mutlak yerlerinde olmak zorundadırlar. Önceki örneğe dönersek, Süleyman Demirel’in X konusundaki konuşması sırasındaki video görüntüsü ile sesi aynı anda bir araya getirilmelidir. Bu problem ise senkronizasyon problemi olarak bilinir ve oldukça karmaşık yöntemleri içeren ayrı bir çalışma konusudur. 4.2 Veri Modeli Her şeyden önce bir ÇBD’nin temel bileşeni ÇON’dur ve bir ÇBD ÇON’ların oluşturduğu bir küme olarak tanımlanabildiğine göre ve şu şekilde gösterilebilir: ÇBD={ÇON1, ÇON2,…,ÇONn} 82 Temel birim ÇON olduğuna göre, bir ÇBD’nin modellenebilmesi için her şeyden önce ÇON’ların tanımlanması ve modellenmesi gerekir. Daha önceki bölümlerde de anlatıldığı gibi aslında ÇON'ların tanımlama özelliklerini içsel ve dışsal olmak üzere iki ana grup içerisinde toplamak mümkündür. Bu iki ana grup, ÇON'ları tanımlayan bilgilerin verilerin neresinden çıkarıldıkları temel ilkesine dayanır. Önerilen veri modelinin iki katmanlı yapısı Şekil-4.1'de gösterilmiştir. • ÇON'lar içsel özellikleriyle vektörel olarak veya kavramsal modellerle temsil edilirler • ÇON'lar aktif olarak erişim sürecine katılırlar. • Erişim ve dizinleme yöntemleri karmaşık ve pahalıdır. Đçerik Katmanı • Veri katmanı ÇON'lar BLOB halinde dışsal özellikleriyle birlikte bütün halinde saklanırlar. • ÇON'lar pasif nesnelerdir, doğrudan sorgulama işlemine katılamazlar. • Erişim ve sorgulama işlemleri kolay ve ucuzdur. Şekil-4.1: Veri modelinin iki katmanı 4.2.1 Veri Katmanı Şekil-4.1'de önerilen veri modelinin iki temel katmanı ve temel özellikleri gösterilmektedir. Birinci katmanda veriler BLOB olarak bir bütün halinde ele alınırlar ve çok bilinen GIF, AVI, TIFF, BMP biçimlerinde saklanırlar. Bu seviye aslında ÇON'ların pasif olarak bulundukları, içerikleri hakkında bilgilerin ayıklanmadığı bir bölümdür. Sorgulama süreci bu bölümde, doğrudan ÇON'lar üzerinden değil, ÇON'lara ilişkilendirilmiş diğer nitelikler üzerinden gerçekleştirilir. Bu nitelikler genellikle dışsal nitelikler olarak adlandırılan öznitelik gruplarıdır. Bu seviyenin veri modelinde 83 tutulmasının temel amacı, bu seviyede yer alan niteliklerin mevcut teknoloji ile başarıyla işlenebilmesidir. Ayrıca diğer önemli bir unsur da bu niteliklerin sorgulama ve dizinleme işlemlerinin içerik katmanındaki özniteliklere göre çok daha kolay, ucuz ve çok bilinen yöntemlerle yerine getirilebiliyor olmasıdır. Bu nedenle bu ilk katman genel sorgu işleme sürecinde filtreleme görevini yerine getirir. Đlk katman daha formal olarak aşağıdaki gibi tanımlanabilir: ÇON = {D, E, S} Veri (D): Burada D ÇON’un kendisini, yani bir bütün çoklu ortam verisini temsil eder. Veri bir resim olabileceği gibi, bir video veya serbest formda yazılmış bir metin de olabilir. ÇON genellikle birçok veritabanı tarafından desteklenen ikili büyük nesneler (BLOB=Binary Large Objects) olarak saklanır. ÇON’lar genellikle çok büyük depolama alanlarına gereksinim duydukları için, yer kazanmak için sıkıştırılmış olarak da saklanabilirler. Veya kendine özel biçimleri olabilir. Örneğin, eğer bu veri resim ise GIF, bitmap, PCX veya TIFF olarak, veya eğer bir video ise VHS, PAL, SECAM biçiminde olabilir. Aslında verilerin nasıl saklanacakları veya saklama biçimleri alanında da tam bir curcuna yaşanmakta olup, bu ayrı bir araştırma konusudur. Bu çalışma içerisinde ÇON’ların herhangi bir biçimde manyetik ortamlarda saklandıkları varsayılmış ve tanımlamalarda D ile gösterilmişlerdir. Dışsal Öznitelikler (E): Daha önceki bölümlerde anlatıldığı gibi, dışsal özellikler her hangi bir ÇON’a ilişkilendirilmiş, ÇON’un dışından gelen bilgilerdir. Eğer ilgili ÇON bir kişiye ait fotoğraf ise, E, o kişinin adı, numarası, adresi ve benzeri bilgileri içerebilir. Hernekadar burada tek saha olarak gösterilmiş olsa da, E, belirtilen özelliklerdeki bir dizi özniteliği veya ilişkiyi temsil eder. Bu niteliklerin işlenmesi konusunda mevcut teknoloji son derece başarılı teknik ve yöntemlere sahip olduğu için, E özellikle sorgulama ve erişim konusunda önemlidir. Dışsal özellikler genellikle ÇON’un tamamını ilgilendirir. Örneğin bir video-film ses ve görüntü gibi oldukça büyük hacimlerdeki verilerin bir araya gelmesi olarak temsil edilir. Video görüntüleri, ÇOD olarak adlandırılan birçok alt parçaya 84 bölünebilir. Fakat bu filmin adı, yönetmeni, oyuncuların listesi, yapım yılı gibi bilgiler hep bütünü tanımlayan özelliklerdir. Genellikle bu tür bilgiler ÇOD’ları tanımlamak için kullanılmazlar. Bu nedenle dışsal özellikler ilk seviyede tanımlanmıştır. Durum (S): Bir ÇON birden çok durumla temsil edilir. Bu nedenle, S, ilgili ÇON’a ait bir dizi durumu temsil eder. S = {s1,s2,…,sn} S aslında modelin ilk seviyesi ile ikinci seviyesi arasındaki ilişkiyi sağlayan bir bileşendir. Örneğin, bir videodaki görüntüler modelleme kolaylığı olması nedeniyle, içerisindeki çerçeve sayıları özetlenerek küçültülebilirler. Bu herbir özet parçası bir ÇOD olarak değerlendirilebilir ve si olarak temsil edilir. Veya bir resim zaman boyutu olmamasına rağmen, daha küçük alt bölümlere ayrılabilir. Bu herbir alt kesim de yine ÇOD olarak değerlendirilebilir. Fakat, bazı durumlarda ÇON’lar sadece bir tek durum içerebilirler. Örneğin kullanıcı bir video verisini, model izin vermesine rağmen, ikinci seviye modele gerek duymadan veri tabanına ekleyebilir veya bir resim verisi bütün olarak modellenmek istenebilir. Bu gibi durumlarda ÇON birtek ÇOD ile temsil edilir. Ne şekilde modellenmiş olursa olsun, bir ÇON’a ait en az bir tane ÇOD yer alır. Modelin bu aşaması, ilişkisel modelde bir ilişki olarak temsil edilebilir. Aslında ÇBD’lerin ilk uygulamaları modelin bu kısmının gerçekleştirilmesinden başka bir şey değildir. Yakın zamana kadar yapılan ve adına çoklu ortam erişimi denilen birçok uygulamada bu seviye gerçekleştirmiştir. Bu aşamaya kadar yapılan tek şey ÇON’larla diğer verilerin ilişkilendirilmesini sağlayan BLOB desteğidir. Fakat bir ÇBD sadece ÇON’ların saklandıkları bir ambar değildir. Bir başka deyişle, ÇBD’de ÇON’lar sorgulama ve erişimde kullanılmayan pasif veriler olmamalıdırlar. Bunun tersine ÇON’ların bizzat kendileri de sorgu işleme ve erişim sürecine doğrudan katılan aktif nesneler olmak zorundadırlar. Herşeye rağmen bu ilk aşamayı üstün ve kaçınılmaz kılan (en azından şimdilik) şey mevcut bilişim teknolojisinin ikinci aşamada tanımlanan niteliklere göre, dışsal öznitelikteleri işlemedeki tartışılmaz başarısıdır. Đlk aşama, ikinci 85 aşamada yapılacak hesaplamalara göre çok daha az kaynak gerektirmesi nedeniyle, sorgulama sürecinde filtreleme işlevini yerine getirmek için kullanılır. 4.2.2 Đçerik Katmanı ÇBD içerisinde ÇON’ların pasiflikten kurtarılarak, aktif olarak erişim ve sorgu sürecine katılmalarının sağlanması ancak bu ikinci aşamanın gerçekleştirilmesine bağlıdır. Modelin bu seviyesinde, ÇON’ların iç yapıları ve dinamizmine ait tanımlamalar yer almaktadır. Bir ÇON en az bir veya daha çok sayıda ÇOD’dan meydana geldiğine göre, ikinci seviye ÇOD’ları esas alır ve onları formal olarak şu şekilde tanımlar: ÇON = {D, R, F, C, K} Veri (D): Birinci seviyede olduğu gibi bu seviyede de D verinin kendisini temsil eder. Fakat buradaki veri, ÇON’a değil ÇOD’lara ait veridir. Depolama ve temsil edilmeleri açısından birinci aşamada belirtilen veri biçimine yakın özelliklere sahiptir. Buradaki tek fark, ÇOD verilerinin kullanıcıya sorgu sonuçlarının sunumunda kullanılmasıdır. Bir video veri tabanı için yönlendirilen bir sorgu sonucunda kullanıcıya, birinci seviyedeki ÇON’un tüm verisi yerine, ÇOD verisi sunulur. Kullanıcı eğer ilgilenir ise, ilgili karenin üzerini fare ile tıklar ve ancak bu durumda tüm olarak ÇON verisi kullanıcıya sunulur, oynatılır (video verisi ise) veya çalınır. Durum(S): Bir ÇON’un birden çok ÇOD’u olabilirse S ile temsil edilen bir dizi durum içinde olabirler. S={s1,s2,…,s3}. Örneğin video verisindeki herbir özet parçası sj, ilgili ÇON’un bir durumuna karşılık gelmektedir ve veri erişiminde kullanılmak üzere veri setinde ayrı olarak saklanır. Kavramsal modelde tartışılacak olan ÇOD’lardaki alt nesneler de dahil olmak üzere, modellemede temel alınacak en küçük parça ÇOD’dur. Durumlar arası ilişkiler (R): R, bir ÇON’un veya diğer ÇON’ların ÇOD’ları arasındaki ilişkileri tutar. Bu ilişkiler konumsal veya zamansal ilişkiler olabileceği gibi, bir ÇOD’a en çok benzeyen diğer ÇOD’ları gösteren anlamsal ve mantıksal bağları da 86 içerebilir. R hem ÇOSU’ların üretimininde hem de gezinme ile sorgu yönteminde gezginlere yardımcı olarak kullanılır. Birinci seviyenin S bileşeni ÇOD'ların zamansal boyutunun modellenmesi için de kullanılır. Örneğin videolar, herbiri zaman boyutunda değişmek üzere binlerce çerçeve içerebilir. Videolar çeşitli yöntemlerle özetlenebilir ve her bir özet parçasının içerisinden bir veya birkaç temsilci çerçeve seçilebilir. Bu çerçeveler de aslında birer durağan resimdirler ve ikinci katmanın veri öğesini oluştururlar. Bir çerçeve ile durağan resim arasındaki en belirgin fark, video çerçevelerinin hareket bilgisi de içermesidir. Bu hareket videonun zamansal bilgisinin temelini oluşturur. Video için zamansal bilgiler kamera kesimleri, kamera operasyonları, kameranın hızı, nesnelerin uzunluğu ve benzeri bilgiler olabilir. Kamera kesimleri, bir kamera çekiminin bitirilerek, diğer bir kamera çekimine atlama işlemidir. Bu atlama keskin veya değişik efektlere (dissolve, fade-in, rain vb) sahip olabilir. Kamera operasyonları ise, zoom-in, zoom-out, pan-left, pan-right, tilt-up, tilt-down olarak sayılabilir. Bu tür veriler video verilerinin modellenmesinde R olarak temsil edilirler. Đçsel Öznitelikler (F): Đçşel öznitelikler ilgili ÇOD’dan otomatik olarak bilgisayar tarafından çıkartılan bir grup veriyi temsil eder: F={f1,f2,…,fn}. Herhangi bir fi vektörel olarak temsil edilir: fi=<fi1,fi2,…, fim>. Bu vektörler, daha önceki bölümlerde anlatılan şekil ve içerikteki verileri saklarlar ve özellik vektörü olarak anılırlar. m değeri farklı fi’ler için farklı olabileceği gibi, herbir özellik vektörü de farklı değerler içerebilir. Örneğin bir metin verisini tanımlayan özellik için değerler ikili olabilirken, bir resim verisinin renk özelliklerini temsil etmek için kullanılan histogram vektörleri belirli bir rengin resim içerisindeki ağırlığını temsil eden gerçek değerler olabilirler. Yorumsal Öznitelikler (C): Yorumsal özellikler bilgisayarın gerçek dünya nesnelerini algılama konusundaki yetersizliklerinin bir sonucu olarak, insan katkısı ile elde edilen verileri temsil eder. Örneğin, bir insan yüzü veri tabanında, ilgili yüze ait hilal kaşlı, 87 uzun saçlı, büyük burunlu ve benzeri yorumları içeren bilgiler verilebilir. Bu veriler yorumsal öznitelikler olarak ele alınır. Kavramsal Öznitelikler (K): Kavramsal özellikler ise bir ÇON’daki konumsal ve diğer tipdeki ilişkilerin belirtilmesi için kullanılır. Bu ilişkilerin tanımı genellikle uygun arayüzler ile yapılan ve yoğun insan emeği gerektiren işlemleri içerir. Kavramsal özelliklere ait ayrıntılı açıklamalar aşağıda yapılmıştır. 4.3 Kavramsal Model Kavramsal model bir ÇOD içerisinde bulunan alt-nesneler arasındaki konumsal ve diğer türdeki ilişkilerin belirlenmesi amacıyla kullanılır. Hernekadar modelde K ile temsil ediliyor olsalar da, ilişkisel modelde olduğu gibi basit bir öznitelik değildirler. Bünyesinde birden çok farklı yapılandırmalara gerek duyar. ÇON verileri sadece resim demek değilse de, açıklama kolaylıkları açısından burada sabit resim üzerinde örnekler verilecektir. Örneğin bir resmin içeriği birbirleri ile ilişkilendirilmiş nesneler toplamı olarak tanımlanabilir. Bu nesneler nesne-tabanlı veri modeli ile temsil edilebileceği gibi ilişkisel veri modelinde kullanılan E/R (Entity/Relationship) diyagramları ile de gösterilebilirler. Sorgu işleme süreci ise veritanındaki diyagramlar ile sorgu diyagramları arasındaki benzerlik ilişkisine dayalıdır. Bu konudaki daha ayrıntılı çalışmalar [Sistla and Yu, 1997]'de bulunabilir. Bir resmin kavramsal modellenmesinde E/R modeli kullanıldığında temel bileşenler aşağıdaki gibidir: • Varlık: Resim içerisinde tanımlanabilen nesnelerdir. • Öznitelikler: Renk, doku, uzunluk gibi nesnelerin niteliklerini belirleyen özelliklerdir. • Đlişki: Tanımlanan nesneler arasında kurulan ilişkilerdir. Bu durumda, E/R diyagramları bir resmin içeriğini temsil etmek için kullanılabilirler. Standart E/R diyagramlarında her dörtgen kutu, bir nesne tipini, aynı 88 özelliklere sahip nesneler kümesini veya varlık setini temsil eder. Resimlerin gösteriminde ise bir dörtgen kutu belirli bir nesneyi, baklava dilimi ise ilişki seti yerine nesneler arasındaki tek bir ilişkiyi temsil eder. Örneğin bir resimde bir adamın bir kadının sağında durmakta ve el sıkışmakta olduklarını varsayalım. Bu resimdeki varlıklar adam ve kadındır. Öznitelikler ise varlıkların niteliklerini gösteren özelliklerdir. Örneğin, kişilerin boyları, giysileri, saçlarının rengi, belki adları ve benzeri özellik değerleridir. Bu örnekte, hareket durumu da bir özniteliktir ve değeri ise “ayakta duruyorlar” olabilir. Farklı resimler incelendiğinde ilişkiler eylem ve konum olmak üzere iki ana gruba ayrılabilir. • Eylem: Bu grup bir eylemi tanımlayan ilişkileri belirtir. Örnekteki adam ve kadın nesneleri arasındaki eylem ilişkişi “el sıkışmak”tır. • Konum: Eğer bir ilişki varlıklar arasındaki mekan bakımından göreceli konumu belirliyor ise bu tür ilişkilere konum ilişkisi adı verilir. Üstünde, önünde, sağında, altında bu grupdaki ilişkilere verilebilecek örneklerdir. Örneğimizdeki solunda bir konum ilişkisidir. Bir hastanın röntgen filmi ise bir başka güzel örnektir. Resim sol akciğer içerisinde büyük bir tümör gösteriyor olsun. Bu resimdeki varlıklar sağ ve sol akciğer ile tümördür. Tümör varlığının boyut özniteliğinin değeri ise büyük, konum ilişkisi ise içinde olacaktır. 4.3.1 Kavramsal Model Đçin Kullanıcı Arayüzü Kavramsal modellemedeki kullanıcı arayüzü son derece önemlidir. Çünkü kavramsal modelleme arayüzü hem verilerin veritabanına eklenmesi sırasında, hem de sorguların hazırlanmasında kullanılan, ve emek yoğun işlemlerin gerçekleştirileceği bir araçtır. Ayrıca arayüz, kullanılan kavramsal model ile yakından ilişkilidir. Bir ÇBD’nin kullanıcı arayüzü sıradan insanların kullanabileceği kolaylıklara sahip olmalıdır ve 89 temel olarak üç kavramsal yapı taşı vardır: nesneler (entities), nesnelerin özellikleri (öznitelik değerleri) ve association’lar (ilişkileri). Kullanıcı arayüzü ekranı birkaç alt ekran olarak düzenlenebilir. Đlk ekran modellenen resmi gösteren ekran alanı olabilir. Bu alanda resimler sembolik olarak ikonlar ve metin etiketleri ile temsil edilirler. Ekranın ikinci kısmı ise resmi temsil etmek için kullanılacak ikonların bulunduğu ikon kutusu olarak düzenlenebilir. Arayüz gerçek dünyadaki nesneleri temsil eden bir grup ikon kutusu ile işe başlar. Bu ikonlara örnek, adam, kadın, çocuk, bebek, bina, araba, bitki ve hayvan grupları olabilir. Đkon kutusu sıradüzensel olarak gösterilebileceği gibi, aynı zamanda uygulamanın gereksinimlerine göre zaman içerisinde kullanıcının yeni ikon veya ikon grupları yaratmasına izin verecek esnekliğe sahip olmalıdır. Kullanıcı, ikon kutusundan bir ikonu seçerek resim gösterim alanına taşıdığında, ardından hemen önceden tanımlanmış olan öznitelik değerlerini girmesi istenir. Bu değerler belirli bir takım değerlerin arasından bir tanesinin seçimi ile olabileceği gibi, değerler doğrudan klavye aracılığı ile de girilebilir. Bazı öznitelik değerleri otomatik olarak belirtilebilir. Örneğin bir resimdeki nesnenin, resim içindeki pozisyonu, eğer resim sabit dilimlere bölünmüş ise otomatik olarak tespit edilebilir. Resimdeki nesnelerin belirlenmesinin ardından sıra ilişkilerin girilmesine gelmiştir. Kullanıcı her defasında bir ilişkiyi tanımlamak üzere, ilişkiye katılan nesneleri belirler. Daha sonra uygun bir tuş yardımı ile, ilişki tanımını başlatır. Đlişkinin tanımlanması sırasında belirlenmesi gereken ilk şey, ilişkinin eylem mi yoksa konum ilişkisi mi olduğuna karar vermektir. Aynı zamanda ilişki tipi hakkında karar verebilmek için, ilişkinin tek-yönlü mü yoksa iki-yönlü mü olduğunun belirlenmesi gerekir. Örneğin el sıkışma eylem ilişkisinin iki taraflı olduğu açıktır. Fakat eğer bir resimde bir çoçuk bir köpeği kovalıyor ise, köpek ve çocuk nesneleri arasında değeri kovalamak olan bir eylem ilişkisi vardır. Kolaylıkla görüldüğü gibi buradaki eylem ilişkisi iki yönlü değil, tek yönlüdür. Konum ilişkisinde ise kullanıcıya konum ilişkilerini belirleyen sabit bir liste verilir ve seçmesi istenir. Konum ilişkileri otomatik olarak iki yönlüdür. 90 Kavramsal model ile ilgili son aşama ise ilişkiye dahil olan varlık veya varlıkların belirlenmesidir. Örneğin bakıyor adındaki bir ilişki, başlangıç olarak şu Eğer grup_1 tek elemanlı bir küme ise, formda olabilir: grup_1 bakıyor grup_2. {adam}, tanımlama adam bakıyor grup_2 olarak değişecektir. Daha sonra, grup_2 iki elemanlı bir küme ise {kedi, köpek}, tanımlama şu hale gelir: adam bakıyor {kedi, köpek}. 4.3.2 Benzerlik Değerlerinin Hesaplanması Bir önceki bölümde anlatıldığı gibi hem veri tabanındaki bir resim ve hem de kullanıcı sorgusu, kavramsal olarak bir E/R diyagramı ile temsil edilir. Bu durumda eğer ÇOD'lar sadece kavramsal öznitelikler K ile temsil ediliyorlar ise, veritabanını E/R diyagramları kümesi olarak düşünmek yanlış olmaz. Şu andaki mevcut teknoloji ile resimlerin E/R diyagramları aracılığı ile temsil edilmesi yoğun insan emeği gerektiren bir işlemdir. Bilgisayar görme ve algılama teknikleri kullanılarak nesnelerin tanımlanması ve ilişkilerin belirtilmesi konusunda yeni çalışmaların büyük katkılar sağlayacağı umulmaktadır. Kavramsal özniteliklerin kullanılması ile bir kullanıcı sorgusuna uygun resimlerin getirilmesi, veri tabanındaki nesneler ile sorguyu tanımlayan E/R diyagramları arasındaki benzerliklerin hesaplanmasını gerektirir. Bir ÇON'u tanımlamakta kullanılan ve vektörel olarak temsil edilen öznitelikler için kullanılan benzerlik hesaplamaları beşinci bölümde anlatılmıştır. Bu benzerlik hesaplamaları genellikle n-boyutlu vektör uzayında vektörler arasındaki uzaklığın değişik şekillerde matematiksel olarak hesaplanmasına dayanır. Fakat E/R diyagramlarının benzerliklerinin hesaplanmasında çok farklı tekniklere gereksinim duyulur. Bu benzerlikler aşağıdaki bölümlerde anlatılmıştır. 4.3.2.1 Benzerlik Fonksiyonları Verilen bir Q sorgusu için, veri tabanındaki herbir P resminin Q sorgusuna nekadar benzediğini bulmak için benzerlik değerleri hesaplanır. Benzerlik değerinin parametre 91 olarak Q ve P'yi alan ve geriye bir gerçek sayı döndüren bir f fonksiyonu tarafından üretildiği varsayılır ve aşağıdaki şekilde ifade edilir: f(P,Q) Bu fonksiyonun değerinin yüksek olması, Q ile P arasında yüksek benzerliğin olduğunu gösterir. Q ve P resimlerinin birbirlerine ne kadar benzediklerinin bulunması için öncelikle P içerisindeki nesnelerin, Q içerisindeki uygun nesneler ile ilişkilendirilmesi gerekir. Daha sonra ise Q'daki bu nesneler arasındaki ilişkilerin P'deki ilgili ilişkiler ile nasıl uyum sağladıklarının tesbit edilmesi gerekir. Genel olarak Q içindeki bir nesnenin, P'deki birden çok nesne ile uyumu kontrol edilebilir. Eğer Q'da birden çok nesne var ise bu benzerlik kontrolü bir dizi kombinasyona karşılık gelecektir. Şu örneği dikkate alarak mevcut işlem akışını açıklamaya çalışalım. Q sorgu resminde bir adam ve bir kadın, P resminde ise üç adam ve iki kadın bulunuyor olsun. Q sorgusundaki adam P'deki üç adamdan herhangi birisi ile, kadın ise Q'daki iki kadından birisi ile eşleştirilebilir. Bu durumda uyum için altı kombinasyon sözkonusudur. Her kombinasyon değeri için benzerlik hesaplaması yapılır ve en yüksek değerli olanı alınır. Sonuç olarak Q ve P resimleri arasındaki kavramsal model benzerliği fonksiyonu şu şekilde tanımlanabilir: f(Q,P) = maxρ { g(Q,P,ρ) } Bu tanımlamada ρ, adına eşleştirme denilen ve Q'daki her nesne ile P'deki bir nesnenin eşleştirilmesini temsil eder. g ise Q ile P resimleri arasındaki ρ ile gösterilen eşleşmenin benzerlik değerini veren fonksiyondur. g(Q,P,ρ)'nin değeri üç gerçek sayının toplamıdır. Đlk sayı Q resmindeki nesneler ile P resmindeki nesneler arasındaki benzerliklerin toplamıdır. Bir önceki örnekten hatırlanacağı gibi toplam altı tane kombinasyon vardır. Đşte bu ilk rakam altı eşleştirmenin toplamıdır. Đkinci rakam ise, konumsal olmayan ilişkilerin uyumuna dayalıdır. Q'daki r ilişkilerinin P'deki r ilişkileriyle, ρ eşleştirmeleri çerçevesindeki 92 benzerliklerinin toplamına eşittir. Üçüncü rakam ise konumsal ilişkilerin uyumuna dayanır. Genel benzerliğin oluşturulmasında kullanılan bu üç bileşen sırası ile aşağıda anlatılmıştır. Bir önceki örneği biraz daha genişleterek devam edelim. Q sorgusundaki iki nesneden adam ve kadın için öznitelik değerlerinin adam için genç, kadın için ise güzel değerlerine sahip olduğunu düşünelim. Ayrıca Q, adamın kadının solunda olduğunu gösteriyor olsun. P resmindeki üç adamın sırasıyla çok genç, genç ve orta yaşlı, kadınlardan birinin güzel, diğerinin ise orta güzel öznitelik değerlerine sahip olduğunu varsayalım. Ayrıca genç adamın, güzel kadının solunda olduğunu varsayalım. ρ değerleri arasından sadece bir adamla bir kadının eşleştirildiği eşler ilgili bulunacaktır. F(Q,P) benzerlik hesaplamasında dikkate alınması gereken altı ayrı kombinasyona karşılık gelen eşlemelerdir. i=1,2,3 olmak üzere, ai'nin Q'daki adamın P'deki adamla yaşa göre benzerliklerini belirliyor olsun. Benzer olarak, j=1,2 olmak üzere, bj güzellik değerlerine göre Q'daki kadın ile P'deki j'ninci kadın arasındaki benzerliği gösteriyor olsun. Ayrıca cij değerinin de i'ninci adam ile j'ninci kadın arasındaki solunda ilişkisinin olup olmadığını test ediyor olsun. Bu durumda benzerlik fonksiyonu aşağıdaki şekilde ifade edilir: f(Q,P) = maxi=1,2,3;j=1,2 {ai + bj + cij} Genel olarak nesneler arasındaki eşleştirmelerin sayısı, ρ, dikkate alındığında, F(Q,P)'nin hesaplanması, P ve Q'daki nesnelerin sayısı ile üssel olarak artmaktadır. 4.3.2.2 Nesne Benzerlikleri Eğer şu koşullar yerine getiriliyor ise iki nesne birbirlerine benzerdir: • Eğer iki varlığın tipleri aynı ise, veya aralarında IS_A türünden bir ilişki var ise, 93 • Bu iki varlığın öznitelik değerleri aynı veya aşağıda anlatıldıkları gibi birbirlerine yakın ise. Şimdi e'nin kullanıcı tarafından belirtilmiş, E'nin ise veri tabanında saklanan bir varlık olduğunu varsayalım. Ayrıca, n ne N'ninde e ve E varlıklarının tipleri olduğunu varsayalım. ai ve Ai'nin de ilgili varlığın i'ninci öznitelik değerleri olduğunu varsayalım. Bu durumda e ve E varlıkları arasındaki benzerlik şu şekilde tanımlanabilir: Sim ( n , N ) + Sim ( e , E ) = 0 k ∑ Sim ( a , A ) i i =1 i if Sim(n, N) > 0 if Sim(n, N) = 0 Yukarıdaki tanımlamada Sim(n,N) iki varlık tipinin benzerliği ve Sim(ai,Ai) ise iki öznitelik arasındaki benzerliği göstermektedir. Sim(n,N)'nin hesaplanması aşağıdaki şu durumlar göz önünde bulundurularak yapılır. 1. Eğer iki varlık tipi aynı ise: Bu durumda, Sim(n,N) = w'dir. Burada w ağırlığı temsil eder ve ayırtedilme özelliği yüksek olan varlıklara daha yüksek değerler atar. Bir başka ifade ile, frekansları yüksek olan varlık tipleri için düşük, düşük olanlar için ise yüksek değerler verilir. 2. Eğer varlık tipleri bir IS-A ilişkisine sahip ise: Kısmi uyum IS-A ilişkisinin bir sonucu olduğunda benzerliğin derecesi, her varlığın farklı bir IS-A ilişkisini temsil eden iki varlığı arasındaki varlıkların sayısıyla ters orantılıdır. 3. Hiçbirisi: Yukarıdakilerden hiçbiri geçerli değil ise, bu durumda Sim(n,N)=0'dır. Şimdi, aynı tipteki iki varlığın öznitelik değerlerinin benzerliklerinin hesaplanmasını açıklamaya çalışalım. Bir öznitelik iki öznitelik değerinin birbirine uzaklığını gösteren bir fonksiyon olarak tanımlanabiliyor ise, komşuluklar 94 tanımlanabilir. Örneğin yaş özniteliğinin değerleri çok genç, genç, orta yaşlı, yaşlı ve çok yaşlı değerlerini alıyor ise, iki değerin birbirlerine olan uzaklığı, bu iki öznitelik değerinin benzerliğini verecektir. Şimdi, a ve A gibi iki değerin benzerliği aşağıdaki şekilde gösterilir: w Eğer a = A Sim (a, A) = cw Eğer a veya A benzer ise − ∞ Eğer a ve A benzer değil ise Eğer öznitelikler komşuluk ile temsil edilemiyorlar ise, a ve A değerleri arasında aşağıdaki şekilde ifade edilir. w Eğer a = A ise Sim(a, A) = 0 Eğer a ≠ A ise Yukarıdaki tanımlamalarda, w belge frekansının tersini ve c'de 1'den küçük pozitif bir sabiti temsil etmektedir. 4.3.2.3 Konumsal Olmayan Đlişkilerin Benzerlikleri Bu bölümde kullanıcı tarafından verilen bir r ilişkisi ile veritabanındaki resimlerdeki varlıklar arasındaki ilişkilerin benzerliklerinin hesaplanması işlemi açıklanmıştır. Enformal olarak, eğer r ve R ilişkileri aşağıdaki kurallara uyuyorsa benzer veya aynıdır denir. 1. Her iki ilişkinin de isimleri benzer veya eşanlamlı ise, 2. r'ın varlıkları ile R'ın varlıkları 1-e-1 eşleştirilebilir ve r'daki varlıklar R'daki varlıklara benzer ise. 95 Đkinci maddedeki kuralın geçerli olabilmesi için 1-e-1 eşleştirilme zorunluluğunun bazı durumlar için esnetilmesi gerekebilir. Bu konunun daha iyi anlaşılması için şu örneği dikkatle inceleyelim. Dört kişilik bir ailenin basketbol oynarken çekilmiş bir resmini ele alalım. Đlişki olarak “oynamak” alınabilir ve özne varlıkları ise {baba, anne, çocuk1, çocuk2}’dir. Alternatif olarak ilişki “basket oynamak” olarak da verilebilir. Dolayısı ile bir ilişkideki varlıklar arasındaki 1-e-1 eşleştirme zorunluluğunun biraz gevşetilmesi gerekir. Eğer bir ilişkiye katılan varlıklar bir başka ilişkinin alt veya üst-kümesi ise, ve ortak alt-küme en azından iki varlık içeriyorsa bir uyum varsayılabilir. 4.3.2.4 Konumsal Benzerlik Fonksiyonları Bu bölümde, ÇBD’de kullanılan kavramsal modeldeki konumsal benzerliklerin özellikleri tartışılacaktır. Konumsal benzerlik, konumsal ilişkilerde söz konusudur. Đlk olarak bu bölümde kullanılacak tanımlamalar gösterilecektir. Örneğin, F sınırlı bir konumsal ilişki kümesi olsun. Eğer her resim F’deki ve aynı zamanda r’deki ilişkilere uyuyor ise, r ilişkisi F tarafından ifade edilir denir. Örnek olarak {A solunda B, B solunda C} ilişki kümesinden yola çıkılarak A solunda C olarak ifade edilebilir. Konumsal ilişkilerden sonuç çıkarılması için bir dizi kurallar hazırlanmıştır. Her kural r:: r1,r2,…,rk olarak ifade edilir. Bu kurallarda r kuralın başı olarak adlandırılır ve r1,r2,…,rk ise kuralın gövdesini oluşturur. Örnek olarak biraz önce verilmiş olan kural şu şekilde gösterilir: A solunda B :: {A solunda B, B solunda C} ve solunda konumsal ilişkisinin geçişgenliğini gösterir. Bu kural ışığında, bir r ilişkisinin kuralının kullanımı ile F ilişkileri kümesinden bir adımda sonuca ulaşılabiliniyor denir. Burada dikkat edilmesi gereken nokta, r’nin kuralın başı olması ve kuralın gövdesindeki tüm ilişkilerin F tarafından içeriliyor olması zorunluluğudur. Şimdi, R kurallar kümesi, ve F’de ilişkiler kümesini gösteriyor olsun. Bu durumda, r ilişkisi R’deki kurallar kullanılarak F’den çıkarılabilmektedir. Buna benzer kurallar 96 bütünü [Sistla et al., 1994]’de verilmiştir. Burada sunulan kurallar 3-boyutlu resimler için kullanılmış ve başarılı sonuçlar elde edilmiştir. 4.4 Çoklu Ortam Sorgu Modeli Her ne kadar ÇBD’lerde gezinme (browsing) önemli bir işleve sahip olsa da, büyük çoklu ortam veri tabanlarında tek başına gezinme son derece yetersiz kalır. Günümüzde çoklu ortam sorguları hala çözüm bekleyen problemlerin başında yer almaktadır. ÇON’ların genel özelliklerinden gelen tanımlama zorlukları, Çoklu Ortam Sorgularınının (ÇOS) tanımlanmasında zorluklar olarak karşımıza çıkar. Bu konuda, çeşitli araştırmacılar görsel araçlarla zenginleştirilmiş sorgulama yöntemleri önermişler fakat, bunların çok azı çoklu ortam dizgelerine genel olarak yaklaşmış ve kapsamlı çözümler getirebilmişlerdir. Bu bölümde bir önceki alt bölümde belirlenen çerçeve içerisinde mümkün olabildiğince genel bir sorgulama tanıtılmaya çalışılacaktır. Çoklu ortam veritabanlarını desteklemeyi amaçlayan ve [Kau and Tseng, 1994] tarafından ortaya atılan MQL sorgulama dilinde, sorgulama temel olarak iki ana parçaya bölünmüştür. Bunlar tanımlama dili ve işleme dilleridir. Tanımlama dili, C++ programlama diline benzeyen ve veritabanının nesne tabanlı özelliğini destekleyen bir yapıya sahiptir. Đşleme kısmı ise ÇON’lara veritabanından SQL benzeri birkaç yolla erişilmesine izin verir. MQL’in genel yapısı BNF (Backus Naur Form)’da aşağıdaki şekilde gösterilmiştir. <S>::=SELECT <A><V> FROM <R> WHERE <C> Sözdizimi (syntax) genel olarak SELECT ifadesi üzerinde gerçekleştirilir. Yukarıdaki gramerde <A> erişilmek istenen bir dizi özniteliği, <V> tarihsel uyarlamayı içeren sonuç uyarlamasını, <R> alan sınıfını, <C> ise (condition) kontrol deyimini ifade eder. [Kau and Tseng, 1994] tarafından bir çoklu ortam sorgulama dilinde desteklemesi gereken temel özellikler aşağıda özetlenmiştir: 97 • Karmaşık Nesne Sorgusu: Çoklu ortam sorgusu <A> ile en üst düzeyde temsil edilen nesne bileşenlerin uyumu sonucunda elde edilir. • Örüntü Uyum Sorgusu: Örüntü uyumu CONTAINS anahtar sözcüğü ile belirtilir. Sorgulama süreci, muhtemel nesneleri bulabilmek için nesnenin önceden hazırlanmış öznitelikleri üzerinde karşılaştırma yapar. Bu uyum çalışması resim, ses veya metin üzerinde yapılabilir. • Uyarlama Kontrolü: Kullanıcının sorguda belirttiği <V> tanımlaması ile sağlanır. • Đç-içe sorgu: Kullanıcı sorguları IN anahtar sözcüğünü kullanarak birden çok SELECT ifadesini iç-içe kullanabilir. 4.4.1 Çok Parçalı ve Katmanlı Sorgulama Dili Yukarıda anlatılan temel özellikler ışığında ve bir önceki veri modelini destekleyecek bir sorgulama [Hirzalla and Karmouch, 1996] tarafından yapısı geliştirilmiştir. Bu çalışma küçük değişikliklerle, bu bölüm başında anlatılan çoklu ortam dizge modeline uyarlanmıştır. Önerilen sorgu modeli veri modeli ile birebir çakışacak şekilde iki katmanlı olarak tasarlanmıştır. Đlk aşama içerik tabanlı sorgunun gerçekleştirilmesini oluşturacak ÇON listesinin hazırlanmasına yöneliktir. Birbaşka değişle içerik-tabanlı arama işlemleri birinci katmanın sonuçları üzerinde yapılmakta, birinci aşama ikinci aşama için filtreleme görevini yerine getirmektedir. Sorgulama dilinin genel yapısı aşağıda gösterilmiştir: RETRIEVE ÇON-türü FROM ÇON-Listesi WHERE çok-parçalı tanımlama Bu tanımlamada ÇON-türü erişimi istenen veri türlerini, Çon listesi ise sorgulamanın birinci katmanını oluşturmaktadır. Birinci katman SQL sorgulama dili veya benzeri bir dille yazılmış olan geleneksel sorgulardır. Çünkü veri modelinin birinci katmanında sadece ÇON'a ilişkilendirilmiş olan geleneksel biçimdeki dışsal öznitelikler 98 üzerinde işlem yapılmaktadır. Bir ÇON sorgusu mümkün olabildiğince, bu tür verileri almaya çalışmalıdır. Örneğin bir kullanıcı söyle bir sorgu yönlendirmiş olabilir: "gif biçiminde ve 1995 yılından daha önce çekilmiş renk dağılımları verilen yapıdaki fotoğrafları getir". Bu sorguda içeriğe ilişkin sorgu, verilen renk dağılımına benzer resimlerin getirilmesidir. Dısşal nitelikler ise, resimlerin GIF biçiminde ve 1995 yılından önce çekilmiş olmasıdır. Dolayısı ile, dışsal niteliklerin işlenmesi içseş niteliklerin işlenmesinden daha kolay olduğuna göre, içsel niteliklerin bütün veritabanındaki resimler üzerinde hesaplanması son derece gereksizdir. Bu nedenle her hangi bir ÇON sorgusunda yanıt süresinin kısaltılabilmesi için mümkün olduğunca ilk aşamaya ait sorgulama parametreleri elde edilmeye çalışılmalıdır. Sorgulama dilinin bir diğer özelliği ise, aranan ÇON’ların özelliklerinin verildiği kısmın çok parçalı olmasıdır. ÇON’ların genel özelliklerinden hatırlanacağı gibi, en önemli özellik ÇON’ların tanımlanabilmesi için birden çok özelliğin olduğudur. Bu nedenle bir çoklu ortam sorgusununda, sorgunun ve sorgu işleme sürecinin çok-parçalı olmasıdır. Bir sorgu işleme sonucundaki genel yanıt kümesi herbir parçanın ayrı ayrı işlenerek genel benzerliklerin hesaplanması sonucunda elde edilir. Aşağıda çok parçalı erişimin genel özellikleri anlatılmıştır. Çok-parçalı Tanımlama Đçsel Tanımlama Zamansal Tanımlama Konumsal Tanımlama Şekil-4.2: Çok-parçalı tanımlama Dışsal Tanımlama 99 4.4.2 Çok-Parçalı Tanımlama Bir çoklu ortam sorgusunun en önemli kısmı, aranan nesnelerin özelliklerinin veya içeriklerinin belirtildiği kısımdır. Bu aşamada, daha önce verilmiş olan bilgiler ışığında, içeriği belirleyen özellikler başlıca dört kısımda toplanabilir. Şekil-4.2 çok-parçalı tanımlamayı göstermektedir. Đçsel Tanımlamalar: Bir çoklu ortamın, içsel öznitelikler ile tanımlanabilen özelliklerini ifade etmektedir. Bir resimdeki dokular veya renk dağılımları, bir metinin sözcükleri, bir sesteki enerji spektrumları ve benzeri özellikler örnek olarak verilebilir. Bu tür tanımlamaların yapılabilmesi için uygun arayüzlerin kullanımı zorunludur. Dışsal Tanımlamalar: Bu tür tanımlamalar için kullanılacak değerler veritabanındaki resim, video, ses ve benzeri verilerle, verilerinin dışından elde edilen verilerin 1-e-1 ilişkilerdirildikleri verilerdir. Bu veriler çoklu ortam özniteliklerinde anlatılan dışsal özniteliklere karşılık gelirler. Bu dışsal özniteliklerin kullanılacağı arama kriterleri çok-parçalı sorgunun bu kısmında belirlenir. Kavramsal Tanımlamalar: Her hangi bir ortamın içerisindeki nesnelerin göreceli pozisyonları konumsal tanımlamalarla belirtilebilir. Bir resimdeki bir kişinin bir masanın önünde olması, bir adamın bir kadının solunda yer alması örnek olarak verilebilir. Bu tür özellikler, veri modelinde belirtilen kavramsal özniteliklerle temsil edilebilirler. Zamansal Tanımlamalar: Zaman içerisinde nesneler arasında meydana gelen her hangi bir değişimin belirtildiği kısımdır. Bu tür değişimler genellikle bir videodaki kamera değişimleri veya bir ses verisinin zaman içerisindeki ortalama güç değişimleri olarak karşımıza çıkarlar [Scholoss and Wynblatt, 1995]. Fakat bu tanımlamaların her türlü veri için kullanılması zorunlu değildir. Örneğin durağan resimlerin zamansal tanımlamaları göstermektedir. yoktur. Tablo-4.1 değişik veri türlerinin içerdikleri bilgileri 100 Tablo-4.1: Farklı veri türlerinin içerdikleri bilgi tipleri Đçsel Dışsal X X Grafik X X X Animasyon X X X Resim X X X Video X X X Ses X X Metin Kavramsal Zamansal X X X Bu tanımlamalar ışığında, çok-parçalı bir sorgu aşağıdaki şekilde tanımlanabilir. RETRIEVE X FROM ÇON-listesi WHERE BEGIN [Đçerik Tanımlamaları] [Kavramsal Tanımlamalar] [Zamansal Tanımlamalar] END 4.4.4 Zamansal Tanımlamalar Zamansal tanımlama için [Halpern and Shoham, 1991] ve [Allen, 1993]'de ayrıntılı bir çalışma yapılmış ve Şekil-4.3’de gösterilen operatörler önerilmiştir. Her ne kadar farklı operatörler geliştirilebilecek olsa da, benzer yapının kullanılması kendi içerisinde bir bütünlük sergilemelidir. Bu operatörler nesneler arasında zaman içerisinde göreceli değişimleri gösteren BEFORE, MEETS, OVERLAPS, STARTS, DURING, FINISHES ve EQUALS operatörleridir. 101 P Q < p BEFORE q < p MEETS q # p OVERLAPS q |- p STARTS q ∂ p DURING q -| p FINISHES q = p EQUALS q Şekil-4.3: Zamansal operatörlerin şekilsel gösterimi T zamansal formulü, zaman aralıkları arasındaki nesnelerin ilişkilerini belirler ve şu şekilde ifade edilir: T := p; | p < Opt > q; Burada, q sorguyu, p ise bir veri tabanı nesnesini temsil eder. Opt ise, zaman içerisinde p ve q nesnelerini ilişkilendiren zamansal operatörü temsil eder. Opt' ise Opt’nin tersi olarak kullanılmıştır. Dolayısı ile, ( p < Opt > q ) = ( q < Opt' > p ) Aşağıda örnek bir zamansal tanımlama bloğu verilmiştir: 102 zamansal tanımlama BEGIN video2 -|' video1; video2 |-' resim1; video2 # ses1; video2 # metin1; video1 #' resim1; video1 ∂ ses1; video1 # metin1; resim1 # ses1 resim1 # metin1 metin1 -| ses1 Çoklu Ortam Nesneleri END Metin1 Ses1 Resim1 Video1 Video2 Zaman Şekil-4.4: Zamansal tanımlama örneğinin zaman düzleminde gösterimi 4.4.5 Konumsal Tanımlama Konumsal tanımlama ile iki nesne arasındaki konumsal ilişkiler her boyut için bir eksen üzerine projeksiyonları kullanılarak aralarındaki ilişkiler belirlenir. Şekil-4.5 nesneler arasındaki konumsal ilişkileri göstermek için kullanılan operatörleri göstermektedir. 103 P Q < < p Before q p before with adjacency q # p Overlaps q |- p In with left adjeceny q ∂ p In q -| p In with right adjaceny q = p Coincidence q Şekil-4.5: Nesnelerin konumsal tanımlama operatörleri Nesne1 Nesne3 Nesne2 Nesne4 Şekil-4.6: Nesnelerin resim üzerinde yerleşimi Şekil-4.6’da bir resmin içerisindeki nesnelerin birbirleri arasındaki konumsal ilişkileri gösterilmektedir. Burada kullanılan operatörler de hemen hemen zamansal ilişkilerle aynıdır. Fakat konumsal ilişkiler x ve y boyutu için belirlendiklerinden yorumlama 104 farklılıkları mevcuttur. x veya y aksisi için verilen bir konumsal ilişki şu şekilde ifade edilebilir: S := p; | p < Opx, Opy > q; Burada q sorgu ve p ise veritabanındaki bir nesneyi, Opx ve Opy nesnelerin konumsal özelliklerinin x ve y koordinatları üzerine izdüşümleri arasındaki ilişkiyi tanımlayan konumsal operatörleri belirler. Zamansal operatörlerde olduğu gibi, burada da O' ilgili operatörün tersini ifade eder. Konumsal ilişkilerin belirlenmesinde z (derinlik) boyutuna gereksinim duyulabilir. x ve y aksisleri sağında, solunda, altında, üstünde gibi konumsal ilişkilerin belirtilmesi için kullanılırken, z boyutu ise nesnelerin düzlem olarak birbirlerinin önünde veya arkasında tarzındaki ilişkilerin belirtilmesinde kullanılır. Şekil-4.6’da verilen bir resmin içerisindeki nesnelerin konumsal ilişkileri aşağıdaki şekilde ifade edilir: Konumsal-tanımlama BEGIN nesne4 (<', <) nesne1; nesne4 (-|', <| ) nesne3; nesne4 (<', -|) nesne2; nesne2 (∂, <) nesne1; nesne2 (<, <|) nesne3; nesne1 (<, #') nesne3; END 4.4.6 Đçerik Tanımlama Đçerik tanımlama bir çoklu ortam sorgusunun en önemli parçalarından birisidir. Herbir çoklu ortam türünün içerik tanımlaması ve kullanılan öznitelikleri birbirinden farklı olabileceği için, bu konunun başlıca dört alt grup altında incelenmesi uygun görülmüştür. Bu alt bölümler şunlardır: Metin, Resim, Video ve Ses. 105 4.4.6.1 Metin Đçeriklerinin Tanımlanması Metinlerin ÇBD’lerde kullanımı, hem serbest formdaki belgeler hem de ÇON’lara ilişkilendirilmiş anahtar sözcükler olarak karşımıza çıkar. Sorgularda içeriklerin metinler ile tanımlanması son derece önemlidir. Metin içerikleri genellikle anahtar sözcükler ile tanımlanırlar. Bu sözcükler gerekirse mantıksal operatörlerle birbirlerine bağlanabilirler. Aşağıda metin içeriğinin tanımlamasına bir örnek verilmiştir: ... (metin1 TEXT INCLUDE (“çevre” and “kirlilik” and (“marmara” or “ege”)) END ... 4.4.6.2 Resim Đçeriklerinin Tanımı Resimler üzerinde sorguların yapılması yöntemlerinin başlıca üç grupta incelenmesinde yarar vardır. Đçsel tanımlamalar genellikle resimlerin renkleri veya içerdikleri doku ve şekil bilgileri olabilmektedir. Genel olarak içsel özniteliklere ait tanımlamalar şekilde gösterilebilirler: Resim-içerik tanımı begin özellik-1 = özellik-değeri; özellik-2 = özellik-değeri; avg-red > 50; keyword = "çicek" and "arı"; nesne-1 (<, ∂) nesne2; nesne-1 (-|,<) nesne3; nesne-2 (>, #) nesne3; doku MATCH end nesne-1; şu 106 Yukarıdaki örnek sorguda özellik-1 ve özellik-2'nin verilen değerlere eşit olması ve resme çiçek ve arı anahtar sözcüklerinini eşleştirilmiş olması istenmektedir. Ayrıca, sorguda üç tane nesne tanımlanmış ve nesnelerin konumsal ilişkileri operatör kullanımı ile belirlenmiştir. Sorguda istenen bir diğer unsur ise, resmin ortalama kırmızı oranının yüzde 50'den daha fazla olması ve nesne-1'in belirtilen örnek şekle sahip olmasıdır Kuşkusuz tüm özellik değerlerinin ve sorgulama parametrelerinin kullanıcı tarafından doğrudan girebilmesini beklemek yanlış olur. Çünkü bu değerler yüksek boyutlu vektör veya matris olarak temsil edilirler. Bu nedenle özellik-değerleri uygun arayüzlerin kullanımı ile otomatik olarak hazırlanır. Buradaki örnekte nesne-x olarak temsil edilen şey, aslında kullanıcının bir editör ile tanımladığı bir nesnelere karşılık gelmektedir [Bimbo et.al., 1995]. Resimlerin sorgulanmalarındaki bir başka yöntem ise resimlerin içerisindeki nesnelerin birbirleri ile arasındaki konumsal ilişkilerin belirlenmesidir. Önceki model bölümünde açıklanan yönteme göre, kullanıcı resim içerisinde istediği nesneleri ve nesneler arasındaki konumsal ilişkileri ikonik bir editör aracılığı ile verir. Daha sonra belirtilen nesnelerin özelliklerine göre otomatik olarak konumsal-tanımlama kısmında anlatılan yapıya uygun sorgular hazırlanır. 4.4.6.3 Video Đçeriklerinin Tanımlanması Videolar, daha öncede anlatıldıkları gibi, genellikle şotlara ayrılır. Sorgular ise genellikle şotlara dayanır. Aşağıda örnek bir video sorgusu verilmiştir: (vide1 VIDEO SEQ (ZOOM-IN, ZOOM-OUT) hareket-1 LENGTH > 4; DISSOLVE; hareket-2 107 LENGTH > 20; FADE; Şot-1 LENGTH > 50; SPEED = 30; IMAGE Avg-White > 60; MATCH nesne-1; INCLUDE (“bayram” or “tören”) END END) Bu video sorgusunda, temel olarak iki sıralı kamera hareketi istenmektedir: zoom-in, zoom-out. Herbir hareket hareket1 ve hareket2 olarak tanımlanmıştır. Birinci kamera hareketinin uzunluğu 4 birim (örneğin saniye) zaman ikincisinin uzunluğu ise 20 birim zaman olacaktır. Birinci hareket dissolve efekti ile sonlanırken, diğerinin fade efektine sahip olması istenmektedir. Birinci hareketteki şotun kamera hızı 30 ve şotta nesne-1’in olması istenmekte, ayrıca renk dağılımı %60’dan daha fazla beyaz içermelidir. Ayrıca ilgili şota bayram veya tören sözcükleri atanmış olmalıdır. 4.4.6.4 Ses Sorguları Ses verileri muzik, insan sesi ve ses olarak üç grup altında incelenebilir. Ses, özellikle video içeriğinin anlaşılabilmesi için son derece önemli katkılar sağlar. Muzik aletlerinin sesleri spektrum örüntüsü veya power envelop paterni ile temsil edilebilirler. Bu örüntüler ses verileri veritabanında saklanmadan önce otomatik olarak belirlenebilirler. Kullanıcı ise sorgusunu doğrudan mırıldanarak, kasetçalar veya doğrudan bir muzik aleti kullanarak verebilir. Konuşma tanıma sistemleri ise ses verilerinin metine dönüştürülmesidir. Fakat mevcut teknoloji ile bu işlem etkili bir şekilde yapılamamaktadır [Glavitsch, 1992] [Glavitsch, 1994]. Aşağıda bir ses içeriği sorgusu örneği sunulmuştur: 108 [Ses-içerik tanımı] BEGIN Specturum-index = S1; Power-index = P1; Sözcükler("cumhurbaşkanı" or "başbakan" and ("terör" and "laiklik")) END Bu sorgu, ses verilerini tanımlanmasında kullanılan iki temel dizinleme aracı baz alınarak hazırlanmıştır. Specturum dizininin S1, power dizininin ise P1 değerine sahip olması istenmektedir. Ayrıca, ses verisinin içerisinde belirtilen mantıksal birleşimde sözcükler geçmelidir. Bu sözcükler verilerin veritabanına atanması sırasında otomatik olarak metne çevrilebileceği gibi, kullanıcı tarafından elle de yapılabilir. 4.4.7 Sorgulama Dilinin BNF Gösterimi Önerilen sorgulama dili BNF (Backus Naur Form) kullanılarak gösterilmiştir. Burada, sonsuzlar (non-terminals) açılı parentez (<…>), isteğe bağlı alanlar köşeli parantez ([…]), tekrarlar küme parantezi içerisinde {…} ve alternatifler de normal parantezler içerisinde düz çubuklar ile ayrılarak (…|…|…) gösterilmiştir. <Sorgu-ifadesi> ::= RETRIEVE <ÇON-Türü> FROM <Filtre-Đfadesi> WHERE <çok-parçalı tanım> <ÇON-Türü> ::= ALL [EXCEPT <ÇON-Türü>) <Filtre-Đfadesi> ::= <SQL-Đfadesi> <Çok-parçalı tanım> ::= [NOT] <tek-parçalı-tanım> | (<karmaşık-tanım>) <Karmaşık tanım> ::= <Çok-parçalı-tanım> <mantık-ops> <çok-parçalı tanım> <Tek-Parçalı-tanım> ::= (ZBEGIN <zamansal-tanım> ZEND) 109 | (KBEGIN <konumsal-tanım> KEND) | (ĐBEGIN <içerik-tanım> ĐEND) <Zamansal-tanım> ::= [{<nesne-NO><zamansal-op><nesne-NO>}] [{<nesne-No><zamansal-özellik>}] <zamansal-özellik> ::= {<zamansal-öznitelik><numerik-op><değer>} <zamansal-öznitelik>::= LENGTH | START-OFFSET <zamansal-op> ::= [!] (<)| (<|) | (#) | (|-) | (∂) | (-|) | (=) <konumsal-tanım> ::= [{<nesne-NO><konumsal-op><nesne-NO>}] [{<nesne-No><konumsal-özellik>}] <konumsal-özellik> ::= {<konumsal-öznitelik><numeric-op><değer>} <konumsal-öznitelik>::= POSITION| WIDTH | LENGTH <konumsal-op> ::= [!] (<) | (<|) | (#) | (|-) | (∂) | (-|) | (=) <içerik-tanım> ::= [NOT] <karmaşık-içerik> | (<tek-içerik>) <karmaşık-içerik> ::= <içerik-özellik> <mantık-op> <içerik-özellik> <tek-içerik> ::= <nesne-NO> (<metin-özellik> | <resim-özellik> | <video-özellik> | <ses-özellik> ) <metin-özellik> ::= TEXT <metin-içerik> END <metin-içerik> ::= INCLUDE {<karmaşık-sözcük>} <karmaşık-sözcük> ::= (<sözcük> <mantık-op> <karmaşık-sözcük>) | <sözcük> <resim-özellik> ::= IMAGE [<özellik-adı> <nümerik-op> <value>] [<metin-içerik>] [MATCH <nesne-NO>] END <video-özellik> ::= VIDEO [<zam-video-öz>] [<şot-tanımı>] END <zam-video-öz> ::= SEQ <sıralı-kamera-har> {[<hareket-tanımı>][<şot-tanımı>]} <sıralı-kamera-har> ::= (<sıra> <mantık-op> <sıralı-kamera-har>) | <sıra> 110 <sıra> ::= ANYOPERATION | (<kamera-hareketi> {,<sira>}) <kamera-hareketi> ::= [NOT] <tek-hareket> | (<karmaşık-hareket>) <karmaşık-hareket> ::= <kamera-hareketi> <mantık-op> <kamera-hareketi> <tek-hareket> ::= ZOOM_IN | ZOOM_OUT | PAN_LEFT | PAN_RIGHT | TILT_UP | TILT_DOWN | BREAK <hareket-tanımı> ::= <hareket-sıra-no> ({<video-öznitelik> <nümerik-op> <değer>} | <tip>) <tip> ::=FADE | WIPE | DISSOLVE | SPECIAL-EFFECT | OTHERS <şot-tanımı> ::= (<şot-sıra-no> | ANYONE ) [{<video-öznitelik> <nümerik-op> <değer>}] [<resim-özellik>] [<metin-içerik>] <video-öznitelik> ::= SPEED | LENGTH | START-OFFSET <ses-özellik> ::= AUDIO [<ses-içerik-öz>][<ses-zamansal-öz>] END <ses-içerik-öz> ::= [{<ses-öznitelik> <nümerik-op> <değer>}] [<metin-içerik>] <ses-öznitelik> ::= SPECTURUM-INDEX | POWER-INDEX <ses-zamansal-öz> ::= {<değişim-tipi> <değişim-tanımı>} <değişim-tipi> ::= [NOT] <tek-değişim> | (<karmaşık-değişim>) <karmaşık-değişim> ::= <değişim-tipi> <mantık-op> <değişim-tipi> <tek-değişim> ::= SPECTURUM-CHANGE | POWER-CHANGE <değişim-tanımı> ::= {<değişim-öznitelik> <nümerik-op> <değer> } <değişim-öznitelik> ::= OFFSET-POSITION | DURATION | <audio-att> <mantık-op> ::= ( OR | AND | XOR ) <nümerik-op> ::= (=) | (<>) | (>) | (<) | (<=) | (>=) 111 5. ÇOKLU ORTAM DĐZĐNLEME YÖNTEMLERĐ Çoklu ortam verilerinin erişiminde iki temel yaklaşım vardır: Đlk yaklaşım, sıralı erişim olarak bilinir ve geri getirilecek verilerin sorgulardan çekilen özellikler ile veri tabanında saklanan bütün verilerin teker teker benzerliklerinin karşılaştırılması ilkesine dayanır. Karşılaştırmalar çok yoğun zaman alan işlemler olduğu için, erişim yetersiz olacaktır. Küçük bir bir veri tabanı için sıralı erişim uygun olabilir. Fakat veritabanı hacmi büyüdüğünde sıralı erişiminin maliyeti de büyüklükle, en azından, doğrusal olarak artacağından, erişim süresi de artacaktır. Bu nedenle, önerilen ikinci yaklaşım erişim sürecini kolaylaştıracak dizin veya dizinlerin kullanılmasına dayalıdır. Bir dizinleme yapısı kullanımı ile bir sorgunun sonuç kümesi dizinleme yöntemi kullanılarak çok daha hızlı bir şekilde tespit edilebilir. Bu bölümde, çoklu ortam erişim dizgelerinin vazgeçilmez bir bileşeni olan dizinleme yöntemleri konusunda yapılan inceleme çalışmalarının sonuçları yer almaktadır. Đnceleme sonuçları iki temel aşamada sunulmuştur. Birinci aşama, çoklu ortam verilerini tanımlamak için çıkartılan veya hazırlanan özellik vektörlerini temsil etmek için kullanılan temel veri yapıları ve bu değerler üzerinde yapılan transformasyon yöntemlerini içermektedir. Đkinci aşmada ise, literatürede yaygınlıkla kullanılan R-ağacı ve Izgara dosyaları hakkında bilgiler yer almaktadır. 5.1 Çoklu Ortam Gösterim Şekilleri Đçerik tabanlı çoklu ortam arama ve erişim yöntemlerinde kullanılan dizinleme yöntemlerinin başarısı yoğun olarak seçilen gösterim biçimine ve benzerlik ölçütlerine bağlıdır. Örneğin resimler için yaygınlıkla kullanılan özellikler doku, renk, şekil ve resim içerisindeki alt-nesneler arasındaki konumsal ve diğer tipdeki ilişki özellikleridir. Bu özelliklerden bir veya bir kaçının aynı anda kullanılması sıklıkla karşılaşılan bir durumdur. Şimdiye kadar yapılan çalışmalarda genellikle özellik vektörlerinin dizinlemeye uygunlukları araştırılmamıştır. Bir başka deyişle, elde edilen ve içeriği iyi 112 şekilde temsil ettiği belirtilen özellikler genellikle sıralı erişim için düşünülmüş, dizinlemeye ne kadar uygun olduğu veya nasıl dizinlenebilecekleri konusunda çalışmalar yapılmamıştır. Ayrıca bu özelliklerin benzerlik ölçümleri pahalı, karmaşık ve aynı zamanda mevcut dizinleme yapıları içerisinde kullanımları da son derece zordur. Resim arşivleri için özellik gösterim şekilleri ve dizinleme kriterleri [Niu et al, 1995]'de bulunabilir. Aşağıdaki bölümlerde öncelikle içeriği temsil etmek üzere sıklıkla kullanılan yöntemler ve ardından dizinleme yöntemleri anlatılmıştır. 5.1.1 Doku (Texture) Özellikleri Doku, görüntü işleme ve örüntü algılama alanında derinlemesine incelenmiş ve farklı resimleri ayırt etme ve tanımlama yeteneklerinin oldukça yüksek olduğu belirtilmiştir [Hsiao and Sawchuck, 1989] [Picard and Minka, 1995]. Bu nedenle çoklu ortam erişiminde kullanılan etkin özelliklerden birisidir [Manjunath and Ma, 1996]. Dokular sadece resim yüzeyleri değil aynı zamanda hareketlerin algılanmasında da kullanılmışlardır [Lillesand and Kiefer, 1994]. Hernekadar dokuyu tanımlamak için formal bir yapı mevcut değilse de, tek düzelik (uniformity), kabalık (roughness), düzenlilik (regularity), yön (direction), frekans (frequency) ve benzeri kavramlar doku özelliğini yansıtan ölçekler olarak kullanılmışlardır. Görüntü işleme alanında herhangi bir resim bölgesindeki dokuların tanımlanması sürecinde değişik yöntemler önerilmiştir. Doku özelliliğini çıkarmak için en yaygın yöntem çeşitli masklar veya filtreler tasarlanarak doku resmini karakterize edebilecek doku spektrumun elde edilmesi yöntemidir. [Shen and Wong, 1983] tarafından çözünürlük bağımlı frekans ortalamaları diyagramı gösterim şeması geliştirilmiştir. Bir resmin yüksek enerjilerinin tanımlanmasıyla bir resimdeki global genel tekrarları (periodicity) yakalamak için Fourier güç spectrumundan özellikler çıkartılmıştır [Eklundh, 1979]. Bazı araştırmacılar dokuyu temsil etmek için konumsal gri ton bağımlılık matrisleri kullanmışlardır [Haralick et al., 1973] [Conners and Harlow, 1980] [Unser, 1986]. Rastgele saha ve Markov modelleri dokuların sınıflandırılması ve parçalanması için önerilmiştir [Mao and Jain, 1992]. Özellik frekans 113 matrislerinin kullanımı ile dokuların temsil edilmesi [Shen and Bie, 1992] tarafından önerilmiştir. Bilgi ağaçları kullanımı ile doku algılama [Hougen and Omohundro,1988] tarafından önerilmiştir. Doku analizi ile ilgili genel tekniklere ait bir araştırma [Haralick et al., 1973] ve [Viltrotter et.al., 1986]’da bulunabilir. Her ne kadar görüntü işleme de günümüze kadar çok sayıda yöntem önerilmiş olsa da, bunların bir çoğunun çoklu ortam veri tabanlarında kullanımları gerek hesaplama karmaşılıkları ve gerekse uçuk varsayımlarından dolayı uygun değildir. Maalesef günümüzde genel görsel veri algılama alanında ve sınıflamada kullanılacak tek bir doku tanıma modeli mevcut değildir. QBIC projesinde, resimlerin dokularını yansıtabilmek için kabalık (coarseness), yön (directionality) ve zıtlık (contrast) kullanılmıştır [Niblack, et al., 1993]. Fakat, çok-çözünürlüklü oto-regresif modelinin daha iyi performance verdiği belirtilmiştir [Mao and Jain, 1992]. Çok-çözünürlüklü modellerde, kaba özellikler üst seviyeli global karakteristiklerinin elde edilmesi amacıyla kullanılmış, daha ince özellikler dokunun detaylarının incelenmesi ile belirlenmişlerdir [Rubner and Tomasi, 1996]. 5.1.2 Renk Özellikleri Bir resmi tanımlamanın en yaygın özelliklerinden birisi renk histogramlarının kullanılmasıdır [Faloutsos et.al., 1994] [Gray, 1995] [Holt and Hartwick, 1994] [Shawney and Hafner, 1994] [Stricker and Swain, 1994] [Swets and Weng, 1993]. Renk, özellikle bir resmin genel özelliklerini yansıtması ve içerisindeki nesnelerin tanımlanabilmesi için son derece güçlü bir özelliktir. Renk bilgilerinin kullanılmadan resim içerisindeki renk sayısının düşürülmesi gerekir. Literatürde çeşitli renk düşürme algoritmaları önerlimiştir [Orchard and Bouman, 1991]. Görüntü işleme alanında RGB, YIQ ve HSI gibi bir kaçtane renk modeli vardır. RGB modelinde, bir renk herbiri üç temel renk olan kırmızı, yeşil ve mavi olmak üzere birbirinden bağımsız üç aksis üzerinde gösterilir. YIQ renk modeli standart televizyon yayınlarında kullanılan modeldir. Bu modelde Y luminance (aydınlanma), I ve Q ise sırasıyla, iki kromatic bileşen olan inphase and quadrature’u temsil ederler. HSI modeli ise modeller arasında 114 renkli resimleri manipule etmek için kullanılır. H (hue) saf rengi temsil eden renk özelliğidir. S (saturation-doyum) ise beyaz ışık tarafından ne kadar sulandırıldığının ölçüsüdür. I (intensity-güç) bileşeni ise resimdeki renk bilgisinin oranıdır. HSI modelinde RGB modeline göreceli olarak normalize edilmiş r (red-kırmızı), g (green-yeşil) ve b (blue-mavi) değerleri şöyle tanımlanırlar: R ( R + G + B) G g= ( R + G + B) B b= (R + G + B) r= HSI modelinin Intensity (güç) bileşeni ise şöyle tanımlanır I = 1 (R + G + B) 3 Aynı zamanda R, G, B değerlerinden H ve S değerleri de elde edilebilir. 1 [( R − G ) + ( R − B ) ] 2 H = cos ( R − G ) 2 + ( R − G )( G − B ) 3 [min( R , G , B ) ] S =1− (R + G + B) −1 [ ] 1 2 5.1.3 Şekil Özellikleri Örüntü algılama alanında nesnelerinin şekillerinin gösterimi önemli bir araştırma konusudur. [He and Kundu, 1991] [Nalwa and Binford, 1986] Şekiller çoklu ortam erişimde yaygınlıkla kullanılan bir diğer özelliktir [Jagadish, 1991] [Jain and Petland, 1995] [Metrotra and Gray, 1995a ve b] [Petkovic, 1996]. Örneğin tibbi resim 115 arşivlerinde şekil gösterimi, renk ve dokuları aynı olan resimlerin ayırt edilmesinde son derece önemli bir özelliktir. Fakat, şekil benzerliklerine göre erişimde, belirli uygulamalarda benzerliğin anlamı farklı olarak yorumlanabilmektedir. Şekil özellikleri Chain kodlaması [Freeman and Davis, 1977], Fourier tanımlayıcısı [Person and Fu, 1977], değişken moment [Zakaria and et al., 1987], oto-regresif modeller [Dubois and Glanz, 1986], polar signatures [Lie and Chen, 1986] ve syntactic yaklaşımlar [Chen and Su, 1986] kullananılarak temsil edilebilirler. Chain kodları birbirine bağlı belirli uzunluk ve yöndeki doğrular halinde şekillerin sınırlarının belirlenmesidir. Yüksek frekanslı bileşenlerin katsayısı ihmal edildiğinde 2 boyutlu şekil sınırları birkaç Fourier tanımlayıcısı ile gösterilebilirler. Momentler ise şekil özelliklerinin boyutlarının düşürülmesi için kullanılan popüler bir yöntemdir. Örneğin iki boyutlu şekil sınırları momentlerin kullanımı ile tek boyutlu fonksiyonlar olarak gösterilebilirler. Yaygınlıkla kullanılan bir diğer yöntem ise çeşitli duyarlıklarda, şekilleri poligon olarak temsil etmektir. Bu konudaki çalışmalar ile ilgili araştırmaların kısa özetleri [Wu and Leou, 1993]’de bulunabilir. 5.1.4 Konumsal Özellikler Konumsal özellikler bir resim içerisindeki nesneler arasındaki yön ilişkisi, yapışıklık, çakışma veya birden çok alt nesneyi içerme gibi konumsal ilişkileri gösterir. Konumsal özellikler yaygın olarak kavramsal modeller ile de temsil edilirler. Dördüncü bölümde konumsal ilişkilerin kavramsal model olarak temsil edilmesi konusunda açıklamalar yapılmıştır. Fakat, konumsal özelliklerin vektörel, dizi ve ağaç veri yapıları ile de temsil edilmesi mümkündür. Bu nedenle konumsal özellikler bu bölüme de alınmıştır. Konumsal özellikler iki boyutlu sembolik diziler (string) olarak da temsil edililebilirler. Bu durumda, içerik tabanlı resim erişimi iki boyutlu dizi sırası araması haline dönüşecektir. Konumsal özellikler sıklıkla coğrafik bilişim dizgelerinde (CBD) kullanılırlar ve genellikle üç farklı kategoride incelenirler [Pullar and Egenhofer, 1988] [Egenhofer, 1989] [ Worboys, 1992]. 116 • Topolojik Đlişkiler: Bitişik, içerisinde, ayrıklık temel olarak karşılaşılabilecek konumsal ilişkilere örnek olarak verilebilir. • Yön Đlişkileri: yukarıda, aşağıda, kuzeyinde, güneyinde, kuzey-batısında gibi ilişkilerdir. Topolojik ilişkiler bir CBD uygulamasında, enlem ve boylam olarak tanımlanırlar. ÇBD uygulamalarında ise farklı şekillerde temsil edilebilirler. • Metrik ilişkiler: Tipik bir CBD sorgusu şu şekilde ifade edilebilir: "verilen referans noktasına 100 birim uzaklıktaki nesneleri bul". Bu örnekteki metrik ilişkisi, nesneler arasındaki fiziksel uzaklıktır. Çoklu ortam uygulamalarında ise metrik ilişkiler kabaca benzerlik ilişkisi olarak adlandırılabilirler. Örneğin, verilen örnek resme benzerlikleri verilen bir eşik değerinden daha çok benzeyen nesnelerin bulunması gibi. 5.2 Özellik Gösterim Şekilleri Bir resim içerisinde aranan nesnelerin sayılabilir ve yapısal tanımlamaları genellikle örüntü (pattern) olarak adlandırılır. Genel olarak bir örüntü renk, doku, şekil gibi bir veya daha çok özellik ile tanımlanabilir. Pratikte, örüntüler vektör, dizi veya ağaç yapısı ile temsil edilebilirler. Örnek olarak bir örüntü vektörü aşağıdaki gibi gösterilir: X = (X0,…,Xn-1) X'in her bir bileşeni, Xi, i+1'inci özelliği temsil eder ve n ise bunun gibi toplam özellik sayısını gösterir. X örüntü vektörünün bileşenlerinin içerikleri ise, örüntünün fiziksel tanımlanmasında kullanılan ölçüm yöntemine bağlıdır. Örneğin, bir resimde herbir piksel için 24 bit ayrılmış olduğu varsayılırsa, RGB renk modelinde R, G ve B bileşeni için 8 bit ayrılmış olacaktır. Dolayısı ile her renk bileşeni 0-255 aralığında değerler alırlar. Böylelikle, X=(Ravg, Gavg, Bavg) bir resmin ortalama renk dağılımını temsil eder. Burada Ravg, Gavg, Bavg değerleri n pikselinin ortalama değerlerini temsil etmektedir. 117 Dizi gösterimi ise yapıları basit bağlantılara dayanan bir resimdeki nesnelerin örüntülerinin gösterimi için uygundur. Örneğin Şekil-5.1(a)'da gösterilen şekil temel alfabe ile a,b,c,d olarak tanımlandığında, Şekil-5.1(b)'deki gibi tanımlanabilir. Buradan Şekil-5.1(a)'daki şekil temel alfabe kullanılarak tek boyutlu dizi olarak şu şekilde gösterilebilir, w = aabccd. a b c d (a) (b) (c) Şekil-5.1: (a) örnek şekil, (b) örnek şeklin gösterimi, (c) temel alfabe A B A C D B D C E F G E (a) G F (b) Şekil-5.2: (a) Nesne alanlarının düzlemsel gösterimi (b) alt-nesne alanlarının ağaç yapısı ile temsil edilmesi. Bir diğer güçlü yöntem ise ayrık yapıların da gösterimine izin veren ağaç yapısıdır. Bu durumda bir ağacın düğümleri iki tipte bilgi içerir. Birincisi örüntünün fiziksel formunu tanımlarken, ikincisi ise bu yapının diğer alt-yapılar ile olan ilişkilerini 118 gösterir. Örneğin Şekil-5.2(a)'daki şekil, içinde ilişkisi kullanılarak Şekil-17(b)'de gösterilen ağaç ile temsil edilebilir. 5.3 Benzerlik Ölçütleri ÇON'lar arasında benzerlik ölçümleri hem depolama hem de erişim sırasında kullanılır ve dizgenin başarımını yakından ilgilendirir. ÇON özellikleri vektör olarak temsil edildiklerinde, iki ÇON arasındaki uzaklık yaygın olarak benzerlik ölçütü olarak kullanılır. Dizinleme bakış açısıyla, benzerlik ölçütleri iki aşamada kullanılır. Birinci aşama sorguya uyuşmayan nesneleri atmak ve daha detaylı arama işlemleri için arama alanını daraltmak amacına yöneliktir. Đkinci aşama ise, filtreleme fazını aşan az sayıda nesne üzerinde sonuç kümesini oluşturmak için daha detaylı ve hassas ölçümler için kullanılır. Bu nedenlerle bir ÇBD'de kullanılacak dizinleme yöntemi benzerlik dizinleme (similarity indexing) yöntemi olmak zorundadır. Dizinlemede mutlak eşitlikler yerine benzerliklerin kullanılmasıyla ilgili çalışmalar [Santini and Jain, 1996] [White and Jain,1996a ve 1996b] yayınlarda bulunabilir. Literatürde şimdiye kadar önerilen bir çok benzerlik ölçütleri [Özkarahan, 1986] hesaplamalarının pahalı olması veya dizinlemede kullanımlarının zor olması nedeniyle çok uygun değildirler. Yaygınlıkla kullanılan benzerlik ölçütleri Euclidean ve ağırlıklı Euclidean fonksiyonları, L1 ve L2 metrikleri, ile bir ve iki boyutlu dizi uyum yordamlarıdır. Çok boyutlu uzayda yaygın olarak Minkowski metrikleri kullanılır. Burada i'ninci örüntü bir başka değişle örüntü matrisinin i'ninci satırı, xi, kolon vektörüne karşılık gelir: xi = (xi1, xi2,…,xid)T, i=1,2,…,n Burada, d özellik sayısını, n örüntü sayısını ve T, vektörün transpozisyonunu gösterir. Genel olarak Minkowski [Jain and Dubes, 1988] tanımlanmıştır: d d ( i , k ) = ∑ x ij − x kj j =1 1/ r uzaklığı aşağıdaki şekilde 119 Euclidean:(42 + 22)½ = 4.472 X12 Manhattan: (4 + 2 ) = 6 Sup: Max{2,4} = 4 4 X22 2 2 X11 X21 Şekil-5.3: Minkowski metrikleri En yaygın üç Minkowski metriği Şekil-5.3'de gösterilerek aşağıda anlatılmıştır. • r = 2 (Euclidean uzaklığı) d d (i, k ) = ∑ ( xij − x kj ) 2 j =1 • r = 1 (Manhattan, taxicab veya city block uzaklığı) d (i , k ) = d ∑ j =1 • 1/ 2 x ij − x kj r → ∞ ("sup" uzaklığı) d ( i , k ) = max x ij − x kj 1≤ j ≤ d Euclidean uzaklığı birçok uygulamada yaygınlıkla kullanılmıştır. Bütün özellik değerleri ikili olduğunda Manhattan metriği Hamming Uzaklığı olarak bilinir. Çoklu 120 ortam uygulamalarında ençok kullanılan ağırlıklı Euclidean uzaklık ölçütüdür. Örneğin, bir resme ait genel veya bölgesel renk histogramları özellik vektörleri olarak ele alındığında, bu vektörlerin sadece matematiksel olarak birbirlerinden uzaklıklarının hesaplanması yeterli olmayabilir. Kırmızı renk turuncuya, mor ise leylak rengine görsel olarak daha benzerdir. Dolayısı ile, görsel sonuçlara yakın benzerliklerin üretilebilmesi için uzaklık hesaplamalarında ağırlıkların kullanılması gerekir. 5.4 Konumsal Erişim Yöntemleri Konumsal veri (spatial data), iki veya daha çok boyutlu uzaydaki nokta, çizgi, dörtgen veya poligon olarak gösterilen verilerin genel adıdır. Hızlı bir şekilde konumsal verilere ulaşabilmek uygun dizinleme yöntemlerinin kullanımını gerektirir. Đşte bu hızlı ulaşım yolları genel olarak konumsal Erişim Yöntemleri (KEY, SAM=Spatial Access Methods) olarak adlandırılır. Günümüzde KEY'lere her geçen gün artan bir gereksinim vardır. Konumsal verileri bünyesinde barındıran uygulama alanlarından başlıcaları şunlardır: Coğrafik bilgi sistemleri, bilgisayar destekli tasarım ve çizim, bilgisayar görme (computer vision), bilimsel veritabanları, bilgi keşfi ve veri madenciliği (knowledge discovery and data mining) vb. Ayrıca, son yıllarda KEY yapılarına gereksinim duyulan bir diğer alan ise araştırma konumuz olan çoklu ortam veritabanı uygulamalarıdır. Geçmişte yapılan çalışmalarda birçok özgün KEY yapısı önerilmiş veya eski yapılar üzerinde iyileştirilmeler önerilmiştir. Sıklıkla kullanılan KEY yapıları şunlardır: Grid Dosyaları[Nievergelt et al., 1984], KDB-ağaçları[Robinson, 1981], R-ağacı [Gutman, 1984] R+-ağaçları [Sellis and Roussopoulos, 1987], R*-ağaçları [Beckman and Kriegel, 1990], Hilbert R-ağaçları [Kamel et al., 1994], TV-ağaçları [Lin et al., 1995], X-ağaçları [Berchtold, 1996], SS-ağaçları [White and Jain, 1995], Filtre-ağaçları [Sevcik, and Koudas, 1996] vb. Tüm bu ve benzeri yöntemler farklı durumlarda değişik başarım oranlarına sahiptirler. Hernekadar son çalışmaları içermiyorsa da, KEY yapıları ile ilgili iyi bir inceleme [Samet, 1990]'da bulunabilir. 121 Bu tez çalışmasında ÇON'ların dizinlenebilmesi için kullanılmak üzere Konumsal Izgara Dosyaları (KID, SGF=Spatial Grid File) adı verilen yeni bir dosya yapısı geliştirilmiştir. KID'in yapısının anlaşılmasını kolaylaştırmak ve genel olarak KEY yapıları hakkında bir fikir verebilmek amacıyla bu bölümde öncelikle Izgara Dosyaları ve R-ağaç ailesi hakkında bilgi verilmiştir. Hernekadar R-ağaç ailesi çokça kullanılan KEY yapılarının çok-boyutlu vektörlerinin dizinlenmesi amacıyla kullanılıyor olsa da, birçok çoklu-ortam uygulamasında özellik vektörleri yüksek-boyutludur. Bir kavram kargaşasına meydan vermemek için öncelikle çok-boyutlu ve yüksek-boyutlu deyimlerinin açıklanması gerekmektedir. Genel olarak eğer bir vektör 20 veya daha az boyutlu uzayda temsil ediliyor ise çok boyutlu, 20'den daha fazla boyutlu uzayda temsil ediliyor ise yüksek-boyutlu tanımlaması kullanılır. Bir çoklu ortam özellik vektörü genellike 20 veya daha yüksek boyutlarda temsil edilir. Bu nedenle aslında özgün olarak birçok çoklu ortam özellik vektörü yüksek-boyutludur. Fakat literatürde önerilen KEY yapıları genellikle çok boyutlu verilerin dizinlenmesi için önerilmişlerdir. Eğer yüksek-boyutlu veriler çok-boyutlu veriler için önerilen KEY yapıları kullanılarak dizinlemeye kalkışılırsa, performansları fazlasıyla düşmekte, beklenen iyileştirmelerden uzaklaşmaktadırlar. Bu nedenle yüksek-boyutlu vektörlerin standart KEY yapıları ile dizinlenmesindeki incelikleri açıklayan bilgiler aşağıdaki bölümde verilmiştir. 5.5 Yüksek-boyutlu Verilerin Dizinlenmesi Birçok KEY yapısının erişim karmaşıklığı boyut sayısı ile üssel olarak artmaktadır. Bu nedenle standart KEY yapıları çoğu durumda çoklu ortam verilerinin dizinlemesi için uygun değildir. Çünkü çoklu ortam özelliklerinin boyutları birçok durumda 20’den daha büyük boyutlu vektör uzayında temsil edilirler. Yüksek-boyutlu vektörlerin dizinlenmesi için geçmişte iki temel yöntem kullanılmıştır. Birinci yöntem, çok-boyutlu veriler için önerilen KEY yapılarınının üzerinde yüksek-boyutlardaki başarım 122 düşmelerini engelleyecek değişiklikler yapılması temel ilkesine dayanır. Literatürde TV-ağaçları ve X-ağaçları olarak önerilen yöntemler örnek olarak verilebilir. Aslında her iki yöntem de R-ağaç ailesine çok benzeyen yapılara sahiptirler. Aralarındaki tek fark, dizinlemede yüksek-boyutlu vektörlerin sadece baştan belirli bir kısım elemanının kullanılması, gerçek verilerde ise vektörlerin tamamının saklanması ilkesine dayanır. Đkinci yöntem ise, çok-boyutlu vektörlerin çeşitli transformasyon yöntemleri kullanılarak daha az boyutlu uzaya eşleştirilerek mevcut KEY yapılarının aynen kullanılmasını esas alır. Bu bölümde genel olarak bu transformasyon yöntemleri tartışılacaktır. Transformasyondan ana amaç, X özellik vektörünün dizinleme için daha uygun bir uzaya indirgenmesi ile X' vektörüne erişmektir. X özgün özellik vektörünü, X' ise transform edilerek boyut sayısı düşürülmüş vektörü temsil edildiğinde, transformasyon X'=ƒ(X) olarak ifade edilebilir. Q sorgu vektörü ile, R veritabanındaki herhangi bir dörtgeni temsil ettiği varsayımı ile aşağıdaki denkliğin doğru olduğu varsayılır: D'(X',Q') ≤ D(X,Q) Karhunen-Loeve (KL), Discrete Fourier Transform (DFT) veya Discrete Cosine Transform (DCT) veya standart uzaklığı-koruyan (distance-preseving) transformasyon yöntemlerinden her hangi birisi ƒ fonksiyonu olarak kullanılabilir. Transformasyonların avantajı, transform edilmiş vektörlerin enerjilerini ilk birkaç terimde toplamalarıdır. Bu ise dizinlemede boyut sayısını ve erişim maliyetini düşürürürken, dizinlemenin etkinlik ve yeterliliğinde en az kayıp meydana gelmesini sağlar. Tipik bir aralık sorgusunu inceleyelim: Q sorgu vektöründen ε uzaklıktaki tüm X vektörlerini bul. Sorgu işleme öncelikle az-boyutlu uzayda D'(X',Q')≤ ε tolerans 123 koşulunu yerine getiren bütün X vektörlerini bulacaktır. Bu nedenle, elde edilen tüm vektörler D'(X',Q') ≤ D(X,Q) ≤ ε koşulunu yerine getirecektir. Burada dikkat edilmesi gereken önemli bir nokta, yanlış isabet (false hit) sayısı küçük bir artış gösterirken ıskalama (dismissal) sayısında artışın beklenmediğidir. Yanlış isabet sonuçlarındaki bu artış ise çok önemli değildir, çünkü yanlış isabet değerleri son-işleme (post-processing) ile kolaylıkla ayıklanabilirler. 5.6 Izgara Dosyaları Izgara dosyaları [Nievergelt et al., 1984] çok-öznitelikli bir erişim için önerilen bir yapı olmasına rağmen, çok-boyutlu uzaydaki nokta verilerinin erişiminde de kullanılan en yaygın yöntemlerden birisidir. Amacı en fazla iki disk erişimi ile verilere ulaşmak ve aralık sorgularını etkin bir şekilde gerçekleştirmektir. Bu amaç, kayıt uzayındaki ızgara bloklarından oluşan ızgara rehberi aracılığı ile gerçekleştirilir. Bir ızgara bloğu içerisindeki bütün kayıtlar aynı disk sayfasını paylaşırlar. Bunun yanında, birden çok ızgara bloğu da, birleşimleri kayıt uzayında k-boyutlu dörtgen oluşturduğu sürece, aynı sayfayı paylaşabilirler. Sayfa alanlarının birbirlerinden ayrık olmasına rağmen, sayfaların tamamı bir bütün olarak kayıt uzayını oluştururlar. Izgara rehberinin amacı kayıt uzayındaki ızgara blokları ile veri sayfaları arasında dinamik bir ilişki sağlamaktır. Izgara rehberi iki parçadan oluşur. Đlk parça, herbir ızgara bloğu için bir eleman içeren k-boyutlu bir dizindir. Bu elemanların değerleri veri sayfalarını gösteren göstergeçlerdir. Bir veri sayfası genellikle 10 ile 1000 arasında kayıt içerebilir. Bu nedenle, bir veri sayfasındaki kayıtların sayısı göreceli olarak ızgara dosyasındaki toplam kayıt sayısına göre çok daha azdır. Kayıtlar veri sayfaları içerisinde bağlaçlı liste veya ağaç yapıları kullanılarak saklanabilirler. Dizin rehberi Y4 Y3 Y2 124 Şekil-5.4: Izgara dosyasının yapısı Izgara dosyalarının ikinci parçasına doğrusal ölçek adı verilir ve k tane tek boyutlu dizi ile temsil edilir. Bu ölçekler herbir boyutun alanını parçalara ayırır. Doğrusal ölçekler ilgili öznitelik değerlerine dayalı olarak adreslerinin hesaplanmasına yardımcı olarak uygun ızgara bloklarına erişimi sağlarlar. Doğrusal ölçekler ana bellekte saklanır. Burada doğrusal ölçeklerin aralık sorgularında çakışan ızgara bloklarının bulunmalarını sağladığına dikkat edilmelidir. 5.6.1 Izgara Dosyalarının Dinamizmi Izgara dosylarının dinamizmi en iyi olarak bir dosyaya tekrarlanan eklemelerin yapılmasının anlatılması ile anlaşılabilir. Silme meydana geldiğinde birleştirme işlemleri yerine getirilir. Đşlemi kolaylaştırmak için iki boyutlu bir ızgara dosyasını ele alalım. Izgara rehberini doğrudan göstermek yerine, ızgara blokları ile birebir eşleştirilen veri sayfaları için oklarla gösterilme yolu seçilmiştir. Başlangıç olarak, ızgara dosyasının kapasitesi c=3 olan A veri sayfasına sahip olduğu ve bütün kayıtların bu veri sayfasına atandığını varsayalım. Bu başlangıç durumu Şekil-5.5'de gösterilmiştir. 125 A Şekil-5.5:Tek bloklu Izgara Dosyası Eğer veri sayfası alanında taşma meyda gelirse, kayıt uzayının bölünerek ikinci bir veri sayfası, B, yaratılması gerekir. Bölünme sırasıyla dizinlemeye katılan bir eksen boyunca yapılır. Bölünme sonrasında B alanında kalan kayıtların A sayfasında B sayfasına taşınması gerekir. Şekil-5.6 ilk bölünmeyi göstermektedir. A B Şekil-5.7: Örnek ızgara dosyasında ilk bölünme Eğer eklemeler sonunda A bloğunda taşma meydana gelir ise, ızgara bloğu herhangi bir bölünme mekanizmasına göre tekrar bölünür. En kolay bölünme stratejisi ise sırasıyla ızgaranın eksenlerinin kullanılmasıdır. Şekil-5.7'de gölgeli alandaki kayıtlar bölünme ile elde edilen yeni veri sayfasına, C, taşınacaktır. Fakat B'de bir taşma meydana gelmediği için yerlerinde kalacaktır. Bu ise ızgara dosyalarının bellek kullanımını azaltmak için önerdiği bir yöntemdir. A B 126 Örnek ızgara dosyasına yeni eklemelerin olduğunu ve bu yeni eklemelerin C veri sayfasınında taşma meydana getirdiğini varsayalım. Bu durumda yeni bir bölünmeye gereksinim vardır. Bu yeni bölünme ve ızgara dosyasındaki ızgara bloklarının ve hangi blokların hangi veri sayfaları ile eşleştirildikleri Şekil-5.8'de gösterilmiştir. Izgara dosyalarda eksenler boyunca yapılan bölünmeler ikili ağaç olarak gösterilebilir. B C A D Şekil-5.8: Örnek ızgara dosyasında üçüncü bölünme Özgün ızgara yapısının bölünme yapısında farklı öneriler getirilerek iyileştirilmeleri sağlanmıştır [Özkarahan, 1985] [Tamminen, 1981]. 5.7 R-ağaç Genel olarak R-ağaç yapısı [Gutman, 1984], B-ağacı yapısının n-boyutlu konumsal, veya çok-boyutlu nesnelerin, dizinlenmesini sağlayan genişletilmiş bir uygulamasıdır. 127 R-ağacında, n-boyutlu bir nesne, o nesneyi kapsayan en küçük dikdörtgen (KED) ile temsil edilir. Bir KED, iki veya daha çok boyutlu uzaydaki dikdörtgene karşılık gelir. R-ağacı verileri yapraklarda olan, yüksekliği dengeli bir ağaçtır. Yapraklarda, verileri veya veri sayfalarını gösteren bir göstergeç bilgisi ve ilgili sayfa içerisinde yer alan tüm verileri kapsayan bir KED bilgisi vardır. Daha üst seviyeli düğümlerde daha alt seviyeleri gösteren benzer bilgiler bulunur. Eğer yapı diske dayalı olarak gerçekleştirilirse, düğümler sayfalara karşılık gelir. Dizinleme yapısı tümüyle dinamik olup, periyodik olarak yeniden düzenlemelere gerek bırakmaz. Ağaçtaki yaprak düğümler aşağıdaki formda dizin kayıtlarına sahiptir: (KED, NesneNo) Burada NesneNo veritabanındaki bir nesneyi, KED ise nesneyi temsil eden n-boyutlu dörtgen bilgisidir. Yaprak olmayan düğümler işe aşağıdaki formdadır: (KED, oğul-göstergeç) Bu ifadede oğul-göstergeci bir diğer seviyeli düğümün adresini, KED ise oğul- göstergeç ile belirtilen tüm dörtgenleri kapsayan bir dörtgen bilgisidir. Bir başka değişle KED, kökü oğul-göstergeç olan alt-ağaçtaki tüm nesneleri kapsayan bir dörtgen bilgisidir. Şekil-5.9 iki boyutlu örnek bir R-ağacının düzlemsel ve ağaç yapısını göstermektedir. M'in bir düğüme sığabilecek olan en fazla eleman sayısını ve m ≤ M/2 ise bir düğüm içerisindeki en az eleman sayısını gösteren bir parametre olduğu varsayıldığında, bir R-ağacı aşağıdaki özelliklere sahiptir: • Her yaprak düğümünde, kök olmadığı sürece, m ile M arasında dizin kaydı bulunur. 128 • Bir yaprak düğümündeki her dizin kaydı (KED, NesneNo) için, KED belirtilen nesneyi konumsal olarak kapsayan en küçük n-boyutlu dörtgendir. • Her yaprak olmayan düğüm, kök olmadığı sürece, m ile M arasında oğula sahiptir. • Yaprak olmayan her düğümdeki (KED, oğul-göstergeci) için, KED oğul düğümdeki tüm dörtgenleri konumsal olarak kapsayan en küçük dörtgendir. • Kök düğümü yaprak olmadığı sürece en az iki oğula sahiptir. • Tüm yapraklar aynı seviyededir. N dizin kaydı içeren R-ağacının yüksekliği, m dallanma faktörünü göstermek üzere en fazla logmN olur. En fazla node sayısı ise aşağıdaki ifadeye eşit olacaktır: N N m + m 2 + ... + 1 Kök dışındaki düğümlerin en kötü alan kullanımı ise m/N olacaktır. m'den daha fazla sayıda eleman içerme eğiliminde olan düğümler ağacın yüksekliğinin artmasına neden olarak, alan kullanımını iyileştirebilir. Eğer düğümlerde 3 veya 4'den fazla eleman bulunursa, ağaç çok genişleyerek, alanın hemen hemen tamamı dizin kayıtları içeren düğümlerle dolabilir. m parametresi farklı değerler denenerek başarım ayarlaması için kullanılabilir. 129 R1 R2 R3 R4 R5 R8 R9 R10 R6 R11 R12 R13 R14 R15 R16 R7 R17 R18 R20 (a) R-ağacının ağaç gösterimi R1 R4 R3 R9 R8 R11 R5 R13 R14 R10 R12 R12 R2 R7 R18 R17 R6 R16 R19 R15 (b) R-ağacının düzlemsel gösterimi Şekil-5.9: R-ağacının gösterimleri Diğer KEY’lerde olduğu gibi R-ağaçlarda temel olarak iki tip sorgu yöneltilebilir. • Aralık sorguları: verilen bir Q penceresi için, kesişen veya içeren bütün R dörtgenlerin bulunması, Q ∩ R ≠ ∅ veya Q∈ R. • Nokta sorgular: verilen bir Q noktasını içeren bütün R dörtgenlerinin bulunması, Q∈R. Nokta veya aralık sorgularının R-ağaçlarında aranması B-ağaçlarınkine benzer bir yordam ile yapılır. Ağacın üst seviyelerinde dörtgenler arasında çakışmalar olabildiği için için, hedef dörtgenlerin birden fazla düğüm içerisinde yer alması mümkündür. Bu nedenle, sonuçların elde edilmesi için çok sayıda dörtgenin test edilmesi gerekebilir. Buna karşılık, hedef kayıtlar sadece yapraklarda bulunur. Bunun anlamı arama sırasında bazı yolların yapraklara inmeden bitebileceğidir. 130 R-ağacına yapılacak bir ekleme her hangi bir düğümün bölünmesine neden olabilir. Bölünmelerin amacı düğümler arasındaki benzerlikleri azaltarak aramalarda her iki düğümün de ziyaret edilmesini sağlamak için kayıtları dağıtmaktır. Özgün R-ağaç yapısında adları hesaplama karmaşıklıklarından gelen doğrusal bölünme, dörtlü bölünme ve üssel bölünme olmak üzere üç tane farklı yöntem önerilmiştir. Bu üç algoritmadan dörtlü bölünme, bölünme zamanı ve arama performansı arasındaki dengeyi korur. Tüm algoritmalar bir bölünmenin ardından çakışan alanların en aza indirgenmesini amaçlamaktadır. R-ağaçda silme işlemi B-ağaçtakine benzer bir yöntemle yerine getirilir. Tek fark her hangi bir dalda underflow (kayıt azalması) meydana geldiğinde yaşanır. Bu durumda düğümdeki kayıtlar başkarıyla birleştirilmek yerine, silinerek tekrar ekleme yordamları çağrılır. R-ağaçları yapraklar dışındaki düğümlerin KED’lerinin çakışmasına izin verir. Böylelikle arama için sadece bir tek yola gereksinim duyulmasını garanti eder. Fakat ekleme ve silmeler sonucunda bu özellik bozulabilir. Bu temel problemlerden dolayı özgün R-ağaç yapısında çeşitli değişiklikler önerilmiştir: R*-ağacı [Beckman and Kriegel, 1990], R+-ağacı [Sellis and Roussopoulos, 1987], Hilbert R-ağacı [Kamel et al., 1994] [Gavrila, 1995] vb. R+-ağacının temel katkısı, yaprak olmayan düğümlerdeki çakışmanın önlenmesidir. Bu nedenle her dörtgen kesiştiği tüm dörtgenlerle ilişkilendirilmiştir. Bu ise arama sırasında aynı dörtgen için birden çok arama yolunun takip edilmesi anlamına gelir. Bu nedenle ağacın yüksekliği artacaktır. Deneysel sonuçlar R+-ağaçlarının daha iyi sonuçlar verdiğini göstermektedir. Ancak veri dağılımı değiştiğinde bu katkının çok güvenilir olmadığını gösterilmiştir. Ana problem ise B-ağacından gelen temel özellik olan, düğümlerin en az yarısının dolu olması garantisini kaybetmiş olmasıdır. Birbaşka konu ise çakışmanın her zaman kötü erişim sonuçları vermeyebileceği, çakışmamanın herzaman iyi sonuçlar üretmeyebileceği veya mümkün olamayacağıdır. R*-ağaçları en iyi sonuçları üreten R-ağacı ailesinin en yeni uyarlamasıdır. Başarımın eniyileştirilmesi amacıyla, yaprak olmayan düğümler tarafından 131 kapsanan alanlar, çakışmalar ve marjinler en aza indirgenerek alan kullanımı iyileştirilmiştir. R*-ağaç bölünme algoritması alan parametreleri yanında farklı kombinasyonlarda margin ve çakışma parametrelerini de kullanır. Ana katkısı bazı dörtgenlerin silinerek zorla-yeniden ekleme (forced reinsert)’dir. Bu katkının tabanındaki ana felsefe, R-ağaca eklenen dörtgenlerin farklı sıralarda verilmesi farklı ağaçlar oluşturmasına dayanır. Eğer önceden eklenen veriler iyi erişim başarımını garanti etmiyorlarsa, silinerek tekrar eklenirler. Başarım karşılaştırmaları R*-ağacın R-ağaçlara göre daha iyi sonuçlar verdiğini göstermektedir ve alan kullanımı ise R-ağaçlardan %70 daha iyi sonuçlar vermiştir. Aynı zamanda ortalama ekleme zamanı da daha düşüktür. 132 6 . KONUMSAL IZGARA DOSYALARI (KID) Önceki bölümlerde anlatılan çoklu ortamın genel karakteristikleri göstermektedir ki, bir ÇON herbiri farklı nitelik ve niceliklere sahip birden çok konumsal veya çok-boyutlu vektörlerle temsil edilmektedir. Bu genel özellik, çoklu ortam dizinlemesinde çoklu konumsal öznitelikleri dizinleme yeteneğine sahip bir dizinleme yöntemine olan gereksinimi zorunlu kılar. Yapılan araştırmalarda bu özelliklere sahip bir dizinleme yöntemi ile karşılaşılmamıştır. Đşte, KID bu eksikliği tamamlamak ve çoklu ortam ÇON'ların erişimine yardımcı olmak için bir dizinleme yöntemi olarak bu çalışma kapsamında geliştirilmiştir. 6.1 Çoklu Ortam Dizinleme Gereksinimi Çoklu-ortam veri tabanı uygulamalarında çoklu konumsal-anahtarlı erişime olan gerekesinimi açıklıkla ortaya koymak için bir dizi ÇON'u içeren bir çoklu ortam dizgesini ele alalım: ÇBD = {M1,…,Mm} M = {F1,…,Fn} /* bir ÇON özellik vektörleri ile tanımlanmıştır */ F1 = <f11,…,f1p> /* Bir özellik vektörel olarak tanımlıdır */ ve F2 = <f21,…,f2q> … Fn = <fn1,…,fnr> olarak tanımlanır. Đlave olarak, F'ler arasında konumsal benzerliklerin/uzaklıkların hesaplanması için bir grup fonksiyonun, {SIM1,…,SIMn} tanımlı olduğunu varsayalım. Bazı fonksiyonlar aynı olabileceği gibi farklı yöntemlerin uygulandığı fonksiyonlar da olabilir. Sorgular, Q={F1,…,Fn), bu özellik vektörleri cinsinden temsil edileceklerdir. 133 Böyle bir dizgede sorgu işleme birbirlerinden farklı nitelik ve niceliklere sahip özellik vektörlerini kullanarak, benzer nesneleri veri tabanından bulup getirmesini kolaylaştıracak bir organizasyona gereksinim duyar. 6.2 KID'lerin Genel Özellikleri Geleneksel ızgara dosyalar aslında bu türde bir veri uzayı için en uygun adaydır. Fakat, ızgara dosyaları sadece doğrusal olarak sıralanmış öznitelik değer alanları için kullanılabilirler. Izgara dosyalarında bir boyutun doğrusal ölçeği, tek boyutlu diziler ile temsil edilir ve her ölçek öznitelik alanını aralıklara ayırır. Bu doğrusal ölçekler öznitelik değerlerine bağlı olarak uygun ızgara bloklarına erişimde kullanılacak olan adreslerin hesaplanmasında kullanılır. Çoklu-ortam gereksinimlerini karşılamak için, özgün ızgara dosyalarındaki doğrusal ölçek yapısının değiştirilmesi gerekmektedir. Bu değişiklik, doğrusal ölçeklerin konumsal öznitelik değerlerini destekleyebilmesini sağlayabilmelidir. KID ile önerilen ilk değişiklik doğrusal ölçeklerin bir nesne sınıfı ile temsil edilmesidir. Doğrusal Ölçek Nesnesi (DÖN)'nin veri parçası hemen hemen özgün ızgara dosyalarındaki yapı ile aynıdır. Đlavesi ise nesnenin yöntemidir. Yöntem parçası çok-boyutlu öznitelik vektörlerinin tek boyuta düşürülmesi işlemini gerçekleştirir. Birbaşka ifade ile, DÖN'lerin yöntem parçaları doğrusal olarak sıralanamayan öznitelik değer alanlarının, doğrusallaştırılması veya benzer nesnelerin kümelenerek sıralanmasını gerçekleştirir. Yöntem olarak, literatürde önerilmiş bulunan veri seviyesinde örtüşmeyen (non-overlapping) her hangi bir KEY yapısı veya kümeleme yöntemleri kullanılabilir. Örneğin renk histogramlarının temsil edildiği özellik vektörlerinin bulunduğu boyut için DÖN yöntemi olarak R-ağaç, resimlere iliştirilen metinsel açıklamaların yer aldığı bir boyut için ise Cover Cooeficient Based Clustering [Can and Özkarahan, 1990] algoritmaları kullanılabilir. Eğer KID boyutlarından birisi için R-ağaç kullanılacak ise, ağacın en alt seviyesindeki yaprak olmayan düğümler öznitelik aralıklarının hazırlanmasında kullanılır. Eğer belge-kümeleme algoritması kullanılır ise bu durumda, kümelerin merkezleri (centroid) DÖN'lerin doğrusallaştırılma işleminde temel alınır. 134 Buraya kadar anlatıldığı kadarıyla KID, özgün ızgara dosyalarının doğrusal ölçek yapısına bir yöntem eklenmesi yoluyla, çoklu-konumsal öznitelilerin dizinlenmesini sağlar. Bu yapı ile veri nesnelerinin tanımlandıkları özniteliklerin toplam benzerliklerine göre diskte yakın yerlerde saklanabilmeleri da sağlanmış olur. Bu özellik KID yapıların koşut veya dağıtık veri tabanı uygulamalarında aktif bir araştırma konusu olan kümeleme ve parçalama (declustering) problemlerinde kullanılabilir. KID'lerin koşut veri tabanı uygulamalarındaki kullanımları ve etkileri bir sonraki bölümde ayrıntıları ile tartışılmıştır. KID'lerin bir başka çekici yönü ise, eksik tanımlanmış sorguları işleme yeteneğindeki başarımdır. Bu ise başlangıç bölümlerinde anlatılan, ÇON'ların genel karakteristikleri ile örtüşmektedir. Hatırlanacağı gibi ÇON'ların tanımlanmasındaki zorluklar nedeni ile birçok ÇOS işlemeye gönderildikleri anda genellikle eksik olarak tanımlanmışlardır. KID'lerin sorgu işlemesinde her boyutun bir aralığı veri uzayının bir dilimini geri döndürdüğü için, eksik tanımlı sorgular başarı ile yerine getirilecektir. KID üzerinde yapılan işlemlerin nasıl yapıldığını daha iyi açıklamak için, her ÇON'un iki öznitelik ile tanımlandığı, iki boyutlu bir resim veri tabanını ele alalım. Daha formal olarak, resim veritabanında bir grup resim bulunur, ÇBD={M1,…,M2}, ve her bir resim iki özellik vektörü ile temsil edilmiştir. M1={F1,F2}, burada; F1={H1,T1} F2={H2,T2} Fi'nin ilk tanımlayıcısı, k-boyutlu vektör uzayında tanımlı bir renk histogram vektörüdür Hi=(h1,…,hk). Burada her hj elemanı i resmi içerindeki j rengindeki piksellerin normalize edilmiş değeridir. Resim nesnesinin ikinci tanımlayıcısı ise m boyutlu vektör uzayında ilgili resim için belirlenmiş metinsel açıklamaları tanımlayan bir sözcük vektörüdür Ti={t1,…,tm}. Burada, her tj, dizin sözlüğünde tanımlı olmak üzere b,r 135 sözcüğü, i resmini tanımlayan j sözcüğünün önemini göstermektedir. Eğer sözcük dizinleme ikili ise, tj tanımlamada varlığını veya yokluğunu gösteren 0 ve 1 değerlerini alır [Özkarahan and Can, 1986]. Değil ise, ilgili resmin metinsel tanımlamasında tj sözcüğünün tekrar sayısını veya normalize edilmiş ağırlığını gösterir. H boyutu için Doğrusal ölçek nesnesi Yöntem(R-ağacı) KED-5 Veri H SGF Veri uzayı boyutu 5 4 KED-4 3 KED-3 KED-2 KED-1 2 1 1 2 3 C2 C3 4 5 6 C4 C5 C6 7 8 T boyutu Veri Yöntem (C3M) C1 C7 C8 T Boyutu için doğrusal ölçek nesnesi Şekil-6.1: Örnek bir KID organizasyonu Bu örneğin basit bir KID organizasyonu Şekil-6.1'de gösterilmiştir. Bu örnekte KID iki boyuta sahiptir. H renk histogramını, T ise metinsel açıklamaları gösterir. Rastgele seçilmiş Hj ve Tj değerleri, sırasıyla, k ve m-boyutlu vektör uzayındaki noktalara karşılık gelirler. KID'ın herbir boyutu (aksis) Doğrusal Ölçek Nesnesi (DÖN) olarak adlandırılmış olup, veri ve yöntem parçalarına sahiptir. Bu örnekte, H boyutu için R-ağaç, T boyutu için ise Cover Coefficient based Clustering Methodolojisi (C3M) [Can and Özkarahan, 1990] kullanılmıştır. DÖN'lerin veri parçası KED veya kümeleri eşleştiren look-up-table (LUT) olarak tasarlanmışlardır. Her DÖN için p ve q boyutlu LUT'lar bulunur ve KED/küme bilgisinden ilgili aralık bilgisine ulaşmak için 136 kullanılacak adreslerin hesaplanmasında kullanılır. DÖN'lerin her aralığı içerdiği nesnelerin benzerliklerine göre veri uzayını dilimlere ayırır. Daha formal olarak bir KID, d kullanılan boyut sayısını göstermek üzere, bir dizi DÖN'e sahiptir, KID={LS1,…,LSd}. Daha sonra, her doğrusal ölçek LS, bir dizi aralık olarak tanımlanır; LS1={v11,…,v1p} LS2={v21,…,v2q} … LSd={vd1,…,vdr} Burada p, q ve r ilgili boyuttaki aralık sayısını gösterir. Her vji, j'ninci boyutun öznitelik değerleri alanınındaki bir aralığa karşılık gelir Bu nedenle benzer/yakın nesneler çok-boyutlu tanımlayıcı özelliklerine göre aynı ızgara bloğu içerisinde yer alacaklardır. N'in bir boyut numarasını i'yi parametre olarak alan ve aralık sayısını, p'yi geri gönderen bir fonksiyon olarak, N(i) tanımlandığını varsayılırsa, veri uzayı δ ızgara bloğuna bölünecektir: d δ = ∏ N (i ) i =1 Fakat, şekilleri n-boyutlu dörtgen olduğu sürece birden çok ızgara bloğu aynı veri sayfasını paylaşabiledikleri için δ 'den daha az ızgara sayfasına ihtiyaç olacaktır. Izgara bloklarının paylaşımı Şekil-6.1’da gösterilmiştir. Buradan hareketle, KID aynı zamanda grid blokları dizisi olarak da tanımlanabilir. KID = {b1,…,bδ) Şekil-6.1'da verilen örnekte, d ikiye eşittir ve KID aşağıdaki şekilde tanımlanmıştır: KID = {LSH, LST} 137 ve LSH = {vH1,…,VH5} LST = {vT1,…,vT8} ve veri uzayı N(H)→5 ve N(T)→8 olduğu için 40 parçaya bölünmüştür. Daha sonra, KID = {b1,…,b40} tanımlaması yapılabilir. Bu örnek için geçerli olmak üzere, belirli bir ızgara bloğunu tanımlamak için, alt-indisler T ve H sırasıyla ilgili aralığın numarasını belirlemek üzere, bTH notasyonu kullanılmıştır. Örneğin KID veri uzayı parçalarından sağ üst köşedeki partisyon b85 olarak gösterilmiştir. Çoklu ortamların d tane öznitelik ile tanımlandığı dizgelerde, bir sorgu uygun kullanıcı arayüzlerinin kullanımı ile bir dizi vektör ile temsil edilir: Q={q1,…,qd} Đki boyutlu resim arşivimize geri dönersek, sorguların aşağıdaki şekilde sunulması beklenir: Q={qH,qT} Sorgunun yönlendirilmesinden sonra sorgu işleme şu şekilde yerine getirilir. Öncelikle, ilgili sorgu vektörleri kullanılarak, ilgili boyutun DÖN yöntemleri aracılığı ile uygun verilerin bulunması muhtemel aralık veya aralıklarına karar verilir. Elde edilen bu aralık numaralarının yardımı ile ilgili ızgara bloklarının veya veri sayfalarının adresleri bulunur. Şekil-6.1’da ilgili aralıklar açık, aralık kesişim noktaları ise koyu gri olarak gölgelendirilmişlerdir. H boyutunda tek ve T boyutunda ise iki aralık ilişkili bulunmuştur. Kesişim noktasında bulunan nesneler ise daha detaylı incelemeye tutulmak için ilk sonuçlar olarak kabul edilir. Daha formal olarak, parametre olarak sorgu vektörü ve ilgili DÖN verildiğinde ilgili aralıkları geri döndüren bir R 138 fonksiyonunun tanımlandığını varsayalım. R fonksiyonu formal olarak aşağıdaki şekilde tanımlanabilir: R(qj,LSj) → (v1,…,vx) Yukarıdaki tanımlama qj=Null ise, j boyutundaki tüm aralık tanımlamalarını geri döndürür. B'nin ise verilen bir aralıktaki ızgara bloklarını geri dödürdüğünü varsayalım. B(v1,…,vx) → (b1,…,by) Tekrar Şekil-6.1’daki örneğe geri dönülürse, aşağıdaki ızgara blokları ilişkili bulunacaktır: B(R(qH,LSH))→{b14,b24,b34,b44,b54,b64,b74,b84} B(R(qT,LST)) →{b31,b32,b33,b34,b35,b71,b72,b73,b74,b75} Sonuç nesneler ise aşağıda tanımlanan küme içerisinde yer alacaklardır: B(R(qH,LSH))∩ B(R(qT,LST)) →{b34,74} d boyutlu bir KID için sonuç dizisi aşağıdaki formül ile hesaplanır d ∩ B(R(q , LSi)) i i =1 Bu ifade herbir arama boyutuna uyan nesnelerin kesişme kümesini gösterir. Yanlış-isabetleri gidermek için daha detaylı benzerlik karşılaştırmaları bu küme üzerinde gerçekleştirilir. 6.3 KID'lerin Oluşturulması 139 Bir KID organizasyonu bünyesinde en azından bir tane çok-boyutlu öznitelik barındıracağı için, KID'lerin oluşturulması işleminin ilgili DÖN içerisine gömülmüş olan KEY'e doğrudan bağımlı olduğu açıktır. Bir KID içerisinde konumsal veya çok-boyutlu öznitelikleri dizinleme veya kümeleme yeteneğine sahip veri seviyesinde örtüşmeyen sıradüzensel yöntemler kullanılabilir. KID'lerin oluşturulmasından önce her boyuttaki konumsal/çok-boyutlu özniteliklerin birbirlerinden bağımsız olarak dizinlendikleri varsayılır. Hernekadar bir KID organizasyonu n boyutu destekler ise de, gösterimin anlaşılmasındaki kolaylık açısından oluşturma süreci iki boyut üzerinde anlatılmıştır. Örneğimizde, bir resim arşivindeki resimlerin renk ve tanımlayıcı metinsel açıklamaları olmak üzere iki boyutlu bir KID kullanılmıştır. Metin boyutunun DÖN yöntemi olarak C3M ve renk histoğramları için ise R-ağacı kullanılmıştır. Her iki yöntem de, KID'lerde kullanılacak olan KEY yöntemlerinin ön-şartına uymaktadır. Yani her iki yöntemde veri seviyesinde örtüşmeyen yöntemlerdir. Şekil-6.2 her iki boyutun ağaç yapısını, seviyelerini ve herbir yaprağa erişim için kullanılan ulaşım yollarını göstermektedir. Ulaşım yolları, verilerin ağacın yapraklarında olduğu varsayımı ile, herbir veri sayfasına erişim sırasında ziyaret edilen dalların numaralarının sıralanması ile oluşturulmuştur. KID’in en önemli bileşeni ızgara rehberidir. Izgara rehberi ise ağaç veri yapısı ile temsil edilmektedir. Izgara rehber ağacı ise, KID’i oluşturan birbirinden bağımsız olarak dizinlenmiş olan boyutlara ait KEY ağaçları kullanılarak oluşturulur. 140 D0 1 1 Access Paths 2 3 1 2 1 2 2 2 1 1 3 1 3 2 3 3 3 D1 1 2 1 Access Paths 2 11 12 1 2 21 22 Rehber ←D0 1 2 1 2 3 1 2 ←D1 1 2 ←D0 1 2 3 1 2 3 1 2 1 2 1 2 3 1 2 3 Şeki-6.2: KID dizin rehberinin oluşturulma adımları 3232 3222 3231 3212 3221 3112 3121 3121 3131 3132 3211 2222 3111 2221 2212 2211 2122 2121 2112 1112 1121 1122 1131 1132 1211 1212 1221 2111 21 21 21 21 21 2 1 2 1 2 1 2 1 21 21 21 2 1 21 21 2 1222 1231 1232 1 1111 ←D1 Access Paths 141 Örnek olarak iki boyutlu bir önceki örnektedi KID organizasyonunu ele alalım. KID oluşturulması öncesinde, elimizde herbir boyut için Şekil-6.2’de gösterilen D0 ve D1 olarak isimlendirilmiş iki ağaç olsun. KID ızgara rehberi oluşturulması en yüksek ağacın seviye sayısı kadar tekrar edilen bir döngü içerisinde gerçekleştirilir. Döngünün i’ninci adımında, sırasıyla herbir boyuta ait ağacın i’ninci seviyesindeki dalların, KID veri uzayının bölünmesinde kullanılması ilkesine dayanır. Örneğin, döngünün birinci turunda ilk olarak D0 ağacının birinci seviyesi kullanılarak KID veri uzayı, ilgili boyut boyunca üç parçaya bölünür. Çünkü, D0 ağacının birinci aşamasında, ağaç üç ayrı dala ayrılmaktadır. Daha sonra, diğer boyut için D1 ağacının ilk seviyesi kullanılarak, ilgili boyut iki aralığa bölünür. Böylelikle döngünün birinci turu tamamlanmış olur. Örneğimizde, döngünün birinci adımı tamamlandığında, KID rehber ağacının yüksekliği 2, toplam yaprak düğüm sayısı ise, 2×3=6 olacaktır. Döngü benzer şekilde en yüksek ağacın yapraklarına erişilene kadar devam eder. Algoritma-6.1'de KID ızgara rehberinin oluşturulması algoritması verilmiştir. Algoritma-6.1: KID Rehberi ağacı oluşturma algoritması /*-----------------------------------------------------------------k : MAX(height(0),height(1),...,height(d-1)) d : KID’ın boyutu veya ağaç sayısı height(x) : x’ninci ağacın yüksekliğini veren fonksiyon KID_ekle(x,y) : x’inci ağacın, y’ninci seviyesindeki düğümleri KID rehber ağacına ekleyen fonksiyon -------------------------------------------------------------------*/ for i=0 to k { for j=0 to d { if ( height(j) >= i ) KID_ekle(Di,i); } } 142 10 4 6 3 2 1 1 1 1 0 2 1 0 10 0 1 0 0 1 4 1 2 1 1 0 01 01 0 1 10 10 1 (a) Ağaç yapısında gösterimi Izgara sayfaları 11 φ φ 1 1 φ 1 φ 1 10 φ 1 01 1 1 φ φ φ 1 φ φ 1 1 00 00 01 10 11 (a) Düzlemsel gösterimi Şekil-6.3: KID organizasonunda ızgara sayfaları 12 143 KID'de bölünme sayısı herbir boyut için kullanılan ağaçların seviye sayısının toplamına eşittir. Daha formal olarak, height(i) i'ninci boyuta ait ağacın yüksekliğini veren bir fonksiyon ve d KID'deki boyut sayısını göstermek üzere, bölünme sayısı aşağıdaki şekilde ifade edilebilir: d ∑ heigh ( i ) i =1 KID'de oluşacak ızgara bloklarının sayısı ise, leaf(i) i'ninci boyuta ait ağaçtaki yaprak sayısını döndüren bir fonksiyon olarak tanımlı olmak üzere, ızgara sayısı, δ, aşağıdaki şekilde ifade edilebilir: δ = d ∏ leaf (i ) i=0 Buna karşılık, daha önce de belirtildiği gibi, birden çok ızgara bloğu içerisinde barındırdıkları kayıt sayıları sayfa kapasitesine eşit veya daha küçük olmak ve tamamının şekilleri d-boyutta dörtgen olmak üzere aynı sayfayı paylaşabilirler. Bu nedenle, elde edilecek sayfa sayısı δ'den daha az olacaktır. Bir bölünme sırasında eğer ızgara rehber ağacının ilgili düğümündeki kayıt sayısı, sayfa kapasitesine eşit veya daha küçük ise bu tür bölünmeler zahiri bölünme (implicit split) olarak adlandırılırlar. Bir zahiri bölünmedeki bütün veriler aynı sayfayı paylaşırlar. Eğer bölünme meydana getirilmek istenen düğümdeki kayıt sayısı sayfa kapasitesinden büyük ise, bu düğümlerdeki bölünmeler gerçek bölünme (explicit split) olarak adlandırılırlar. Gerçek bölünme sonunda elde edilen herbir alt düğüm verileri ayrı veri sayfalarında saklanırlar. KID'de herbir boyut için DÖN'de kullanılacak aralık numaraları, ilgili boyutun temsil edildiği ağaçta verilen bir aralığa erişim için kullanılan ulaşım yolu ile temsil edilirler. KID yapısı oluşturulduktan sonra elde edilecek olan grid bloklarının numaraları ise herbir boyuttaki ilgili aralık numaralarının iç-içe geçirilmeleriyle (inter-leave) elde edilir. Örnek olarak oluşturulan KID organizasyonunun düzlemsel gösterimi Şekil-6.3'de verilmiştir. Şekildeki sayılar ilgili ızgara dosyasının numarasını göstermektedir. Noktalı çizgiler ise, KID veri organizasyonunda ızgara bloklarının 144 numaralarının sıralı olarak dolaşıldığında, literatürde boşluk doldurma eğrileri (space filling curves) olarak bilinen Z veya Peano curve'lerine karşılık geldiğini göstermektedir. Bu curve'ler KID'in koşut bir ortamda ızgara bloklarının disk veya işlemcilere dağıtılmasında kullanılacak olup konu ile ilgili çalışmalar ayrıntılı olarak altıncı bölümde anlatılmıştır. 1212 1222 1232 2212 2222 3212 3222 1211 1221 1231 2211 2221 3211 3221 1112 1122 1132 2112 2122 3112 3122 2111 2121 3111 3121 21 22 31 32 3232 22 21 3231 3132 12 11 1111 11 1121 1131 12 13 3131 33 Şekil-6.4: Bir KID organizasyonunda blok numaraları ve Peano Eğrisi 6.4 KID Erişim Örneği Çoklu ortam veritabanlarında olduğu gibi, çoklu-konumsal-öznitelikli verilerin dizinlendiği veri tabanlarında, bir sorgu daha önce de belirtildiği gibi bir dizi vektörle temsil edilir. Sorgunun iki boyutlu bir KID organizasyonu için yöneltildiğini varsayalım. Q={q0,q1} Burada ilgili vektör, qi, i'ninci boyut için arama kriterlerini belirlemektedir. Sorgu işlemede öncelikle, KID içerisindeki DÖN'lere ait KEY'ler kullanılarak, aranan kayıtların hangi aralıklarda olduğu bulunur. Herbir boyuta ait DÖN'lerin geri döndürmüş olduğu aralık değerleri ise, herbir boyutta belirtilen arama kriterlerinin hepsine birden uyan kayıtların bulunduğu veri sayfalarının adreslerinin 145 hesaplanması için kullanılırlar. Örnek olarak herbir boyutun aday kayıtları barındıran aralık numaralarının ilgili DÖN’ler tarafından bulunmuş olduğunu varsayalım: LS0 → 31 LS1 → 21, 22 Sorgu sonuç kümesini barındıran veri sayfalarının numaraları ilgili boyutun aralık numaraları iç-içe geçirilerek elde edilir. Bu örneğe ait aralık numaraları kullanılarak, safya numaralarının nasıl elde edildikleri Şekil-6.4'da gösterilmiştir. 3 1 3 2 2 1 1 1 3 1 3 2 2 2 1 2 Şekil-6.5: Aralık numaralarından sayfa numaralarının elde edilmesi. Elde edilen sayfa numaraları doğrudan veya belirli bir yöntem kullanılarak sayfaların doğrudan erişilmesi amacıyla kullanılırlar. Algoritma-6.2 elde edilen sayfa numaralarının ızgara rehberinden nasıl getirileceğini göstermektedir. Algoritma, çok basit olarak, elde edilen sayfa numaralarının ızgara rehber ağacında gezinme rotasını belirler. Bu rota, her hangi bir zahiri bölünme bulununcaya veya KID ızgara rehber ağacının yapraklarına ulaşılıncaya kadar devam eder. Eğer rota üzerinde bir zahiri bölünme ile karşılaşılır ise, bunun anlamı ilgili düğümün altındaki tüm düğümlerin aynı sayfayı paylaşıyor olmasıdır. Bu nedenle ağaç üzerinde daha alt düğümlere inilmeden ilgili verilerin saklandıkları sayfa numarasına erişilmiş olur. Algoritma-6.2 : KID rehber ağacında erişim algoritması 146 Retrieve(ağaç KID, int rota[], int seviye) { if ( KID == yaprak OR KID->bölünme_tipi == zahiri ) return(KID->sayfano) else Retrieve(KID->oğul(rota[seviye]),rota, seviye+1); } 6.5 Eksik Tanımlı Sorgular Izgara ailesindeki dosya yapılarının bir diğer başarılı yönü ise, eksik tanımlı sorguları başarı ile yerine getirebilmeleridir. Bu tip sorgular ÇOS'ların temel özellikleridir. KID üzerinde eksik tanımlı sorguların nasıl yerine getirildiklerini, mevcut iki boyutlu örnek üzerinde inceleyelim. Tipik bir eksik tanımlı sorgu Q={vo,Null} biçiminde olacaktır. Bu durumda DÖN'ler aşağıdaki aralık değerlerini gönderecektir. LS0 → 31 LS1 → ?? Verilen sorguda ikinci boyuta ait sorgulama kriteri verilmediği için, verilen aralık numaraları yerine joker kartlar, ?, kullanılacaktır. Yukarıdaki aralık değerlerine göre okunması gereken sayfa numaralarının ızgara rehberinden bulunması için izlenecek rotanın elde edilmesi Şekil-6.6’da gösterilmiştir. 3 1 ? ? 3 ? 1 ? Şekil-6.6: Eksik sorgularda sayfa numaralarının elde edilmesi. 147 Elde edilen rota ile, KID dizin rehber ağacı üzerinde dolaşırken, eğer rota bilgisi bir joker kartı ise, her dal ziyaret edilir. Bir önceki aşamada belirtildiği gibi ilgili sayfalara ulaşmak için ağaç üzerindeki gezinti, herhangi bir zahiri bölünmeye veya yapraklara ulaşılıncaya kadar devam eder. Algoritma-6.3 çalıştırıldığında, 3?1? rotası için uygun sayfa numaraları 3111, 3112, 3211, 3212 olarak bulunur. Algoritma-6.3 : KID rehber ağacında eksik sorgu erişim algoritması RetrievePartial(ağaç KID, int rota[], int seviye) { if ( KID == yaprak OR KID->bölünme_tipi == zahiri ) return(KID->sayfano) elseif ( rota[seviye] == “?” ) for i=0 to KID->oğul_sayısı RetrievePartial(KID->oğul(i),rota, seviye+1); else RetrievePartial(KID->oğul(rota[seviye]),rota, seviye+1); } 148 7. KOŞUT ÇOKLU ORTAM ERĐŞĐM MODELĐ Bugün çoklu ortam veritabanlarının karşı karşıya kaldıkları en önemli iki darboğazdan birincisinin Girdi/Çıktı (G/Ç) darboğazı, ikincisinin ise ÇON’ların işlenmesi için gereken ilave işlemci gücünden kaynaklanan işlemci darboğazı olduğu birçok araştırmacı tarafından kabul edilmektedir [DeWitt and Gray,1992] [Coyle et.al., 1994] [Pirahesh et.al, 1990] [Valduriezi 1993]. Disklerin kapasiteleri olağanüstü bir şekilde artarken veri iletim hızlarındaki artış göreceli olarak daha sınırlıdır. Öte yandan büyük hacimli çoklu ortam verilerini incelemek ve işlemek için gerekli işlemci güçleri de yetersiz kalmaktadır. Bu durum ise birden çok işlemcinin koşut olarak bir tek amaç için çalıştırıldığı bir mimarinin çoklu ortam uygulamalarında kullanımını gerekli kılmaktadır. Literatürde metin belgelerine erişim için önerilmiş [Efraimidis et.al., 1995] [Hawking, 1995] çok sayıda koşut dizge modelleri bulunmasına rağmen, çoklu ortam erişiminde koşut bilgisayarların kullanımı çok yaygın değildir. [O'Connel, 1996]. Bu bölümde, çoklu ortam erişiminde koşut bilgisayarlardan yararlanılması için tez kapsamında geliştirilen model tanıtılmıştır. Modelin temelinde koşutluk ve kümelemenin getirdiği katkıların birleştirilmesi yatmaktadır. Bu nedenle model, Koşut Kümeleme Tabanlı Erişim (KKTE) olarak adlandırılmıştır. Dört aşamalı bir kümeleme işlemi önerilmiş olup, KID kullanımı modelin uygulamasını kolaylaştırmaktadır. Bu bölümde ayrıca koşut erişim konusunda karşılaşılan en önemli araştırma problemlerinden dağıtım konusunda yapılan önceki çalışmalar da incelenerek problemler tanımlanmış ve katkı niteliğinde çözüm önerileri yapılmıştır. KKTE modeli formal olarak da tanımlanmış ve zaman analizi sunulmuştur. 7.1 Küme Tabanlı Erişim (KTE) Her geçen gün artan veri yığınları altından kalkabilmek ve verilere daha hızlı erişebilmek için birçok araştırmacı Küme Tabanlı Erişim (KTE) konusunda çalışmalar yapmaktadır. KTE adından da anlaşılacağı gibi, erişimde kümelerin kullanılmasına 149 dayanır. Kümeleme benzer özellikler gösteren belgelerin gruplar veya sınıflar halinde bir araya toplanmasıdır. Kümelemenin ana dayanağı, kümeleme hipotezi olarak bilinen, “birbirlerine benzer olan belgelerin aynı sorguya yanıt olma eğilimi göstermeleri”dir [Rijsbergen, 1979]. Kümeleme uygulamaları öncelikle metinsel belgelerin erişiminde kullanılmıştır. KTE’de sorguların işlenmesi iki aşamalı olarak önce küme temsilcileri daha sonra da ön elemeyi geçen finalist kümelerin elemanları ile karşılaştırılması temel ilkesine dayanır. KTE ile bilgi erişim alanında büyük adımlar atılmıştır. Aslında bu katkıların tamamı yazılım çözümleridir. Dolayısı ile bu alanda yazılım çözümleri yanında donanım çözümleri de eklenerek daha büyük katkılar sağlanabilir. Daha önce de sözü edildiği gibi, bilgi erişiminde bugün veritabanlarının karşı karşıya kaldıkları ve aşılması gereken G/Ç ve işlem gücü olmak üzere iki önemli darboğaz vardır. Bu bağlamda akla ilk gelen yaklaşım, KTE’nin sağladığı yazılım çözümlerinin koşut bilgisayarlar üzerinde gerçekleştirilmeleri ile sözü edilen darboğazların aşılabileceği düşüncesidir. 7.2 Koşut Küme Tabanlı Erişim (KKTE) Bu bölümde çoklu ortam verilerinin yönetimi ile ilgili olarak, KTE konusunda geçmişte yapılan çalışmaların koşut bir mimaride gerçekleştirimesi olan Koşut Kümeleme Tabanlı Erişim (KKTE) açıklanmaya çalışılmıştır. Doğal olarak bir KKTE iki aşamada gerçekleştirilir. Birinci aşama dizgedeki veri uzayının kümelenmesidir. Kümeleme kavramı genellikle bilgi erişimi alanı araştırıcılarının kullandığı bir tanımlamadır. Koşut veritabanları araştırıcıları ise bu kavrama parçalama adını vermektedirler. Aslında kümeleme ve parçalama işlemleri birbirlerine çok benzer kavramlardır. Her iki işlem de veri uzayını alt uzaylara parçalar. Fakat parçalama, veri uzayını verilerin benzerlikleri dikkate alınmadan da yapılabilirken, kümeleme veri uzayındaki verilerin birbirlerine olan benzerliklerinin 150 dikkate alınarak yapılmasını sağlar. Aralarında bu farka rağmen bu çalışmanın ilerleyen bölümlerinde iki deyim birbirleri yerine kullanılmaktadırlar. KKTE’deki ikinci aşama ise elde edilen kümelerin işlemcilere nasıl dağıtılacağı veya yerleştirilecekleridir. Bu aşama KKTE’de dağıtım problemi olarak bilinir. KKTE’den temel amaç yöneltilen bir sorgunun en kısa zamanda yanıtlanabilmesi olduğuna göre, bunu sağlamanın en akılcı yolu, bir sorgunun potansiyel yanıt kümesinin mümkün olabildiğince çok işlemcilere dağıtılabilmesine bağlıdır. Birbaşka ifade ile amaç, sorgu işlemede en fazla koşutluğun sağlanarak yanıt süresini enaz tutmaktır. Koşutluğu en yüksek tutabilmenin yolu ise ancak bir sorgunun işlenme süresi boyunca tüm işlemcilerin mümkün olduğunca işleme katılmalarını sağlamakla elde edilebilir. Bu bölümün ilerleyen sayfalarında kümeleme ve dağıtım olarak tanımlanan iki aşama baz alınarak önerilen dizgenin genel özellikleri anlatılacaktır. Bu nedenle bir sonraki alt bölümde, günümüze kadar önerilen kümeleme ve dağıtım yöntemleri açıklanmaya çalışılmıştır. 7.3 Kümeleme Kümeleme verilerin nasıl kümelere ayrıştırılacağı veya veri uzayının genel olarak alt uzaylara nasıl parçalanacağıyla ilgili yöntemlerdir. Bu yöntemler sadece verileri alt uzaylara ayırmakla kalmayıp, herbir alt-uzaydaki verilerin birbirlerine benzer olmalarını sağlamalıdırlar [Liu and Shekhar, 1996]. Bu konuda geçmişte yapılan çalışmalar öncelikle verilerin birden çok kümede yer alıp almadıklarına göre sınıflandırılabilir. Eğer veriler birden çok kümede yer alıyorlar ise örtüşen, aksi halde örtüşmeyen kümeleme yöntemleri olarak adlandırılırlar. Kümeleme çalışmalarına bir diğer bakış açısı ise kümelemenin bir veya çok özniteliğe göre yapılıp yapılmadığıdır. Teköznitelikli parçalama tekniği veri uzayını sadece bir, tercihen en çok sorgu yapılan, öznitelik kullanılarak parçalara ayrılmasıdır. Bu konudaki çalışmalarla ilgili ayrıntılar [DeWitt and Ghanderharizadeh, 1990] [DeWitt and Gray,1992]'de bulunabilir. 151 Bir diğer önemli sınıflama kategorisi ise kullanılan veri yapısına bağlıdır. Bu çalışmalar genellikle ızgara [Dikenelli et.al., 1995] ve ağaç tabanlı parçalama işlemleridir. Ağaç tabanlı yaklaşımda, parçalama işlemi sıradüzensel olduğundan, üst sıralarda örtüşmeler görülebilirken, genellikle veri seviyesinde örtüşmeler olmaz. Diğer grup ise parçalamada ızgara dosyalarının kullanılmasıyla yapılır. Geçmişte yapılan parçalama çalışmalarının birçoğu ızgara dosyaları kullanımına dayalıdır. KID organizasyonu bir çok özelliğinden dolayı bir ızgara dosyasıdır ve bu nedenle ızgara tabanlı parçalama grubunda yer alır. 7.4 Dağıtım Dağıtım yöntemleri, parçalara ayrılmış olan veri alanının koşut bir mimaride disk veya işlemcilere nasıl yerleştirileceğini gösterir. Genel olarak bir işlemciye birden çok küme yerleştirilebileceği gibi, bir küme de birden çok işlemciye dağıtılabilir. k-boyutlu bir KID bloğu, yine k-boyutlu uzayda temsil edilir. Fakat bu blokların genellikle tek boyutlu olan işlemcilere dağıtılması veya disklerde saklanması gerekmektedir. Bu nedenle dağıtım öncesinde k-boyutlu uzaydaki blokların tek boyutta temsil edilmesi veya bir başka ifade ile doğrusallaştırılmaları gerekmektedir. Bu boyut düşürme işleminde dikkat edilmesi gereken nokta, k-boyutta birbirine yakın olan blokların mümkün olabildiğince tek boyutta da yakın, uzak olanların ise yine mümkün olabildiğince uzak olarak temsil edilmesidir. Fakat k-boyuttaki uzaklığı mükemmel bir şekilde tek boyutta da koruyan bir yöntem yoktur. Bu konuda çeşitli yöntemler önerilmiş olup, herbiri çeşitli sorgu formları için farklı başarım oranlarına sahiptir Sıklıkla kullanılan yöntemler aşağıda kısaca açıklanmıştır. 7.4.1 Disk Modulo (DM) Disk Modulo yöntemi alt-uzayları (veya veri sayfalarını), {i1,i2,…,id}, M disk sayısını göstermek üzere aşağıdaki tanımlamaya göre yerleştirir. 152 (i1+i2+…+id) mod M DM tekniği sadece tek bir özniteliğin belirtilmediği eksik sorgularda iyi sonuçlar vermektedir [Du and Sobolewski, 1982]. 7.4.2 Fieldwise XOR (FX) Bu yöntem, DM yöntemindeki toplama işlemlerinin, ızgara bloklarının koordinat değerlerinin ikili karşılıklarının exclusive-or işlemiyle değiştirilmesine dayanır. Disk Modulo yöntemi alt-uzayları (veya veri sayfalarını), {i1,i2,…,id}, M disk sayısını göstermek üzere aşağıdaki tanımlamaya göre yerleştirir. (i1 ⊕ i2 ⊕ … ⊕ id) mod M FX yöntemi, disk sayısı ve sahalar ikinin kuvveti olduklarında, eksik sorgular üzerinde DM yöntemine göre daha iyi sonuçlar vermektedir [Kim and Pramanik, 1988]. 7.4.3 Uzay Doldurma Eğrileri (UDE, Space Filling Curves) Genel olarak UDE k-boyutlu uzayda iki boyut için temel bir rota ile başlar. Bu rota ızagaradaki herbir noktadan sadece bir defa geçer. Her birim rotanın daha üst düzey rotaları elde etmek için kullanılabileceği iki boş ucu vardır. Bu temel eğriler bir düzeyindedir. i düzeyinde eğriler yaratabilmek için, uygun döndürmeler ve boş uçların birleştirilmesi yapılır. UDE k-boyutlu uzaydaki noktaların tek boyuta düşürülerek doğrusallaştırılması amacıyla kullanılır. Doğrusallaştırılan herbir ızgara bloğu daha sonra Round-Robin yöntemiyle koşut ortamlardaki disk veya işlemcilere atanır. Literatürde Peano eğrileri, Reflected Binary Gray Codes (RBC) ve Hilbert eğrileri olmak üzere yaygınlıkla kullanılan üç UDE vardır. UDE'lerin veritabanı 153 parçalarının dağıtımı alanında kullanımı ile ilgili daha ayrıntılı bilgi [Faloutsos and Roseman, 1989]'da bulunabilir. 7.4.3.1 Peano-Eğrileri 2*2 ızgara için birim Peano eğrisi Şekil-7.1’de gösterilmiştir. Daha üst düzeyli Peano eğrileri elde etmek için birim eğrinin herbir son ucu bir sonraki ucu ile birleştirilir. Şekil-7.1’de 1, 2 ve 3 düzeyi için Peano-eğrileri gösterilmiştir. Şekilde, bağlantı noktaları daha kalın çizgiler ile gösterilmişlerdir. 1 3 0 2 Şekil-7.1: 1, 2 ve 3 düzeyleri için Z (Peano) eğrileri 7.4.3.2 Reflected Binary Gray Codes (RBC) 2*2 ızgara için birim RBC eğrisi Şekil-7.2’de gösterilmiştir. Daha üst düzey eğrilerin elde edilebilmesi için birim eğrinin x aksisi ve sonra y aksisi üzerinde tekrar edilmesi ilkesine dayanır. Şekil-7.2’de 1, 2 ve 3 düzeyi için RBC eğrileri gösterilmiştir. 154 1 2 0 3 R1 R2 R3 Şekil-7.2:1,2 ve 3 düzeyleri için Reflected Binary Code eğrileri 7.4.3.3 Hilbert Eğrisi Şekil-7.3’de birim Hilbert eğrisi 2*2 boyutlu ızgara üzerinde gösterilmiştir. Daha üst düzeyli Hilbert eğrilerinin elde edilmesi, birim eğrinin döndürülmesi ve eğrinin 0 ve 3’ncü köşelerinin birleştirilmesi ilkesine dayanır. Birim eğri recursive olarak daha üst düzeylerde de aynı döndürme ve yansıtma örüntüsüne sahiptir. Hilbert eğrilerinin elde edilmesinde kullanılacak olan algoritmalar [Griffiths, 1986] ve [Wirth, 1986]’da bulunabilir. 1 2 0 3 H1 H2 H3 Şekil-7.3: Düzey 1, 2 ve 3 için Hilbert eğrileri 155 Her ızgara bloğunu tanımlamakta kullanılan koordinat değerleri kullanılarak, bloklar için doğrusal sıralamalar çıkarılır. Elde edilen bu değerler blokların disklere yerleştirilmelerinde kullanılır. Şekil-7.4 2 düzeyinde, Peano, RBG ve Hilbert eğrilerinden elde edilen sıra değerlerini göstermektedir. 5 7 13 15 5 6 9 10 7 4 11 8 4 6 12 14 4 7 8 11 6 5 10 9 1 3 9 11 3 2 13 12 1 2 13 14 0 2 8 10 0 1 14 15 0 3 12 15 Z veya Peano Eğrisi Hilbert Eğrisi Reflected Binary Gray-Code Şekil-7.4: Farklı UDE’lerin 2 düzeyi için değerleri 7.4.4 Dağıtımda UDE Kullanılması Yukarıda anlatılan UDE yöntemlerinden herhangibiri kullanılarak, k-boyutta temsil edilen ızgara bloklarına ait eğri değerleri hesaplanır. Şekil-7.4'de üç UDE için 2 düzeyinde değerler gösterilmiştir. UDE k-boyutta temsil edilen blokların tek boyuta düşürülmesini sağlar. Bu tür işlemlere uzaklık koruyan eşleme (UKE, distance preserving mapping) adı verilir. Elde edilen bu değerler artan şekilde sıralanarak blokların diskler üzerine yerleştirilmesi amacıyla kullanılırlar. Bütün değerlerin mevcut olması gerekmez, sadece mevcut değerler kullanılırlar. Örneğin bazı sayfalar boş olabilir veya birden çok blok aynı sayfayı paylaşıyor olabilir. Bu düzenek içerisinde, bir sorgunun en önemli başarım göstergesi yanıt süresi olduğuna göre, bir aralık sorgusunun yanıt süresinin en iyi ölçeği sorgunun işlenmesi için gerekli olan disk ulaşım sayısıdır. Kuşkusuz disk ulaşım sayısı sadece UKE yöntemine bağlı değildir. Başarımı etkileyen verilerin sayısı veya dağılımı gibi özellikler de disk sayısını arttırabilir. 156 Sadece UKE'ye bağlı olan ölçek ise ortalama bir sorgunun eriştiği küme sayısıdır. Küme kavramı daha önce anlatılan küme kavramından farklılıklar göstermektedir. Aslında ızgara blokları veri uzayını kümelere ayırır, benzer veya uzayda birbirlerine yakın olan kayıtlar aynı veya yakın bloklarda saklanırlar. Blokların disklere yerleştirilmesi sırasında önerilen kümeleme aşağıda tanımlanmıştır. Dağıtımda küme tanımı: k-boyutlu ızgara dosyasının bloklarını 1-boyutta temsil etmek üzere verilen bir UKE için küme, bir dizi ardışık x-değerine sahip bloklar olarak tanımlanır. Verilen bir UKE'nin kümelemedeki etkisini belirtmek için kullanılacak ölçeğin belirlenmesi önemlidir. Eğer bir aralık sorgusu daha az kümeye erişme eğilimi gösterir ise, doğal olarak gerçek dosya üzerinde daha az disk ulaşımı yapacaktır. Şekil-7.5 Hilbert eğrilerinin Peano eğrilerinden daha iyi olduğunu göstermektedir. Şekildeki gölgeli alan aralık sorgusunu temsil etmektedir. Eğer küme olarak ardışık 8 x-değeri alınırsa, Peano'da 4, Hilbert'da ise 2 kümeye erişimim gerekli olduğu görülür. Bunun nedeni, eğrilerin rotası içerisinde uzun sıçramaların olup olmadığıdır. Küme tanımlaması gözönünde bulundurulduğunda, aralık sorguları üzerinde uzun sıçramaların disk ulaşımını negatif yönde etkilediği açıktır. Eğriler izlendiğinde Hilbert'de uzun atlamaların olmadığı görülebilir. Şekil-7.5: Peano ve Hilbert eğrileriyle kümelemenin aralık sorgularına etkileri 157 Verilen bir UKE'nin bir diğer başarım ölçütü ise, enbüyük komşu uzaklığı (maximum neighbor distance)'dır. k-boyutta birbirlerine yakın olan komşuların, tek boyutlu doğrusal sıralamada da birbirlerine yakın olması beklenir. Verilen bir UKE ve R yarıçapı için X noktasının bir komşusunun doğrusal sıralamada en uzak mesafesi, noktaların k-boyuttaki Manhattan uzaklığına eşitttir. 7.5 Problem Tanımı Parçalama tekniklerinin özelliklerinin karşılaştırılmasından önce, bu bölümde kullanılacak olan terminolojiyi kısaca tanımlamakta yarar vardır. Burada kullanılan tanımlamalar [Himatsingka and Srivastava, 1993]’deki tanımlamalara benzer tanımlamalardır. Tanımlamalarda kullanılan temel sembol ve değişkenler Tablo-7.1’de özetlenmiştir. Tablo-7.1: Problem tanımında kullanılan parametreler Sembol Açıklama M Disk Sayısı k Öznitelik sayısı ( KID boyutu) Di i’ninci özniteliğin alanı di i’ninci özniteliğin parça sayısı diskOf() sayfa nosunu diske atayan fonksiyon Kartezyen Çarpım Dosyası: Formal olarak kartezyen çarpım dosyası şu şekilde ifade edilebilir. Dik, k özniteliğinin i’ninci alanını (domain) gösteriyor olsun. Di’nin di tane örtüşmeyen altkümeye, Di0,Di1,…,Did-1, ayrıldığını varsayalım. Eğer Dij∈{Dj0,Dj1,…,Djd-1} kuralı doğru ve aynı eşsiz (unique) sayfada yer alıyor ve bütün kayıtlar Di1×Di2×…×Dik parçalara ayrılmış ise, bu dosya kartezyen çarpım dosyasıdır denir. 158 Aralık sorgusu: (li,ui)’nin i’ninci özniteliğin bir aralığını gösterdiği ve li,ui ∈ Di olduğu sürece, bir aralık sorgusu k boyut için aşağıdaki şekilde ifade edilebilir. Q=(l1,u1)×(l2×u2) ×…×(lk,uk) Bu sorguya uyan noktalar k boyutlu (l1,u1)×(l2,u2) ×…×(lk,uk) dörtgeninin içerisinde yer alacaklardır. Kısmi uyum sorgusu: Kısmi uyum sorgusu bir aralık sorgusudur ve şu şekilde ifade edilebilir. (∃i) (li,ui) ≡ Di) ∧ (∀j ∈ {1,2,…,k}) (j ≠ i) (lj = uj) Nokta Sorgu: Nokta sorgusu aşağıdaki kuralı sağlayan bir çeşit aralık sorgusudur. (∀i∈{1,2,…,k}) (li=ui) Yanıt süresi: Bir sorgunun yanıt süresi Ni, (0 ≤ i ≤ M-1) olmak üzere aşağıdaki şekilde tanımlanır: max(N0,N1,…,NM-1) Sorgu işlemede amaç, sorgu yanıt süresinin mümkün olduğunca düşürülmesini sağlamaktır. Bu nedenle, sorgu işlemede en önemli darboğazı oluşturan G/Ç işlemlerinin mümkün olabildiğince paralelleştirilmesi gerekir. En uygun parçalama ve dağıtım yöntemleri geliştirilmelidir. Sorgu Eniyiliği (Query Optimality): Eğer M diskli bir koşut mimaride Q sorgusunun yanıt süresi, N sorguya uyan sayfa sayısını göstermek üzere, N/M ise, sorgu eniyi (optimal)’dir denir. Bu durumda bir sorgunun en iyi olmasını sağlamak, sadece verilerin işlemcilere dengeli olarak dağıtılmasına değil, aynı zamanda herhangi bir 159 sorgunun potansiyel yanıt setinin de dengeli olarak işlemcilere dağıtılabilmesindeki başarıya dayanır. Verilen bir veritabanında bütün sorguların eniyi olması arzu edilir. Sorgular tam veya eksik belirtilmiş, aralık sorgusu veya köşegen sorgulara kadar çeşitlilik gösterir. Kuşkusuz tüm bu sorgu formları göz önünde tutulduğunda, hepsinin eniyi olmasını sağlayacak mükemmel bir parçalama yöntemi mevcut değildir. Aralık ve kısmı uyum sorguları veri tabanlarında sıklıkla karşılaşılan sorgu tipleri olduğu için, önerilen bir yöntemin bu tip sorguları için eniyi olması beklenir. Gerçek Eniyilik: Bir dağıtım yöntemi eğer bütün olası sorgu formları için eniyi ise, bu yönteme gerçek eniyi denir. Eğer bütün eksik sorgu formları için en iyi ise, eksik sorgular için gerçek eniyidir denir. Eğer bütün aralık sorgu formları için eniyi ise, aralık sorgular için gerçek eniyidir denir. 7.6 Önerilen KKTE Dizgesi Yukarıda anlatıldığı gibi KKTE konusunda çeşitli çalışmalar yapılmış ve değişik öneriler yapılmıştır. Bu çalışma kapsamında önerilen KKTE’nin genel özellikleri şunlardır: • Parçalama çoklu-vektörel öznitelikler kullanılarak yapılmıştır. • Verilerin altkümelere parçalanması KID yapısı kullanılarak gerçekleştirilmiştir. • Alt kümeler arasında veri tekrarlarına yer verilmemiştir. Örtüşmeyen parçalama yöntemi kullanılmıştır. • Herbir alt küme mümkün olduğunca koşut mimarinin işlemcileri arasında dağıtılmıştır. 7.6.1 Mimari 160 Koşut dizgenin kolaylıkla çeşitli ortamlara uyarlanabilmesi amacıyla mümkün olabildiğince jenerik bir model kurulmaya çalışılmıştır. Önerilen mimari hiçbirşey paylaşmayan (shared nothing) bir koşut modeldir. Ana hatları ile model Şekil-7.6'da sunulmuştur. Bu çok-işlemcili mimari, kendi işlem gücü, G/Ç birimleri ve özel işletim dizgesine sahip bir grup otonom bilgisayarın, {P1,P2,…,PN}, bağlantılararası ağ yapısı (interconnection network) ile birbirlerine bağlanması sonucunda meydana gelmiştir. Herbir işlemci, birbirleri ve ön-uç ile her türlü iletişimini ağ üzerinden mesaj göndererek yapmaktadır. Model ayrıca kullanıcı ile etkileşimi ve işlemcilerin orkestrasyonunu sağlamak üzere bir ön-uç bilgisayar içermektedir. Kullanıcı Sorguları ve Yanıtlar Koşut Bilgisayar Dizgesi Ön-Uç Đşlemci P5 Bağlantılar-arası Ağ P1 P2 P3 P4 P6 P7 P8 Şekil-7.6: Veri erişiminde kullanılan koşut mimarinin şematik gösterimi. Önerilen model laboratuvar uygulamalarında DEC Alpha iş istasyonlarının PVM (Parallel Virtual gerçekleştirilmiştir. Machine) aracılığı ile birbirlerine bağlanması ile 161 Transform Aşaması Birçok ÇON özniteliği yüksek-boyutlu olduğu için, vektörlerdeki enerjilerin ilk değerlere toparlanabilmeleri için KL, DCT, FT gibi transformasyon teknikleri uygulanır. KEY aşaması ÇON öznitelikleri, karakteristiklerine uygun KEY yapıları kullanılarak gruplara/kümelere ayrılır. KID aşaması KID rehber ağacında, herbir özniteliğine göre ÇON'lar toplam benzerliklerine göre veri sayfaları olarak kümelenirler UKE aşaması k-boyutlu uzayda tanımlanan veri sayfalarının 1-boyutlu disk/işlemcilere atanabilmesi için UKE kullanılır. Bu aşamada ardışık sıra değerlerine sahip sayfalar bir küme altında toparlanabilirler Şekil-7.7: ÇON'ların kümelenme süreçleri 7.6.2 Kümeleme Bu çalışmada çoklu ortam nesnelerinin kümeleme/parçalama işlemleri toplam dört aşamada gerçekleştirilmektedir. Bir ÇON birden çok özellik ile çok-boyutlu uzayda vektörel olarak temsil edilir. Bu vektörler genellikle yüksek boyutludurlar (20 ve yukarısı) ve mevcut KEY’ler ile dizinlenmeleri mümkün değildir. Enerjilerinin vektörlerin ilk elemanlarında toplanmasını sağlayarak, ilk elemanların önemini arttıran ve bu yolla vektörlerin daha düşük boyutlu uzayda temsil edilmelerini sağlayan transformasyon tekniklerine gereksinim vardır. Bu transformasyonlar kümelemenin ilk aşamasını oluştururlar. Daha sonra, herbir özniteliğe ait bu vektörler uygun KEY’lerin kullanımı ile kümelere ayrılır. Bu kümeler bağımsız olarak ilgili özniteliğe göre ÇON'ları kümelere ayırır. KID yapısı içerisinde, doğrusal ölçeklerde kullanılan bu 162 kümeler, ikinci aşama kümelemeyi oluşturur. Daha sonra KID rehber ağacında, ÇON'lar genel özelliklerine göre üçüncü bir aşama kümelemeye tabii tutulurlar. Bu aşama sonunda elde edilen bu kümeler, KID'de veri sayfaları olarak temsil edilirler. ÇON'ları dizinlemek için kullanılan bu veri sayfaları, k-boyutta temsil edildikleri için, genellikle tek boyutta temsil edilen işlemcilere eşleştirilmeleri gerekir ve k-boyuttan 1-boyuta Uzaklık Koruyan Eşleştirme (UKE, Distance Preseving Mapping)'lere gereksinim duyarlar. Veri sayfaları tek boyuta eşleştirildikten sonra tekrar kümelenebilirler. Bu da sonuncu aşama kümelemeye karşılık gelir. ÇON'ların koşut mimarilerdeki kümeleme tabanlı erişimi (KKTE) için öngörülen kümeleme yapısı Şekil-7.7'de gösterilmiştir. 3 3 2 2 1 1 0 0 0 1 2 3 4 (a) Kartezyen çarpım dosyası 0 1 2 3 (b) Izgara dosyası 4 Şekil-7.8: Sabit ızgara ve ızgara dosya yapıları arasındaki ilişki 7.6.3 Dağıtım Koşut veri tabanları alanında yapılan birçok parçalama ve dağıtım çalışması ızgara dosyalarının kullanılmasına dayanır. Yapılan birçok çalışma Kartezyen Çarpım Dosyalarını temel almaktadır. Kartezyen çarpım dosyalarında bloklar işlemcilere dağıtılırken blokların indisleri bu işlem için doğrudan kullanılabilirler. Fakat, ızgara dosyalarda birden çok blok aynı sayfayı paylaştığı için block indisleri doğrudan kullanılamazlar. Örneğin Şekil-7.8(b)’de (0,3), (1,3) ve (2,3) blokları aynı sayfayı paylaşmaktadırlar. Blokların koşut ortama dağıtılmasında, bir sayfayı paylaşan blokların farklı işlemcilere atanmasını engelleyen yöntemlere gereksinim vardır. Aşağıda bu duruma uyan dört yöntem önerilmiştir. 163 • Rastgele Seçim: Eğer birden fazla çakışan alternatifler var ise, alternatiflerin rastgele seçilmesi esasına dayanır. • Frekans: Rastgele seçimin birden fazla sayfanın hep aynı diske atılıyor olduğu durumlar için geçerli bir uyarlaması olarak görülebilir. Eğer bu durumda birden çok disk var ise, içlerinden en yüksek frekanslı olanının seçilmesi ilkesine dayanır • Veri Yükü Dengesi: Verilere erişim sırasında, disklere erişim frekansının o diskteki sayfa sayısına bağımlı olduğu varsayımına dayanır. Dağıtım işlemi sırasında disklerin yük dengesini korur. • Alan Yükü Dengesi: Verilere erişim sırasında disklerin erişim frekansının, o diskteki sayfaların toplam veri alanına veya hacim oranına bağlı olduğu varsayımına dayanır. Dağıtımda her bir diskteki verilerin toplam veri alanının eşit parçalara bölünmesini temin etmeye çalışır. Algoritma-7.1 örnek olarak veri yükü dengesinin gerçekleştirilmesini göstermektedir. Benzer algoritmalar kolaylıkla diğer yöntemlere uyarlanabilir. Algoritma-7.1: Izgara bloklarının veri yükü dengesine göre disklere dağıtılması Girdi N sayfa sayısı ve C(bi) = {di1,…,dip}, bi sayfası için atama alternatiflerini göstermek üzere, ızgara dosyasından üretilen bir dizi {C(bi) | 1≤ i ≤ N} Çıktı Disk atamaları {disk(bi),…,disk(bn)} Adım 1. M disk sayısını ve B(j) ise miktarını göstermek üzere, Her j değeri için ( 1 ≤ j ≤ M ) B(j) ← 0; Adım 2. Her bi için eğer C(bi)=1 ise, j diskine atanan sayfa 164 disk(bi) ←di1 b(di) ←B(di1)+1 Adım 3. Her bi için eğer C(bi)> 1 ise, B(dik) = minimum (1 ≤ k ≤ C(bi)) olmak üzere, disk(bi) ← dik B(di) ←B(di1)+1; 7.6.4 Formal Tanımlamalar Veri nesnelerinin kümelenmesi, aslında büyük bir problemi üstesinden gelinebilecek küçük parçalara ayırmaktan başka bir şey değildir. Eğer kümeleme işleminin başarılı bir şekilde yerine getirildiği varsayılırsa, çözülmesi gereken en temel problem bu kümelerin işlemcilere nasıl dağıtılacağıdır. Kümelerin bu şekilde dağıtılmasının herhangi bir sorgunun muhtemel sonuçlarının münkün olduğunca koşut olarak aranması konusunda avantajlı olduğu görülür. Bu durum yığın (batch) sorgulama süresince işlemcileri meşgul tutabilecektir. Bir başka ifade ile bir sorgu işleme sırasında mümkün olduğunca bütün işlemciler eşit olarak çalışacak, biri diğerinden çok veya az çalışmamış olacaktır. Bu yolla sorgu işleme sürecinin koşutluğu en yüksek olacaktır. Daha formal olarak bir dizi nesnenin, D={d1,d2,…,dn}, olduğu bir veritabanına sahip olduğumuzu düşünelim. Kümeleme süreci, KÜME, doğrusal olarak bir dizi küme, K={k1 ∪ k2 … ∪ kt}, üretecektir. Bu şu şekilde ifade edilebilir: KÜME(di) → cj Bu ifade ile anlatılmak istenen KÜME fonksiyonu dj nesnesini cj kümesine atamakta olduğudur. m tane işlemcinin bulunduğu bir koşut bilgisayar mimarisinde, P={p1,p2,…,pm} kümeleri dağıtma süreci, DAĞIT, kümelenmiş olan bu nesneleri işlemcilere dağıtır. Birbaşka ifade ile, DAĞIT verilen bir j kümesi içerindeki i nesnesini, (di|cj), m işlemci içerisinden k’nıncıya atar. Daha formal olarak dağıtım işlemi, 165 DAĞIT(di|cj) → pk olarak tanımlanabilir. Dağıtım sürecinde kullanılacak olan en kestirme yöntem Round-Robin yöntemidir. Round-Robin yöntemi ile dağıtım formal olarak aşağıda gösterilmiştir. ĐşlemciNo ← di MOD m Fakat, eğer bir küme içerisindeki eleman sayısı, koşut işlemci sayısının katı değil ise (çoğu zaman beklenmez), Round-Robin yöntemi sürekli olarak nesneleri aynı numaralı işlemcilere atayabilir. Bu durumda, artık kalanların atanmasında yük dengelemesini dikkate alan yöntemler kolaylıkla uygulanabilir. Koşutluktan sağlanacak yararın enyüksek tutulabilmesi için, i’ninci kümenin, ki, bütün işlemcilere dağıtılması en iyi yoldur. DAĞIT sürecinin amacı mümkün olduğunca eşit olarak sonuç kümelerinin işlemcilere dağıtılmasıdır. Daha formal bir ifade ile bir kümenin bir işlemciye getirmiş olduğu yük, (ki∩pj), j işlemcisindeki i kümesi elemanlarının sayısını göstermek üzere aşağıdaki şekilde gösterilebilir. ∑ (k m j =1 i ) k j ∩ pj = m Burada sunulan dağıtım işlemi, kolaylıkla görülebileceği gibi, kümeleme hipotezine dayalıdır. Eğer verilen bir KID organizasyonu için kümeleme hipotezi geçerli ise, dağıtım işlemi verileri genel benzerlik özelliklerine göre işlemcilere dağıtmış olacaktır. Aynı zamanda bu dağıtım yöntemi ile işlemcilerin veri yüklerinin de dengeli olması sağlanmış olmaktadır. Eğer bir dağıtım yöntemi bir kümeyi yükleri dengeli olarak dağıtıyorsa, tüm kümelerin bileşiminden oluşan veritabanının da dengeli olarak dağıtacağı açıktır. Daha formal olarak herbir işlemcinin yükü aşağıdaki ifadeye eşit olacaktır. 166 t m ∑ ∑ (k i =1 j =1 k j ∩ p ) = i j m Dağıtım işleminin nasıl yapıldığını örneklerle açıklamaya çalışalım. Örnek kümeleme yapısında 8 tane kümenin ve koşut mimaride de 4 tane işlemci olduğunu varsayalım. Örnek, şematik olarak Şekil-7.9’da gösterilmiştir. Şekildeki sayılar nesnelerin numaralarını temsil etmektedir. Kümeler k1 1,2,3,4 k2 5,6,7,8 Đşlemciler 9,10,11,12 k3 k4 13,14,15,16 k5 17,18,19,20 1,5,9,13,17,21,25,29 2,6,10,14,18,22,26,30 3,7,11,15,19,23,27,31 k6 21,22,23,24 k7 25,26,27,28 k8 29,30,31,32 4,8,12,16,20,24,28,32 p1 p2 p3 p4 Şekil-7.9: Kümelerin ve içerisindeki nesnelerin işlemcilere dağıtılması 7.6.5 Koşut Erişim Mevcut mimarideki ön-uç hem kullanıcı ile sorgu ve sonuçların gösterilmesi sırasında etkileşim yapılmasını, hem de işlemcilere işlerin dağıtılmasını ve işlemlerin geri alınmasını sağlar. Ön-uç kümelemede temel alınan KID rehber dizinine sahiptir. Herbir işlemcide ise, bir önceki bölümde anlatılan dağıtım işlemine göre dağıtımı yapılmış olan kayıtlar bulunur. Kayıtlar aşağıda gösterilen yapıda bir ilişki olarak veri tabanında saklanır. 167 KAYIT(KÜME_NO, ÇON_NO, ÇON,ÖZELLĐKLER) KAYIT ilişkisinde KÜME_NO özniteliği birincil anahtardır. ÖZELLĐKLER özniteliği ise ilgili ÇON’dan çıkartılmış olan her türlü özniteliği temsil etmekte olup, aslında birden çok özniteliğe karşılık gelmektedir. ÇON ise günümüz veri tabanlarının birçoğu tarafından desteklenen ve doğrudan ÇON'u içeren ve BLOB olarak temsil edilen veridir. ÇON_NO ise veri tabanındaki bir ÇON'u ayırt etme yeteneğine sahip numara bilgisidir. Kullanıcıdan sorgunun alınması ve hazırlanması işlemlerini ön-uç yapar. Sorgunun ilk incelemesi ön-ucun disklerinde saklanan KID rehber ağacı kullanılarak yapılır. Bu ilk arama işleminde sadece hangi kümelerin sorguya uygun nesneleri barındırabileceği işlemi yapılır. Daha sonra, ön-uç hem kullanıcı sorgusunu ve hem de KID dizininden bulunan kümelerin numaralarını paketler ve mesaj olarak diğer işlemcilere gönderir. Herbir işlemci gelen sorgu paketinde sorgunun aramaya uygun hale getirilmiş halini (örneğin vektörel temsilini) ve hangi kümelerin aranması gerektiğini bulur. Daha sonra, KAYIT ilişkisinin KÜME_NO birincil anahtarı temel alınarak ilgili kümelerin sadece kendilerinde bulunan kayıtları üzerinde detaylı benzerlik ve arama işlemlerini yapar. Daha sonra herbir nesne için sorgu ile nesnenin benzerlik değerleri hesaplanır. Elde edilen bu değerler sıralanarak belirli bir katsayıdan daha yüksek benzerlik değerlerine sahip olanlar sıralı olarak paketlenir ve ön-uca geri gönderilir. Ön-uç herbir işlemciden gelen benzerlik değerlerine göre sıralı sonuçları alır.. Daha sonra işlemcilerin sonuçları sıralı-birleştirme (sort-merge) algoritmasını uygulanarak, genel bir listede toplanır. Bu listeye göre nesneler, kullanıcıya sorgusuna ençokdan enaz benzeyene doğru sıralı olarak sunulur. 7.6.6 Zaman Analizi 168 Dağıtım sırasında her küme içindeki kayıtlar mümkün olduğunca eşit olarak işlemcilere dağıtıldığı için, işlemcilerde yapılan hesaplama süreside birbirlerine yakın çıkacaktır Koşut erişimin zaman analizi, oldukça çok parametreye bağımlıdır. Bu nedenle hem analizin yapılmasını ve hem de anlaşılırlığı kolaylaştırmak için bir takım tanımlamalar kullanılmıştır. Tanımlamalarda kullanılan terim, sembol ve parametreler Tablo-7.2’de gösterilmiştir. Tablo-7.2: Koşut erişim zaman analizinde kullanılan parametreler YS Yanıt kümesi YSS Yanıt kümesindeki eleman sayısı BH Bir benzerlik hesaplaması için harcanan ortalama zaman. KES Đşlemcilerin veritabanındaki bir kayda KÜME_NO anahtarını kullarak erişme zamanı SAY(x) x kümesindeki eleman sayısı ĐSi i işlemcisindeki nesnelerin kümesi ÖS Sorguda arama kriteri olarak belirtilen öznitelik (boyut) sayısı. ÖHS SS BBZ Bir öznitelik için gereken hazırlık süresi O(N log n) karmaşıklığında bir sıralama algoritması kullanıldığı varsayılsın Birleştirme sırasında bir birimlik işlem zamanı Bir sorgunun yanıt süresi, sorgunun yönlendirilmesinden sonuçların kullanıcıya ulaşıncaya kadar geçen süredir. Bu süre çok kaba olarak dört bileşene sahiptir. Birinci bileşen ön-uç ile işlemciler arasında ağ üzerinde yapılacak olan mesaj alış-verişi için geçen zamandır ve Tiletişim olarak gösterilmiştir. Đkinci parça ise Tarama olarak gösterilen ve ön-ucun KID rehberinden sorgu ile ilgili kümelerin aranmasında her işlemcinin koşut olarak yapacağı arama işlemi için harcanan zamandır. Üçüncü parça ise, işlemcilerden 169 gelen kısmi sonuçlardan genel sonuçların oluşturulması için yapılan birleştirme işlemi için harcanan zamandır ve Tbirleştirme olarak gösterilmiştir. Genel olarak bir sorgunun toplam yanıt süresi Ttoplam, aşağıdaki ifadeye eşittir. Ttoplam = Tön-hazırlık + Tiletişim + Tarama + Tbirleştirme Đlk bileşen arayüzlerle alınan sorgunun uygun formlara dönüştürülmesi işlemidir. Bu işlem, örnek olarak, renk veya şekiller için uygun vektörel temsillerin elde edilmesi olabileceği gibi, doğal dilde alınan bir metinsel sorgu için boş kelimelerin atılması, kalanların köklerine ayrıştırılması veya ilgili sözlükten karşılıklarının bulunması gibi çeşitli işlemleri kapsayan bir süreçtir. Her ne kadar bu hazırlık süresi sözkonusu özniteliğin yapısına göre farklılıklar gösterir ise de, bu analizde ortalama birim bir zaman olarak ÖHS ile temsil edilmiştir. Bu hazırlıklar ön-uçta yapılmakta olup bir koşutluk sözkonusu değildir. Bu durumda, Tön-hazırlık şu şekilde ifade edilebilir: Tönhazırlık = ÖHS × ÖS Bir sorgu süresince temel olarak iki grup iletişim gerçekleştirilir. Birincisi, ön-uçtan işlemcilere sorgu ve küme numaralarının iletilmesi, ikincisi ise kısmi sonuçların işlemcilerden ön-uca ulaştırılması için yapılan iletişimdir. Dolayısı ile, Tiletişim aşağıdaki ifadeye eşittir: Tiletişim = Tsorgu + Tsonuç Arama işleminde göze çarpan iki temel işlem vardır. Đlk aşama ön-uç tarafından yapılan ve ilgili kümelerin tespit edilmesi için harcanan zamandır. Đkincisi ise herbir işlemcinin bağımsız ve koşut olarak yapacağı arama süresidir. Daha detaylı olarak Tarama aşağıdaki şekilde ifade edilebilir. Tarama = Tön-uç + Tişlemci 170 Tön-uç olarak ifade edilen zamanda, sorguya uyan kümelerin bulunması işlemi KID rehber ağacı üzerinden yapılır. KID rehber ağacının bellekte saklandığı varsayımı ile, k tane kümenin bulunması için geçen süre aşağıdaki ifadeye eşittir. Başlangıçta verilen tanımlamaya göre herbir işlemcide yapılacak arama için harcanacak zamanı iki başlık halinde incelemekte yarar vardır. Bunlar verilerin aranması ve getirilmesi, benzerliklerin hesaplanması ve hesaplanan benzerliklerin sıralanması için geçen süredir. Bu durumda Tişlemci aşağıdaki şekilde ifade edilebilir. Tişlemci = Tişlemci-arama + Tbenzerlik-hesaplaması + Tbenzerlik-sıralaması Tişlemci’nin hesaplanması için en-kötü ve en-iyi durum olmak üzere iki uç durumun değerlendirilmesi gerekir. En iyi durum sorgu yanıt setinin bütün işlemcilere eşit olarak dağıtıldığı durumdur. Başta verilen parametreler ışığında, en-iyi durum daha formal olarak aşağıdaki şekilde ifade edilebilir: (∃i) (SAY(ĐSi ∩ YS) ≅ (YS / m) (1 ≤ i ≤ m) En kötü durum ise, bir sorgunun yanıt setinin sadece bir işlemcide, j, yığılmış olması durumudur ve matematiksel olarak şu şekilde (j hariç ∃i) (SAY(ĐSi ∩ (YS - ĐSj)) = ∅ ) (1 ≤ i ≤ m, 1 ≤ i ≤ m) veya sadece YS – ĐSj = ∅ olarak gösterilebilir. Bu durumda Tişlemci en-iyi durum için aşağıdaki ifadeye eşit olacaktır. Tişlemci(en-iyi) = ( (YSS*KES) + (YSS*BH) ) / m + ( (YSS / m) log2(YSS / m) ) 171 En-kötü durum için ise şu ifade, Tişlemci(en-kötü) = (YSS*KES) + (YSS*BH) + (YSS*SS) geçerli olacaktır. Ortamala olarak Tişlemci zamanı şu şekilde gösterilebilir: Tişlemci = ( Tişlemci(en-kötü) + Tişlemci(en-iyi) ) / 2 Zaman analizinin en son bileşeni ise, işlemcilerden toplanan verilerin tek liste haline getirilmesi amacıyla birleştirilmesidir. Birleştirme algoritmasının karmaşıklığı birleştirilecek liste sayısı O(N)'dir. Birleştirme algoritmasına katılan eleman sayısı YSS ile gösterildiğine göre, Tbirleştirme işleminin karmaşıklığı O(YSS) aşağıdaki şekilde ifade edilir: Tbirleştirme = YSS * BBZ 172 8. BAŞARIM ANALĐZĐ Bu bölümde, bu tez çalışması kapsamında geliştirilen KID yapısının ve bu yapının koşut bir mimaride çoklu ortam nesnelerinin gösterim ve erişiminde kullanılabilirliğini göstermek için yapılan deneysel çalışmaların sonuçları sunulmuştur. Yapılan deneyler sentetik veriler üzerinde gerçekleştirilmiştir. Sentetik veriler ile yapılan başarım değerlendirmesi KID yapısı ve koşut uygulama olmak üzere, daha önceki bölümlerde anlatıldığı gibi iki aşamada gerçekleştirilmiştir. 8.1 Veri Kümesi Başarım değerlendirmesi için kullanılan veri ve sorgu kümelerinin genel özellikleri Tablo-8.1’de verilmiştir. Buna göre değişik özelliklerde toplam yedi değişik veri kümesi hazırlanmıştır. Tablo-8.1: Veri Kümeleri Sembol Kayıt sayısı Boyut Sayısı Kaplama Oranı V1 5000 2 0.04 V2 10000 2 0.04 V3 15000 2 0.04 V4 20000 2 0.04 V5 25000 2 0.04 V6 30000 2 0.04 S1 100 2 0.04 S2 100 2 0.10 S3 100 2 0.20 173 Veri ve sorgu kümeleri iki boyutlu uzaydaki dörtgen bilgilerini temsil etmektedir. Kaplama oranı ise herbir kümedeki verilerin toplam veri alanının yüzde kaçını kapladıklarını temsil etmektedir. Örneğin, 0.04 değeri, veri seti içerisindeki kayıtların toplam veri alanının ortalama yüzde dördünü kapladığını göstermektedir. Veri tabanı kayıtlarını temsil eden veri kümeleri Vx olarak, test için kullanılan sorgular ise Sx olarak adlandırılmışlardır. Veri kümelerindeki kayıt sayıları 5000 ile 30000 arasında değişen kayıt sayılarına sahiptir. Hazırlanan sorgu setleri iki boyutlu düzlemdeki kayıtlar için pencere sorgularını temsil etmekte olup, hepsinde değişik kaplama alanlarına sahip 100 sorgu bulunmaktadır. Konumsal bir dizinleme yapısının başarımını etkileyen en önemli parametrelerden bir tanesi, kullanılan sorgulardır. Daha önce de belirtildiği üzere, bu çalışmada pencere sorgular kullanılmıştır. Pencere sorguları tek boyutlu dizinleme yapılarındaki aralık sorgularına benzetilebilir. Tek boyutlu uzaydaki aralık değeri, veri uzayı ölçeğindeki iki nokta arasındaki aralık olarak temsil edilebilirken, iki boyutlu uzaydaki aralık sorguları ise, iki boyutlu uzayda iki nokta ile temsil edilen pencere veya dörtgen ile gösterilirler. Başarım sonuçlarının ele alınmasında üç farklı kaplama alanına sahip sorgu setleri hazırlanmıştır. Şekil-8.1 herbir sorgu kümesinin işlenmesi sonucunda elde edilen yanıt kümesindeki eleman sayısını göstermektedir. S1 S2 S3 Yanıt kümesi kayıt sayısı 7000 6000 5000 4000 3000 2000 1000 0 V1 V2 V3 V4 V5 V6 Veri Kümesi Şekil-8.1: Sorgu kümelerinin yanıt kümelerindeki eleman sayıları 174 Şekil-8.1 sorgu kümelerinin kaplama oranlarının artmasıyla doğru orantılı olarak, yanıt kümelerindeki kayıt sayılarının nasıl arttığını göstermektedir. 8.2 Çoklu Ortam Benzeşim Ortamı Deneylerde kullanılan veri kümelerindeki kayıtların genel biçimleri aşağıdaki gibidir: Nesne No, Konumsal Saha1, Konumsal Saha2 KID uygulamalarında herbir boyut için konumsal sahalar kullanılmıştır. Bu yolla, KID organizasyonunun birden fazla konumsal öznitelik ile temsil edilebilen çoklu ortam verilerini temsili benzeşimi (simulation) sağlanmış olmaktadır. Örneğin, bir resim arşivindeki resimlerin renk histoğramı ve şekil vektörleri ile temsil edildiği düşünülür ise, buradaki benzeşim ortamına doğrudan uyum sağlanmaktadır. Bu durumda, saha1'in renk, saha2'nin ise şekil bilgilerini temsil ettiği, Nesne_No sahasının ise resim verisini gösteren bir bağlaç bilgisi olduğu kabul edilebilir. Bu benzeşim modeli çerçevesinde deneyler yapılmış ve elde edilen sonuçlar aşağıda rapor edilmiştir. 8.3 Tek Bilgisayar Sonuçları KID’in değerlendirilmesi için yukarıda anlatılan benzeşim ortamına uygun olarak programlar C programlama dilinde yazılmış ve Borland C++ 5.0 uyarlaması ile derlenmiştir. Hazırlanan programlar, 133 MHz hızında, Intel Pentium kişisel bilgisayarlarında MicroSoft NT 4.0 işletim sistemi altında çalıştırılmıştır. Özellikle zaman bağımlı olan sonuçların alınması sırasında bilgisayar sisteminin disk ön-bellek ve zahiri bellek yapısında programların yerleşiminden kaynaklanan farklılıkları giderebilmek için, her deney beş kez tekrarlanarak ortanca değeri sonuç olarak alınmıştır. 175 8.3.1 Başarım Parametreleri Beşinci bölümde anlatıldığı gibi, bir KID organizasyonunundaki en temel veri yapısını ızgara rehber ağacındaki düğüm sayısı oluşturur. Izgara rehber ağacının düğüm sayısı ise organizasyona katılan herbir eksene ait bağımsız KEY yapılarındaki ağaçların yüksekliği ve düğüm sayıları ile ilgilidir. KID yapısının ağaç yapısı bellekte saklanabilir. Yaprak düğümlerin herbirisinin bir disk sayfasına karşılık geldiği varsayımı ile, okunan her yaprak diskten bir sayfanın okunması anlamındadır. Bu nedenle başarımı etkileyen en önemli parametrelerden bir tanesi sorgulama süreci boyunca okunan sayfa sayısı, bir başka ifade ile sorgu işlemede okunan yaprak düğümlerin sayısıdır. Bir KID organizasyonunda düğüm sayısı ızgara sayfalarının kapasitesine yakından bağımlıdır. Yapılan deneylerde sayfa kapasitesi 200 olarak sabit tutulmuştur. Şekil-8.2 veri kümeleri için hazırlanan KID rehber ağacındaki dizin düğümlerinin sayılarını göstermektedir. Kayıt Sayısı 35000 2000 1800 1600 1400 1200 1000 800 600 400 200 0 30000 25000 20000 15000 10000 Kayıt Sayıları Düğüm Sayıları Düğüm Sayısı 5000 0 V1 V2 V3 V4 Veri Kümesi V5 V6 Şekil-8.2: KID organizasyonundaki kayıt ve dizin düğümleri sayıları Şekil-8.2 KID organizasyonunda kayıt sayısının artmasıyla birlikte, elde edilen dizin düğümleri sayısındaki değişimi göstermektedir. Düşük kayıt sayılarına sahip veri kümelerinde dizin düğümlerinin sayılarının yüksek olması, global olarak benzerlikleri veya uzaklıkları çakışan verilerin azlığını göstermektedir. Veri sayısındaki artış ile 176 beraber elde edilen dizin düğümü sayısı düşmektedir. Bir başka deyişle, veri sayısının artması ile birlikte, veri uzayında özellikleri çakışan kayıtların sayıları da artmaktadır. Şekil-8.3 ise kayıt sayısının değişmesi ile birlikte veri sayfalarının kapasite kullanım oranlarındaki değişimi göstermektedir. Bu kapasite kullanım oranlarındaki değişimi Şekil-8.2’de verilen dizin düğümlerindeki değişimlerle koşut olarak değişmekte, yani kayıt sayısındaki artış ile beraber kapasite kullanım oranlarındaki değişimleri göstermektedir. 25 Doluluk Oranı (%) 20 15 10 5 0 V1 V2 V3 V4 V5 V6 Veri Kümeleri Şekil-8.3: KID sayfa doluluk oranları 8.3.2 Kontrol Yöntemi KID yapısı çoklu vektörel özniteliklere sahip ilişkilerin dizinlenmesi için önerilmiş bir yapıdır. KID yapısının başarım sonuçlarının karşılaştırmalı olarak elde edilebilmesi için bir kontrol yöntemine gereksinim duyulmuştur. KID organizasyonun alternatifi ise, herbir öznitelik için ilgili KEY yapılarının biribirlerinden bağımsız olarak dizinlenmesi ve herhangi bir sorgulama sürecinin ayrı bir aşama olarak gerçekleştirilmesidir. Đlk aşamada bağımsız KEY’ler kullanılarak kısmi sonuçlar elde edilir ve bu kısmi sonuçların kesişim kümeleri ise ikinci bir aşamada elde edilir. Bu amaçla bu karşılaştırmanın yapılabilmesi için, Tablo-8.1’de verilen veri kümeleri ayrı ayrı olarak 177 R-ağaç KEY yapısı kullanılarak dizinlenmiş ve elde edilen sonuçlar bir birleştirme (join) işleminden geçirilerek yanıt kümesi elde edilmiştir. Şekil-8.4'de KID yapısı kullanımı ve kullanılmaması durumunlarında okunan sayfa sayıları gösterilmektedir. R-ağaç KID 120000 Sayfa Sayısı 100000 80000 60000 40000 20000 0 V1 V2 V3 V4 V5 V6 Veri Kümesi Şekil-8.4: S1 kümesi için sorgulama sürecinde R-ağaç veya KID kullanımıyla okunan disk sayfa sayıları Şekil-8.5 ise her iki yöntem için değişik veri kümeleri için ölçülen yanıt sürelerinindeki değişimi göstermektedir. Veri sayısının artması ile birlikte, KID kullamımının yanıt süresindeki fark açıkça görülmektedir. Elde edilen bu fark ise, büyük ölçüde iki nedene bağlıdır. Birincisi, birden çok KEY yapısının kullanıldığı kontrol modelinde her dokunulan veri sayfası sayısındaki büyük fark nedeni ile oldukça karmaşık ve pahalı olan benzerlik hesaplamalarınn kullanılma zorunluluğudur. Đkinci etmen ise, KEY yapısı kullanılarak elde edilen her sonuçtan, yanıt setinini elde edilmesi için birleştirme işlemine gerek duyulmasıdır. KID organizasyonunda ise, her düğüm zaten kayıtların farklı özniteliklerine göre kesişim kümelerini içerdiği için, birleşim işlemine gerek duyulmaz. Temel olarak bu iki nedenden dolayı yanıt süresi kayıt sayısının artmasıyla birlikte azalma eyilimi göstermektedir. 178 450 400 Yanıt Süreleri 350 KID (S3) 300 KID (S2) 250 KID (S1) 200 R-ağaç (S1) 150 R-ağaç (S2) R-ağaç (S3) 100 50 0 V1 V2 V3 V4 V5 V6 Veri Kümeleri Şekil-8.5: Sorgu kümeleri için KID ve R-ağacı yanıt süreleri Şekil-8.5'de aynı veri setleri üzerinde KID organizasyonu ve birden çok R-ağacı kullanımı sonucunda ölçümlenen yanıt süreleri verilmiştir. R-ağacı deneylerinde her iki boyut için ayrı R-ağaçları hazırlanmıştır. Sorgu kümesindeki her bir boyuta ait göstergeler ilgili R-ağacı üzerinde ayrı ayrı olarak aranmış ve elde edilen iki bağımsız yanıt kümesi daha sonra birleştirme (join) işlemine tabi tutularak sonuç yanıt kümesi elde edilmiştir. Özellikle veri sayısındaki artış ile beraber, R-ağacı uygulamasında yanıt süreleri doğrusala yakın bir artış gösterirken, KID uygulamamasının yanıt süresinindeki farkı açıklıkla görülmektedir. Bu fark iki şekilde açıklanabilir. Birincisi sorgulama süresi boyunca yapılan disk erişimi, ikincisi ise R-ağaç yapısındaki herbir boyut için ayrı ayrı elde edilen kısmı sonuçların, final yanıt kümesinde elde etmek için birleştirme işlemine olan gereksiniminden kaynaklanmaktadır. KID uygulamasında veriler zaten her bir boyut için kümelendikleri için, (1) KID filtreleme işleminde etkindir (2) oldukça karmaşık ve pahalı olan benzerlik hesaplamalarında, veri uzayının daraltılması işlemi etkin olarak yapılabilmektedir. Bu nedenle bir sorgunun işlenmesindeki KID kullanımı ile beraber yanıt sürelerinde dört katından daha iyi sonuçlar alınabilmektedir. Ayrıca sorguların yanıt kümesindeki eleman sayısı arttıkça KID kullanımının birden çok R-ağacı kullanımına göre farkı açık olarak ortaya çıkmaktadır. 179 8.4 Koşut Erişim Başarım Sonuçları KID yapısının koşut mimarilerdeki uygulaması ağ üzerinde çalışan DEC Alpha iş-istasyonlarının PVM (Parallel Virtual Machine) ile birbirlerine bağlanması ile oluşturulan ortamda gerçekleştirilmiştir. Koşut uygulamada, tek işlemcili makinelerde kullanılan veri ve sorgu kümeleri kullanılmıştır. Kaplama alanı başarımı yakından ilgilendirmediği için, koşut erişim deneyleri sadece S1 veri kümesi kullanılarak gerçekleştirilmiştir. Koşut erişimin başarıma olan etkisininin test edilebilmesi için değişen işlemci sayısının sorgulama sürelerine olan etkileri araştırılmıştır. Koşut erişimin başarım sonuçlarını yakından ilgilendiren temel parametresi kullanılan dağıtım yöntemidir. Altıncı bölümde önerilen yapıya alternatif olarak, kümeler içerisindeki verilerin ayrı disklere paylaştırılması yerine, aynı küme içerisinde kalan veriler aynı işlemciye atanmışlardır. Elde edilen sonuçlar Şekil-8.6'da gösterilmiştir. V1 V2 V3 V4 V5 V6 90 80 Yanıt Süresi 70 60 50 40 30 20 10 0 1 2 4 Đşlemci Sayısı Şekil-8.6: Koşut erişim yanıt süreleri 8 180 Tam Küme 90 80 Yanıt Süresi 70 60 50 40 30 20 10 0 1 2 4 8 Đşlemci Sayısı Şekil-8.7: Tam ve Parça Dağıtım sonucu sorgu yanıt süreleri Daha önceki bölümlerde anlatılan Koşut Kümeleme Tabanlı Erişim (KKTE) modelinin temeli kümeleme hipotezine dayanır. Buna göre bir sorgunun süresinin koşut bir mimaride en aza indirgenebilmesi, birbirlerine benzeyen kayıtların bütün işlemcilere dağıtılmasına bağlıdır. kümelenmesini sağlar. KID organizasyonu birbirlerine benzeyen verilerin Bu durumda iki alternatif yöntem söz konusudur. Birinci yöntem, her bir kümenin elemalarının aynı işlemciye dağıtılmasıdır. Đkincisi ise, kümeler içerisinde yer alan kayıtların tüm işlemcilere dengeli olarak dağıtılmasıdır. Birinci yöntem parça dağıtım, ikinci yöntem ise tam dağıtım olarak adlandırılmıştır. Şekil-8.7'de V6 veri seti için S1 sorgu kümesinin tam ve parça dağıtım yöntemleri için ayrı ayrı yanıt süreleri sonuçlarını göstermektedir. Şekilden de açık olarak anlaşılacağı gibi, sorgu zamanının en kısa zamana indirgenebilmesi için elde edilen veri kümelerindeki nesnelerin mümkün olduğunca işlemcilere dağıtılması gerektiğini göstermektedir. Bu da ileri sürülen savı doğrulamaktadır. Tam dağıtımın uygulanmasıyla parça dağıtımına göre iki katına kadar daha iyi zamanlar elde edilmiştir. Tam dağıtım işlemi sonucunda, herhangi bir sorgunun işlenmesi sırasında, sorguların potansiyel yanıt kümeleri bütün işlemcilere dengeli olarak dağıtıldıkları için, herbir işlemcinin çalışma süreleri birbirlerine yaklaşık çıkmaktadır. Bu deneyden elde edilen sonuçlar bir önceki bölümde önerilen Koşut Kümeleme Tabanlı Erişim (KKTE) 181 modelini desteklemektedir. Bu nedenle, kümeleme tabanlı bir erişimde, sorgu sürelerinin en aza indirgenebilmesinin en iyi yolu yanıt setinin mümkün olabildiğince işlemcilere dağıtılmasıdır. Sonuç olarak, yapılan deneyler KID kullanımının herbiri çok boyutlu vektörlerle temsil edilebilen çok-öznitelikli verilerin erişiminde R-ağacı yöntemine göre çok daha iyi sonuçlar verdiğini göstermektedir. Çünkü KID organizasyonunda birbirlerine benzer nesneler aynı disk sayfalarında bulunmaktadır. Bu da çoklu vektörel özenitelikteki erişimin başarımını iyi yönde etkilemektedir. Verilerin KID organizasyonuna katılan bütün özniteliklerinin benzerliklerine göre gruplanması ise, çoklu ortam uygulamalarının koşut mimarilerde karşılaşılaşılan parçalama ve dağıtım problemlerine etkin bir çözüm olarak kullanılabilmektedir. 182 9. SONUÇ Bu çalışmada çoklu ortam dizgelerinde verilere erişimi daha etkin ve kolaylaştıracak yol ve yöntemler üzerinde çalışılmıştır. Çoklu ortam erişimine her geçen gün artan bir gereksinim bulunmaktadır. Bu gereksinim son yıllarda çoklu ortam verileri üreten donanım ve iletişim olanaklarındaki gelişmenin doğal bir sonucudur. Bu gereksinimin araştırmacılar tarafından anlaşılması üzerine çoklu ortam erişimi konusunda tam bir araştırma patlaması bulunmaktadır. Aslında, içinde yaşadığımız şu günler çoklu ortam erişim dizgelerinin emekleme dönemleridir. Bu nedenle bu alanda mevcut birçok araştırma problemi bulunmakta, birçok araştırmacı farklı problemlere dikkat çekmekte, farklı yöntemler önermektedir. Fakat, henüz bir çok probleme tatmin edici son noktayı koyan, üzerinde anlaşmaya varılmış çözüm yolları yoktur. Çözüm yollarından önce problemler bile tam olarak tanımlanamamıştır. Herşeyden önce, bu alandaki problemlerin ve çoklu ortam bilişim dizgelerinin genel karakteristiklerinin ve gereksinimlerinini belirlenmesi, problemlerin açıklıkla ortaya konulması ve tanımlanması ve sınıflandırılması gerekmektedir. Bu nedenle bu tez çalışmasının ilk bölümleri bu tür bir gereksinim analizlerine ayrılmıştır. Öncelikle, çoklu ortam verilerinin genel özellikleri tartışılarak, çoklu ortam verilerinin tanımlanması için kullanılan öznitelikler sınıflandırılmış, hem problemlerin daha iyi anlaşılmasına hem de mevcut kavram kargaşalarını giderebilecek bir oydaşma sağlanmaya çalışılmıştır. Çoklu ortam bilişim dizgelerinin gereksinim analizini kolaylaştırabilmek için, ÇBD'lerin genel özellikleri incelenerek açıklıkla ortaya konulmuştur. Bu çalışma içerisinde ayrıca, mevcut teknolojide yapılan en son araştırma ve geliştirilen ürün çalışmalar incelenerek bilimin içerisinde bulunduğu son nokta ortaya konulmuştur. Bu katkı en azından hem yeni araştırmacılara mevcut durumun özetlenmesi ve hem de bu alanda araştırma yapmak isteyenlerin problemleri açıklıkla görebilmeleri ve yönlendirilmeleri açısından önemlidir. Bu kapsamda, son derece önemli dört yaklaşım ayrıntıları ile tartışılmıştır. Ayrıca çoklu ortam sorguları ayrıntılı olarak tartışılarak sorgulama konusundaki temel yol ve yöntemler açıklıkla ortaya konulmuş ve bir sınıflama yapılmıştır. 183 Yapılan bu ön analiz ve incelemeler ışığında bir çoklu ortam dizge modeli geliştirilmiştir. Model son derece jenerik olarak hazırlanmıştır. Đki katmanlı bir veri modelini bünyesinde barındıran model ile birlikte ayrıntılı olarak çoklu ortam özniteliklerinin model ile ayrıntılı olarak nasıl bütünleştirileceği açıklanmıştır. Bu kapsamda, birçok araştırmacı tarafından ihmal edilen kavramsal modellerdeki benzerliklerin nasıl hesaplanabileceği üzerinde öneriler sunulmuştur. Modelde bütünleşik çok parçalı bir sorgulama dili tasarlanmış ve dilin kullanımı ve gerçekleştirilmesi konusunda ayrıntılı açıklamalar sunulmuştur. Bir çoklu ortam dizgesindeki veri ve dizge modelinin önemi yadsınamaz. Fakat, bu konuda yapılan birçok araştırmada önerilen çoklu ortam modellerinin tamamına yakını çoklu ortam özelliklerini dikkate alan uygun dizinleme yöntemlerini ya hiç incelememiş ya da gereken dikkat gösterilmemiştir. Eğer çoklu ortam dizge modelleri sadece mevcut geleneksel dizinleme yöntemlerine dayandırılırlar ise, bu geleneksel veri tabanlarını çoklu ortam verilerini de desteklemesi için zorlamaktan öteye gidemez. Araştırmamızda da açıklıkla ortaya konulduğu gibi çoklu ortam verileri geleneksel veri tiplerine göre oldukça farklı biçimlerdedirler. Bu bağlamda, dizinlemenin modellerin ayrılmaz ve zorunlu bir bileşeni olduğu düşüncesi ile, çoklu ortam verilerinin gösterim ve dizinlemesi üzerinde yapılan bir araştırma sonunda, gereksinimleri karşılayabilecek bir dizinleme yöntemi geliştirilmiştir. Konumsal Izgara Dosyası (KID) olarak adlandırılan dizinleme yöntemi çoklu ortam nesnelerinin heterojen özellikteki özniteliklerinin dizinlenmesini sağlayan yegane organizasyon yapısıdır. Yapı ÇON'ların herbiri farklı nitelik ve niceliklere sahip tanımlarının dizinlenebilmeleri için uygun konumsal erişim yöntemlerinin bir ızgara dosyası çerçevesinde birleştirilmeleri sağlayan bir yapıdır. Bu tez kapsamında geliştirilen KID organizasyonu, geleneksel ızgara dosya yapılarının doğrusal ölçek bileşenine, herbir eksen için gereğinde birbirinden farklı konumsal/vektörel dizinleme yapılarının gömülmesi temel ilkesine dayanır. KID yapısında, doğrusal ölçekler veri ve yöntemi bünyesinde barındıran tipik bir sınıf nesnesi olarak temsil edilmişlerdir. KID iki disk erişimi ve eksik tanımlı sorguların işlenmesi gibi birçok açıdan geleneksel ızgara dosyalarının genel özelliklerini 184 korumaktadır. Ayrıca, bir KID organizasyonu tüm veri uzayını dizinlemede kullanılan özniteliklere göre birbirlerine benzer nesnelerin kümelenmesini de sağlamaktadır. Bu ise çoklu ortam erişiminde kümeleme tabanlı erişimin ve bu erişimin koşut bilgisayar mimarilerinde gerçekleştirilmelerini kolaylaştırmaktadır. KID’in veri uzayını kümelemedeki bu yeteneği ise çoklu ortam verilerinin erişimde karşılaşılan ve hala çözüme ulaştırılamamış olan G/Ç ve işlem gücü darboğazlarının aşılmasındaki aşılmasında en yararlanılmasıdır. etkin Çoklu büyük katkılar çözümlerden ortam bir bilişim sağlamaktadır. tanesi ise, dizgelerinde Bu darboğazların koşut bilgisayarlardan koşut bilgisayarlardan yararlanılması çok çalışılan bir konu olmayıp, oldukça yeni bir çözüm yoludur. Her ne kadar değişik veri tabanı uygulamalarının koşut uygulamaları bulunuyor ise de, çoklu ortam veri tabanlarının koşutluğu konusunda çok fazla çalışma da mevcut değildir. Bu çalışma ile, çoklu ortam bilişim dizgelerinin koşut bilgisayarlara uyarlanmalarında kullanılmak üzere geliştirilen Koşut Kümeleme Tabanlı Erişim (KKTE) modeli için KID’lerin kullanımı önerilmiş ve yapılan deneylerden başarılı sonuçlar elde edilmiştir. Hazırlanan çoklu ortam dizge modeli ve dizinleme yapısı sentetik veriler üzerinde, tek ve koşut bilgisayarlar üzerinde test edilmiştir. Koşut bilgisayar deneyleri sekiz iş istasyonunu içeren PVM ortamında gerçekleştirilmiştir. Elde edilen bulgular KID organizasyonun R-ağaç modelli alternatif organizasyonuna göre sekiz kattan daha iyi sonuçlar elde edebildikleri göstermiştir. Ayrıca, KID organizasyonu çoklu ortam verilerinin genel benzerliklerine göre gruplama ve koşut bilgisayarlara dağıtımı konusunda etkin bir araç olduğu yapılan deneyler sonucunda elde edilmiştir. Bu tez çalışması kapsamında geliştirilen KID organizasyonu her ne kadar çoklu ortam erişimi için önerilmiş olsa da, coğrafi bilişim sistemleri, konumsal/zamansal veritabanları ile veri kazısı ve bilgi keşfi gibi alanlarda da potansiyel bir katkıya sahip olacağı görünmektedir. Gelecekte KID organizasyonunun bu alanlardaki katkılarının ortaya konulacağı çalışmalar yapılması düşünülmektedir. 185 KAYNAKLAR DĐZĐNĐ Agosti, M., Melucci, M., Crestani, F., 1995, Automatic authoring and construction of hypermedia for information retrieval, ACM Multimedia System, 3:15-24. Aktuğ, D. and Can F., 1993, Signature Files:an integrated access method for formatted and unformatted databases, Miami University, System Analysis Department, Technical report, No:93-006. Allen, J.F., 1993, Maintaining knowledge about temporal intervals, Communications of ACM, 26:832-843. Atkinson M. et al., 1990, The object-oriented database system manifesto, Proceedings of First International Conference on Deductive and Object Oriented Databases, Kyoto, Japan, pp.223-240. Beckman, N., Kriegel, H.P., 1990, The R*-tree: an efficient and robust access method for points and rectangles, Proceedings of ACM-SIGMOD, pp.332-331. Benson, J., 1994, Searching for stock photos online, MACWORLD, pp.124-127. Berchtold, S., Keim, D.A. and Kriegel, H.P., 1996, The X-tree: an index structure for high-dimensional data, Proceedings of 22nd International Conference on Very Large Databases, Mumbai (Bombay), India, pp.28-39. Berrut, C., Chiaramella, Y., 1995, Modelling and indexing medical images: The RIME approach, Proceedings of 12th International Conference on Research and Development in Information Retrieval, Cambridge, Massachusetts, USA, pp.25-28. 186 Bimbo, A.D., Vicario E. and Zingoni D., 1995, Symbolic description and visual query of image sequences using spatio-temporal logic, IEEE Transaction on Knowledge and Data Engineering, 7(4):12-24. Can, F. and Özkarahan, E.A., 1990, Concept and effectiveness of the cover-coefficientbased clustering methodology for text databases, ACM Transactions on Database Systems, 17(4):483-517. Chang, H., Hou T., Hsu, A. and Chang, S., The management and applications of teleaction objects, ACM Multimedia Systems, 3:204-216. Chen, C.Y.R., Meliksetian, D.S., Chang, M.C., Liu, L., 1995, Design of a multimedia object-oriented DBMS, ACM Multimedia Systems, 3:217-227. Chen, H. H. and Su, J. S., 1986, A syntactic approach to shape recognition, Proceedings of International Computing Symposium, pp:103-122. Conners, R.W. and Harlow, C. A., 1980, A theorical compariton of texture algorithms, IEEE Transactions on Pattern Analysis and Machine Intelligence, 3:204-222. Coyle, M. , Shekhar, S. and Zhou, Y., 1994, Evaluation of Disk Allocation Methods for Parallelizing Spatial Queries on Grid Files, Proceedings of International Conference on Data Engineering (ICDE'94), Houston, Texas, pp.243-252. Davis, R.S., Kent, A., Ramamohanarao, K., Thom J. and J. Zobel, 1996, Atlas: A nested relational database system for text applications, IEEE Transactions on Knowledge and Data Engineering, 7(3). DeWitt, D. and Gray, J., 1992, Parallel database systems: The future of high performance database systems, Communications of ACM, pp.85-98. 187 Dikenelli, O., Ünalir, M.O., Özerdim, A., and Özkarahan E.A., 1995, A load balancing approach for parallel database machines, Proceedings of Third IEEE EuroMicro Workshop on Parallel and Distributed Processing, San Remo, Italy, pp.51-58. Dubois, S. R. and Glanz, F. H., 1986, An autoregressive model approach to two-dimensional shape classification. IEEE Transaction on Pattern Analysis and Machine Intelligence, 8, pp:55-66. Du, C.H. and Sobolewski, J.S., 1982, Disk allocation for cartesian product files on multiple disk systems, ACM Transactions on Database Systems, 7(1):82-101. Efraimidis, P. et al, 1995, Parallel text retrieval on a high performance supercomputer using the vector space model, Proceedings of ACM SIGIR Conference, Seattle WA. Egenhofer, M., 1989, A formal definition of binary topological relations, Proceedings of 3rd International Conference of Foundations of Data Organisations and Algorithms, Paris, pp:457-472. Eklunbh, J.O., 1979, On the use of Fourier phase features for texture discrimination, Computer Graphics Image Processing, 9, pp.199-201. Faloutsos, C. and Roseman, S., 1989, Fractals for secondary key retrieval, Proceedings of the Eighth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, March 29-31, Philadelphia, Pennsylvania. Faloutsos., C et. al, 1993, Efficient and effective querying by image Content, IBM Almaden Research Center, Research Report, RJ-9453(83074). Faloutsos, C., Barber, R., Flickner, M., Hafner, J. et al., 1994, Efficient and effective querying by image content, Journal of Intelligent Information Systems, 3:231-262. 188 Flickner M., et al., 1995, Query by image and video content: the QBIC system, IEEE Computer, September. Freeman, H. and Davis, L. S., 1977, A corner-finding algorithm for chain coded curves, IEEE Transaction on Computer, 26, pp:297-303. Fritzsche, J.C. 1995, Continuous media described by time-dependent data, ACM Multimedia Systems, 3:278-285. Furht, B. et al, 1995, Design issues for interactive television systems, IEEE Computer, May. Gavrila, D.M., 1994, R-Tree Index Optimization, University of Maryland, Center for Automation Research, Technical Report, CS-TR-3292. Gemmel, D.J., Vin H.M., Kandlur D.D., 1995, Rangan P.V. and Rowe L. A., Multimedia storage server: Tutorial, IEEE Computer, september:40-49. Ghafoor, A., 1995, Special issue on multimedia database systems: Editor’s Introduction, ACM Multimedia Systems, No:3. Glavitsch, U., Schauble, P.,1992, A system for retrieving speech documents, Proceedings of ACM SIGIR Conference, pp.168-176. Glavitsch, U., Schauble, P., Wechsler, M., 1994, Metadata for integrating speech documents in a text retrieval systems, SIGMOD Records, 23(4):57-63. Gray, R.S. 1995, Content-based image retrieval: color and edges, Technical Report, Dartmouth College Department of Computer Science, Hanover, New Hampshire, No: PCS-TR95-252. 189 Griffiths, J.G., 1986, An algorithm for displaying a class of space filling curves, Software practice and experience, 16(5):403-411. Gudivada, V.N. and Raghavan, V.V., 1995, Content-based image retrieval systems, IEEE Computer, september:18-22. Gudivada, V.N., Raghavan, V.V., and Vanapipat, K., 1996, A unified approach to data modeling and retrieval for a class of image database applications, Multimedia Database Systems, Edited by V.S. Subrahmanian. Gutman, A., 1984, R-trees: a dynamic index structure for spatial searching, Proceedings of ACM-SIGMOD, pp.44-57. Halpern, J. and Shoham, Y., 1991, A propositional model logic of time intervals, Journal of ACM, 38:935-962. Haralick, R. M., Shanmugam, K. and Dinstein, I., 1973, Textural features for Image classification, IEEE Transactions on System Man Sybernetics, SMC-3(6):610-621. Hawking, D., 1995, The design and implementation of a parallel document retrieval engine, Technical Report, No:TR-CS-95-08, The Australian National University, Joint Computer Science Technical Report Series. He, Y. and Kundu A., 1991, 2-D shape classification using hidden markov model, IEEE Transaction on Pattern Analysis and Machine Intelligence, 13(11). Hirzalla, N.B and Karmouch, A., 1996, Multimedia database systems: design and implementation Strategies, Edited by Knigsley C. Nwosu, Thuraisingham, P. Bruce Berra, Klewer Academic Publishers, p.381. Bhavani 190 Holt, B., and Hartwick L., 1994, Retrieving art images by image content: The UC Davis QBIC Project, Aslib Proceedings, 46(10):243-248. Hougen, D.R., Omohundro, S., 1988, Fast texture recognition using information trees, University of Illinois, Center for Complex Systems Research, Technical Report, No:CCSR-88-3. Himatsingka, B. and Srivastava, J., 1993, Performance evaluation of grid based multi-attribute record declustering, University of Minnesota, Department od Computer Science, Technical Report, TR-93-52. Hirzalla, N.B and Karmouch A., 1996, Multimedia database systems: design and implementation Strategies, Edited by K.C. Nwosu, B. Thuraisingham, P.B, Berra, Kluwer Academic Publisher, p.381. Hsiao, J.Y. and A.A. Sawchuck, 1989, Supervised textured image segmentation using feature smoothing and probablilistic relaxation techniques, IEEE Transactions on Pattern Analysis and Machine Intelligence, 11(12). Jain, A., Dubes, R, 1988, Algorithms For Clustering Data, Prentice-Hall, 1988. Jagadish, H.V. 1991, A retrieval technique for similar shapes, Proceeding of ACMSIGMOD Conference, 1991, pp.208-217. Jain, R., 1995, InfoScopes: Multimedia Information Systems, University of Claifornia, San Diego, Visual Computing Lab., Technical Report, VCL-95-107. Jain, R., Murthy, S.N.J., Chen P.L. and Chatterjee S., 1995, Similarity Measures for Image Databases, FUZZ-IEEE'95 Conference. Jain, R., Petland, A.P., 1995, Workshop report, NSF-ARPA Workshop on Visual Information Management Systems. 191 Kamel I. and Faloutsos, C., 1992, Parallel R-Trees, Proceedings of SIGMOD Conference, pp.195-204. Kamel, I., Faloutsos and Hilbert, C., 1994, R-tree: an improved R-tree using fractals, Proceedings of Conference on Very Large Data Bases (VLDB'94), pp.500-509. Kau, S.C. and Tseng, J., 1994, MQL-A query language for multimedia databases, Proceedings of 2nd Internetional Conference on Multimedia, pp.511-516. Khalfallah, H., Karmouch, 1995, A., An architecture and data model for integrated multimedia documents and presentational applications, ACM Multimedia Systems, 3:238-250. Kim, M.H. and Pramanik, S., 1988, Optimal file distribution for partial match retrieval, Proceedings of the ACM SIGMOD Conference, pp.173-182. Koudas, N. and Sevcik, K.C., 1995, Spatial Join Processing and Data Placement in Parallel Spatial Databases, ADB. Koudas, N., Faloutsos, C. and Kamel I., 1996, Declustering spatial databases on a multicomputer architecture, EDBT, pp.592-614. Kukich, K. 1992, Techniques for automatically correcting words in text, ACM Computing Survey, 24(4):208-217. Kunii, T.L., Shinagawa, Y., Paul, R.M., Khan, M.F. and Khokhar, A.A., 1995, Issues in storage and retrieval of multimedia data, ACM Multimedia Systems, 3:298-304. Lie, W. N. and Chen, Y. C., 1986, Shape representation and matching using polar signature, Proceedings of International Computer Symposium, 1986, pp:103-122. 192 Lillesand, T.W. and Kiefer, R.W., 1994, Remote Sensing and Image Interpretation, John Willey & Sons. Inc., pp.526. Lin, K., Jagadish, H.V. and Faloutsos, C., 1994, The TV-tree : an index structure for high dimensional data, Journal of VLDB, 3(4):517-542. Liu, D. and Shekhar, S., 1996, Partioning similarity graphs: a framework for declustering problems, Information Systems, 21(1):475-496. Lomet, D., 1992, A review of recent work on multi-attribute access methods, SIGMOD Records, 21(3): 56-63. Löhr, M., Rakow, T.C., 1995, Audio support for an object-oriented databasemanagement systems, ACM Multimedia Systems, 3:286-297. Manjunath, B.S. and Ma, W.Y., 1996, Texture feature for browsing and retrieval of image data, Multimedia Tools and Applications, 2(1):35-51. Mao, J. and Jain, A. K., 1992, Texture classification and segmentation using multi-resolution simultaneous aouto-regressive models, Pattern Recognition, 25, pp.247-255. Marcus, B.S. and Subrahmanian V.S., 1995, Heterogeneous multimedia reasoning, IEEE Computer, September: 33-39. Mechkour, M., 1995, EMIR2: An Extended Model for Image Representation an Retrieval, Database and Expert System Applications (DEXA), London. Mehrotra, R. and Gary, J.E., 1995, Similar-shape retrieval in shape data management, IEEE Computer, september:57-62. 193 Mehrotra, R. and Gray, J.E., Feature-index-based similar shape retrieval, Proceedings of Of 3rd Working Conference On Visual Database Systems, 1995, pp.46-65. Nahrstedt, K. and Steinmetz R., 1995, Resource management in networked multimedia systems, IEEE Computer, May. Nalwa, V.S. and Binford T.O., 1986, On detecting edges, IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI(8):6. Narasimhalu, A.D. 1995, Special section on content-based retrieval:editor’s introduction, ACM Multimedia System, 3:1-2. Niblack, W. et al., 1993, The QBIC project: query images by content using color, texture, and shape, Research Report, IBM Research Division, No: RJ-9203 (81511). Nievergelt, J., Hinterberger H. and Sevcik, K.C., 1984, The Grid file:an adaptable symmetric multikey file structure, ACM Transaction on Database System, 9(1):38-71. Niu, Y., Özsu, M. T., Li, X., 1995, A study of image indexing techniques for multimedia database systems, The University of Alberta, Department of Computing Science, Technical Report, TR 95-19. O’Connell, W. et al., 1996, A teradata content-based multimedia object manager for massively parallel architectures, Proceedings of SIGMOD, Montreal-Canada. Ogle, V.E. and Stonebraker M., 1995, Chabot:Retrieval from a relational database of images, IEEE Computer, september: pp.40-48. Orchard, M.T. and Bouman, C.A., 1991, Color quantazation of Images, IEEE Transactions on Signal Processing, 39(12). 194 Özkarahan E.A. and Can F., 1986, An automatic and tunable document indexing system, Proceedings of ACM Conference on Research and Development in Information Retrieval. Özkarahan E.A., 1986, Database Machines and Database Management, Prentice Hall Inc., Englewood Cliffs, N.J., ISBN 0-13-196031-8, 636 pages. Özkarahan E.A., and F. Can, 1984, An integrated fact/document information system for office Automation, Information Technology, 3(3). Özkarahan, E., F.Can, Multi-media Document Represantaion and Retrieval, ACM Multimedia Systems, 1991. Özkarahan, E.A., 1995, Multimedia document retrieval, Journal of Information Processing and Management, 31(1), pp.113-131. Özkarahan, E.A., 1985, Dynamic and order preserving data partitioning for database machines, Proceedings of Conference on Very Large Database, Stochholm. Özsu, M.T., Szafron, D., El-Medani, G. and Vittal C., 1995, An object-oriented multimedia database system for a news-on-demand application, ACM Multimedia Systems, No:3. Pazandak, P., Srivastava, J. and Carlis J., 1995, Temporal component of DAMSEL, Second Workshop on Protocols for Multimedia Systems (PROMS'95), Salzburg, Austruia. Pazandak, P., Srivastava, J., 1996, Requirements for MMDBMS, Technical Report, University of Minnesota. 195 Person, E. and Fu, K. S., 1977, Shape discrimination using Fourier descriptors, IEEE transaction on System Man Cybernetics, 8, pp:170-179. Petkovic, D., 1996, Recent application of IBM’s query by Image Content (QBIC), IBM Research Report, RJ-10006 (890095). Picard, R.W. and T.P. Minka, 1995, Vision texture for annotation, ACM Multimedia System, 3:3-14. Pullar, D., Egenhofer, M., Towards formal definition of topological relations among spatial objects, Proceedings of 3rd International Symposium on Spatial Data Handling, Sydney, pp:225-242. Rijsbergen, C.J, 1979, Information Retrieval, Internet version, Second Edition, London. Robinson, J.T., 1981, The KDB-tree: A search structure for large multidimensional dynamic indexes, Proceedings of ACM-SIGMOD Conference, pp.10-18. Roussopoulos N. and Kelley, S. and Vincent F., 1995, Nearest neighbor queries, Proceedings of SIGMOD Conference, pp.71-79. Rubner, Y. and C. Tomasi, 1996, Coalescing texture descriptors, ARPA Image Understanding Workshop. Samet H., 1990, Design and Analysis of Spatial Data Structure, Addison-Wesley Publishing Company, Inc, Newyork, pp.493. Santini, S. and Jain, R., 1996, Similarity Queries in Image Database, Proceedings of International Conference on Computer Vision and Pattern Recognition (IEEE, CVPR'96), Sanfrancisco. 196 Schatz, B. and Chen, H., 1996, Building large-scale digital libraries, IEEE Computer, May. Schloss, G.A. and Wynblatt M.J., 1995, Providing definition and temporal structure for multimedia data, ACM Multimedia Systems, 3:264-277. Sellis, T. and Roussopoulos, N., 1987, The R+-tree : A Dynamic Index for Multi-dimentional Data, Proc. of the VLDB Conference, pp.507-518. Sevcik, K.C. and Koudas, N., 1996, Filter trees for managing spatial data over a range of size granularities, Proceedings of International Conference on Very Large Databases (VLDB'96), pp.16-27. Shawney, H., and Hafner, J., 1994, Efficient color histogram indexing, Proceedings of Int. Conference On Image Processing, 1994, pp.66-70. Shen, H. C. and Wong A . K. C., 1983, Generalized texture representation and metrics, Computer Graphics Image Processing, 23, pp.187-206. Shen, H. C. and Bie, C. Y. C., 1992, Feature frequency matrices as texture representation, Pattern Recognition, 13, pp:195-206. Siew, L.H., Hodgson R.M. and Wood, E., 1988, Texture measure for carpet wear assessment, IEEE Transaction on Pattern Analysis and Machine Intelligence, 10(1). Silberschatz, A., Stonebraker, M. and Ullman, J., 1994, Databases systems: achievements and opportunities, Communication of The ACM, 34(10). Simon, R. et al, 1995, Multimedia mednet: a medical collaboration and consultation System, IEEE Computer, May. 197 Sistla, P., Yu C. and Haddad R., 1994, Reasoning about spatial relationships in picture retrieval systems, Conference Proceedings of VLDB. Sistla P. and Yu C., 1997, Retrieval of pictures using approximate matching, Multimedia Database Systems: Issues and Research Direction, Ed. V.S. Subrahmanian, S. Jajodia, Springer. Smith, J.R. and Chang, S. 1996, Automated binary texture feature sets for Image retrieval, Proceeding of IEEE ICASSP, Atlanta GA. Smith, J.R. and Chang, S., 1995, Tools and techniques for color image retrieval, Proceedings of Storage & Retrieval for Image and Video Databases IV, Vol:2670. Smith, J.R. and Chang, S., 1996, Local color and texture extraction and spatial query, Proceedings of IEEE International Conference on Image Processing. Srihari, R.K., 1995, Automatic indexing and content-based retrieval of captioned images, IEEE Computer, september: 49-56. Staehli, R., Walpole, J., and Maier, D., 1995, A quality-of-service specification for multimedia presantations, ACM Multimedia Systems, 3:251-263. Stricker, M., Swain, M., 1994, The capacity and the sensitivity of color histogram indexing, The University of Chicago, Department of Computer Science, Technical Report, No:94-05 Subrahmanian, V.S. and Jajodia S. (Eds.) 1996, Multimedia Database Systems, Springer, Newyork, pp.314. Swets, D.L. and Weng, J.J., 1993, Efficient content-based image retrieval using automatic feature selection, Proceedings of International Conference on Computer Vision, Berlin, Germany, pp.121-128. 198 Tamminen, M, 1981, The EXCELL method for efficient geometric access to data, Acta Polytechnica Scandinavica, Mathematics and Computer Science Series, No:34, Helsinki, Finland. Tomasi, C. and L.J. Guibas, 1994, Image descriptions for browsing and retrieval, ARPA Image Understanding Workshop, Monterey CA. Unser, M., 1986, Sum and difference histograms for texture classification, IEEE Transactions of Pattern Analysis and Machine Intelligence, (8)1, pp:118-125. Valduriez, P., 1993, Parallel database systems: Open problems and new issues, Distributed and Parallel Databases, No.1. Vilnrotter, F.M., Nevatia, R. and Price, K.E., 1986, Structural analysis of natural textures, IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI-8(1). White, D.A. and Jain, R., 1996, Algorithms and strategies for similarity Retrieval, University of California, Visual Computing Lab., Technical Report, VCL-96-101. White, D.A. and Jain, R., 19??, Similarity indexing: algorithm and performance, Proceedings of Storage and Retrieval for Image and Video Databases - IV, pp.6275. White, D.A. and Jain, R., 1995, Similarity indexing with the SS-tree, Proceedings of International Conference on Data Engineering (ICDE'96), pp.516-523. Wirth, N., 1986, Algorithms and data structures, Prentice-Hall Inc., Englewood Cliff, NJ, 1986. 199 Worboy, M. F., 1992, A generic model for planar geographical objects, International Journal of Geographical Information Systems, pp:353-372. Wu, J. S., and Leou, J. J., New polygonal approximation schemes for object shape representations, Patern Recognition, 26, pp:471-484. Wu, J.K., Narasimhalu, A.D., Mehtre B.M., Lam, C.P. and Gao Y.J., 1995, CORE: A content-based retrieval engine for multimedia information systems, ACM Multimedia Systems, 3:25-41. Yoshikata, A., Kishida, S., Hirakawa, M. and Ichikawa, T., 1994, Knowledge assisted content-based retrieval for multimedia databases, IEEE Multimedia, winter, pp.12-21. Zakaria, M. F., Vroomen, L. J., Zsombor-Murray, P. J. A. and Kessel, J. M. H. M, 1987, Fast algorithm for the computation of moment invariants, Pattern Recognition, 20, pp:639-643.
Benzer belgeler
Linked Data Üzerinden Doğal Dil Sorgularını - CEUR
inceleyen değerli hocam Prof. Dr. Esen ÖZKARAHAN’a tüm bu özverili katkılarından