ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ (Τ.Ε.Ι.) ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ ΠΑΡΑΡΤΗΜΑ ΚΑΣΤΟΡΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ Υλοποίηση Remote Jukebox ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ του ΣΚΟΝ ΡΑ. ΕΜΜΑΝΟΥΗΛ Επιβλέπων: Dr. ΜΙΧΑΛΑΣ ΑΓΓΕΛΟΣ Επίκουρος καθηγητής Καστοριά Νοέμβριος 2009
1
ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ (Τ.Ε.Ι.) ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ ΠΑΡΑΡΤΗΜΑ ΚΑΣΤΟΡΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ Υλοποίηση Remote Jukebox ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ του ΣΚΟΝ ΡΑ. ΕΜΜΑΝΟΥΗΛ Επιβλέπων: Dr. ΜΙΧΑΛΑΣ ΑΓΓΕΛΟΣ Επίκουρος καθηγητής Εγκρίθηκε από την τριμελή εξεταστική επιτροπή την:......... Καστοριά Νοέμβριος 2009 2
Copyright 2008 Σκόνδρας Εμμανουήλ Απαγορεύεται η αντιγραφή, αποθήκευση και διανομή της παρούσας εργασίας, εξ ολοκλήρου ή τμήματος αυτής, για εμπορικό σκοπό. Επιτρέπεται η ανατύπωση, αποθήκευση και διανομή για σκοπό μη κερδοσκοπικό, εκπαιδευτικής ή ερευνητικής φύσης, υπό την προϋπόθεση να αναφέρεται η πηγή προέλευσης και να διατηρείται το παρόν μήνυμα Οι απόψεις και τα συμπεράσματα που περιέχονται σε αυτό το έγγραφο εκφράζουν αποκλειστικά τον συγγραφέα και δεν αντιπροσωπεύουν τις επίσημες θέσεις του Τ.Ε.Ι. υτικής Μακεδονίας. 3
ΠΕΡΙΛΗΨΗ Η εργασία αυτή έχει ως σκοπό την υλοποίηση μίας πρωτότυπης εφαρμογής για την απομακρυσμένη αναπαραγωγή αρχείων ήχου. Αρχικά παρουσιάζεται το απαραίτητο θεωρητικό υπόβαθρο για την περάτωση αυτού του σκοπού. Κατόπιν πραγματοποιείτε μία αναφορά στις διαθέσιμες τεχνολογίες και κατ επέκταση στις τεχνολογίες που χρησιμοποιούνται για τη σχεδίαση και την υλοποίηση της εφαρμογής. Στη συνέχεια παρουσιάζεται η μεθοδολογία υλοποίησης καθώς και η υλοποίηση της προαναφερθείσας εφαρμογής. Τέλος, λαμβάνει χώρα ο σχετικός έλεγχος με σκοπό τη διαπίστωση της ορθής λειτουργίας του συστήματος. Τα τυχόν τρωτά σημεία που εντοπίζονται από τον έλεγχο, διορθώνονται και στη συνέχεια ο έλεγχος επαναλαμβάνεται μέχρις ότου η εφαρμογή να ικανοποιήσει όλες τις σχετικές προδιαγραφές. Λέξεις κλειδιά: αναπαραγωγή αρχείων ήχου, δικτυακή επικοινωνία, metadata, βάσεις δεδομένων, personalization 4
ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ 7 ΚΕΦΑΛΑΙΟ 1. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ 8 1.1. Βάσεις δεδομένων...8 1.2. Metadata......8 1.3. Πολυμέσα...9 1.4. Σημασιολογικός ιστός...11 1.5. Personalization...13 1.6. Ακουστική ποιότητα...14 ΚΕΦΑΛΑΙΟ 2. ΙΑΘΕΣΙΜΕΣ ΤΕΧΝΟΛΟΓΙΕΣ...21 2.1. Το μοντέλο client-server...21 2.1.1. Εισαγωγή......21 2.1.2. Client...21 2.1.3. Server...21 2.1.4. Αρχιτεκτονικές client-server...22 2.2. Η γλώσσα προγραμματισμού Java...24 2.2.1. Εισαγωγή... 24 2.2.2. Περιγραφή...25 2.2.3. Java Media Framework (JMF)... 30 2.3. Η γλώσσα MySQL......33 2.3.1. Εισαγωγή... 33 2.3.2. Πλεονεκτήματα της MySQL...33 2.4. MySQL και Java...33 2.4.1. ODBC...33 2.4.2. Java Database Connectivity (JDBC)...34 2.4.3. Connector/J...35 2.5. Η γλώσσα XML... 35 2.5.1. Εισαγωγή... 35 2.5.2. Document Object Model (DOM)...36 2.5.3. Java Document Object Model (JDOM)... 36 2.5.4. Simple API for XML (SAX)... 37 2.5.5. XML Object Model (XOM)...38 2.5.6. XPath... 39 2.6. Πρότυπα περιγραφής πολυμεσικού υλικού... 43 2.6.1. MPEG-7... 43 2.6.1.1. MPEG-7 Audio... 46 2.6.1.2. Εφαρμογές του MPEG-7...49 2.6.2. Dublin Core... 50 2.6.2.1. Στόχοι του Dublin Core... 53 2.6.3. Σύγκριση των Dublin Core και MPEG-7...54 2.6.4. Συνδυασμός των Dublin Core και MPEG-7... 59 2.7. Μοντελοποίηση...63 2.7.1. UML (Unified Modeling Language)... 63 2.7.1.1. Εισαγωγή... 63 2.7.1.2. ιαγράμματα UML... 64 2.7.1.2.1. Περιπτώσεων χρήσης...64 2.7.1.2.2. Κλάσεων... 65 2.7.1.2.3. Αλληλεπίδρασης... 70 2.7.1.2.4. Λοιπά διαγράμματα UML... 72 2.7.1.3. ιαγράμματα που δεν ανήκουν στη UML... 73 5
ΚΕΦΑΛΑΙΟ 3. ΑΝΑΠΤΥΞΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ... 74 3.1. Ανάλυση...74 3.2. Σχεδίαση... 76 3.2.1. Τρόπος συνεργασίας των οντοτήτων του συστήματος...84 3.3. Υλοποίηση... 90 3.3.1. Πλατφόρμα και εργαλεία ανάπτυξης...90 3.3.2. Υλοποίηση του client τμήματος...91 3.3.3. Υλοποίηση του server τμήματος... 109 3.4. Έλεγχος...120 3.4.1. Μεθοδολογία ελέγχου...120 3.4.2. Αναλυτική παρουσίαση ελέγχου...121 ΕΠΙΛΟΓΟΣ...129 ΒΙΒΛΙΟΓΡΑΦΙΑ...130 ΠΑΡΑΡΤΗΜΑ 1- ΚΩ ΙΚΑΣ ΤΟΥ CLIENT ΤΜΗΜΑΤΟΣ ΤΗΣ ΕΦΑΡΜΟΓΗΣ...133 ΠΑΡΑΡΤΗΜΑ 2- ΚΩ ΙΚΑΣ ΤΟΥ SERVER ΤΜΗΜΑΤΟΣ ΤΗΣ ΕΦΑΡΜΟΓΗΣ...151 ΠΑΡΑΡΤΗΜΑ 3- Ο ΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ...180 6
ΕΙΣΑΓΩΓΗ Σκοπός της εργασίας είναι η υλοποίηση μίας πρωτότυπης εφαρμογής απομακρυσμένης αναπαραγωγής αρχείων ήχου. Η εφαρμογή θα βασίζεται στην αρχιτεκτονική Client-Server. Ο Server θα δέχεται από τους Clients αιτήσεις αποστολής των ονομάτων των αρχείων ήχου που περιέχει, αποστολής συγκεκριμένου αρχείου ήχου, καθώς και καταχώρησης νέων αρχείων ήχου. Επίσης, ο Server θα κρατάει στατιστικά στοιχεία για τις προτιμήσεις των Clients, καθώς και θα προτείνει στους Clients αρχεία ήχου σχετικά με το τρέχον αρχείο που αναπαράγει ο κάθε Client, αλλά και γενικότερα, ανάλογα με τις προτιμήσεις του κάθε Client, βασιζόμενος στα στατιστικά στοιχεία που κρατάει. Ο Client αφού συνδεθεί στον Server (εισάγοντας το username και το password του), θα μπορεί να κάνει upload αρχεία ήχου στον Server καθώς και να κατεβάζει αρχεία ήχου από τον Server και να τα παίζει. Επιπλέον, ο Client θα διαθέτει μενού για bookmarks, καθώς και τη δυνατότητα προβολής των στατιστικών στοιχείων που τον αφορούν. Η εφαρμογή θα αναπτυχθεί με χρήση της γλώσσας προγραμματισμού Java. Επίσης, θα γίνει χρήση της γλώσσας MySQL για τη δημιουργία και τη διαχείριση της βάσης δεδομένων που θα χρησιμοποιεί o Server, καθώς και της XML (και κατ επέκταση και της XPath) για τη διαχείριση των μεταδεδομένων (metadata) για τα αρχεία ήχου, που θα υπάρχουν στον server. Σημειωτέων ότι τα εν λόγω μεταδεδομένα θα συμμορφώνονται με τους κανόνες που θέτουν τα πρότυπα Dublin Core και MPEG-7 ανά περίπτωση. Η εφαρμογή θα είναι δυνατό να λειτουργήσει σε οποιοδήποτε δημοφιλές λειτουργικό σύστημα προσωπικών ηλεκτρονικών υπολογιστών, συμπεριλαμβανομένων των Microsoft Windows, Linux, Mac OS και SUN Solaris. Είναι προφανές ότι θα μας χρειαστεί κάποιο framework, το οποίο θα μας επιτρέψει την αναπαραγωγή πολυμεσικού υλικού (και συγκεκριμένα αρχείων ήχου) διαμέσου της γλώσσας προγραμματισμού Java. Για το σκοπό αυτό θα γίνει χρήση του Java Media Framework. Το Server τμήμα της εφαρμογής θα διαθέτει γραφικό περιβάλλον, διαμέσου του οποίου θα απλουστεύεται η διαχείριση του. Αντίστοιχα, και το Client τμήμα θα διαθέτει το δικό του γραφικό περιβάλλον διαχείρισης. Για την υλοποίηση της εφαρμογής θα προχωρήσουμε με τα ακόλουθα βήματα ανάπτυξης software: ανάλυση, σχεδίαση, υλοποίηση και έλεγχος. Η παρούσα πτυχιακή εργασία οργανώνεται στα εξής κεφάλαια: I. Κεφάλαιο 1. Θεωρητικό υπόβαθρο: Στο κεφάλαιο αυτό παρουσιάζεται το θεωρητικό υπόβαθρο, το οποίο αποτελεί τη βάση για την περάτωση της πτυχιακής εργασίας. II. Κεφάλαιο 2. ιαθέσιμες τεχνολογίες: Στο κεφάλαιο αυτό περιγράφονται οι διαθέσιμες τεχνολογίες που θα χρησιμοποιηθούν για την περάτωση της παρούσας πτυχιακής εργασίας. III. Κεφάλαιο 3. Ανάπτυξη του συστήματος: Σε αυτό το κεφάλαιο παρουσιάζεται το πρακτικό μέρος της εργασίας. Αρχικά, γίνεται ανάλυση των απαιτήσεων του προς κατασκευή συστήματος. Στη συνέχεια πραγματοποιείται η σχεδίαση και τέλος περνάμε στη φάση της υλοποίησης και εν συνεχεία του ελέγχου του συστήματος. Η όλη ανάπτυξη θα βασιστεί στο θεωρητικό υπόβαθρο και στις διαθέσιμες τεχνολογίες που παρουσιάζονται στα δύο προηγούμενα κεφάλαια. Υπενθυμίζουμε ότι στόχος της εργασίας είναι να υλοποιηθεί μία πρωτότυπη εφαρμογή απομακρυσμένης αναπαραγωγής αρχείων ήχου. Η πρωτοτυπία θα εγκείται στον τρόπο με τον οποίο ο server θα χρησιμοποιεί και θα χειρίζεται τα metadata, που θα αποθηκεύονται στο αρχείο XML που αυτός θα διαθέτει, με απώτερο σκοπό να προτείνει αρχεία ήχου στους συνδεδεμένους clients. 7
ΚΕΦΑΛΑΙΟ 1. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ Στο κεφάλαιο αυτό παρουσιάζεται το θεωρητικό υπόβαθρο, το οποίο αποτελεί τη βάση για την περάτωση της πτυχιακής εργασίας. 1.1. Βάσεις δεδομένων Βάση δεδομένων είναι μία οργανωμένη συλλογή δεδομένων, τα οποία σχετίζονται μεταξύ τους. Ένα πρόγραμμα διαχείρισης βάσεων δεδομένων, όπως για παράδειγμα η Microsoft Access ή η MySQL, μας επιτρέπει να καταχωρούμε, να οργανώνουμε, να επεξεργαζόμαστε και γενικότερα να διαχειριζόμαστε τα δεδομένα που μας ενδιαφέρουν. Τα δεδομένα και οι πληροφορίες που απορρέουν από αυτά έχουν κοινά χαρακτηριστικά, καθώς και συγκεκριμένο σκοπό ή θέμα. Όλα τα δεδομένα μίας βάσης δεδομένων αποθηκεύονται σε πίνακες. Έτσι, λοιπόν, ένας πίνακας είναι μία συλλογή δεδομένων που περιγράφουν ομοειδή αντικείμενα. Κάθε γραμμή σε έναν πίνακα ονομάζεται εγγραφή, ενώ η κάθε στήλη ονομάζεται πεδίο του πίνακα. [4] Πιο συγκεκριμένα, τις βάσεις δεδομένων τις χρησιμοποιούμε για τη συλλογή, την αποθήκευση, την οργάνωση, την επεξεργασία και την εξαγωγή δεδομένων και πληροφοριών, ανά περίπτωση. Θα μπορούσαμε να πούμε ότι υπάρχουν δύο ειδών βάσεις δεδομένων: οι έντυπες και οι μηχανογραφημένες. Μερικά παραδείγματα έντυπων βάσεων δεδομένων είναι μία ατζέντα με ονόματα και τηλέφωνα, ένας τηλεφωνικός κατάλογος, ένας κατάλογος προμηθευτών ή προϊόντων κλπ.. Η χρήση των έντυπων βάσεων δεδομένων είναι κουραστική και χρονοβόρα. Από την άλλη, οι μηχανογραφημένες βάσεις δεδομένων, δηλαδή οι βάσεις δεδομένων που βρίσκονται σε ηλεκτρονική μορφή, είναι πολύ πιο ισχυρές και ευέλικτες. Επιτρέπουν την παρουσίαση των δεδομένων τους με διάφορους τρόπους, την ταξινόμησή ή το φιλτράρισμά τους. Επίσης, χρησιμοποιώντας τα κατάλληλα κριτήρια μπορούμε να αντλήσουμε ακριβός τις απαραίτητες πληροφορίες ανά περίπτωση, σε μόλις λίγα δευτερόλεπτα το πολύ. Μπορούμε να πούμε ότι μία βάση δεδομένων είναι μία συλλογή από δεδομένα, οργανωμένα κατά τέτοιο τρόπο ώστε να εξυπηρετούν ένα συγκεκριμένο σκοπό. Το λογισμικό που χρησιμοποιείται για την οργάνωση και τη διαχείριση των περιεχομένων μία βάσης δεδομένων ονομάζεται σύστημα διαχείρισης βάσης δεδομένων (Database Management System-DBMS). Τα συστήματα DBMS απαιτούν μετρίσιμη υπολογιστική ισχύ. Για το λόγω αυτό, αρχικά χρησιμοποιούνταν μόνο σε μεγάλα συστήματα. Όμως, με την πάροδο του χρόνου και με την αύξηση της ισχύς των προσωπικών υπολογιστών, τα DBMS άρχισαν να εγκαθίστανται και σε υπολογιστές μικρότερης ισχύος και να λειτουργούν απρόσκοπτα χωρίς κανένα πρόβλημα. Οι περισσότερες βάσεις δεδομένων (σε ηλεκτρονική μορφή) χρησιμοποιούν ένα από τα δύο παρακάτω μοντέλα για την οργάνωση των δεδομένων που περιέχουν: I. Το ιεραρχικό μοντέλο: στο οποίο τα δεδομένα οργανώνονται με διάταξη δένδρου και αποθηκεύονται συνήθως σε ένα ενιαίο αρχείο. Το μειονέκτημα αυτού του μοντέλου είναι ότι δεν είναι αρκετά ευέλικτο ώστε να παρέχει στο χρήστη τη δυνατότητα να το προσαρμόσει στις ανάγκες του [4][5][6]. II. Το σχεσιακό μοντέλο: στο οποίο τα δεδομένα αποθηκεύονται σε πίνακες που συνδέονται μεταξύ τους αν κάτι τέτοιο κριθεί απαραίτητο, ανάλογα με την περίπτωση. Οι σχεσιακές βάσεις δεδομένων μας επιτρέπουν να καταχωρούμαι μοναδικά στοιχεία σε κάθε εγγραφή και παράλληλα να συσχετίζουμε τους πίνακες της βάσης δεδομένων μεταξύ τους, ώστε να μπορούμε να τους διαχειριζόμαστε ως ένα ενιαίο αντικείμενο. Σήμερα, τα περισσότερα σύγχρονα συστήματα βάσης δεδομένων χρησιμοποιούν το σχεσιακό μοντέλο. Για αυτό το λόγω ονομάζονται συστήματα διαχείρισης σχεσιακών βάσεων δεδομένων (Relational Database Management System-RDBMS) [4][5][6]. 1.2. Metadata Τα metadata (μεταδεδομένα στην ελληνική) είναι δεδομένα τα οποία περιγράφουν άλλα δεδομένα. Ο συνηθέστερος ορισμός που δίδεται είναι ότι τα μεταδεδομένα είναι δεδομένα που αφορούν δεδομένα. Επιπλέον, λόγω ότι οι περισσότεροι άνθρωποι στην καθημερινή χρήση της 8
γλώσσας δεν κάνουν τη διάκριση ανάμεσα στα δεδομένα και τις πληροφορίες, συνηθίζεται επίσης να λέγεται ότι τα μεταδεδομένα είναι πληροφορίες που αφορούν δεδομένα, καθώς επίσης ότι τα μεταδεδομένα είναι πληροφορίες που αφορούν πληροφορίες. Στο βιβλιοθηκονομικό περιβάλλον, ένας πιο ακριβής και τεχνικός ορισμός είναι ότι τα μεταδεδομένα είναι δομημένα και κωδικοποιημένα δεδομένα τα οποία περιγράφουν χαρακτηριστικά πληροφοριακών οντοτήτων, αποσκοπώντας στην ταύτιση, αναγνώριση, ανακάλυψη, αξιολόγηση και διαχείριση των οντοτήτων που περιγράφονται. Συνήθως, δεν είναι εύκολος ο διαχωρισμός των απλών δεδομένων από τα μεταδεδομένα διότι κάποια δεδομένα μπορούν να είναι ταυτόχρονα και απλά δεδομένα και μεταδεδομένα. Για παράδειγμα, η επικεφαλίδα σε κάποιο κείμενο είναι τόσο μέρος του κειμένου, δηλαδή δεδομένα, όσο και τίτλος του κειμένου, δηλαδή μεταδεδομένα. Επίσης, τα δεδομένα και τα μεταδεδομένα μπορούν να αλλάξουν ρόλους. Ένα ποίημα, αυτό καθ' αυτό, είναι δεδομένα. Αλλά αν το ποίημα αποτελεί τους στίχους σε ένα τραγούδι, ολόκληρο το ποίημα θα μπορούσε να επισυναφθεί σε ένα ηχητικό αρχείο ως μεταδεδομένα. Έτσι, η ερμηνεία εξαρτάται από ποια άποψη το βλέπει κανείς. Άξιο αναφοράς είναι και το ότι είναι δυνατό να δημιουργηθούν μετα-μετα-...-μεταδεδομένα. Εφόσον, σύμφωνα με το συνήθη ορισμό, τα μεταδεδομένα είναι δεδομένα, είναι δυνατό να δημιουργήσει κάποιος μεταδεδομένα για αυτά τα δεδομένα, έπειτα μεταδεδομένα που να περιγράφουν τα νέα μεταδεδομένα κτλ.. Παρόλο που αυτό το θέμα εκ πρώτης όψεως φαίνεται μονάχα φιλοσοφικό, εντούτοις είναι συχνά χρήσιμη η αρχειοθέτηση μεταδεδομένων που αφορούν άλλα μεταδεδομένα. Η βασική χρησιμότητα των μεταδεδομένων είναι να επιταχύνουν και να εμπλουτίζουν την αναζήτηση πηγών [16]. Η αναζήτηση με τη χρήση μεταδεδομένων συνήθως απαλλάσσει το χρήστη από περίπλοκες και χρονοβόρες χειροκίνητες διαδικασίες φιλτραρίσματος πληροφοριών. Τα μεταδεδομένα διακρίνονται σε κατηγορίες ανάλογα με το περιεχόμενο, τη μεταβλητότητα και τη λογική συνάρτησή τους. Σε ότι αφορά το περιεχόμενό τους, μπορούν να περιγράφουν είτε την ίδια την πηγή, για παράδειγμα το όνομα και το μέγεθος του αρχείου, είτε το περιεχόμενο της πηγής, για παράδειγμα «Το βίντεο δείχνει ένα αγόρι να παίζει ποδόσφαιρο». Σε ότι αφορά τη μεταβλητότητά τους, τα μεταδεδομένα μπορούν να είναι είτε αμετάβλητα σε σχέση με την πηγή, (για παράδειγμα ο τίτλος ενός αρχείου δεν αλλάζει, ανεξάρτητα από το ποιο μέρος του αρχείου λαμβάνεται υπ' όψη) είτε μεταβλητά (για παράδειγμα οι περιγραφές των σκηνών σε ένα βίντεο ποικίλλουν). Τέλος, σε ότι αφορά τη λογική συνάρτηση τους υπάρχουν τρία επίπεδα, το ένα πάνω από το άλλο. Κάτω βρίσκεται το υπό-συμβολικό επίπεδο που περιέχει τα ίδια τα απλά δεδομένα. Στη μέση υπάρχει το συμβολικό επίπεδο όπου υπάρχουν μεταδεδομένα τα οποία περιγράφουν το περιεχόμενο των απλών δεδομένων. Τέλος, στην κορυφή βρίσκεται το λογικό επίπεδο που περιέχει μεταδεδομένα τα οποία επιτρέπουν λογικούς συλλογισμούς βάσει του συμβολικού επιπέδου. Αξίζει επίσης να αναφερθεί ότι υπάρχουν τρεις κατηγορίες μεταδεδομένων που χρησιμοποιούνται συχνά για να περιγράψουν αρχεία. Έτσι έχουμε τα περιγραφικά, τα δομικά και τα διοικητικά μεταδεδομένα. Σε ότι αφορά τα περιγραφικά μεταδεδομένα, έχουμε πληροφορίες που περιγράφουν το περιεχόμενο του αρχείου. Στην περίπτωση των δομικών μεταδεδομένων τώρα, έχουμε πληροφορίες που συνδέουν ένα αρχείο με άλλα αρχεία ώστε να αποτελούν λογικές μονάδες, για παράδειγμα πληροφορίες που συνδέουν μία εικόνα που υπάρχει σε ένα βιβλίο με κάποιες άλλες εικόνες του βιβλίου. Τέλος, σε ότι αφορά τα διοικητικά μεταδεδομένα, έχουμε πληροφορίες που χρησιμοποιούνται για τη διαχείριση του αρχείου ή τον έλεγχο πρόσβασης σε αυτό. 1.3. Πολυμέσα Τα πολυμέσα είναι μία από τις πιο πολυσυζητημένες τεχνολογίες των αρχών της δεκαετίας του 1990. Το ενδιαφέρον αυτό είναι απόλυτα δικαιολογημένο, αφού τα πολυμέσα αποτελούν το σημείο συνάντησης πέντε μεγάλων βιομηχανιών: της πληροφορικής, των τηλεπικοινωνιών, ηλεκτρονικών εκδόσεων, της βιομηχανίας audio και video καθώς και της βιομηχανίας της τηλεόρασης και του κινηματογράφου. Μια ανάλογη αναστάτωση επέφερε και η εμφάνιση της 9
επιστήμης των δικτύων υπολογιστών στη δεκαετία του 1970, φέρνοντας πιο κοντά την πληροφορική με τις τηλεπικοινωνίες. Αυτή η προσέγγιση οδήγησε σε προϊόντα που αρχικά στόχευαν κυρίως στην αγορά των επιχειρήσεων. Τα πολυμέσα έκαναν κάτι περισσότερο. ιεύρυναν την αγορά των προϊόντων των παραπάνω βιομηχανιών στοχεύοντας εξ αρχής και στους καταναλωτές. Η πληθώρα και οι ποικιλία των νέων προϊόντων καθώς και η προσπάθεια εκμετάλλευσης του ενδιαφέροντος που επέδειξε το αγοραστικό κοινό για την τεχνολογία των πολυμέσων, συντέλεσαν στην σύγχυση που υπάρχει ακόμα και σήμερα όσον αφορά στο τι είναι και τι δεν είναι ένα σύστημα πολυμέσων. Μια καλή αρχή για τον καθορισμό του όρου είναι η ανάλυση της ετυμολογίας του. Ο αγγλικός όρος που έχει αποδοθεί ως πολυμέσα, είναι multimedia. Ό όρος αυτός αποτελείται από δύο μέρη: το πρόθεμα multi και τη ρίζα media. Το πρόθεμα multi προέρχεται από τη λατινική λέξη multus και σημαίνει πολυάριθμος-πολλαπλός. Η ρίζα media είναι ο πληθυντικός της επίσης λατινικής λέξης medium που σημαίνει μέσο-κέντρο. Πιο πρόσφατα η λέξη medium άρχισε να χρησιμοποιείται και ως ενδιάμεσος-μεσολαβητής. Κατά συνέπεια, ο ορισμός που προκύπτει είναι ο εξής: Multimedia σημαίνει "πολλαπλοί μεσολαβητές" ή "πολλαπλά μέσα" και χρησιμοποιείται είτε ως ουσιαστικό είτε ως επίθετο. Η πρώτη προσέγγιση του ορισμού δεν μας λέει και πολλά πράγματα. Μπορούμε όμως να τον βελτιώσουμε αναλογιζόμενοι τον τρόπο χρήσης των όρων multi και media. Ο αγγλικός όρος media χρησιμοποιείται σε πολλούς οικονομικούς, τεχνικούς και επιστημονικούς τομείς με διαφορετικές σημασίες. Το κοινό σημείο αυτών των χρήσεων είναι ότι σχετίζονται πάντοτε με κάποιο είδος χειρισμού πληροφορίας. Κατά συνέπεια μπορούμε να βελτιώσουμε τον ορισμό ως εξής: Πολυμέσα στον χώρο της τεχνολογίας πληροφορίας (information field) σημαίνει πολλαπλοί μεσολαβητές μεταξύ της πηγής και του παραλήπτη της πληροφορίας ή πολλαπλά μέσα μέσω των οποίων η πληροφορία αποθηκεύεται, μεταδίδεται, παρουσιάζεται ή γίνεται αντιληπτή. Σύμφωνα με αυτόν τον ορισμό, ένα σύστημα που συνδυάζει, για παράδειγμα τον έλεγχο βιντεοκασέτας και οπτικών μέσων αποθήκευσης μπορεί να χαρακτηριστεί ως σύστημα πολυμέσων. Επίσης, συστήματα πολυμέσων είναι η εφημερίδα, που συνδυάζει κείμενο και εικόνα, και η τηλεόραση, που συνδυάζει ήχο και κινούμενη εικόνα (βίντεο). Από την άλλη, στον τομέα της σύγχρονης τεχνολογίας δεν αναφερόμαστε σε τόσο ευρύ φάσμα συστημάτων. Περιοριζόμαστε σε αυτά στα οποία η πληροφορία είναι ψηφιακή (ή ψηφιοποιημένα - digitized) και ελέγχεται από υπολογιστή. Ενδιαφερόμαστε δηλαδή για ψηφιακά πολυμέσα τα οποία και ορίζουμε ως εξής: Ψηφιακά πολυμέσα είναι ο τομέας που ασχολίται με τον ελεγχόμενο από υπολογιστή συνδυασμό κειμένου, γραφικών, ακίνητης και κινούμενης εικόνας, animation, ήχου, και οποιουδήποτε άλλου μέσου ψηφιακής αναπαράστασης, αποθήκευσης, μετάδοσης και επεξεργασίας της πληροφορίας. Λόγω ότι στη συνέχεια θα ασχοληθούμε μόνο με τα ψηφιακά πολυμέσα, θα χρησιμοποιούμε τον όρο πολυμέσα εννοώντας τα ψηφιακά πολυμέσα. Επίσης ως μέσο θα εννοούμε τους τύπους πληροφορίας που αναφέρει ο παραπάνω ορισμός. ιαβάζοντας αυτόν τον ορισμό, δημιουργείται το ερώτημα: ποιους και πόσους τύπους πληροφορίας πρέπει να συνδυάζει ένα σύστημα, για να μπορεί δίκαια να χαρακτηρίζεται ως σύστημα πολυμέσων; Όπως είναι φανερό, η απάντηση σε αυτό το ερώτημα δεν μπορεί να είναι αυστηρή, διότι δεν έχει γίνει κάποια συμφωνία πάνω στον ορισμό των πολυμέσων. Όμως, στην πράξη έχουν δημιουργηθεί κάποιοι de facto κανόνες που καθορίζουν τι πρέπει να περιλαμβάνει ένα σύστημα πολυμέσων ανάλογα με το είδος της εφαρμογής. Ως κατευθυντήρια γραμμή μπορούμε να δώσουμε τον ακόλουθο ορισμό: Στην πράξη, ο όρος πολυμέσα υπονοεί την ολοκλήρωση ενός τουλάχιστον διακριτού τύπου πληροφορίας και ενός συνεχούς. Σε αυτό τον ορισμό έχει γίνει διαχωρισμός των τύπων πληροφορίας σε διακριτούς και συνεχείς. Ένας άλλος διαχωρισμός είναι σε captured και synthesized μέσα. Αυτός ο διαχωρισμός αναφέρεται στον τρόπο μεταφοράς της πληροφορίας στη μορφή που υπαγορεύει ο κάθε τύπος. Αν η πληροφορία συλλαμβάνεται απευθείας από τον πραγματικό κόσμο μιλάμε για captured media ενώ αν δημιουργείται από τον άνθρωπο μέσω κάποιων εργαλείων έχουμε τα συνθετικά μέσα (synthesized media). Για παράδειγμα, μια ψηφιακή φωτογραφική μηχανή ή ένας scanner μεταφέρει αυτόματα την εικόνα ενός αντικειμένου σε ψηφιακή μορφή κατάλληλη για χρήση στον 10
υπολογιστή. ηλαδή οι εικόνες είναι captured media. Το κείμενο, όταν αυτό πληκτρολογείται στον υπολογιστή είναι προφανώς συνθετικό μέσο. Αν όμως λαμβάνεται μέσω scanner και προγράμματος OCR (Optical Character Recognition-Οπτική Αναγνώριση Χαρακτήρων) πρέπει να θεωρηθεί ως captured. Όταν ένας τύπος πληροφορίας έχει μόνο χωρική διάσταση ονομάζεται διακριτός. Αν υπάρχει και η συνιστώσα του χρόνου ονομάζεται συνεχές. Για παράδειγμα, οι εικόνες, το κείμενο και τα γραφικά είναι διακριτά, ενώ το βίντεο, ο ήχος και το animation είναι συνεχή. Όλα αυτά τα μέσα που έχουν αναφερθεί ως τώρα απευθύνονται σχεδόν αποκλειστικά στην όραση και στην ακοή του ανθρώπου. Ένα σύστημα πολυμέσων δεν περιέχει απαραίτητα πληροφορίες για παραπάνω από μια αισθήσεις, παρόλο που κάτι τέτοιο είναι γενικά επιθυμητό. Σύμφωνα με τον παραπάνω ορισμό, προκύπτουν τέσσερα χαρακτηριστικά για τα συστήματα πολυμέσων που μας ενδιαφέρουν. Πρώτα από όλα, πρέπει να ελέγχονται από υπολογιστή, δηλαδή η παρουσίαση της πληροφορίας να γίνεται μέσω του υπολογιστή και ελέγχεται από αυτόν. Επίσης, πρέπει να είναι ολοκληρωμένα (integrated). Η ολοκλήρωση υπονοεί ότι ο αριθμός των υποσυστημάτων είναι κατά το δυνατόν ελάχιστος και ενσωματωμένος στον υπολογιστή. Παράδειγμα ολοκλήρωσης αποτελεί η οθόνη του υπολογιστή, η οποία χρησιμοποιείται για την απεικόνιση κειμένου, εικόνας και βίντεο. Επιπλέον, η πληροφορία πρέπει να είναι σε ψηφιακή μορφή. Το χαρακτηριστικό αυτό είναι απόρροια της απαίτησης για έλεγχο και παρουσίαση μέσω υπολογιστή. Ο όρος αυτόνομα ή τοπικά πολυμέσα αναφέρεται σε εφαρμογές που χρησιμοποιούν μόνο τον υπολογιστή στον οποίο τρέχουν. Κατά συνέπεια, ο υπολογιστής αυτός πρέπει να έχει όλες τις απαραίτητες υπομονάδες ανά περίπτωση, όπως για παράδειγμα επεξεργαστή, ικανό υποσύστημα γραφικών και ήχου, ηχεία, μικρόφωνο, επαρκή αποθηκευτικά μέσα, καθώς και κάποιας μορφής οπτικό δίσκο. Πολλές φορές όμως είναι επιθυμητό οι εφαρμογές πολυμέσων να επικοινωνούν μέσω δικτύου με άλλους υπολογιστές κυρίως για δύο λόγους. Πρώτον, την υποστήριξη εφαρμογών οι οποίες είναι εγγενώς δικτυακές. Παραδείγματα τέτοιων εφαρμογών είναι το ηλεκτρονικό ταχυδρομείο πολυμέσων και η τηλεδιάσκεψη. εύτερον, την υλοποίηση του μοντέλου πελάτη-εξυπηρετητή (client-server). Πολλές φορές αν και μια εφαρμογή πολυμέσων μπορεί κάλλιστα να υλοποιηθεί σε έναν υπολογιστή μόνο, για λόγους οικονομίας του υλικού, είναι επιθυμητό να μπορεί να αξιοποιεί και υποσυστήματα που ανήκουν σε άλλους υπολογιστές. Χαρακτηριστική περίπτωση είναι η ύπαρξη ενός υπολογιστή με μεγάλα αποθηκευτικά μέσα (server) προσπελάσιμα μέσω δικτύου και από άλλους υπολογιστές με σχετικά περιορισμένες δυνατότητες αποθήκευσης (clients). 1.4. Σημασιολογικός Ιστός Τα τελευταία χρόνια γίνεται λόγος και για τον σημασιολογικό ιστό (semantic web), ενός ιστού και κατ επέκταση διαδικτύου δηλαδή στο οποίο η πληροφορία είναι άρτια ορισμένη επιτρέποντας με αυτόν τον τρόπο την ολοκλήρωση, αυτοματοποίηση και επαναχρησιμοποίηση των δεδομένων. Ο ιστός (web) του μέλλοντος επιδιώκεται να αποτελεί μία παγκόσμια βάση δεδομένων και γνώσης με πληροφορίες οι οποίες θα είναι "κατανοητές" από μηχανές (machineunderstandable information) [40]. Οι κύριες τεχνολογίες για την υλοποίηση του σημασιολογικού ιστού είναι ο σημασιολογικός εμπλουτισμός και η χρήση των οντολογιών. H λέξη "σημασιολογία" έχει τις ρίζες της στις ελληνικές λέξεις "σημάδι", "σημαίνω" και "σημαντικός" και σήμερα αναφέρεται στο νόημα της πληροφορίας. Συχνά, ο σημασιολογικός ιστός χαρακτηρίζεται ως το μεγαλύτερο σε παγκόσμιο επίπεδο έργο ευφυής ενσωμάτωσης συστημάτων ώστε αυτά να συνεργάζονται διαλειτουργικά. Ο Tim Berners-Lee, που επινόησε τον παγκόσμιο ιστό το 1989 είχε το όραμα που τώρα συμμερίζονται πολλοί, ενός ιστού δεδομένων που μπορούν να κατανοηθούν εννοιολογικά και να επεξεργαστούν με εννοιολογικό τρόπο από μηχανές. Μία χαρακτηριστική δήλωση του ήταν η εξής: "Ο σημασιολογικός ιστός είναι μια επέκταση του σημερινού ιστού όπου η πληροφορία έχει καλά καθορισμένο νόημα, καθιστώντας τη συνεργασία μεταξύ ανθρώπων και υπολογιστών πιο αποτελεσματική". To κέντρο βάρους του περιεχομένου του Ιστού μετατοπίζεται συνεχώς από τον άνθρωπο προς τα δεδομένα. Για να φτάσει ο ιστός το 11
μέγιστο των δυνατοτήτων του, πρέπει να εξελιχθεί σε ένα σημασιολογικό ιστό, ο οποίος θα παρέχει μία διεθνώς προσβάσιμη πλατφόρμα που θα επιτρέπει σε αυτοματοποιημένα εργαλεία αλλά και σε ανθρώπους να μοιράζονται και να επεξεργάζονται δεδομένα των οποίων η σημασία θα ορίζεται με κατανοητό τρόπο και για τον άνθρωπο αλλά και για τις μηχανές. Ο σημασιολογικός ιστός αποτελεί πρωτοβουλία της κοινοπραξίας του παγκοσμίου ιστού (W3C) και η σχετική δραστηριότητα (W3C Semantic Web Activity) έχει δημιουργηθεί για να εξυπηρετήσει έναν ηγετικό ρόλο, τόσο στο σχεδιασμό προδιαγραφών, όσο και στην ανοικτή ανάπτυξη της τεχνολογίας μέσω της συνεργασίας. Εκτός από τα μεταδεδομένα τα οποία προκύπτουν από τις προτιμήσεις των χρηστών ή την δομή ενός περιβάλλοντος hypertext, υπάρχουν και άλλα τα οποία σχετίζονται με αντικείμενα, ιδέες, διαδικασίες καθώς και τις σχέσεις που τις διέπουν. Αυτά τα μεταδεδομένα έχουν σημασιολογικό νόημα το οποίο με την σειρά του είναι δυνατόν να περιγραφεί από φορμαλισμούς ή λεξιλόγια που καλούνται οντολογίες. Ο σημασιολογικός χαρακτηρισμός της πληροφορίας και η χρήση οντολογιών για την αναπαράσταση της είναι σχετικά ένας καινούργιος κλάδος στον τομέα της διαχείρισης της γνώσης. Η διαδικασία της μετατροπής της πληροφορίας σε σημασιολογική είναι δυνατή μέσω ενός πλαισίου περιγραφής, όπως είναι το RDF (Resource Description Framework) και τα RDF schemas. Το World Wide Web Consortium (W3C) έχει δημιουργήσει μία ομάδα για την δημιουργία της γλώσσας OWL η οποία φιλοδοξεί να περιγράφει αποτελεσματικά τις οντολογίες που υπάρχουν στο διαδίκτυο. Για την περιγραφή, διαχείριση και εισαγωγή μεταδεδομένων σε κοινά έγγραφα του διαδικτύου έχουν κάνει την εμφάνισή τους τα τελευταία χρόνια αρκετά πρότυπα όπως περιγραφές τύπων κειμένου (XML Document Type Definitions, XML-DTDs) και XML σχήματα (XML Schemas), το πρότυπο περιγραφής πολυμέσων MPEG-7 και γενικά η χρήση της γλώσσας περιγραφής XML (Extensible Markup Language). Αρκετά δημοφιλής είναι η τεχνολογία των γλωσσών XML/XSL που είναι κατάλληλες για δομημένες περιγραφές. Με βάση την τεχνολογία αυτή είναι δυνατόν να δημιουργηθούν μεταδεδομένα που περιγραφούν ικανοποιητικά ψηφιακό υλικό (εικόνες, βίντεο, 3D γραφικά κτλ.). Από την άλλη, οι πληροφορίες που αφορούν εμπορικές συναλλαγές μπορούν να περιγραφούν μέσω του προτύπου XML/EDI (ebxml). Επίσης, η έρευνα στην περιοχή των οντολογιών βρίσκεται στα πρώτα στάδιά της, αν και έχουν ήδη εμφανιστεί αρκετές γλώσσες που επιτρέπουν την οντολογική αναπαράστασή των διαφόρων αντικειμένων που μπορεί να υπάρχουν για παράδειγμα στο web. Γλώσσες όπως η SHOE, η DAML, η OIL και η υβριδική DAML+OIL αποτελούν επεκτάσεις της RDF δανειζόμενες χαρακτηριστικά από αντίστοιχες γλώσσες αναπαράστασης του πεδίου της τεχνητής νοημοσύνης. Όλες αυτές οι γλώσσες βρίσκονται σε προκαταρκτικό στάδιο [40]. Ένας αριθμός οντολογιών έχει επίσης εμφανιστεί για την διευκόλυνση της ανταλλαγής δεδομένων μεταξύ εμπορικών εφαρμογών τύπου e- Commerce, μέσω της αποδοχής κοινής σημασιολογίας για την περιγραφή της εκάστοτε πληροφορίας. Αυτές περιλαμβάνουν τη CBL (Common Business Library), την cxml (commerce XML), την OCF (Open Catalog Format), την OFX (Open Financial Exchange), το UN/SPSC, το RosetaNet και άλλες. Σημαντικές πρωτοβουλίες έχουν παρθεί επίσης για την δημιουργία οντολογιών για επιστημονικά πεδία όπως η γενετική καθώς και της εφαρμογής τους σε δίκτυα GRID. Όσο αφορά τώρα την αυτόματη παραγωγή μεταδεδομένων και τον αυτόματο σημασιολογικό χαρακτηρισμού της πληροφορίας, έχουν παρουσιαστεί κάποιες πρώτες προσπάθειες όπως τα εργαλεία MnM και S-Cream, τα οποία όμως είναι σε σχετικά πρώιμο στάδιο. Ο σημασιολογικός χαρακτηρισμός της πολυμεσικής πληροφορίας καθώς και η διαχείριση των μεταδεδομένων που προκύπτουν από αυτή αποτελεί ένα ανοικτό ερευνητικό πεδίο καθώς υπάρχουν πολλά ανοικτά θέματα τα οποία πρέπει να αντιμετωπιστούν. Μεταξύ αυτών συμπεριλαμβάνονται η έλλειψη των κατάλληλων εργαλείων για την αυτοματοποιημένη εξαγωγή των μεταδεδομένων σε κάποιες περιπτώσεις και η έλλειψη των κατάλληλων οντολογιών για την αναπαράστασή τους. Ο σημασιολογικός ιστός (Semantic Web) αποτελεί μία καινοτομία "εν τη γενέση" της, η οποία υπόσχεται την οντολογική και εννοιολογική περιγραφή της ψηφιακής πληροφορίας. Τα παραπάνω χαρακτηριστικά οδηγούν σε ένα νέο τρόπο στην επεξεργασία ερωτήσεων (query processing). Η τεχνολογία που παρουσιάζεται θα είναι 12
απαραίτητη εκ των καταστάσεων, κατά τους δημιουργούς της, στις περισσότερες κατανεμημένες εφαρμογές-πελάτη, ενώ δεν υπάρχει περιορισμός ως προς τα πεδία (αγορές) εφαρμογής της. Το όραμα της δημιουργίας του Semantic Web στηρίζεται στην επέκταση των υπαρχόντων πλαισίων περιγραφής μεταδεδομένων και ειδικότερα στην ύπαρξη σημασιολογικού περιεχομένου που είναι δυνατόν να υπόκειται σε αυτόματη επεξεργασία από τον υπολογιστή χωρίς την επέμβαση του ανθρώπινου παράγοντα. Η ερευνητική προσπάθεια έγκειται στην δημιουργία γενικών πλαισίων όπως το UN/SPSC και γλωσσών όπως η OWL, τα οποία θα υποστηρίζουν οντολογικά όσο το δυνατόν περισσότερα πεδία εφαρμογών γίνεται. 1.5. Personalization Στις μέρες μας, το πολυμεσικό υλικό μπορεί να χαρακτηριστεί ως η σύνθεση επιμέρους στοιχείων-μέσων στα πλαίσια μίας διαδραστικής πολυμεσικής παρουσίασης, με την ευρεία έννοια. Η εξατομίκευση (personalization) πολυμεσικού περιεχομένου, σημαίνει ότι το εν λόγω περιεχόμενο προσαρμόζεται αυτόματα ανάλογα με τις ιδιαιτερότητες και τις προτιμήσεις του χρήστη. Για να επιτευχθεί η προαναφερθείσα εξατομίκευση θα μπορούσαμε να πούμε ότι απαιτείται χειροκίνητη καταγραφή πληροφοριών για τον κάθε χρήστη της εφαρμογή ξεχωριστά κάτι το οποίο όμως κρίνεται χρονικά και οικονομικά ασύμφορο. Από την άλλη, αν η συγκέντρωση και εν συνεχεία η ανανέωση-ενημέρωση των απαραίτητων πληροφοριών για τον κάθε χρήστη πραγματοποιείται αυτόματα από την ίδια την εφαρμογή, τότε εξοικονομείται και χρόνος, αλλά και χρήμα, ενώ ταυτόχρονα μειώνεται και ο κίνδυνος εμφάνισης κάποιου λάθους. Υπάρχει όμως ένα πρόβλημα το οποίο πρέπει να ξεπεραστεί. Η έρευνα που στοχεύει στη δυναμική συγκέντρωση των απαραίτητων και σωστών προπαντός πληροφοριών με σκοπό την εξατομίκευση πολυμεσικού υλικού βρίσκεται σε εμβρυακό επίπεδο. Προς αυτή την κατεύθυνση κινείται βέβαια και αυτό που ονομάζουμε σημασιολογικός ιστός (semantic web),σκοπός του οποίο είναι η εννοιολογική περιγραφή του περιεχομένου και κατ επέκταση και του πολυμεσικού υλικού, που υπάρχει στο web. Ο σημασιολογικός ιστός θα μπορούσε να αποτελέσει τη βάση του personalization, με την έννοια ότι αν υπήρχε έτυμη μία περιγραφή για την ουσιαστική υπόσταση του κάθε πολυμεσικού υλικού, τότε θα ήταν ευκολότερος ο προσδιορισμός των ιδιαιτεροτήτων και των προτιμήσεων του κάθε χρήστη. Κάτι τέτοιο θα είχε ως φυσικό επακόλουθο την απλοποίηση της διαδικασίας του personalization. Έτσι, γίνεται ευθέως σαφές ότι η διαδικασία του personalization χωρίζεται σε δύο επιμέρους κι εξίσου σημαντικά στάδια. Πρώτα από όλα θα πρέπει να είναι διαθέσιμη η απαραίτητη περιγραφή της υπόστασης του πολυμεσικού υλικού, με σκοπό τη συγκέντρωση των απαραίτητων πληροφοριών, σχετικά με τις ιδιαιτερότητες και τις προτιμήσεις του χρήστη. Στη συνέχεια και σύμφωνα με αυτές τις πληροφορίες, το προαναφερθέν πολυμεσικό υλικό θα προσαρμόζεται στις προαναφερθέντες ιδιαιτερότητες και προτιμήσεις του κάθε χρήστη ξεχωριστά. Σημαντικό ρόλο στην περιγραφή του πολυμεσικού υλικού μπορούν να διαδραματίσουν τα λεγόμενα metadata, τα οποία σε αυτή την περίπτωση συνηθίζεται να αναφέρονται και ως multimedia metadata. Σε αυτό τον τομέα της έρευνας σημαντική παρουσία έχει το πρότυπο MPEG-7. Το εν λόγω πρότυπο στοχεύει στην περιγραφή πολυμεσικού υλικού ανάλογα με διάφορα τεχνικά χαρακτηριστικά αυτού (metadata χαμηλού επιπέδου). Για παράδειγμα, με τη χρήση αυτών των προτύπων γίνεται εφικτός ο εντοπισμός αρχείων βίντεο με παρόμοιο frame rate, εικόνων με παρόμοια χρωματική ποιότητα, αρχείων ήχου με παραπλήσια ηχητική χροιά κτλ.. Από την άλλη το MPEG -7 προσφέρει και τη δυνατότητα περιγραφής πολυμεσικού υλικού ανάλογα με πληροφορίες μη τεχνικού περιεχομένου (metadata υψηλού επιπέδου). Έτσι, για παράδειγμα γίνεται εφικτή η περιγραφή του πολυμεσικού υλικού ανάλογα με το ποιος είναι ο δημιουργός του ή ανάλογα με το αν αυτό ανήκει σε κάποια συγκεκριμένη συλλογή πολυμέσων. Επιπλέον, σε ότι αφορά τα multimedia metadata υψηλού επιπέδου, υπαρκτή είναι και η δυνατότητα χρήσης του λεγόμενου Dublin Core. Σε αυτό το σημείο προκύπτει το ακόλουθο ερώτημα: «Γιατί να χρησιμοποιήσουμε τυποποιημένα πρότυπα για την περιγραφή πολυμεσικού υλικού, από τη στιγμή μάλιστα που έχουμε τη δυνατότητα να δημιουργήσουμε μόνοι μας μία 13
αυθαίρετη δομή XML (XML Schema ή DTD) κομμένη και ραμμένη στα μέτρα μας?». Η απάντηση σε αυτό το ερώτημα είναι κατηγορηματική, διότι τα πλεονεκτήματα της τυποποίησης είναι ποικίλα και άκρως σημαντικά. Πρώτα από όλα η τυποποίηση εξασφαλίζει συμβατότητα ανάμεσα στις εφαρμογές που την εκμεταλλεύονται. Για παράδειγμα, τα ίδια metadata που τυχόν χρησιμοποιηθούν σε μία εφαρμογή, θα μπορούν να χρησιμοποιηθούν χωρίς μετατροπές και σε άλλες εφαρμογές, ακόμα και αν αυτές προέρχονται από άλλους κατασκευαστές ή στοχεύουν σε διαφορετικό τεχνολογικό τομέα. Επιπρόσθετα, η τυποποίηση διαδραματίζει σημαντικό ρόλο στη συντήρηση και την υγειή ανάπτυξη της ίδιας της εφαρμογής. Για να γίνουμε ποιο σαφής θα αναφέρουμε ένα παράδειγμα. Ας φανταστούμε λοιπόν ότι μία ομάδα προγραμματιστών αναπτύσσει ένα μεγάλο project, το οποίο για κάποιο λόγω χρησιμοποιεί μία μεγάλη ποσότητα από metadata. Αν τώρα για έναν οποιονδήποτε λόγω η συντήρηση και η περαιτέρω εξέλιξη του εν λόγω project αναληφθεί από κάποια άλλη προγραμματιστική ομάδα, στην περίπτωση που τα προαναφερθέντα πολλά metadata δεν συμμορφώνονται με κάποια κοινός αποδεκτά πρότυπα, δημιουργείται ο κίνδυνος σημαντικής επιβράδυνσης ή και κατάρρευσης του project. Αυτό συμβαίνει λόγω της πολυπλοκότητας που τυχόν θα προκύψει από την αυθαίρετη οργάνωση των metadata, αλλά και λόγω του χρόνου που τυχόν θα χρειαστεί η νέα ομάδα προγραμματισμού, ώστε να κατανοήσει τον προαναφερθέντα αυθαίρετο και μη τυποποιημένο τρόπο οργάνωσης των metadata. Όλα αυτά πιθανός θα έχουν χρονικό αλλά και οικονομικό κόστος για τον οργανισμό, για λογαριασμό του οποίου αναπτύσσεται η προαναφερθείσα εφαρμογή. Υπάρχουν σαφώς και άλλα πλεονεκτήματα που πηγάζουν από την τυποποιημένη δομή-οργάνωση των metadata. Η κεντρική ιδέα όμως στην περίπτωσή μας είναι αυτή της συμβατότητας, της εξελιξημότητας αλλά και της όσο το δυνατόν αποτελεσματικότερης συμβολής και άμεσης εφαρμοσημότητας του project που θα αναπτύξουμε, στο ευρύτερο πεδίο της έρευνας γύρο από το personalization. 1.6. Ακουστική ποιότητα Όπως θα δούμε και στα επόμενα κεφάλαια εκτενέστερα, ο server που θα υλοποιήσουμε θα έχει και τη δυνατότητα εκτός των άλλων να προτείνει αρχεία ήχου στους clients, ανάλογα με το τρέχον αρχείο ήχου που ακούει ο κάθε client αλλά και γενικότερα ανάλογα με τα στατιστικά στοιχεία που κρατάει για αυτόν ο server. Σε ότι αφορά τα αρχεία ήχου που θα προτείνει ο server στον client ανάλογα με το τρέχον αρχείο που αυτός (ο client) ακούει, αυτά θα σχετίζονται με το εν λόγω αρχείο σύμφωνα με διάφορους παράγοντες ανά περίπτωση. Για παράδειγμα ο server θα προτείνει αρχεία ήχου στον client τα οποία θα προέρχονται από τον ίδιο καλλιτέχνη, θα έχουν παρόμοια χρονική διάρκεια κτλ.. Στο παρόν υποκεφάλαιο, παρουσιάζεται το θεωρητικό υπόβαθρο στο οποίο θα βασιστούμε ώστε να προσθέσουμε τη δυνατότητα στον server να προτείνει αρχεία ήχου στον client που θα έχουν παρόμοια ακουστική ποιότητα με το τρέχον αρχείο ήχου που ακούει αυτός (ο client). Ο λόγος που αφιερώνουμε ένα ολόκληρο υποκεφάλαιο για τη σύγκριση και κατ επέκταση εύρεση αρχείων ήχου με παρόμοια ποιότητα είναι κατά κύριο λόγω το ότι η απαιτούμενη διαδικασία σε αυτή την περίπτωση έχει έναν μεγαλύτερο βαθμό πολυπλοκότητας σχετικά με την αντίστοιχη διαδικασία που απαιτείται για παράδειγμα για την εύρεση αρχείων ήχου με τον ίδιο αριθμό καναλιών (mono, stereo κτλ.) ή κάποια άλλη όμοια διαδικασία (εύρεση αρχείων ήχου από τον ίδιο καλλιτέχνη, από την ίδια δισκογραφική εταιρεία, με παρόμοιο bitrate κτλ.). Πρώτα από όλα, ας αναφέρουμε τους παράγοντες από τους οποίους εξαρτάτε, ή ακόμα καλλίτερα προκύπτει, η ποιότητα ενός αρχείου ήχου. Συνήθως, στην καθημερινότητα ο κύριος παράγοντας σύγκρισης της ποιότητας ενός αρχείου ήχου είναι το bitrate, με μονάδα μέτρησης το bps (bits per second), δηλαδή πόσα bits χρησιμοποιούνται για την αναπαράσταση ενός δευτερολέπτου (second) ήχου του συγκεκριμένου αρχείου, ή ακόμα καλλίτερα του ηχητικού σήματος αυτού. Για να μην υπάρξει σύγχυση σχετικά με το bitrate που συναντάμε στα δίκτυα, αναφέρουμε ότι στην περίπτωση των δικτύων το bitrate αναφέρεται σε ταχύτητα, δηλαδή σε πόσα bits μπορεί να περάσει το εν λόγω δίκτυο στη μονάδα του χρόνου, δηλαδή σε ένα 14
δευτερόλεπτο. Για να αποσαφηνιστεί ακόμα καλύτερα το εν λόγω ζήτημα αναφέρουμε κι ένα παράδειγμα. Έστω λοιπόν ότι έχουμε ένα δίκτυο με μέγιστη υποστηριζόμενη ταχύτητα τα 100 kbps (bitrate=100kbps=100 kilobits per second). Ας υποθέσουμε επίσης ότι το εν λόγω δίκτυο παρέχει εγγυημένο QoS (Quality of Service), με αποτέλεσμα να έχουμε ανά πάσα στιγμή και τα 100kbps ταχύτητας στη διάθεσή μας. Αν επιχειρήσουμε να αναπαράγουμε απομακρυσμένα χρησιμοποιώντας το προαναφερθέν δίκτυο (για παράδειγμα με μέθοδο τύπου live streaming) ένα αρχείο ήχου που έστω ότι θα έχει σταθερό bitrate 80kbps (δηλαδή θα χρησιμοποιούνται 80 kilobits για την αναπαράσταση του κάθε δευτερολέπτου του εν λόγω αρχείου ήχου) τότε θα ακούσουμε το προαναφερθέν αρχείο ήχου χωρίς διακοπές. Αν όμως επιχειρήσουμε να αναπαράγουμε απομακρυσμένα και πάλι χρησιμοποιώντας το προαναφερθέν δίκτυο (έστω πάλι με μέθοδο τύπου live streaming) ένα αρχείο ήχου που αυτή τη φορά έστω ότι θα έχει σταθερό bitrate 170kbps (δηλαδή θα χρησιμοποιούνται 170 kilobits για την αναπαράσταση του κάθε δευτερολέπτου του εν λόγω αρχείου ήχου) τότε θα ακούμε ένα κομμάτι του, ύστερα θα διακόπτεται προσωρινά η αναπαραγωγή του μέχρι να φορτωθεί το επόμενο κομμάτι ώστε να το ακούσουμε και ούτο καθεξής. Θα συμβαίνει δηλαδή ότι ακριβώς συμβαίνει όταν επιχειρούμε να δούμε ένα βίντεο στο Youtube μέσα από μία πολύ αργή και φορτωμένη σύνδεση Internet. Επιστρέφοντας τώρα στους παράγοντες από τους οποίους εξαρτάτε η ποιότητα ενός ηχητικού σήματος πρέπει οπωσδήποτε να αναφέρουμε ότι το bitrate από μόνο του δεν αποτελεί καθοριστικό παράγοντα. εν μπορούμε να βασιστούμε για παράδειγμα αποκλειστικά και μόνο στο bitrate για να προβούμε σε ποιοτική σύγκριση ενός αρχείου WAV με ένα MP3. Από τη μία το WAV έχει προκύψει με την παραδοσιακή πλέον μέθοδο της δειγματοληψίας-κβαντοποίησηςκωδικοποίησης, ενώ από την άλλη το πρότυπο MP3 προβαίνει πέρα, από την εν λόγω μέθοδο, σε συμπίεση του ηχητικού σήματος, απωλεστική συμπίεση (με απώλειες) μεν, αλλά διατηρώντας ένα ικανοποιητικό επίπεδο ποιότητας δε. Σε μία τέτοια περίπτωση θα πρέπει να λάβουμε υπόψη μας και την ποιοτική αντιστοιχία ανάμεσα στα διάφορα πρότυπα, όπως είναι για παράδειγμα το WAV (από το WAVE) και το MP3, η οποία στην προκειμένη περίπτωση (MP3 και WAV) διακρίνεται από μία αναλογία της τάξης του 1 προς 10 όσο αφορά στο bitrate (ή στο μέγεθος του αρχείου αντίστοιχα), σύμφωνα με τα επίσημα δεδομένα-πληροφορίες που διαθέτει ο οργανισμός MPEG. Για παράδειγμα, σύμφωνα πάντα με τα δεδομένα που υποστηρίζει ο οργανισμός MPEG, ένα αρχείο MP3 με μέσω bitrate ίσο με 100kbps (το MP3 δεν διατηρεί σταθερό bitrate λόγω του τρόπου συμπίεσης που εφαρμόζει) θα έχει εφάμιλλη ποιότητα με ένα αρχείο WAV που θα έχει bitrate ίσο με 1000 kbps. Μέχρι τώρα έχουμε αναφέρει δύο δημοφιλής (λόγω της δημοτικότητας που έχουν στους κύκλους των χρηστών) παράγοντες που μπορούμε να πούμε ότι παίζουν ρόλο στην ποιότητα ενός ηχητικού σήματος που βρίσκεται σε ψηφιακή μορφή (για παράδειγμα αποθηκευμένο σε ένα cd-audio, usb-stick κτλ.). εν έχουμε αναφέρει όμως το σημαντικότερο. Τι εννοούμε λέγοντας ποιότητα ηχητικό σήματος όταν αναφερόμαστε σε ένα ψηφιακό ηχητικό σήμα? Με το όρο ποιότητα ηχητικού σήματος λοιπόν αναφερόμαστε στο πόσο πιστό είναι το εν λόγω σήμα σε σύγκριση με το αρχικό (αναλογικό) σήμα από το οποίο προήλθε-προέκυψε. Αυτό δεν σημαίνει ότι δεν μπορούμε να κάνουμε για παράδειγμα δειγματοληψία σε ένα είδη ψηφιοποιημένο ηχητικό σήμα. Με τα σύγχρονα μέσα σαφώς και μπορούμε να κάνουμε κάτι τέτοιο και μάλιστα όσες φορές θέλουμε (αρχικά μετατρέποντας το ψηφιακό σήμα σε αναλογικό και στη συνέχεια κάνοντας εκ νέου δειγματοληψία σε αυτό). Κάνοντας μία σύντομη παρένθεση αξίζει να αναφερθεί ότι τα εν λόγω μέσα (λογισμικό-για παράδειγμα το Media Source της Creative) έχουν τη δυνατότητα να χειρίζονται το ψηφιακό σήμα σαν να ήταν αναλογικό ή ακόμα καλλίτερα να δίνουν αυτή την εντύπωση στον χρήστη. Για να γίνουμε πιο σαφείς, στη πράξη το εν λόγω λογισμικό μετατρέπει προσωρινά-παρασκηνιακά το υπάρχον ψηφιακό σήμα σε αναλογικό και στη συνέχεια προβαίνει σε δειγματοληψία του αναλογικού σήματος, δίνοντας όμως την εντύπωση στο χρήστη που βλέπει το σύστημα εξωτερικά (χωρίς να γνωρίζει τι συμβαίνει στο παρασκήνιο) ότι η δειγματοληψία λαμβάνει χώρα απευθείας πάνω στο ψηφιακό σήμα. Έτσι παρέχεται η δυνατότητα της εφαρμογής της μεθόδου δειγματοληψίας-κβαντοποίησης- 15
κωδικοποίησης πρακτικά ακόμα και σε ένα ψηφιακό αρχείο ήχου (με την παρασκηνιακή μετατροπή του σε αναλογικό για λειτουργικούς λόγους), κάτι το οποίο θα χρησιμοποιηθεί κατά κόρον στο παράδειγμα που θα παρουσιαστεί παρακάτω. Το πρωτότυπο όμως θα είναι πάντα το αρχικό αναλογικό σήμα, εκτός και αν πάμε στις περιπτώσεις όπου το ηχητικό σήμα παράγεται απευθείας από τον ηλεκτρονικό υπολογιστή, κάτι το οποίο όμως δεν αποτελεί αντικείμενο της εργασίας. Από την άλλη, δύο αρχεία ακόμα και του ίδιου τύπου (έστω δύο αρχεία WAV) με ίδιο bitrate και συγκεκριμένα στην περίπτωση του WAV με ίδιο sample rate και ίδιο bits per sample (στο παραδοσιακό WAV ισχύει bitrate=sample_rate*bits_per_sample) θα έχουν σίγουρα την ίδια ποιότητα? Σαφώς κάτι τέτοιο δεν είναι απαραίτητο να ισχύει όπως αποδεικνύεται παρακάτω. Γίνεται σαφές ότι δεν μας αρκεί μόνο η γνώση του bitrate και του τύπου (format) του αρχείου ήχου για το χαρακτηρισμό-υπολογισμό της ποιότητας του σε αριθμούς. Με σκοπό να παρέχουμε μία απόδειξη για την ορθότητα αυτής της άποψης, αναφέρουμε το ακόλουθο παράδειγμα. Για λόγους απλότητας του παραδείγματος, δεν παρουσιάζεται η εκ νέου μετατροπή των ψηφιακών σημάτων που εμφανίζονται σε αυτό, σε αναλογικά, αλλά φαινομενικά εφαρμόζεται δειγματοληψία απευθείας πάνω στα ψηφιακά σήματα. Ας θεωρήσουμε ότι έχουμε το ακόλουθο αναλογικό σήμα, το οποίο θέλουμε να ψηφιοποιήσουμε ώστε να το αποθηκεύσουμε για παράδειγμα στο σκληρό δίσκο του υπολογιστή μας. Εικόνα 1.1. Το αρχικό αναλογικό σήμα [50] Αυτό το αναλογικό σήμα μπορεί για παράδειγμα να αναπαριστά ένα τραγούδι που βρίσκεται σε ένα δίσκο βινυλίου. Αρχικά κάνουμε δειγματοληψία του εν λόγω σήματος (παίρνουμε δείγματα ανά τακτά χρονικά διαστήματα) με ρυθμό δειγματοληψίας ίσο με b1 (sample_rate=b1). Εικόνα 1.2. Το αρχικό αναλογικό σήμα με τα δείγματα [50] Προχωρούμε με την κβαντοποίηση των δειγμάτων που προέκυψαν από την δειγματοληψία. Αντιστοιχίζουμε δηλαδή το κάθε δείγμα σε μία διακριτή τιμή που αναπαριστάτε από a1 bits (bits_per_sample=a1). Σημειωτέων ότι όσο μεγαλύτερο είναι το a1 τόσο (εκθετικά) περισσότερα επίπεδα κβάντισης θα έχουμε (επίπεδα_κβάντισης=2^ bits_per_sample), επιτυγχάνοντας έτσι 16
ορθότερη αντιστοίχηση των δειγμάτων που προέκυψαν από την δειγματοληψία και κατ επέκταση μειώνοντας το θόρυβο. Εικόνα 1.3. Κβαντοποίηση των δειγμάτων [50] Στη συνέχεια και με το πέρας και της κωδικοποίησης προκύπτει το ακόλουθο ψηφιακό σήμα. Εικόνα 1.4. Το αναλογικό και το ψηφιακό σήμα (bitrate=a1*b1) που προέκυψε από αυτό [50] Ας ονομάσουμε το εν λόγω ψηφιακό σήμα DigitalSignal1. Το DigitalSignal1 έχει bitrate=a1*b1 (δηλαδή χρησιμοποιούνται a1*b1 bits για την αναπαράσταση ενός δευτερολέπτου του εν λόγω ψηφιακού σήματος) καθώς δεν έχει εφαρμοστεί κάποια μορφή συμπίεσης ή κάτι παρόμοιο σε αυτό. Επίσης, αξίζει να σημειωθεί το ότι το DigitalSignal1 είναι ουσιαστικά το τραγούδι από τον δίσκο βινυλίου που αναφέρθηκε στην αρχή του παραδείγματος αλλά σε ψηφιακή μορφή πλέον, δίνοντας μας έτσι τη δυνατότητα να το αποθηκεύσουμε για παράδειγμα στο σκληρό δίσκο του υπολογιστή μας. Έστω όμως ότι κάποιος χρήστης που διαθέτει το DigitalSignal1 χωρίς να διαθέτει το αρχικό αναλογικό σήμα, θέλει να το αποθηκεύσει σε μία συσκευή με περιορισμένο αποθηκευτικό χώρο. Για το λόγω αυτό μπορεί να προβεί σε δειγματοληψία του DigitalSignal1 αυτή τη φορά, χρησιμοποιώντας sample rate ίσο με b2<b1 και bits per sample ίσο με a2<a1, με απώτερο σκοπό τη μείωση του μεγέθους του αρχείο. Έτσι, αρχικά το DigitalSignal1 μετατρέπεται σε αναλογικό σήμα (ας το ονομάσουμε signal1) και στη συνέχεια εφαρμόζεται η προαναφερθείσα δειγματοληψία. 17
Εικόνα 1.5. ειγματοληψία φαινομενικά πάνω στο ψηφιακό σήμα (πρακτικά πάνω στην αναλογική έκδοση του) [50] Για να μην μακρηγορούμε, ύστερα από τις φάσεις της εκ νέου κβαντοποίησης και κωδικοποίησης προκύπτει το ακόλουθο νέο ψηφιακό σήμα, το οποίο ας το ονομάσουμε DigitalSignal2. Εικόνα 1.6. Το δεύτερο ψηφιακό σήμα (bitrate=a2*b2) που προήλθε από το πρώτο [50] Σημειώνουμε επίσης ότι το DigitalSignal2 πρακτικά είναι κι αυτό (όπως και το DigitalSignal1) μία ψηφιακή έκδοση του αρχικού αναλογικού σήματος. Επιπρόσθετα, το DigitalSignal2 έχει bitrate ίσο με a2*b2. Για να επαναφέρουμε, για τις ανάγκες του παραδείγματος, το εν λόγω bitrate στην τιμή a1*b1 ακολουθούμε την ίδια διαδικασία που ακολουθήθηκε και προηγουμένως. Έτσι καταλήγουμε σε ένα ακόμα ψηφιακό σήμα το οποίο πρακτικά είναι επίσης μία ψηφιακή έκδοση του αρχικού αναλογικού σήματος. Εικόνα 1.7. ειγματοληψία φαινομενικά πάνω στο δεύτερο ψηφιακό σήμα (πρακτικά πάνω στην αναλογική έκδοσή του) [50] 18
Εικόνα 1.8. Το τρίτο ψηφιακό σήμα (bitrate=a1*b1) που προήλθε από το δεύτερο [50] Ας ονομάσουμε το σήμα που προέκυψε ύστερα κι από αυτή την διαδικασία, DigitalSignal3. Σημειώνουμε επίσης ότι το DigitalSignal3 πρακτικά είναι κι αυτό (όπως και τα DigitalSignal1 και DigitalSignal2) μία ψηφιακή έκδοση του αρχικού αναλογικού σήματος. Πλέον έχει φτάσει η ώρα να εξάγουμε τα συμπεράσματα που προκύπτουν από το εν λόγω παράδειγμα. Για αυτό το λόγω θα βασιστούμε στα σήματα DigitalSignal1 και DigitalSignal3. Και τα δύο αυτά σήματα αποτελούν απογόνους του αρχικού αναλογικού σήματος, έχουν το ίδιο bitrate (a1*b1), καθώς επίσης είναι και του ίδιου τύπου-format (μπορούμε να τα θεωρήσουμε ως σήματα WAV). Με το σκεπτικό ότι η ποιότητα ενός ηχητικού σήματος εξαρτάτε αποκλειστικά και μόνο από το bitrate και το format του εν λόγω σήματος, οι κυματομορφές των δύο σημάτων πρέπει να είναι ίδιες. Κάτι τέτοιο όμως, όπως φαίνεται και στις ακόλουθες δύο εικόνες, δεν ισχύει. Εικόνα 1.9. Σύγκριση δύο ψηφιακών σημάτων με το ίδιο bitrate, προερχόμενων πρακτικά από το ίδιο αρχικό αναλογικό σήμα [50] Εικόνα 1.10. Σύγκριση δύο ψηφιακών σημάτων με το ίδιο bitrate καθώς επίσης και το αρχικό αναλογικό σήμα από το οποίο προήλθαν [50] 19