Πτυχιακή Εργασία. του φοιτητή Χαράλαμπου Ρότσου του Ιωάννη Α.Μ. : Π / 01089

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Πτυχιακή Εργασία. του φοιτητή Χαράλαμπου Ρότσου του Ιωάννη Α.Μ. : Π / 01089"

Transcript

1 Πτυχιακή Εργασία του φοιτητή Χαράλαμπου Ρότσου του Ιωάννη Α.Μ. : Π / Ανάπτυξη συστημάτων μετάδοσης και ασφάλειας σε δίκτυα μετάδοσης περιεχομένου για τη διανομή ψηφιακής τηλεόρασης Επιβλέπων Καθηγητής: Δουληγέρης Χρήστος Ιούνιος

2 2

3 Κατάλογος περιεχομένων 1. Εισαγωγή Πρόλογος Έρευνα Πεδίου Διαδικτυακή τηλεόραση MPEG MOVING PICTURE EXPERTS GROUP MPEG MPEG System Digitl Video Brodcst Common Scrmbling Algorithm DVB Conditionl Access Common Scrmbling Algorithm Μετάδοση δεδομένων Εισαγωγή Μεταφορά δεδομένων - Rel Time Trnsport Protocol(RTP) Επικοινωνία Stremer και client Rel Time Streming Protocol(RTSP) Περιγραφή συνεδρίας - Session Description Protocol(SDP) Videoln Client VLC Η Ιστορία του VLC VLC API Modules Σχεδίαση Αρχιτεκτονική...55 Trnscoder...55 Web Server...57 Stremer...58 Client Η ασφάλεια στο CDN Υλοποίηση Μεταγλώττιση προγράμματος RTSP SERVER RTSP Client Κρυπτογράφηση Αποκρυπτογράφηση Logging Mozill Plugin Εγχειρίδιο Χρήστη Χρήση του VLC VLM (VideoLAN Mnger) και Διεπαφή Telnet Mozill Plugin Προτάσεις Βελτίωσης Βελτιστοποίηση της διαδικασίας αλλαγής κλειδιών Βελτιστοποίηση του συστήματος μετάδοσης Συμπεράσμτα...92 Συμπλήρωμα Α. Ptch Κώδικα

4 4

5 1. Εισαγωγή 5

6 6

7 1.1 Πρόλογος Στα πλαίσια των πρόσφατων τεχνολογικών εξελίξεων παρατείρεται μία ανάπτυξη νέων υπηρεσιών. Μία από αυτές είναι και η διαδικτυακή τηλεόραση. Η υπηρεσία αυτή γνωρίζει αρκετά μεγάλη άνθηση τα τελευταία χρόνια με πάνω απο 1000 κανάλια να λειτουργούν τη στιγμή αυτή στο διαδίκτυο και με χιλιάδες συνδρομητές σε αυτά. Η διαδικτυακή τηλεόραση επιτρέπει μέσω ενός απλού υπολογιστή και μίας γρήγορης σύνδεσης στο διαδίκτυο να παρακολουθήσουμε μία πληθώρα τηλεοπτικών προγραμμάτων από όλο τον κόσμο ή να επιλέξουμε την παρακολούθηση κάποιας συκγκεριμένης ταινίας (video on demnd). Με την ανάπτυξη παράλληλα των δικτύων διανομής περιεχομένου η υπηρεσία αυτή καταφέρνει να αυξάνει τον αριθμό των πελατών που μπορεί να εξυπηρετήσει μικραίνοντας το κόστος λειτουργίας. Η παρούσα μελέτη αποτελεί μια έρευνα των προαναφερθέντων τεχνολογιών. Εκπονήθηκε στα πλαίσια του μαθήματος Πτυχιακή Εργασία του τέταρτου έτους του τμήματος Πληροφορικής του Πανεπιστημίου Πειραιώς. Αποτελεί ένα τμήμα μόνο ενός συστήματος, που αναπτύσσεται σε συνεργασία με τους φοιτητές Γιώργο Μπάκουλης και Στέφανο Βυζικίδη και υπό την εποπτεία και αμέριστη βοήθεια του υποψήφιου διδάκτορα του Πανεπιστημίου Πειραιώς Δημήτρη Γλυνού. Το σύστημα που αναπτύσσουμε ονομάζεται CDN και αποτελεί μια ολοκληρωμένη πλατφόρμα διανομής ψηφιακής τηλεόρασης μέσω δικτύου TCP/IP. Η πλατφόρμα έχει ως κύριο στόχο την ανάπτυξη μίας ανοιχτού κώδικα πλατφόρμας, η οποία θα καλύπτει τις ανάγκες μίας υπηρεσίας διαδικτυακής τηλεόρασης, η οποία θα μπορεί να ελέγχει την πρόσβαση των χρηστών στα διάφορα προγράμματα που προσφέρει και θα διαθέτει σύστημα χρέωσης. Το κομμάτι που μελετήθηκε από την παρούσα εργασία είναι η υλοποίηση του συστήματος μετάδοσης και παραλαβής των δεδομένων των ταινιών. Για την ανάπτυξή του χρησιμοποιήθηκε ως βάση το πρόγραμμα videoln client, το οποίο υλοποιεί μια πληθώρα σύγχρονων τεχνολογιών συμπίεσης και μετάδοσης video. Για τη μετάδοση των δεδομένων χρησιμοποιείται το πρωτόκολλο MPEG-2 ως φορέας του μέσου, ενώ χρησιμοποιούμε την τεχνολογία RTP για την πακετοποίηση και μετάδοση του ρεύματος μέσω ενός δικτύου, καθώς και το πρωτόκολλο RTSP για την επικοινωνία των χρηστών με τον εξυπηρετητή μέσων και τον έλεγχο του ρεύματος δεδομένων. Επίσης, στην εργασία αυτή μελετώνται οι δυνατότητες ασφαλούς μετάδοσης του ρεύματος με τη χρήση αλγορίθμων κρυπτογράφησης. Για την κρυπτογράφηση του ρεύματος δεδομένων των ταινιών που διαμοιράζει το πρόγραμμα στην υλοποίησή μας χρησιμοποιούμε το αλγόριθμο DVB- CSA. O αλγόριθμος αυτός αναπτύχθηκε από το διεθνή οργανισμό DVB για την κρυπτογράφηση ρευμάτων δεδομένων πραγματικού χρόνου και χρησιμοποιείται από πολλά σύγχρονα συστήματα συνδρομητικής τηλεόρασης, καθώς αποτελεί μια λύση με εύκολη υλοποίηση, χαμηλές απαιτήσεις και υψηλό επίπεδο ασφάλειας. Για να ενισχύσουμε το επίπεδο ασφάλειας του συστήματος υλοποιήσαμε και ένα σύστημα αλλαγής κλειδιών κρυπτογράφησης για τον αλγόριθμο, το οποίο ανά τακτά χρονικά διαστήματα ενημερώνει τους εγγεγραμμένους πελάτες για το νέο κλειδί. Το παρόν κείμενο οργανώνεται σε 5 ενότητες. Στην πρώτη ενότητα πρόκειται να παρουσιάσουμε γενικά τον τρόπο λειτουργίας και την αρχιτεκτονική του συστήματος CDN. Στη δεύτερη ενότητα θα παρουσιάσουμε το πρωτόκολλό MPEG 2 που χρησιμοποιούμε ως μέσο μεταφοράς των ταινιών και θα εστιάσουμε ιδιαίτερα στο επίπεδο συστήματος του πρωτοκόλλου, το οποίο χρησιμοποιείται από την εφαρμογή μας. Στο τρίτο κεφάλαιο θα παρουσιάσουμε τα πρωτόκολλα RTSP και RTP, καθώς και τον τρόπο που χρησιμοποιούνται από την εφαρμογή μας. Στην τέταρτη ενότητα θα παρουσιάσουμε τον αλγόριθμο κρυπτογράφησης DVB CSA, καθώς και το σύστημα κρυπτογράφησης που αναπτύξαμε με βάση αυτών. Τέλος, στην πέμπτη ενότητα τος προγράμματος θα παρουσιάσουμε το πρόγραμμα videoln client, καθώς και τις λεπτομέρειες χρήσης του προγράμματος από την εφαρμογή μας. 7

8 8

9 2. Έρευνα Πεδίου 9

10 10

11 2.1 Διαδικτυακή τηλεόραση Το σύστημα CDN συγκαταλέγεται στην κατηγορία συστημάτων διαδικτυακής τηλεόρασης (Internet TV ή Internet Protocol Television (IPTV) ή Television on the desktop (TOD) ή Television over Internet Protocol (TOIP) ). Με την έννοια διαδικτυακή τηλεόραση περιγράφουμε ένα σύστημα, το οποίο παρέχει υπηρεσίες ψηφιακής τηλεόρασης χρησιμοποιώντας ένα απλό δίκτυο tcp / ip. Η ιδέα ανάπτυξης μίας τέτοιας υπηρεσίας εμφανίζεται από αρκετά παλιά, από τις αρχές της δεκαετίας του 90. Η ιδέα όμως έμεινε για αρκετά χρόνια στα χαρτιά εξαιτίας τεχνικών δυσκολιών. Τα κύρια προβλήματα ήταν η χωρητικότητα των δικτύων, που εκείνη την εποχή ήταν πολύ μικρή αφού μία βασική σύνδεση δε ξεπερνούσε τα 56 Kbps, ενώ οι προσωπικοί υπολογιστές δεν ήταν ιδιαίτερα διαδεδομένοι ακόμα και άρα μια τέτοια υπηρεσία θα είχε υψηλό κόστος ανά χρήστη λόγω του μικρού αγοραστικού κοινού. Στον ορισμό της συνδρομητικής τηλεόρασης θα μπορούσαμε να καθορίσουμε δύο βασικές υπηρεσίες που μπορεί να προσφέρει ένα τέτοιο σύστημα. Στην πρώτη κατηγορία περιλαμβάνονται οι υπηρεσίες Video on demnd. Στην περίπτωση αυτή ο χρήστη συνδέεται απευθείας στον εξυπηρετητή και ζητά να του μεταδοθεί κάποιο συγκεκριμένο βίντεο μέσω μίας απευθείας σύνδεσης ένα προς ένα με τον εξυπηρετητή. Συνήθως, ο πελάτης έχει δυνατότητες ελέγχου του ρεύματος δεδομένων του βίντεο παρόμοια όπως θα είχε και κατά την αναπαραγωγή ενός τοπικού αρχείου βίντεο. Στη δεύτερη κατηγορία έχουμε τις υπηρεσίες brodcst. Στην περίπτωση αυτή ο εξυπηρετητής μεταδίδει ένα πρόγραμμα σε μεγάλο αριθμό πελατών ταυτόχρονα, με τρόπο παρόμοιο με μία επίγεια μετάδοση. Συνήθως, σε τέτοιες μεταδόσεις τα συστήματα χρησιμοποιούν τη δυνατότητα multicst του διαδικτύου, η οποία μας επιτρέπει να μεταδίδουμε ένα ρεύμα δεδομένων σε μία ομάδα πελατών. Στην περίπτωση αυτή, ο έλεγχος του ρεύματος δεδομένων από τους πελάτες δεν είναι αναγκαίος. Η πρώτη προσπάθεια ανάπτυξης μίας ολοκληρωμένης υπηρεσίας διαδικτυακής τηλεόρασης ξεκίνησε το 1994 στη Νορβηγία. Στόχος ήταν η διανομή δεκαπεντάλεπτων βίντεο με τα τοπικά νέα των διαφόρων περιοχών της χώρας. Στο παραδοσιακό σύστημα μετάδοσης της τηλεόρασης το κρατικό κανάλι αφιέρωνε κάποιο χρόνο του προγράμματος, στον οποίο η κάθε περιοχή εξέπεμπε ένα διαφορετικό σήμα, που περιελάμβανε ένα σύντομο δελτίο ειδήσεων με τα τοπικά νέα. Στο σύστημα αυτό όμως υπήρχε ένας εγγενής περιορισμός εξαιτίας της επίγειας μετάδοσης στην οποία βασιζόταν. Για να παρακολουθήσει κάποιος τα νέα κάποιας άλλης περιοχής θα έπρεπε υποχρεωτικά να μετακινηθεί κοντά σε κάποιον από τους πομπούς της περιοχής αυτής με κάποιο δέκτη. Για την αντιμετώπιση του προβλήματος αυτού το εθνικό ίδρυμα ερευνών την Νορβηγίας ανέπτυξε το σύστημα LAVA[1]. Το σύστημα αυτό επιτρέπει στους χρήστες του να λάβουν σε ψηφιακό βίντεο, μέσω του διαδικτύου, τα τοπικά νέα οποιασδήποτε περιοχής της Νορβηγίας επιθυμούν. Για τη χρήση του οι προγραμματιστές ανέπτυξαν μία μικρή εφαρμογή-πελάτη, η οποία λειτουργούσε ως plugin στον περιηγητή ιστοσελίδων Nvigtor. Με το πρόγραμμα αυτό ο κάθε χρήστης μπορούσε, επιλέγοντας το αντίστοιχο link από μία ιστοσελίδα, η οποία παρουσίαζε όλα τα διαθέσιμα δελτία ειδήσεων, να συνδεθεί σε κάποιον από τους ειδικούς εξυπηρετητές του συστήματος και να παρακολουθήσει τα νέα κάποιας άλλης περιοχής μέσω streming video. Το σύστημα αυτό παρείχε δυνατότητες ελέγχου του ρεύματος δεδομένων στους χρήστες επιτρέποντάς τους, παράλληλα, να ελέγχουν την αναπαραγωγή του video, ενώ διατηρούσε τα διάφορα video με τα νέα της κάθε περιοχής για μία εβδομάδα. Παρόμοια συστήματα αναπτύχθηκαν μετά από σύντομο χρονικό διάστημα και από άλλα διεθνή κανάλια. Το CNN παρείχε μία παρόμοια υπηρεσία με εκπαιδευτικούς προσανατολισμούς. Το σύστημα αυτό είχε ένα αρχείο με μορφωτικά θέματα, όπως γεωγραφία, πολιτιστικά κ.α., στα οποία μπορούσε ο κάθε χρήστης να συνδεθεί και να τα παρακολουθήσει ανά πάσα στιγμή[2]. Παράλληλα, αναπτύχθηκαν και υπηρεσίες ζωντανής μετάδοσης του προγράμματος κάποιων καναλιών. Χαρακτηριστικά παραδείγματα είναι το NBC brodcsts, με θεματολογία σχετική με οικονομικά, και το CBS News Up-to-the-Minute, το οποίο παρουσίαζε αποκλειστικά ειδήσεις. Τα δύο αυτά προγράμματα είχαν ζωντανή μετάδοση και δε μπορούσε ο χρήστης να αναζητήσει παλαιότερα βίντεο. 11

12 Την τρέχουσα περίοδο με την ανάπτυξη ειδικότερα της τεχνολογίας ADSL, η οποία έδωσε τη δυνατότητα στους χρήστες να έχουν μεγάλες ταχύτητες με χαμηλό κόστος, η υπηρεσία της διαδικτυακής τηλεόρασης έχει κεντρίσει το ενδιαφέρον πολλών μεγάλων εταιριών και πολλά εμπορικά συστήματα έχουν αναπτυχθεί. Ήδη, η microsoft προσφέρει τη συνδρομητική υπηρεσία MSN TV, στην οποία ο χρήστης μπορεί να συνδεθεί είτε μέσω του υπολογιστή του είτε, εναλλακτικά, μέσω ειδικών κουτιών, τα οποία αποτελούν υλοποιήσεις υπολογιστών χαμηλού κόστους και να παρακολουθήσει κάποιο από τα διαθέσιμα κανάλια που προσφέρονται. Παρόμοιες υπηρεσίες παρέχονταν και από την εταιρία AOL στην Αμερική υπό το όνομα AOLTV. Η υπηρεσία αυτή όμως τερματίστηκε πρόσφατα, καθώς δεν είχε την οικονομική επιτυχία που αναμενόταν. Στην κατηγορία της διαδικτυακής τηλεόρασης τον τελευταίο καιρό πολλοί περιλαμβάνουν και την περίπτωση τηλεοπτικών προγραμμάτων τα οποία παράγονται για να διαμοιραστούν αποκλειστικά μέσω διαδικτύου μέσω ΗΤΤP ή Peer to Peer συστημάτων. Επίσης, μία ακόμα ενδιαφέρουσα εταιρία διαδικτυακής τηλεόρασης είναι και η Jump TV. Η υπηρεσία αυτή προσφέρει στους πελάτες της, με κάποια μηνιαία συνδρομή βέβαια, πρόσβαση μέσω του διαδικτύου σε πάνω από 180 επίγεια κανάλια από όλο τον κόσμο. Έτσι, ο κάθε χρήστης μπορεί να παρακολουθεί προγράμματα άλλων χωρών μέσω ενός απλού υπολογιστή με μία γρήγορη σύνδεση στο διαδίκτυο, αποφεύγοντας έτσι την αγορά ακριβού εξοπλισμού δορυφορικής τηλεόρασης. 12

13 2.2 MPEG Στο κεφάλαιο αυτό θα παρουσιάσουμε τις λεπτομέρειες του πρωτοκόλλου MPEG. Το πρωτόκολλο αυτό αποτελείται από πολλά ξεχωριστά κομμάτια, όπως θα δούμε και παρακάτω και καθορίζει μεταξύ άλλων πρότυπα συμπίεσης εικόνας και ήχου, πρότυπα πολύπλεξης ρευμάτων δεδομένων πραγματικού χρόνου, πρότυπα επικοινωνίας εξυπηρετητή και πελατών κ.α. Η σημαντικότερη χρησιμότητα του πρωτοκόλλου στην εφαρμογή που αναπτύξαμε είναι η χρήση του στην πολύπλεξη των ρευμάτων μίας παρουσίασης. Για τη μετάδοση των δεδομένων μίας ταινίας η εφαρμογή μας χρησιμοποιεί το πρότυπο MPEG-TS για την πολύπλεξη και την πακετοποίηση των δεδομένων. Πρόκειται για ένα πρότυπο ειδικά σχεδιασμένο για δικτυακή χρήση, το οποίο είναι αρκετά ανθεκτικό σε σφάλματα μετάδοσης και χρησιμοποιείται ευρέος στις μεταδόσεις δορυφορικής ψηφιακής τηλεόρασης MOVING PICTURE EXPERTS GROUP Το ακρωνύμιο MPEG (Moving Picture Experts Group) είναι τα αρχικά μιας ομάδας εργασίας του Interntionl Orgnistion for Stndriztion (ISO) και του Interntionl Electrotechnicl Commision (IEC), η οποία είναι επιφορτισμένη με την ανάπτυξη προτύπων κωδικοποίησης για ψηφιακό βίντεο και ήχο. Συγκεκριμένα, το επίσημο όνομα της ομάδας είναι ISO/IEC JTC 1/SC 29/WG 1 και η εργασία που έχει αναλάβει περιγράφεται ως ανάπτυξη διεθνών προτύπων για τη συμπίεση, αποσυμπίεση, επεξεργασία και κωδικοποιημένη αναπαράσταση κινούμενης εικόνας, ήχου και συνδυασμού αυτών των δύο, με στόχο την ικανοποίηση των αναγκών ποικίλων εφαρμογών. Η ομάδα ξεκίνησε τις εργασίες της το 1988 και σήμερα αριθμεί 350 μέλη τόσο από το χώρο της βιομηχανία όσο και από τον ακαδημαϊκό χώρο. Πρόκειται για μία ευρέος αποδεκτή ομάδα εργασίας και τα πρωτόκολλα που έχει μέχρι στιγμής εκδώσει χρησιμοποιούνται ευρέος από τη βιομηχανία. Συγκεκριμένα, μέχρι σήμερα η ομάδα έχει εκδώσει 6 πρότυπα: 1. MPEG-1: Το πρώτο πρωτόκολλο που εκδόθηκε από την επιτροπή ήταν το MPEG-1 και εκδόθηκε το 1992 στο Λονδίνο. Πρόκειται για την πρώτη έκδοση της ομάδας και αφορά την ανάπτυξη προτύπων συμπίεσης ήχου και εικόνας για την αποθήκευση μέσων με ρυθμό μέχρι 1.5 Mbit/sec και ποιότητα που αντιστοιχεί στο πρότυπο VHS. Το πρωτόκολλο είναι χωρισμένο σε πέντε μέρη. Στο πρώτο μέρος παρουσιάζει ένα πρότυπο, το Progrm Strem(PS), το οποίο επιτρέπει το συγχρονισμό και την πολύπλεξη ρευμάτων ήχου και εικόνας. Στο δεύτερο μέρος το πρότυπο καθορίζει έναν αλγόριθμο συμπίεσης βίντεο σε ποιότητα VHS και απόδοση 1,15 Mbit/s χρησιμοποιώντας των αλγόριθμο συμπίεσης jpeg για το κάθε frme του video. Στο τρίτο μέρος του πρωτοκόλλου περιγράφεται μια νέα τεχνική συμπίεσης ήχου, το MP3 το οποίο είναι από τα πιο διαδεδομένα πρότυπα συμπίεσης ήχου σήμερα. Το πρότυπο αυτό βασίζεται τόσο στη τεχνική συμπίεση δεδομένων PCM όσο και σε κάποιες παρατηρήσεις της επιστήμης της ψυχοακουστικής. Τα διαθέσιμα profil ρυθμού δεδομένων για το MP3 είναι 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 και 320 kbit/s, ενώ οι διαθέσιμες συχνότητες δειγματοληψίας είναι 32, 44.1 και 48 Khz. Σε γενικές γραμμές το πρότυπο mp3 επιτρέπει τη συμπίεση με απόδοση 1:10 ενός ηχητικού σήματος με μηδενική σχεδόν απώλεια πιστότητας. Στο τέταρτο μέρος του πρωτοκόλλου περιγράφονται κάποιες μέθοδοι ελέγχου συμβατότητα ενός συστήματος με το πρωτόκολλο MPEG- 1. Τέλος στο πέμπτο μέρος του πρωτόκολλο παρουσιάζεται ένα σύστημα MPEG-1 υλοποιημένο στη γλώσσα προγραμματισμού C. Το πρωτόκολλο MPEG 1 αν και σήμερα θεωρείται ξεπερασμένο για την κωδικοποίηση βίντεο, κάποια μέρη του χρησιμοποιούνται σε μεγάλο βαθμό σε καθημερινές εφαρμογές όπως στη δημιουργία video-cd και στη συμπίεση αρχείων ήχου. 2. MPEG-2: Το δεύτερο πρωτόκολλο που επικύρωσε η επιτροπή ήταν το MPEG-2. Η πρώτη επίσημη έκδοσή του ήταν το Το πρωτόκολλο αυτό μας ενδιαφέρει καθώς χρησιμοποιείται σε μεγάλο βαθμό στην εφαρμογή μας. Το MPEG 2 συνολικά αποτελείται από 11 μέρη, με τα πέντε πρώτα να έχουν ίδιο θέμα με το MPEG-1. Οι κυριότερες διαφορές μεταξύ των δύο πρωτοκόλλων εντοπίζονται σε 2 κυρίως σημεία στα 5 πρώτα κεφάλαια. Στο πρώτο μέρος του, το πρωτόκολλο 13

14 MPEG - 2 παρουσιάζει ένα νέο πρότυπο πολύπλεξης και πακετοποίησης των διαφόρων ρευμάτων ενός μέσου. Το πρότυπο αυτό ονομάζεται Trnsport Strem (TS) και στόχο έχει την αποδοτικότερη αποστολή μέσων μέσω του διαδικτύου, ενώ παράλληλα επεκτείνεται το υπάρχον πρότυπο Progrm Strem (PS) επιτρέποντας την αποτελεσματικότερη αποθήκευση ρευμάτων. Στο δεύτερο κεφάλαιο του MPEG 2 που αφορά τα πρότυπα συμπίεσης βίντεο, το πρωτόκολλο καθορίζει μια προέκταση του υπάρχοντος προτύπου που επιτρέπει την υποστήριξη διαπλεκόμενων εικόνων (interlced imges) δυνατότητα η οποία επιτρέπει την αποδοτικότερη συμπίεση. Επίσης σε αυτήν την έκδοση η ερευνητική ομάδα παρουσίασε κάποια νέα κεφάλαια στο πρωτόκολλο. Στο έκτο και δέκατο κεφάλαιο παρουσιάζεται το πρωτόκολλο DSM-CC (Digitl Storge Medi Commnd nd Control), το οποίο επιτρέπει τη δημιουργία συνεδριών μεταξύ ενός πελάτη και ενός εξυπηρετητή μέσων, καθώς και τον απομακρυσμένο έλεγχο των εξυπηρετητών. Στο έβδομο κεφάλαιο παρουσιάστηκε ένα νέο πρότυπο κωδικοποίησης ήχου, το ACC, το οποίο επιτρέπει την κωδικοποίηση πολυκάναλων ρευμάτων ήχου. Τέλος, στο όγδοο κεφάλαιο το πρωτόκολλο καθορίζει μεθόδους διαχείρισης εικόνων βίντεο για τις οποίες το χρώμα αναπαριστάται με περισσότερα από 8 bits ενώ στο ένατο κεφάλαιο παρουσιάζει μια διεπαφή ανάμεσα στο Trnsport Strem και στον αποκωδικοποιητή, που στόχο έχει να καλύψει τις ανάγκες του DSM-CC για τη δημιουργία συνεδριών. 3. MPEG-4: Η τρίτη έκδοση πρωτοκόλλου από την ομάδα MPEG ήταν το MPEG-4. Το πρωτόκολλο αυτό έχει συνολικά 21 κεφάλαια, διατηρώντας βέβαια τους τίτλους των 6 πρώτων ίδιους με αυτούς τους MPEG-2. Το πρωτόκολλο αυτό παρουσιάστηκε επίσημα το 1998 και είχε ως τίτλο Κωδικοποίηση οπτικοακουστικών αντικειμένων. Σε γενικές γραμμές, η έκδοση αυτή του πρωτοκόλλου είχε ως πρωταρχικό στόχο την προσθήκη της δυνατότητας κωδικοποίησης μεμονωμένων αντικειμένων σε μία παρουσίαση στα ήδη υπάρχοντα πρωτόκολλα. Μερικές από τις επεκτάσεις που υποστηρίζονται είναι η δυνατότητα διαχείρισης πολλαπλών ρευμάτων ήχου με διαφορετική κωδικοποίηση του καθενός και διαφορετικής χρηστικότητα καθώς και η δυνατότητα διαχείρισης 3D αντικειμένων. Επίσης προστέθηκε ένας μηχανισμός διαχείρισης και προστασίας δικαιωμάτων, που προκύπτουν από μεμονωμένα αντικείμενα ενός αρχείου. Τέλος, το πρωτόκολλο παρουσίασε και κάποιους νεότερους και αποδοτικότερους αλγορίθμους συμπίεσης ήχου και βίντεο (AVC). Το MPEG-4 μπορεί ποια να καλύψει ρυθμούς μετάδοσης δεδομένων μέχρι 1 Gbit/s. 4. MPEG-7: Το πρωτόκολλο αυτό είναι το τέταρτο πρωτόκολλο που εκδόθηκε από την ομάδα. Η μελέτη του ξεκίνησε τον Απρίλιο του 1997 και ακόμα βρίσκεται υπό ανάπτυξη. Αποτελείται συνολικά από 11 κεφάλαια. Το MPEG - 7 καθορίζει κάποιες νέες δυνατότητες για τα παλιότερα πρωτόκολλα που στόχο έχουν τον εμπλουτισμό τους με δυνατότητες αποθήκευσης μεταπληροφοριών που περιγράφουν τα δεδομένα του αρχείου. Τα δεδομένα αυτά υπακούν σε κάποιο δεδομένα σχήμα και μπορούν να αναφέρονται σε εικόνες, σε ήχο και σε απλό κείμενο. 5. MPEG-21: Το πρωτόκολλο MPEG-21 είναι το όραμα της ομάδας για το μέλλον στον τομέα των πολυμέσων. Η ανάπτυξη του ξεκίνησε το Μάιο Ιούνιο του Το MPEG-21 είναι ένα ανοιχτό πρωτόκολλο που στόχο έχει την ανάπτυξη ενός πλαισίου για τον έλεγχο των δικαιωμάτων σε εφαρμογές πολυμέσων. Ποιο συγκεκριμένα το πρωτόκολλο καθορίζει ένα πρότυπο για μία Γλώσσα έκφρασης δικαιωμάτων (Rights Expression Lnguge) με την οποία μπορεί να εμπλουτίζεται κάθε αρχείο πολυμέσων και η οποία καθορίζει τις άδεια, τα δικαιώματα και τους περιορισμούς που επιβάλει ο δημιουργός του περιεχομένου στους χρήστες. Σε γενικές γραμμές το MPEG-21 προσπαθεί να εισάγει τις έννοιες της δημιουργία, πρόσβασης, της ανταλλαγής και διαχείρισης ηλεκτρονικών δικαιωμάτων στο σημερινό πλαίσιο ανάπτυξης πολυμέσων με τρόπος ο οποίος να μη γίνεται αντιληπτός άμεσα από τους χρήστες. Η ανάπτυξη του προτύπου αυτού έχει ως κύριο στόχο τη καταπολέμηση της πειρατείας η οποία αναπτύσεται σε μεγάλο βαθμό από τα δίκτυα Peer to Peer. Το πρωτόκολλο αυτό βρίσκεται ακόμα υπό ανάπτυξη και στοχεύει να αλλάξει κατά πολύ τον τρόπο που αντιλαμβανόμαστε τις εφαρμογές πολυμέσων. Η ομάδα εργασίας πέρα από τα παραπάνω πρότυπα που παρουσιάζουν ολοκληρωμένες λύσεις όσον αφορά τη συμπίεση και μετάδοση μιας παρουσίασης, εξέδωσε και κάποια ακόμα που 14

15 ασχολούνται με κάποιο υποσύνολο της διαδικασίας αυτής. Στην παραπάνω κατηγορία ανήκει το MPEG-A, το οποίο παρέχει ένα πλαίσιο για την ενοποίηση στοιχείων από τα διάφορα πρότυπα συμπίεσης MPEG σε ένα πρότυπο το οποίο θα είναι κατάλληλο για κάποια συγκεκριμένη αλλά ευρέος χρησιμοποιούμενη εφαρμογή, το MPEG-B, το οποίο παρουσιάζει ένα πλαίσιο για την αποθήκευση MPEG ρευμάτων σε xml αρχεία κ.α. Η ομάδα ανάπτυξης του MPEG αποτελείται τόσο από ακαδημαϊκούς εγνωσμένης αξίας όσο και από εκπροσώπους της βιομηχανίας. Η ανάπτυξη των πρωτοκόλλων γίνεται μέσα από ανοιχτές προσκλήσεις για προτάσεις, οι οποίες γίνονται μόνο προς τα μέλη της ομάδας. Με βάση τις προτάσεις που γίνονται οι ομάδες που έχουν αναλάβει την ανάπτυξη κάποιου προτύπου προτείνουν κάποιο αρχικό κείμενο το οποίο μέσα από συζητήσεις και ψηφοφορίες καταλήγει στην τελική δημοσίευση. Η ανάπτυξη βέβαια των προτύπων του MPEG δέχεται από πολλούς κριτική, καθώς είναι αρκετά κλειστή διαδικασία και τα τελικά πρότυπα δεν είναι ελεύθερα σε όλους τους χρήστες, αναγκάζοντας τους ενδιαφερόμενους να καταβάλουν κάποιο ποσό στον ISO για να λάβουν αντίγραφα των προτύπων MPEG 2 Το πρωτόκολλο MPEG 2 παρουσιάστηκε ως επίσημο πρωτόκολλο αρχικά το Νοέμβριο του 1994 στη Σιγκαπούρη. Η πρώτη αυτή έκδοση περιελάμβανε μόνο τα τρία πρώτα κεφάλαια του πρωτοκόλλου. Τα υπόλοιπα οκτώ κεφάλαια παρουσιάστηκαν ένα χρόνο αργότερα. Η ανάπτυξη αυτού του νέου πρωτοκόλλου είχε ως κύριο έναυσμα την έλλειψη κάποιων δυνατοτήτων από το MPEG-1, οι οποίες άρχισαν να ζητούνται από τη βιομηχανία ψηφιακής εικόνας. Το βασικότερο πρόβλημα που ανέκυπτε στο MPEG 1 ήταν ότι η ποιότητα του προτύπου VHS που απέδιδε ήταν χαμηλή σε σχέση με την ποιότητα των πρότυπων της τηλεόρασης PAL και του HDTV που χρησιμοποιούνταν εκείνη την εποχή από τη τηλεόραση. Επίσης, οι μελέτες μέχρι τότε έδειχναν ότι ο αλγόριθμος που χρησιμοποιούσε το MPEG - 1 ήταν αρκετά αναποτελεσματικός σε σχέση με τους αλγορίθμους που είχαν αναπτυχθεί εκείνη την εποχή για τη συμπίεση video, ενώ παράλληλα ο νέος αλγόριθμος συμπίεσης του MPEG 2 θα έπρεπε να είναι συμβατός με αυτόν του MPEG 1 ώστε να υπάρχει μια συνέχεια μεταξύ των δύο πρωτοκόλλων. Παρόμοιο πρόβλημα αντιμετώπιζε η ομάδα ανάπτυξης και με τον ήχο. Για να σιγουρευτεί μια αρμονική λύση, που θα κάλυπτε μια ευρεία γκάμα εφαρμογών, η ομάδα εργασίας ανέπτυξε το MPEG 2 σε στενή συνεργασία με τις ομάδες μελέτης ITU-TS Study Group και Expert Group for ATM Video Coding. Εκτός των δύο αυτών ομάδων, άλλοι αντιπρόσωποι των σχεδιαστών των ITU-TS, EBU, ITU-RS, SMPTE και North Americ HDTV εργάστηκαν επίσης στο MPEG 2. Για την επίλυση όλων αυτών των προβλημάτων το νέο πρωτόκολλο MPEG 2 παρουσίασε στο δεύτερο κεφάλαιο του προτύπου ένα νέο αλγόριθμο συμπίεσης δεδομένων video, ο οποίος χρησιμοποιούσε ως βάση τον αλγόριθμο του MPEG 1 με κάποιες επεκτάσεις, όπως η υποστήριξη της τεχνικής της διαπλεκόμενης διαμόρφωσης βίντεο και η κλιμάκωση συμπιεσμένου βίντεο. Η τεχνική της διαπλεκόμενης διαμόρφωσης προήλθε από τα πρότυπα PAL και NTSC που χρησιμοποιούνται στη μετάδοση σήματος τηλεόρασης και επιτρέπει την παραγωγή διπλάσιου αριθμού πλαισίων σε σχέση με το ρυθμό λήψης. Συγκεκριμένα, σε κάθε αλλαγή πλαισίου ο αποκωδικοποιητής σήματος αλλάζει αρχικά μόνο τις μισές γραμμές προκαλώντας όμως έτσι τη ψευδαίσθηση στο θεατή ότι πρόκειται για δυο διαφορετικά πλαίσια. Η τεχνική της κλιμάκωσης συμπιεσμένου βίντεο από την άλλη, επιτρέπει τη συμπίεση του βίντεο σε διαφορετικές ποιότητες κατά την κωδικοποίηση, ώστε να καλύπτονται οι ανάγκες των διαφόρων εφαρμογών που θα χρησιμοποιήσουν το πρότυπο. Στον αλγόριθμο συμπίεσης υπάρχουν και πολλά άλλα προηγμένα χαρακτηριστικά, τα οποία είναι πέρα από τη σκοπιμότητα αυτής της παρουσίασης και δεν θα αναλυθούν περαιτέρω. Ο νέος αλγόριθμος συμπίεσης του ρεύματος βίντεο τελικά καταφέρνει να πετύχει επιπλέον συμπίεση των δεδομένων κατά 20% όταν χρησιμοποιείται η διαπλεκόμενη διαμόρφωση βίντεο και μπορεί να αποδώσει τηλεοπτικό σήμα με ποιότητα σύμφωνη με το πρότυπο 15

16 Composite TV με ρυθμό μετάδοσης μικρότερο από 6 Mbit/s. Στο δεύτερο κεφάλαιο του πρωτοκόλλου MPEG 2 παρουσιάζεται επίσης και μια νέα προσέγγιση όσον αφορά τις υποστηριζόμενες ποιότητες εικόνας. Στο MPEG 1 το πρωτόκολλο καθόριζε μία μόνο ποιότητα εικόνας με ανάλυση 352 x 240 pixel που χρειαζόταν ρυθμό αποστολής δεδομένων 1,5 Mbit/s. Αργότερα, βέβαια, αυτό άλλαξε και με κάποιες βελτιώσεις το πρότυπο επέτρεπε την αποστολή ενός βίντεο με ρυθμό μέχρι 4 Mbit/s με ταυτόχρονη βελτίωση της ποιότητας του βίντεο. Στο πρότυπο MPEG 2 η επιτροπή ανάπτυξης διάλεξε μια διαφορετική προσέγγιση επιλέγοντας το καθορισμό διαφόρων προφίλ ποιότητας εικόνας, όπου το καθένα κάλυπτε μία μεγάλη γκάμα εφαρμογών και με ρυθμούς αποστολής από 4 100Mbit/s. Τα προφίλ αυτά σχεδιάστηκαν κατάλληλα για να αντιπροσωπεύουν τις ανάγκες κάποιων γενικών ομάδων εφαρμογών. Τα διαφορετικά προφίλ του πρωτοκόλλου εμφανίζονται στο πίνακα 1 με τους αντίστοιχους ρυθμούς μετάδοσης. Τα προφίλ αυτά διατάσσονται σε ένα πίνακα 5 x 4. Στον κατακόρυφο άξονα του πίνακα αυτού έχουμε τα διαφορετικά επίπεδα ανάλυσης του βίντεο που μπορεί να υποστηρίζονται. Τα πρότυπα που χρησιμοποιούνται είναι 4: το χαμηλό επίπεδο (Low Level) που καθορίζει ανάλυση 352 x 288 pixel, ρυθμό ανανέωσης 30 πλαίσια/s και ρυθμό μετάδοσης 4 Mbit/s, το κύριο επίπεδο (Min Level) που καθορίζει ανάλυση 720 x 576 pixel, ρυθμό ανανέωσης 30 πλαίσια/s και ρυθμό μετάδοσης 15 Mbit/s, το υψηλό επίπεδο 1440 (High-1440 level) που καθορίζει ανάλυση 1440 x 1152 pixel, ρυθμό ανανέωσης 30 πλαίσια/s και ρυθμό μετάδοσης 60 Mbit/s και το υψηλό επίπεδο (High Level) που καθορίζει ανάλυση 1920 x 1152 pixel, ρυθμό ανανέωσης 30 πλαίσια/s και ρυθμό μετάδοσης 80 Mbit/s. Ο οριζόντιος άξονας εκφράζει τα διάφορα προφίλ που καθορίζονται σε σχέση με τους τύπους πλαισίων που χρησιμοποιούμε, το ρυθμό δειγματοληψίας χρώματος και τον αριθμό των ρευμάτων. Σε αυτόν τον άξονα καθορίζονται συνολικά 5 προφίλ: το απλό προφίλ (Simple Profile), το οποίο είναι μη κλιμακούμενο, δε χρησιμοποιεί πλαίσια B και εμφανίζει υποδειγματοληψία με ρυθμό 4:2:0, το κύριο προφίλ (Min Profile) που εμφανίζει υποδειγματοληψία με ρυθμό 4:2:0, το προφίλ κλιμάκωσης SNR (SNR profile) το οποίο υποστηρίζει κλιμακούμενο Signl-To-Noise rtio για τη συμπίεση των δεδομένων και εμφανίζει υποδειγματοληψία με ρυθμό 4:2:0, το χωρικό προφίλ κλιμάκωσης (Sptil Profile), το οποίο χρησιμοποιεί χωρική κλιμάκωση για περαιτέρω συμπίεση του ρεύματος δειγματοληψίας και υποδειγματολειψία 4:2:0 και το υψηλό προφίλ (High Profile), το οποίο χρησιμοποιεί υποδειγματοληψία 4:2:2 ή 4:2:0. Τα προφίλ που περιγράψαμε παραπάνω μπορούν να συνδυαστούν με κάποιο πρότυπο για τα πλαίσια του βίντεο και να καθοριστούν έτσι οι λεπτομέρειες της κωδικοποίησης του ρεύματος βίντεο. Σημαντικό είναι να τονίσουμε σε αυτό το σημείο ότι το MPEG - 2 καθορίζει ποιοι συνδυασμοί είναι επιτρεπτό να υλοποιηθούν, καθώς δεν επιτρέπει όλους τους δυνατούς συνδυασμούς. Κάθε δυνατός συνδυασμός καλύπτει τις ανάγκες μιας μεγάλης κατηγορίας εφαρμογών με κοινές ανάγκες. Για παράδειγμα, το DVD και η ψηφιακή δορυφορική τηλεόραση χρησιμοποιούν το κύριο προφίλ (Min Profile) με τα χαρακτηριστικά του βίντεο να αντιστοιχούν στο κύριο επίπεδο (Min Level). 16

17 Επίπεδο/Όνομ α προφίλ Απλό Προφίλ Κύριο Προφίλ προφίλ κλιμάκωσης SNR όχι πλαίσια B μη κλιμακούμενο πλαίσια Β χωρικό προφίλ κλιμάκωσης Υψηλό προφίλ 04:02:00 04:02:02 κλιμακούμενο SNR χωρική κλιμάκωση υψηλό επίπεδο 80 Mbit/s 100 Mbit/s υψηλό επίπεδο Mbit/s 60 Mbit/s 80 Mbit/s κύριο επίπεδο 15 Mbit/s 15 Mbit/s 15 Mbit/s 20 Mbit/s χαμηλό επίπεδο 15 Mbit/s 15 Mbit/s Πίνακας 1: Προφίλ ποιότητας εικόνας του προωτοκόλλου MPEG-2 Όσον αφορά τον ήχο, το πρωτόκολλο MPEG-2 καθορίζει δύο νέα πρότυπα συμπίεσης με δυνατότητες πολυκαναλικού ήχου. Ο πρώτος αλγόριθμος συμπίεσης ονομάζεται MPEG -2 BC (MPEG-2 Bckwrd Comptible) και καθορίζεται στο τρίτο κεφάλαιο του πρωτοκόλλου. Το όνομα του αλγορίθμου δεν είναι τυχαίο αλλά εκφράζει τη δυνατότητα που έχει ο συγκεκριμένος αλγόριθμος να είναι συμβατός με τον αλγόριθμο που καθορίστηκε στο MPEG 1. Το πρότυπο παρέχει συνολικά μέχρι πέντε κανάλια εύρους ζώνης (αριστερό, δεξιό, κεντρικό και δύο κανάλια surround), συν ένα πρόσθετο κανάλι χαμηλής συχνότητας και μέχρι 7 κανάλια σχολιασμού πολλαπλών γλωσσών. Ο αλγόριθμος συμπίεσης επεκτείνει την κωδικοποίηση στερεοφωνικών και μονοφωνικών καναλιών με μισούς ρυθμούς δειγματοληψίας (16kHz, 22,05kHz και 24kHz), κάτι που βελτιώνει σημαντικά την ποιότητα στα 64 Kbit/s. ή λιγότερο ανά κανάλι. Το πρότυπο είναι καθοδικά συμβατό με το υπάρχον πρότυπο MPEG 1 Audio Stndrd. Το πρωτόκολλο επίσης καθορίζει και ένα ακόμα πρότυπο κωδικοποίησης στο έβδομο κεφάλαιο και το οποίο ονομάζεται Advnced Audio Coding. Οι λεπτομέρειες του AAC δεν υπήρχαν αρχικά στο MPEG 2 και προστέθηκαν πολύ αργότερα το Σεπτέμβρη του Το πρότυπο αυτό είναι πρακτικά πολύ καλύτερο τόσο από τα πρότυπα του MPEG 1 όσο και από το MPEG 2 BC ως προς τη δυνατότητα συμπίεσης των δεδομένων ενώ μπορεί να χειριστεί πολύ περισσότερα ρεύματα τόσο από το MPEG 1 όσο και από το MPEG 2 BC. Συγκεκριμένα, το πρότυπο αυτό επιτρέπει το χειρισμό μέχρι 48 καναλιών εύρους ζώνης και 16 πρόσθετων καναλιών χαμηλής συχνότητας ενώ παράλληλα επιτρέπει το χειρισμό υψηλότερων συχνοτήτων δειγματοληψίας σε σχέση με το MP3 (96kHz σε σχέση με 48kHz). Αλγοριθμικά, η μόνη διαφορά μεταξύ του AAC και του MPEG 1 είναι στον τρόπο εφαρμογής των διαφόρων φίλτρων, διαφορά η οποία επιτρέπει όμως στο AAC να έχει σε κάποιες περιπτώσεις έως και 50% καλύτερη συμπίεση. Στο πρωτόκολλο MPEG-2 επίσης παρουσιάζεται για πρώτη φορά και ένα πρότυπο για την ανάπτυξη καναλιών ελέγχου τόσο για ρεύματα MPEG-2 όσο και για ρεύματα MPEG-1. Το πρότυπο αυτό παρουσιάζεται στο έκτο κεφάλαιο του MEPG-2 και παρουσιάζει ένα μοντέλο client/server το οποίο χρησιμοποιεί για τη σύνδεσή του είτε το ρεύμα δεδομένων του MPEG είτε κάποιου άλλου ανεξάρτητου δικτύου. Η δυνατότητα αυτή αρχικά χρησιμοποιήθηκε για τον απομακρυσμένο έλεγχο της λήψης του βίντεο δίνοντας δυνατότητες παρόμοιες με αυτές ενός VCR (ply, puse, fstforwrd etc), στη συνέχεια όμως το πρότυπο επεκτάθηκε και τώρα περιλαμβάνει μία πληθώρα δυνατοτήτων όπως απομακρυσμένη κλήση συναρτήσεων (RPC), κατέβασμα προγραμμάτων κ.α. Η αρχιτεκτονική του προτύπου περιλαμβάνει 3 οντότητες: τοn πελάτη, τον εξυπηρετητή, και το διαχειριστή πόρων (Session Resource Mnger). Σε μια γενική άποψη του πως αλληλεπιδρούν 17

18 μεταξύ τους αυτές οι τρεις οντότητες μπορούμε να πούμε ότι ο εξυπηρετητής παρέχει κάποιες υπηρεσίες στον πελάτη, ενώ και οι δύο είναι πελάτες στον SRM. Το SRM με τη σειρά του είναι υπεύθυνο για την κατανομή και διαχείριση των πόρων του δικτύου στους πελάτες. Το πρότυπο που παρουσιάζεται στο MPEG δίνει αρκετές δυνατότητες προς υλοποίηση από κάποια εφαρμογή, οι οποίες όμως δεν της είναι όλες απαραίτητες για να είναι λειτουργική και είναι θέμα της εφαρμογή ποιες δυνατότητες χρειάζεται να αναπτύξει. Γενικά το DSM-CC αναπτύσσει πέντε βασικά πρωτόκολλα επικοινωνίας: Χρήστη με Χρήστη: Το πρωτόκολλο αυτό καθορίζει τις λεπτομέρειες υλοποίησης της δυνατότητας απομακρυσμένης πρόσβασης από τον πελάτη στα αντικείμενα του εξυπηρετητή. Χρήστη με Δίκτυο: Το πρωτόκολλο αυτό αφορά την επικοινωνία των πελατών και των εξυπηρετητών με το SRM. Χρησιμοποιείται για τη δέσμευση δικτυακών πόρων και τη συσχέτιση των πόρων με κάποια συνεδρία. προφίλ μετάδοσης MPEG: Το πρωτόκολλο αυτό καθορίζει κάποια προφίλ για τη μετάδοση των διαφόρων μηνυμάτων DSM-CC. Downlod: Το πρωτόκολλο αυτό, με διάφορες διαφοροποιήσεις, καθορίζει τις λεπτομέρειες της μεταφοράς δεδομένων από τον εξυπηρετητή σε κάποιο πελάτη, είτε μέσω του υπάρχοντος ρεύματος δεδομένων του MPEG, είτε μέσω κάποιου ξεχωριστού διαύλου. Switched Digitl Brodcst Chnnel Chnge Protocol (SDB/CCP): Το πρωτόκολλο αυτό καθορίζει τις λεπτομέρειες για τη δυνατότητα αλλαγής καναλιού λήψης για το ρεύμα δεδομένων του MPEG. Το πρωτόκολλο αυτό επιτρέπει στον εξυπηρετητή να γνωρίζει ποιοι πελάτες λαμβάνουν δεδομένα σε κάθε κανάλι και είναι αρκετά χρήσιμο στην περίπτωση υπηρεσιών py-per-view MPEG System Το MPEG 2 όπως είδαμε και παραπάνω καθορίζει ένα πρότυπο για την πολύπλεξη ενός ή περισσοτέρων στοιχειωδών ρευμάτων ήχου και βίντεο, καθώς και άλλων δεδομένων, μιας παρουσίασης σε ένα ή περισσότερα ρεύματα κατάλληλα για αποθήκευση ή μετάδοση [4]. Οι λεπτομέρειες για τον τρόπο λειτουργίας της πολύπλεξης του MPEG 2 καθορίζονται στο πρώτο κεφάλαιο του πρωτοκόλλου. Η χρήση του προτύπου MPEG 2 για την πολύπλεξη δε απαιτεί η κωδικοποίηση ή η συμπίεση των δεδομένων των ρευμάτων να έχει γίνει σύμφωνα με το πρότυπο του MPEG 2 αλλά μπορεί να έχει χρησιμοποιηθεί οποιοσδήποτε συμβατός αλγόριθμος συμπίεσης. Τη δυνατότητα αυτή χρησιμοποιούμε εκτενώς και στην παρούσα εφαρμογή, καθώς η συμπίεση του ρεύματος βίντεο γίνεται με βάση το πρότυπο H.264 το οποίο είναι νεότερο του MPEG 2 και μας δίνει καλύτερη ποιότητα εικόνας σε χαμηλότερο ρυθμό μετάδοσης, με μεγαλύτερες όμως από την άλλη πλευρά απαιτήσεις σε CPU. Η διαδικασία πολύπλεξης των επί μέρους ρευμάτων ακολουθεί μια στρωματική προσέγγιση δύο επιπέδων και παρουσιάζεται διαγραμματικά στην εικόνα 2. Στην πρώτη φάση της διαδικασίας πολύπλεξης του MPEG 2, το σύστημα παράγει ένα ρεύμα πακέτων που ονομάζεται συσκευασμένο στοιχειώδες ρεύμα (Pcketized Elementry Strem) για κάθε στοιχειώδες ρεύμα δεδομένων (Elementry Strem). Σε γενικές γραμμές ένα στοιχειώδες ρεύμα είναι ένα ρεύμα συμπιεσμένου ήχου, εικόνας ή και απλών δεδομένων. Συνήθως, προκύπτει από την έξοδο κάποιου κωδικοποιητή και τα δεδομένα είναι αποκλειστικά ενός τύπου. Τα Στοιχειώδη ρεύματα που αφορούν ήχο ή εικόνα γενικά είναι οργανωμένα σε μονάδες πρόσβασης (ccess units). Μία μονάδα πρόσβασης αναπαριστά μία θεμελιώδη μονάδα κωδικοποίησης. Κάτι τέτοιο για το ρεύμα βίντεο μπορεί να είναι ένα πλαίσιο, ενώ για το ρεύμα ήχου μπορεί να είναι κάποια κομμάτι δεδομένης διάρκειας. 18

19 Κάθε Elementry strem καταλήγει σε ένα MPEG 2 επεξεργαστή ο οποίος συγκεντρώνει τα δεδομένα και δημιουργεί το συσκευασμένο στοιχειώδες ρεύμα (Pcketized Elementry Strem). Το ρεύμα PES είναι μία λογική κατασκευή που είναι χρήσιμη μόνο στις υλοποιήσεις του πρωτοκόλλου και δεν μπορεί να χρησιμοποιηθεί για τη μετάδοση ή αποθήκευση ενός μέσου. Το κάθε πακέτο PES, που προκύπτει από τον επεξεργαστή, μπορεί να ποικίλει ως προς το μέγεθος αλλά δε μπορεί να είναι μεγαλύτερο από 65 Kb, ενώ περιλαμβάνει και μία επικεφαλίδα 8 byte τουλάχιστον. Η δομή ενός PES πακέτου εμφανίζεται στην εικόνα 3. Η επικεφαλίδα του αποτελείται από τα εξής πεδία: Εικόνα 2: MPEG -2 System Strt Code: Το πρώτα 3 bytes ενός πακέτου PES είναι ίδια για κάθε πακέτο και χρησιμοποιούνται για να καθορίσουν την αρχή του πακέτου. Η τιμή λοιπόν αυτή για κάθε πακέτο είναι 0x Strem ID: Το stremid πεδίο ενός πακέτου PES περιγράφει το στοιχειώδες ρεύμα στο οποίο ανήκουν τα περιεχόμενο του πακέτου. Γενικά ισχύει ότι οι κωδικοί που αρχίζουν από 110x xxxx αντιστοιχούν σε ρεύματα ήχου, οι κωδικοί 1110 xxxx αντιστοιχούν σε video και ο κωδικός αντιστοιχεί σε πακέτο ελέγχου του ρεύματος, όπως περιγράφεται στο έκτο κεφάλαιο του MPEG 2 για το DSM-CC. PESpcketlength: Το πεδίο αυτό έχει μέγεθος 16 bit και καθορίζει τον αριθμό bytes που αποτελούν το πακέτο. Το μέτρημα των bytes ξεκινά μετά από το τελευταίο bit του πεδίου αυτού. Μια ειδική περίπτωση για το πεδίο είναι η τιμή 10, που αντιστοιχεί στην περίπτωση στην οποία το πακέτο δεν έχει συγκεκριμένο μέγεθος, και επιτρέπεται μόνο σε PES πακέτα τα οποία προκύπτουν από κάποιο στοιχειώδες ρεύμα βίντεο και πρόκειται να μετασχηματιστούν σε ρεύμα μεταφοράς. PES Scrmbling Control(PSC): Το πεδίο αυτό έχει μέγεθος 2 bit και καθορίζει αν το πακέτο μας είναι κρυπτογραφημένο ή όχι. Η κρυπτογράφηση αφορά μόνο το επίπεδο του 19

20 ρεύματος του PES και δεν καθορίζει τι θα γίνει στα επόμενα επίπεδα. Η κρυπτογράφηση εφαρμόζεται μόνο στα δεδομένα του πακέτου και όχι στην επικεφαλίδα του. Η τιμή 00 του πεδίου καθορίζει ότι το πακέτο δεν έχει κρυπτογραφηθεί, ενώ οι υπόλοιπες τιμές αφήνουν ελεύθερη την ερμηνεία τους στην υλοποίηση του πρωτοκόλλου. PES Priority (PP): Το πεδίο αυτό καθορίζει τη προτεραιότητα του πακέτου και έχει μέγεθος ένα bit. Μία τιμή 1 σημαίνει ότι το πεδίο έχει υψηλότερη προτεραιότητα. Η ερμηνεία της τιμής του πεδίου χρησιμοποιείται από τον αποπλέκτη του συστήματος κατά τη δημιουργία του θεμελιώδους ρεύματος. Dt Alignment Indictor (DAI) : Το πεδίο αυτό έχει μέγεθος 1 bit και καθορίζει αν το περιεχόμενο του πακέτου ξεκινά με το strt code του video μας ή το syncword του ρεύματος ήχου. Copyright Informtion (CI): Το πεδίο αυτό έχει μέγεθος 1 bit και καθορίζει αν το περιεχόμενο του ρεύματος προστατεύεται από κάποιο copyright. Η περιγραφή του copyright περιλαμβάνεται σε ειδικούς πίνακες που μπορεί να χρησιμοποιεί μία εφαρμογή για να επεκτείνει τις δυνατότητες του MPEG 2 πρωτοκόλλου. Οriginl Or Copy: Το πεδίο αυτό καθορίζει αν το περιεχόμενο του ρεύματος πακέτων είναι το πρωτότυπο ή κάποιο αντίγραφο ενός αρχικού ρεύματος. Η τιμή 1 αντιστοιχεί στην περίπτωση που το ρεύμα είναι το πρωτότυπο και η τιμή 0 στην περίπτωση που το ρεύμα είναι αντίγραφο. PTS DTS flgs: Το πεδίο αυτό έχει μέγεθος 2 bit και καθορίζει αν στο πακέτο περιέχονται πληροφορίες για το πότε θα πρέπει να γίνει η αποπολύπλεξη και η αναπαραγωγή του πακέτου. Οι πληροφορίες αυτές περιλαμβάνονται σε ειδικά πεδία του πακέτου, τα οποία βρίσκονται μετά από την επικεφαλίδα του πακέτου και πριν τα δεδομένα. Τα πεδία αυτά είναι το Presenttion Time Stmp (PTS), το οποίο αφορά το χρόνο αναπαραγωγής και το Decoding Time Stmp (DTS), το οποίο αφορά το χρόνο αποκωδικοποίησης των δεδομένων. Έχουν μέγεθος 33 bit και καθορίζουν το χρόνο με βάση το ρολόι του συστήματος, το οποίο χρησιμοποιεί ως μονάδα μέτρησης το 1/90000 sec -1. Επίσης, το πρωτόκολλο καθορίζει ότι στο αρχικό πεδίο δε μπορεί να έχουμε τιμή 01, δηλαδή δε μπορούμε να έχουμε ένα πεδίο DTS και να μην έχουμε ένα πεδίο PTS. ESCR flg: Το πεδίο αυτό καθορίζει αν το πακέτο περιέχει κάποιο πεδίο ESCR. Το πεδίο ESCR περιλαμβάνεται μεταξύ της επικεφαλίδας και των δεδομένων του πακέτου και καθορίζει το χρόνο μέσα στον οποίο θα πρέπει να έχει φτάσει το τελευταίο bit στην είσοδο του αποκωδικοποιητή του ρεύματος. ES Rte flg: Η σημαία αυτή καθορίζει αν στο πακέτο μας περιλαμβάνεται, μετά το τέλος της επικεφαλίδας, ο ρυθμός αποστολής δεδομένων του ρεύματος ES. Ο ρυθμός αποστολής εκφράζεται από έναν ακέραιο 22 bit, ο οποίος έχει ως μονάδα μέτρησης τα 50 bytes/sec. Η τιμή αυτή αποθηκεύεται από το σύστημα και ισχύει μέχρι την αποστολή της επόμενης τιμής. DSM Trick Mode Flg: Πρόκειται για μία σημαία, η οποία καθορίζει την ύπαρξη ενός πεδίου trick mode μετά το τέλος της επικεφαλίδας. Το πεδίο trick mode καθορίζει το ρυθμό αναπαραγωγής του βίντεο. Copyright Informtion Flg: Η σημαία αυτή καθορίζει ότι μετά το τέλος της επικεφαλίδας περιλαμβάνεται ένα πεδίο με πληροφορίες για τα δικαιώματα χρήσης του περιεχομένου του ρεύματος. PES CRC flg: Η σημαία αυτή καθορίζει ότι το πακέτο αυτό περιέχει τον CRC κωδικό του προηγούμενου πακέτου. Με τον κωδικό αυτό ο παραλήπτης μπορεί να ελέγξει τυχόν σφάλματα μετάδοσης και να τα διορθώσει. PES Extension Flg: Η σημαία αυτή καθορίζει αν το ρεύμα περιλαμβάνει ένα extr πεδίο μετά την επικεφαλίδα του πακέτου, το οποίο περιλαμβάνει διάφορες πληροφορίες για το πακέτο. 20

21 PESpcketLength Strt Code PSC P P D A I rest of options nd dt C I O C PTS DTS Εικόνα 3: Επικεφαλίδα Pcketised Elementry Strem E S C R E S R Strem ID T R I C K C I C R C P E S E I Στη δεύτερη φάση της διαδικασίας πολύπλεξης τα πακέτα PES συνδυάζονται σε ένα ή περισσότερα ρεύματα προγράμματος (Progrm Strem) ή σε ένα ρεύμα μεταφοράς (Trnsport Strem). Τα δύο αυτά ρεύματα αναπτύχθηκαν για να καλύψουν αντίστοιχα τις ανάγκες δύο μεγάλων ομάδων γνωστών ή αναπτυσσόμενων εφαρμογών. Έτσι ενσωματώνουν ένα μεγάλο βαθμό ευελιξίας ενώ ταυτόχρονα επιβεβαιώνουν ότι υπάρχει διαλειτουργικότητα ανάμεσα σε διάφορες υλοποιήσεις συσκευών. Το ρεύμα προγράμματος (Progrm Strem) του MPEG-2 είναι ανάλογο του στρώματος συστήματος (system lyer) του MPEG 1. Το αποτέλεσμά του είναι ο συνδυασμός ενός ή περισσοτέρων ρευμάτων PES πακέτων με κοινό μετρητή χρόνο σε ένα και μοναδικό ρεύμα. Αυτό το ρεύμα δεδομένων χρησιμοποιείται συνήθως σε περιβάλλοντα σχετικά με πολύ μικρή πιθανότητα σφάλματος και είναι κατάλληλο για εφαρμογές που ασχολούνται με επεξεργασία των πληροφοριών του ρεύματος όπως διαδραστικές πολυμεσικές εφαρμογές. Τα πακέτα ρεύματος προγράμματος είναι μεταβλητού μεγέθους. Σε αυτά συνήθως περιλαμβάνονται πληροφορίες χρονισμού οι οποίες χρησιμοποιούνται για να καθορίσουν από το σύστημα μια σταθερή καθυστέρηση κατή τη μεταφορά των πακέτων από την είσοδο του κωδικοποιητή στην έξοδο του αποκωδικοποιητή. Ένα πακέτο ρεύματος προγράμματος αποτελείται από πολλά επιμέρους πακέτα PES τα οποία έχουν κοινό χρόνο. Γενικά η δομή ενός πακέτου του ρεύματος προγράμματος εμφανίζεται και στην εικόνα 4. Βλέπουμε ότι κάθε πακέτο αποτελείται από μία επικεφαλίδα και διάφορα PES πακέτα. Η επικεφαλίδα έχει μέγεθος 15 bytes και αποτελείται από τα εξής πεδία: pck strt code: Το πεδίο αυτό έχει μέγεθος 4 byte και είναι μια σταθερά που καθορίζει την αρχή ενός πακέτου ρεύματος προγράμματος. System Clock Reference: Το πεδίο αυτό έχει μέγεθος 42 bit και χρησιμοποιείται από το πρότυπο για τον καθορισμό του χρόνου κατά τον οποίο θα πρέπει το τελευταίο bit του πακέτου να έχει φτάσει στην είσοδο του αποκωδικοποιητή. Progrm Mux Rte: Πρόκειται για ένα πεδίο 22 bit το οποίο καθορίζει το ρυθμό πολύπλεξης που είχε το σύστημα κατά την επεξεργασία του πακέτου. Το πεδίο αυτό χρησιμοποιεί ως μονάδα μέτρησης τα 50 bytes/second. Pck Stuffing Length & Stuffing Byte: Το πεδίο Pck Stuffing Length έχει μέγεθος 3 bit και καθορίζει τον αριθμό bit που περιλαμβάνει το πεδίο Stuffing Byte. Το πεδίο αυτό χρησιμοποιείται από τον κωδικοποιητή για την τροποποίηση του πακέτου ώστε να καλύπτει τις ανάγκες του καναλιού μετάδοσης του πακέτου. Τα πεδία αυτά μπορούν να χρησιμοποιηθούν από το σύστημα για παράδειγμα για να στρογγυλοποιήσουν το μέγεθος του πακέτου ώστε το μέγεθός του πακέτου σε bit να είναι πολλαπλάσιο του 8. Το πεδίο αυτό δε μπορεί να έχει κάποια ειδική ερμηνεία από το σύστημα και αφαιρείται από το πακέτο κατά την επεξεργασία του πακέτου από τον αποκωδικοποιητή. 21

22 Mrker Bit: Το πεδίο αυτό έχει μέγεθος 1 bit και χρησιμοποιείται από το σύστημα για τη στοίχιση των πεδίων του πακέτου. Η τιμή του είναι πάντα 1. System Heder: Το πεδίο αυτό έχει μέγεθος 12 byte και περιλαμβάνει πληροφορίες που αφορούν τη λειτουργία του συστήματος. Η πληροφορία αυτή δεν περιλαμβάνεται σε κάθε πακέτο, αλλά εκπέμπεται ανά τακτά χρονικά διαστήματα από τον κωδικοποιητή pck strt code ( ) 1 SCR mb SCR mb SCR mb SCR mb progrm mux rte mb mb reserved PSL stuffing byte system heder... DATA... Εικόνα 4: Πακέτο Progrm System Το ρεύμα μετάδοσης (Trnsport Strem) συνδυάζει ένα η περισσότερα επί μέρους ρεύματα δεδομένων που βασίζονται σε ένα ή περισσότερους μετρητές χρόνου σε ένα και μοναδικό ρεύμα. Το ρεύμα μετάδοσης σχεδιάστηκε για χρήση σε περιβάλλοντα με μεγάλη πιθανότητα λάθους, όπως αποθήκευση ή μετάδοση σε περιβάλλοντα με θόρυβο. Γενικά το ρεύμα μεταφοράς μπορεί να χρησιμοποιηθεί σε πολλά επίπεδα σε μία εφαρμογή πολυμέσων που χρησιμοποιεί στρώμα, και έχει σχεδιαστεί για αποδοτική και εύκολη υλοποίηση του σε εφαρμογές που χρησιμοποιούν δίκτυα υψηλών ταχυτήτων. Γενικά το ρεύμα μετάδοσης σχεδιάστηκε για να μπορεί μια εφαρμογή να εκτελεί εύκολα κάποιες λειτουργίες. Κάποιες από αυτές τις λειτουργίες είναι: 1. Ανάκτηση ενός μόνο συγκεκριμένου συμπιεσμένου ρεύματος δεδομένων, από τα ρεύματα που περιλαμβάνει το ρεύμα μεταφοράς. 2. Εξαγωγή ενός μόνο συγκεκριμένου συμπιεσμένου ρεύματος δεδομένων, από τα ρεύματα που περιλαμβάνει το ρεύμα μεταφοράς, και δημιουργία νέου ρεύματος που θα περιλαμβάνει μόνο το ρεύμα αυτό. 3. Δημιουργία ενός ρεύματος μετάδοσης από ρεύματα προγράμματος για τη μετάδοση των πληροφοριών σε κάποιο περιβάλλον με σφάλματα και δημιουργία μετά από το ρεύμα μετάδοσης των αρχικών ρευμάτων προγράμματος. Το ρεύμα μετάδοσης αποτελείται και αυτό από πακέτα. Το μέγεθός του κάθε πακέτου είναι σταθερό και είναι 188 byte ενώ περιλαμβάνεται και μία επικεφαλίδα μεγέθους 4 byte. Η δομή της επικεφαλίδας εμφανίζεται στην εικόνα 5 και αποτελείται από τα εξής πεδία. Sync Byte: Το πεδίο αυτό σηματοδοτεί την αρχή ενός πακέτου του ρεύματος μεταφοράς. Το μέγεθός του είναι 8 bit και η τιμή του είναι ίση με ' ' (0x47). Trnsport Error Indictor: Η σημαία αυτή καθορίζει ότι τα δεδομένα που μεταφέρει το πακέτο περιέχουν κάποιο σφάλμα. Το πεδίο αυτό αποκτά τιμή 1 από οντότητες εξωτερικές του επιπέδου του ρεύματος όταν αντιληφθούν ότι κάποιο σφάλμα συναίβει κατά την αποστολή των δεδομένων. Pylod Unit Strt Indictor: Η σημαία αυτή χρησιμοποιείται για να σηματοδοτήσει ότι 22

23 το πακέτο περιέχει τα πρώτα byte κάποιου νέου πακέτου PSI ή PES. Trnsport Priority: Η σημαία αυτή καθορίζει την προτεραιότητα πακέτου ανάμεσα στα πακέτα του ίδιου ρεύματος προγράμματος. Μία τιμή 1 καθορίζει μεγάλη προτεραιότητα για τα δεδομένα του πακέτου και μπορεί να χρησιμοποιηθεί από τον αποκωδικοποιητή του συστήματος για τη διαχείριση των δεδομένων ενός στοιχειώδους ρεύματος. PID: Το πεδίο αυτό έχει μέγεθος 13 bit και καθορίζει το είδος των δεδομένων που μεταφέρει το πακέτο. Η τιμή του πεδίου αυτού μπορεί να χρησιμοποιηθεί σε συνεργασία με τους πίνακες του ρεύματος για να καθοριστεί σε ποιο ακριβώς στοιχειώδες ρεύμα αντιστοιχούν τα δεδομένα που μεταφέρει το πακέτο. Trnsport Scrmbling Control: Το πεδίο αυτό έχει μέγεθος 2 bit και χρησιμοποιείται για να καθοριστεί αν τα δεδομένα του πακέτου είναι κρυπτογραφημένα ή όχι. Η κρυπτογράφηση αφορά αποκλειστικά και μόνο τα δεδομένα του πακέτου και σε καμία περίπτωση την επικεφαλίδα. Adpttion Field Control: Το πεδίο αυτό έχει μέγεθος 2 bit και καθορίζει τι ακριβώς περιλαμβάνεται μετά το τέλος της επικεφαλίδας. Το πρώτο bit καθορίζει αν μετά το τέλος της επικεφαλίδας περιλαμβάνεται ένα πεδίο dpttion. Το πεδίο dpttion έχει μεταβλητό μέγεθος και περιλαμβάνει διάφορες πληροφορίες. Ένα από τα πιο σημαντικά πεδία είναι το PCR (Progrm Clock Reference) με βάση το οποίο η εφαρμογή μας καθορίζει τα σημεία στα οποία θα πρέπει να γίνει αλλαγή κλειδιού κρυπτογράφησης. Το δεύτερο bit του πεδίου καθορίζει αν τα πακέτο περιέχει δεδομένα ή είναι κενό. Continuity Counter: Το πεδίο αυτό είναι ένας μετρητής 4 bit ο οποίος αυξάνεται κατά ένα κάθε φορά που αποστέλλεται ένα νέο πακέτο με κάποιο συγκεκριμένο PID. Το πεδίο αυτό μπορεί να χρησιμοποιηθεί για την ανακάλυψη τυχόν σφαλμάτων αποστολής. Το ρεύμα προγράμματος και το ρεύμα μετάδοσης έχουν σχεδιαστεί για διαφορετικά είδη εφαρμογών. Είναι δυνατόν και λογικό να μπορούμε να μετατρέψουμε ένα είδος ρεύματος σε κάποιο άλλο καθώς το ένα ρεύμα δεν είναι υποσύνολο του άλλου. Για τη μετατροπή των ρευμάτων μια εφαρμογή μπορεί να χρησιμοποιήσει την κοινή δομή των PES πακέτων. Βέβαια, οι πληροφορίες που περιέχονται σε ένα πακέτο του ρεύματος προγράμματος δεν είναι δυνατόν να αποκτηθούν άμεσα από τις πληροφορίες των επικεφαλίδων των πακέτων ρεύματος μετάδοσης, αλλά μπορούν να δημιουργηθούν από κάποια περαιτέρω επεξεργασία των πακέτων syncbyte T E I P U S I T P T P DATA... DATA Εικόνα 5: Πακέτο Trnsport Strem PID TSC AFC CC Στο πρώτο κεφάλαιο του πρωτοκόλλου MPEG-2 ιδιαίτερη μνεία γίνεται και για τον συγχρονισμό των διαφόρων ρευμάτων. Η λειτουργία αυτή είναι αρκετά σημαντική αφενός για τη σωστή αναπαραγωγή των παρουσιάσεων, αλλά παράλληλα η εφαρμογή μας χρησιμοποιεί τις πληροφορίες χρονισμού που μεταδίδονται για τον υπολογισμό των χρονικών στιγμών που οι πελάτες θα πρέπει να να ζητήσουν το επόμενο κλειδί κρυπτογράφησης. Για το συγχρονισμό των επιμέρους ρευμάτων κάθε υλοποίηση του πρωτοκόλλου θέτει κάποια μέγιστα κατώφλια για τη μετάδοση και ανάκτηση πακέτων, τόσο του ρεύματος του προγράμματος, όσο και του ρεύματος 23

24 μεταφοράς. Συγκεκριμένα, το κατώφλι θα πρέπει να καθορίζει το μέγιστο επιτρεπτό χρόνο που απαιτείται για τη συμπίεση του ρεύματος, την τοπική αποθήκευση, την πολύπλεξη, τη μετάδοση ή την αποθήκευση, την αποπολύπλεξη, την αποκωδικοποίηση και την αναπαραγωγή του ρεύματος. Για το λόγο αυτό λοιπόν το πρωτόκολλο καθορίζει ότι σε κάθε τύπου πακέτου θα πρέπει περιλαμβάνονται πληροφορίες που αφορούν χρόνο και οι οποίες χρησιμοποιούνται για τον υπολογισμό της καθυστέρησης από άκρη σε άκρη. Ο υπολογισμός των χρόνων γίνεται με τη βοήθεια ενός κοινού συστήματος μέτρησης χρόνου, το οποίο ονομάζεται Ρολόι Συστήματος (System Time Clock). Με βάση αυτό το ρολόι το πρωτόκολλο εισάγει σε κάθε πακέτο PES ένα πεδίο Σφραγίδας Χρόνου Παρουσίασης (Presenttion Time Stmps). Οι σφραγίδες αυτές καθορίζουν το χρόνο αναπαραγωγής ενός πακέτου με βάσει ένα ρολόι παλμών 90 khz. Όπως είδαμε και παραπάνω το πρωτόκολλο αναπτύσσει περαιτέρω τα όρια μετάδοσης δεδομένων εισάγοντας κάποια extr πεδία στα πακέτα των ρευμάτων, τα οποία καθορίζουν επακριβώς τους χρόνους που θα πρέπει να φτάσουν τα δεδομένα στο κάθε επίπεδο του πρωτοκόλλου. Έτσι λοιπόν έχουμε το πεδίο αναφοράς Ρολογιού προγράμματος (Progrm Clock Reference) και το προαιρετικό πεδίο Αναφοράς Ρολογιού Στοιχειώδους Ρεύματος (Elementry Strem Clock Reference) για το ρεύμα προγράμματος και το πεδίο Αναφοράς Ρολογιού Συστήματος (System Clock Reference) για το ρεύμα μεταφοράς. Τα πεδία αυτά καθορίζουν το μέγιστο επιτρεπτό χρόνο που μπορεί να κάνει το πακέτο μέχρι την είσοδό του στον αποκωδικοποιητή. 24

25 2.3 Digitl Video Brodcst Common Scrmbling Algorithm Στο κεφάλαιο αυτό θα παρουσιάσουμε το σύστημα ασφαλείας που αναπτύξαμε για το CDN. Η ανάπτυξη ενός τέτοιου συστήματος είναι αναγκαία για μια εφαρμογή ψηφιακής τηλεόρασης, αφού συνήθως οι εταιρίες συνδρομητικής τηλεόρασης επιθυμούν να έχουν κάποιο επίπεδο ελέγχου στο ποιος θα παρακολουθήσει τα προγράμματά τους και επιτρέπουν την παρακολούθηση μόνο στους εγγεγραμμένους χρήστες. Το σύστημα ασφάλειας εφαρμόζει, σε γενικές γραμμές, έναν αλγόριθμο κρυπτογράφησης δύο επιπέδων στα δεδομένα της ταινίας που μοιράζει ο stremer, ενώ παράλληλα μοιράζει το κλειδί αποκρυπτογράφησης μόνο στους εγγεγραμμένους χρήστες της υπηρεσίας. Με τη μέθοδο αυτή επιτρέπεται η παρακολούθηση του προγράμματος μόνο από τους χρήστες που θα χρεωθούν. Για την κρυπτογράφηση του ρεύματος δεδομένων επιλέχθηκε ο αλγόριθμος CSA, o οποίος έχει αναπτυχθεί από την επιτροπή DVB και χρησιμοποιείται σχεδόν από όλα τα σύγχρονα συστήματα δορυφορικής τηλεόρασης. Πρόκειται για έναν αλγόριθμο αρκετά γρήγορο και με χαμηλές απαιτήσεις, ιδανικό για την κρυπτογράφηση δεδομένων πραγματικού χρόνου DVB Conditionl Access Ο αλγόριθμος DVB CSA είναι κομμάτι της πλατφόρμας ψηφιακής τηλεόρασης DVB, η οποία αναπτύσσεται από τον οργανισμό Digitl Video Brodcst Project. Το DVB Project είναι ένα consortium εμπορικών εταιριών με πάνω από 270 μέλη από όλο τον κόσμο. Η έρευνα του οργανισμού προσανατολίζεται στην ανάπτυξη προτύπων για όλα τα θέματα που μπορεί να αφορούν τη μετάδοση ψηφιακής τηλεόρασης, καθώς και την ανάπτυξη νέων υπηρεσιών σε αυτήν. Η έρευνα στο DVB οργανώνεται με βάση τα θέματα που μελετώνται (modules) και τις ομάδες εργασίας. Τα αποτελέσματα κάθε ομάδας κατατίθενται στην επιτροπή Steering, η οποία είναι το ανώτατο όργανο του project και αποφασίζει τι πρόκειται να εκδοθεί ως επίσημο stndrd. Τη στιγμή αυτή το project έχει περισσότερες από 30 ομάδες, οι οποίες μελετούν διάφορες πτυχές της ψηφιακής τηλεόρασης και των προεκτάσεών της, καθώς και τις νομικές διαδικασίες που είναι αναγκαίες για την κατοχύρωση των δικαιωμάτων από τα πρωτόκολλα που εκδίδονται. Ο αλγόριθμος CSA χρησιμοποιείται από μια προέκταση του DVB, το Conditionl Access module, που αναπτύχθηκε από την επιτροπή για τη διαχείριση και μετάδοση κρυπτογραφημένου σήματος. Η διαχείριση κρυπτογραφημένου σήματος είναι αρκετά σημαντική για την επιτροπή, καθώς ένας μεγάλος αριθμός των μελών της είναι εταιρίες παροχής συνδρομητικής τηλεόρασης και εταιρίες κατασκευής συσκευών διανομής συνδρομητικής τηλεόρασης, με αποτέλεσμα να είναι αναγκαία η ανάπτυξη κοινά αποδεκτών προτύπων κρυπτογράφησης για τη σωστή διανομή του σήματος. Εξάλλου, είναι φυσικό υπηρεσίες ψηφιακής τηλεόρασης να παραχωρούνται μόνο επί πληρωμή ή να μη διανέμονται ελεύθερα στο κοινό. Το κομμάτι του conditionl ccess, λοιπόν, περιλαμβάνει πολλά υποπεδία για τον έλεγχο πρόσβασης στο σήμα, όπως το μηχανισμό κωδικοποίησης και αποκωδικοποίησης του σήματος, το μηχανισμό διαχείρισης πελατών, το μηχανισμό πιστοποίησης πελατών κ.α. Δυστυχώς, πολλά από το κομμάτια του Conditionl Access μέχρι στιγμής δεν έχουν προτυποποιηθεί, όπως το κομμάτι της Subscriber Mngment System (SMS) και του Subscriber Authoriztion System (SAS) και η κάθε εταιρία ακολουθεί μια δικιά της προσέγγιση. Η μη προτυποποίηση αυτού του κομματιού του DVB συνέβη εξαιτίας του ότι οι εταιρίες του consortium είχαν ήδη αναπτύξει κάποιες λύσεις όταν ξεκίνησαν την έρευνα για τα συγκεκριμένα ζητήματα, ενώ οι περισσότερες λύσεις που προτείνονταν είχαν μεγάλες αποκλείσεις μεταξύ τους με αποτέλεσμα να είναι οικονομικά ασύμφορη η μεταπήδηση σε κάποια άλλη προσέγγιση. Επίσης, πολλά μέλη του consortium είναι αρνητικά στην ανάπτυξη προτύπων για τα συστήματα διαχείρισης πελατών καθώς θεωρούν ότι κάτι τέτοιο ελοχεύει πολλούς κινδύνους για την ασφάλεια των συστημάτων τους. Σε ένα κλασσικό σύστημα συνδρομητικής ψηφιακής τηλεόρασης ο εξυπηρετητής και οι πελάτες έχουν αμφίδρομη επικοινωνία μεταξύ τους. Η επικοινωνία βέβαια μπορεί να μη γίνεται μέσα από το ίδιο κανάλι επικοινωνίας. Στην περίπτωση της δορυφορικής τηλεόρασης, για 25

26 παράδειγμα, η αποστολή σημάτων από τον πελάτη στον εξυπηρετητή μέσω της δορυφορικής είναι αδύνατη και οικονομικά ασύμφορη. Για αυτόν το λόγο πολλές φορές επιλέγεται κάποιος άλλος δίαυλος επικοινωνίας, όπως το τηλεφωνικό δίκτυο. Οι πελάτες, συνήθως, για να παρακολουθήσουν ένα πρόγραμμα θα πρέπει να εγγραφούν και να αυθεντικοποιηθούν από τον εξυπηρετητή. Από εκεί και πέρα η υλοποίηση της ασφάλειας διαφέρει από υλοποίηση σε υλοποίηση. Η επικοινωνία στη συνέχεια της διαδικασία αυτής βασίζεται σε μηνύματα DSM CC, τα οποία παρουσιάσαμε περιληπτικά στο κεφάλαιο 3. Τα μηνύματα αυτά αποστέλλονται σαν πακέτα του ρεύματος TS και μπορούν να επεκταθούν από το κάθε σύστημα και να αποκτήσουν πρόσθετη λειτουργικότητα. Για την αντιμετώπιση του προβλήματος διαλειτουργικότητας του συστήματος ασφαλείας των διαφόρων πλατφόρμων ψηφιακής τηλεόρασης, η επιτροπή έχει προτείνει δύο λύσεις: το SimulCrypt και το MultiCrypt. Η πρώτη προσέγγιση, το SimulCrypt, μεταφέρει την επίλυση του προβλήματος στους προμηθευτές ψηφιακής τηλεόρασης. Ο προμηθευτής θα πρέπει να μεταδίδει τις αναγκαίες πληροφορίες διαχείρισης του DVB-CA πολλές φορές έτσι ώστε να καλύπτεται κάθε δυνατή περίπτωση υλοποίησης του CA. Για τη λύση αυτή, καθορίζεται ένα κοινό συντακτικό για τα μηνύματα του CA και χρησιμοποιείται ο κοινός αλγόριθμος κρυπτογράφησης CSA για το ρεύμα των πολυμέσων. Έτσι, για παράδειγμα, σε κάθε νέο αίτημα του παροχέα για αλλαγή κλειδιού κρυπτογράφησης, ο παροχέας θα πρέπει να μεταφράζει το αίτημα ώστε να είναι αντιληπτό από κάθε υλοποίηση και να το αποστέλλει μέσω του ρεύματος μεταφοράς του MPEG. Η υλοποίηση αυτή, βέβαια, όπως γίνεται αντιληπτό, επιβάλλει μεγάλη σπατάλη bndwidth από τη σύνδεση του παροχέα με του πελάτες, ενώ παράλληλα αντιμετωπίζει προβλήματα επεκτασιμότητας. Από την άλλη πλευρά, βέβαια, αποτελεί μια αρκετά καλή λύση χαμηλού κόστους. Η δεύτερη προσέγγιση που προτάθηκε από την ομάδα ανάπτυξης του DVB ήταν το MultiCrypt. Το MultiCrypt παρουσιάζει μία λύση από την πλευρά του πελάτη. Η προσέγγιση αυτή προτείνει τη δημιουργία ενός ενδιάμεσου σταδίου επεξεργασίας των μηνυμάτων CA στον αποκωδικοποιητή, το οποίο θα μπορεί να λάβει μηνύματα μίας συγκεκριμένης υλοποίησης και να τα μεταφράσει σε κάποια άλλη συγκεκριμένη. Το ενδιάμεσο αυτό στάδιο θα υλοποιείται με τη βοήθεια κάποιας αποσπόμενης κάρτας, η οποία θα αντιστοιχεί σε μία δεδομένη μετάφραση υλοποιήσεων. Η λύση όμως αυτή εμφανίζει πολλά μειονεκτήματα, καθώς μια τέτοια κάρτα έχει αρκετά υψηλό κόστος, ενώ μέχρι στιγμής οι κάρτες που πωλούνται στο εμπόριο χρησιμοποιούν ένα πολύ μικρό υποσύνολο από τις δυνατότητες που έχουν οι αποκωδικοποιητές. Η επιτροπή παράλληλα ανέπτυξε και ένα πρωτόκολλο για την προτυποποίηση της επικοινωνίας του CA με το υπόλοιπο σύστημα αποκωδικοποίησης στην περίπτωση του Multicrypt. Τη δουλειά αυτή αναλαμβάνει το module DVB Common Interfce, το οποίο καθορίζει μία διεπαφή για τη διαχείριση κωδικοποιημένου σήματος. Οι λεπτομέρειες της διεπαφής αυτής καθορίζονται στο [6].Το module αυτό θεωρεί κάποια γενικά αποδεκτή δομή για τον αποκωδικοποιητή του πελάτη και καθορίζει 2 βασικές διεπαφές: τη διεπαφή μεταφοράς ρεύματος δεδομένων και τη διεπαφή χειρισμού. Η διεπαφή μεταφοράς δεδομένων διαχειρίζεται τα πακέτα που λαμβάνει το σύστημα. Το σύστημα καθορίζει στη διεπαφή ποια ρεύματα δεδομένων θέλει να λάβει και η διεπαφή δίνει στο υπόλοιπο ρεύμα τα πακέτα δεδομένων αποκρυπτογραφημένα Common Scrmbling Algorithm Ο αλγόριθμος CSA παρουσιάστηκε αρχικά από το Electronicl Telecommuniction Stndrds Institute (ETSI) και υιοθετήθηκε από το DVB το Μάιο του Η επιτροπή κρατάει ακόμα και σήμερα τις λεπτομέρειες της υλοποίησης μυστικές, με συμφωνίες που υπογράφονται από το κάθε μέλος της οργάνωσης και απαγορεύει την υλοποίηση των αλγορίθμων σε επίπεδο λογισμικού. Η μόνη γνώση που υπήρχε για χρόνια για τον αλγόριθμο ήταν από τεχνικές αναφορές του ETSI και κάποιες λεπτομέρειες από την καταχώρηση της πατέντας. Η κατάσταση αυτή άλλαξε το φθινόπωρο του 2002 όταν εμφανίστηκε το πρόγραμμα FreeDec. Το πρόγραμμα αυτό υλοποιούσε τον αλγόριθμο CSA σε λογισμικό. Σε μικρό χρονικό διάστημα το πρόγραμμα ερευνήθηκε μέσω αντίστροφης μηχανικής και ο αλγόριθμος σύντομα κατανοήθηκε πλήρως. Μετά από αυτήν την 26

27 εξέλιξη, η DVB αναγκάστηκε και εξέδωσε την περιγραφή του αλγορίθμου [7]. Η υλοποίηση του αλγορίθμου CSA που χρησιμοποιήσαμε, έγινε σε επίπεδο λογισμικού και έδωσε πολύ καλά αποτελέσματα. Οι δοκιμές που έγιναν σε ένα φορητό υπολογιστή με επεξεργαστή AMD Turion στα 1800 MHz με μνήμη 512 Mb έδειξαν μικρή επιβάρυνση της συνολικής χρήσης της μνήμης και μικρή επιβάρυνση του επεξεργαστή από την υλοποίηση του αλγορίθμου. Χαρακτηριστικά, παραθέτουμε κάποιες δοκιμαστικές εκτελέσεις του προγράμματος τόσο απ' την πλευρά του πελάτη όσο και από την πλευρά του εξυπηρετητή και δίνουμε χαρακτηριστικά τους συνολικούς χρόνους εκτέλεσης και τη μνήμη που δεσμεύτηκε. Πέρα από την αρκετά γρήγορη υλοποίηση του CSA σε επίπεδο λογισμικού, o αλγόριθμος εμφανίζει αρκετά μεγάλη ασφάλεια για το περιεχόμενο των πακέτων. Στο [8] παρουσιάζεται μία τυπική ανάλυση του αλγορίθμου κρυπτογράφησης και αποδεικνύεται ότι ο αλγόριθμος παρουσιάζει μια συμμετρία η οποία μας επιτρέπει να αποκρυπτογραφήσουμε τα δεδομένα του ρεύματος επιλύοντας 2 28 γραμμικά συστήματα με περίπου 40 μεταβλητές και 60 γραμμικές σχέσεις, κατά μέσο όρο. Μια τέτοια λύση υλοποιήθηκε σε επίπεδο λογισμικού σε ένα σύστημα Mcintosh PowerPC με επεξεργαστή 1,5 Mhz και το ρεύμα αποκρυπτογραφήθηκε σε λιγότερο από μια ώρα. Κάτι τέτοιο, βέβαια, είναι αρκετά καλό αν σκεφτούμε ότι το πρόγραμμά μας μπορεί να αλλάζει κλειδί κρυπτογράφησης κάθε 20 δευτερόλεπτα. Στο [9] βέβαια, παρουσιάζεται μια άλλη προσέγγιση για την εύρεση του κλειδιού κρυπτογράφησης, η οποία εισάγει σφάλματα στο κρυπτογραφημένο ρεύμα και μελετά το αποτέλεσμα της αποκρυπτογράφησης. Η διαδικασία αυτή βελτιώνει αρκετά το χρόνο εύρεσης του κλειδιού κρυπτογράφησης, αλλά το αποτέλεσμα είναι και πάλι αρκετά υψηλό σε σχέση με το χρόνο αλλαγής κλειδιού. Ο αλγόριθμος κρυπτογράφησης είναι ένας συνδυασμός δυο κρυπτογραφικών αλγορίθμων: ενός αλγορίθμου κρυπτογράφησης πακέτου και ενός αλγορίθμου ρεύματος. Οι δύο αυτοί αλγόριθμοι χρησιμοποιούν ένα ίδιο κλειδί 64 bit και το αποτέλεσμα του πρώτου αλγορίθμου δίνεται ως είσοδος στον αλγόριθμο ρεύματος. Η λειτουργία των δύο αυτών αλγορίθμων κρυπτογράφησης εμφανίζεται στην εικόνα 6. Το κλειδί κρυπτογράφησης καθορίζεται από το module του DVB Conditionl Access και συνήθως τα σύγχρονα συστήματα μετάδοσης ψηφιακής τηλεόρασης αλλάζουν το κλειδί κάθε δευτερόλεπτα. Στο πρόγραμμά μας, η υλοποίηση του αλγορίθμου CSA γίνεται στο αρχείο modules/mux/mpeg/cs.c. Η κρυπτογράφηση και αποκρυπτογράφηση γίνεται στα πακέτα του TS ρεύματος. Η διαδικασία της κρυπτογράφησης γίνεται στη συνάρτηση csencrypt του cs.c, ενώ η αποκρυπτογράφηση γίνεται στο csdecrypt. Στις συναρτήσεις αυτές περνάμε τη δομή που περιγράφει τις λεπτομέρειες του αλγορίθμου (κλειδιά κ.τ.λ.), ένα δείκτη στη δομή του πακέτου που θέλουμε να στείλουμε, καθώς και τον αριθμό των bytes που περιέχει και το αν το πακέτο είναι ζυγό ή μονό. Η τελευταία παράμετρος είναι απαραίτητη γιατί σε κάθε περίπτωση το κλειδί αντιστρέφεται. Ο αλγόριθμος σπάει αρχικά τα περιεχόμενα του πακέτου σε κομμάτια των 64 bits, στα οποία εφαρμόζει τον αλγόριθμο κρυπτογράφησης πακέτου. Στη συνέχεια, το κρυπτογραφημένο πακέτο το εισάγουμε στον αλγόριθμο ρεύματος και επιστρέφουμε το αποτέλεσμα στη μνήμη που έχουμε δεσμεύσει για το πακέτο μας. void csencrypt( cst *c, uint8t *pkt, int ipktsize, int bodd ) uint8t *ck; uint8t *kk; int i, j; int ihdr = 4; /* hdr len */ uint8t ib[184/82][8], strem[8], block[8]; int n, iresidue; /* Καθορισμός bit κρυπτογράφησης πακέτου */ pkt[3] = 0x80; if( bodd ) pkt[3] = 0x40; if( bodd ) 27

28 ck = c->ock; kk = c->okk; else ck = c->eck; kk = c->ekk; /* υπολογισμός μεγέθους πακέτου που θα κωδικοποιηθεί */ ihdr = 4; if( pkt[3]&0x20 ) /* αποφεύγουμε να κωδικοποιήσουμε τις extr πληροφορίες που περιέχονται στην επικεφαλίδα */ ihdr = pkt[4] 1; n = (ipktsize - ihdr) / 8; iresidue = (ipktsize - ihdr) % 8; if( n <= 0 ) pkt[3] &= 0x3f; return; /**/ for( i = 0; i < 8; i ) ib[n1][i] = 0; /* εφαρμογή του block Cypher στο αρχικό μας πακέτο */ for( i = n; i > 0; i-- ) for( j = 0; j < 8; j ) block[j] = pkt[ihdr8*(i-1)j] ^ib[i1][j]; csblockcypher( kk, block, ib[i] ); /* Αρχικοποιήση του strem cypher αλγορίθμου */ csstremcypher( c, 1, ck, ib[1], strem ); for( i = 0; i < 8; i ) pkt[ihdri] = ib[1][i]; for( i = 2; i < n1; i ) csstremcypher( c, 0, ck, NULL, strem ); for( j = 0; j < 8; j ) pkt[ihdr8*(i-1)j] = ib[i][j] ^ strem[j]; if( iresidue > 0 ) csstremcypher( c, 0, ck, NULL, strem ); for( j = 0; j < iresidue; j ) pkt[ipktsize - iresidue j] ^= strem[j]; Η διαδικασία της αποκρυπτογράφησης είναι παρόμοια με τη διαδικασία κρυπτογράφησης. void csdecrypt( cst *c, uint8t *pkt, int ipktsize ) uint8t *ck; uint8t *kk; uint8t ib[8], strem[8], block[8]; int ihdr, iresidue; int i, j, n; /* έλεγχος bit κρυπτογράφησης πακέτου */ if( (pkt[3]&0x80) == 0 ) /* αν το πακέτο δεν είναι κρυπτογραφημένο δεν χρειάζεται αποκρυπτογράφηση */ return; if( pkt[3]&0x40 ) ck = c->ock; kk = c->okk; else ck = c->eck; kk = c->ekk; /* καθορισμός του σημείου από το οποίο θα ξεκινήσει η αποκρυπτογράφηση */ pkt[3] &= 0x3f; 28

29 ihdr = 4; if( pkt[3]&0x20 ) /* Αν η σημαία dpttion είναι 1 τότε θα πρέπει να παραβλέψουμε και το πεδίο dpttion */ ihdr = pkt[4] 1; if( ihdr < 8 ) return; /* αρχικοποίηση κατάσταση του cs */ csstremcypher( c, 1, ck, &pkt[ihdr], ib ); n = (ipktsize - ihdr) / 8; if( n < 0 ) return; iresidue = (ipktsize - ihdr) % 8; for( i = 1; i < n 1; i ) csblockdecypher( kk, ib, block ); if( i!= n ) csstremcypher( c, 0, ck, NULL, strem ); for( j = 0; j < 8; j ) /* xor του ib με το ρεύμα */ ib[j] = pkt[ihdr8*ij] ^ strem[j]; //Εφαρμογή Αποκρυπτογράφηση πακέτου //Εφαρμογή Αποκρυπτογράφηση ρεύματος else /* ειδική εφαρμογή του αλγορίθμου για το τελευταία byte δεδομένων */ for( j = 0; j < 8; j ) ib[j] = 0; for( j = 0; j < 8; j ) pkt[ihdr8*(i-1)j] = ib[j] ^ block[j]; if( iresidue > 0 ) csstremcypher( c, 0, ck, NULL, strem ); for( j = 0; j < iresidue; j ) pkt[ipktsize - iresidue j] ^= strem[j]; Αλγόριθμος κρυπτογράφησης πακέτου Ο αλγόριθμος κρυπτογράφησης πακέτου είναι ένας επαναληπτικός αλγόριθμος με κλειδί μεγέθους 64 bit. Για την κρυπτογράφηση / αποκρυπτογράφηση ενός μηνύματος είναι αναγκαίο το κλειδί να επεκταθεί από 8 σε 56 bytes. Η επέκταση του κλειδιού γίνεται σύμφωνα με τον εξής επαναληπτικό τύπο: k k E 64i,...,64i 63 = 0,...,63,i=0 ρ k E 64 i 1,...,64 i 1 0x0i0i0i0i0i0i0i0i1 i 6 Ο αλγόριθμος αρχικοποιεί τα πρώτα bit του κλειδιού με τα bit του αρχικού κλειδιού. Στις επόμενες 6 οκτάδες bytes ο τύπος χρησιμοποιεί τα bits της προηγούμενης ακριβώς οκτάδας εφαρμόζοντας μια μετάθεση και στο τελικό αποτέλεσμα εφαρμόζει ένα exclusive or με κάποια συγκεκριμένη σταθερά μήκους 64 bit, 0. Η διαδικασία δημιουργίας του εκτεταμένου κλειδιού στο vlc γίνεται στη συνάρτηση cscomputekey στο αρχείο /modules/mux/mpeg/cs.c. Η τιμή του υπολογίζεται μία μόνο φορά όταν καθορίζουμε μια νέα τιμή για το κλειδί της κρυπτογράφησης. Το πρόγραμμα χρησιμοποιεί την μετάθεση του πίνακα 2 για τον τύπο που παρουσιάσαμε παραπάνω, ενώ ως σταθερά 0 χρησιμοποιεί σε κάθε επανάληψη τον αύξοντα αριθμό της επανάληψης. 29

30 Πίνακας 2: Πίνακας μετάθεσης του αλγορίθμου cs στο vlc sttic void cscomputekey( uint8t kk[57], uint8t ck[8] ) int i,j,k; int bit[64]; int newbit[64]; int kb[9][8]; /* Φορτώνουμε στο rry kb[7][1..8] το αρχικό κλειδί */ for( i = 0; i < 8; i ) kb[7][i1] = ck[i]; /* υπολογίζουμε επαναληπτικά τα επόμενα rry kb[6..1][*] */ for( i = 0; i < 7; i ) for( j = 0; j < 8; j ) //υπολογίζουμε τα vectors κάθε επανάληψης for( k = 0; k < 8; k ) //μελετάμε ένα-ένα τα bits του byte bit[j*8k] = (kb[7-i][1j] >> (7-k)) & 1; //αναζητούμε την τιμή του bit(0 ή 1) newbit[keyperm[j*8k]-1] = bit[j*8k]; //η νέα θέση του bit for( j = 0; j < 8; j ) //γεμίζουμε ένα ενδιάμεσο πίνακα kb[6-i][1j] = 0; for( k = 0; k < 8; k ) kb[6-i][1j] = newbit[j*8k] << (7-k); //γεμίζουμε τον ενδιάμεσο πίνακα με τις //σωστές τιμές /* υπολογίζουμε το τελικό rry κάνοντας xor κάθε vector με τον αριθμό της επανάληψης */ for( i = 0; i < 7; i ) for( j = 0; j < 8; j ) kk[1i*8j] = kb[1i][1j] ^ i; //δημιουργούμε το τελικό rry Για την κρυπτογράφηση ενός μηνύματος ο αλγόριθμος χρησιμοποιεί 64 bits του μηνύματος κάθε φορά. Αν το μήκος του μηνύματος δεν είναι πολλαπλάσιο του 64 τότε καθορίζεται ότι το τελευταίο κομμάτι γεμίζει με μηδενικά. Ο αλγόριθμος διατηρεί μια εσωτερική κατάσταση μεγέθους 8 bytes. H κατάσταση αυτή αρχικοποιείται με το κομμάτι του μηνύματος που θέλουμε να κρυπτογραφήσουμε ή να αποκρυπτογραφήσουμε. Παράλληλα, καθορίζεται ένας κυκλικός μετασχηματισμό φ. Ο αλγόριθμος δέχεται ως είσοδο την εσωτερική κατάσταση του αλγορίθμου και ένα byte από το κλειδί που φτιάξαμε παραπάνω και μας δίνει ως έξοδο 8 byte, τα οποία αποθηκεύονται ως η εσωτερική κατάσταση του αλγορίθμου. Η εφαρμογή του αλγορίθμου επαναλαμβάνεται 56 φορές και στο τέλος παίρνουμε το κρυπτογραφημένο / αποκρυπτογραφημένο μήνυμα. Ο μετασχηματισμός φ έχει ως βάση δύο συναρτήσεις, τις f και f'. Οι συναρτήσεις αυτές δέχονται ως είσοδο μία 8-bit τιμή και δίνουν ως έξοδο μια μετάθεση των bit της εισόδου. Οι συναρτήσεις αυτές συνδέονται με τη σχέση f=σ f', ενώ και οι δύο έχουν ένα μέγιστο μήκος κύκλου. H κρυπτογράφηση του μηνύματος μπορεί να περιγραφεί από τον εξής τύπο: 30

31 S r = P, r=0 φ S r 1, k E 8r,..., k E 8r 7,1 r 56 C=S 56 όπου το C είναι το τελικό κρυπτογραφημένο κείμενο, το S r είναι η εσωτερική κατάσταση του αλγορίθμου στο γύρο r και k E είναι το εκτεταμένο κλειδί. Η διαδικασία αποκρυπτογράφησης είναι ίδια με τη διαδικασία κρυπτογράφησης, μόνο που δίνουμε ως είσοδο στον παραπάνω τύπο το κρυπτογραφημένο μήνυμα και μετά την 56η επανάληψη παίρνουμε το αρχικό κείμενο. Στον κώδικα του vlc η υλοποίηση του αλγορίθμου γίνεται στο αρχείο /modules/mux/mpeg/cs.c στις συναρτήσεις csblockencrypt και csblockdecrypt. Οι συναρτήσεις αυτές δέχονται ως είσοδο το εκτεταμένο κλειδί kk και το μήνυμα εισόδου ib και επιστρέφουν το αποτέλεσμα στο rry bd. Το πρόγραμμα χρησιμοποιεί τον πίνακα 2 για τη μετάθεση των bit για τις συναρτήσεις f και f'. Επίσης, οι μετασχηματισμοί φ και φ -1 έχουν τους εξής τύπους: φ s 0,..., s 7, k = s 1, s 2 s 0, s 4 s 0, s 5, s 6 f ' k s 7, s 7, s 0 f k s 7 φ 1 s 0,..., s 7, k = s 7 f s 6 k, s 0, s 7 s 1 f s 6 k, s 7 s 2 f s 6 k, s 7 s 3 f s 6 k, s 4, s 5 f ' s 6 k, s 6 sttic void csblockdecypher( uint8t kk[57], uint8t ib[8], uint8t bd[8] ) int i; int permout; int R[9]; int nextr8; /* Αρχικοποίηση της εσωτερικής κατάστασης με το αρχικό κρυπτογραφημένο μύνημα */ for( i = 0; i < 8; i ) R[i1] = ib[i]; // επανάληψη της εφαρμογής του μετασχηματισμόυ φ φορές for( i = 56; i > 0; i-- ) const int sboxout = blocksbox[kk[i]^r[7]];//υπολογισμός του f(s 6 k) permout = blockperm[sboxout]; //υπολογισμός του f'(s 6 k) nextr8 = R[7]; //αποθηκεύουμε τη τιμή που θα πάρει το νέο s 8 R[7] = R[6] ^ permout; R[6] = R[5]; R[5] = R[4] ^ R[8] ^ sboxout; R[4] = R[3] ^ R[8] ^ sboxout; R[3] = R[2] ^ R[8] ^ sboxout; R[2] = R[1]; R[1] = R[8] ^ sboxout; R[8] = nextr8; for( i = 0; i < 8; i ) bd[i] = R[i1]; sttic void csblockcypher( uint8t kk[57], uint8t bd[8], uint8t ib[8] ) int i; int permout; int R[9]; int nextr1; /* Αρχικοποίηση της εσωτερικής κατάστασης με το αρχικό κρυπτογραφημένο μήνυμα */ for( i = 0; i < 8; i ) R[i1] = bd[i]; // επανάληψη της εφαρμογής του μετασχηματισμόυ φ φορές for( i = 1; i <= 56; i ) const int sboxout = blocksbox[kk[i]^r[8]];//υπολογισμός του f(s 7 k) permout = blockperm[sboxout]; //υπολογισμός του f'(s 7 k) 31

32 nextr1 = R[2]; //αποθηκεύουμε τη τιμή που θα πάρει το νέο s 1 R[2] = R[3] ^ R[1]; R[3] = R[4] ^ R[1]; R[4] = R[5] ^ R[1]; R[5] = R[6]; R[6] = R[7] ^ permout; R[7] = R[8]; R[8] = R[1] ^ sboxout; R[1] = nextr1; for( i = 0; i < 8; i ) ib[i] = R[i1]; Αλγόριθμος κρυπτογράφησης ρεύματος Το δεύτερο κομμάτι του αλγορίθμου CSA είναι ένας αλγόριθμος κρυπτογράφησης ρεύματος. Ο αλγόριθμος αυτός μοντελοποιεί τη λειτουργία ενός κυκλώματος, το οποίο αποτελείται από 2 καταχωρητές ολίσθησης (feedbck-shift-registers) και ένα συνδυαστή (combiner). Ο αλγόριθμος δέχεται ως είσοδο 8 byte κάθε φορά. Η διαδικασία της κρυπτογράφησης παρουσιάζεται και στην εικόνα 7. Ο αλγόριθμος έχει δύο μοντέλα λειτουργίας. Το πρώτο είναι η λειτουργία αρχικοποίησης κατά την οποία αρχικοποιούνται οι δομές του αλγορίθμου. Η δεύτερη λειτουργία είναι η παραγωγική λειτουργία, στην οποία ο αλγόριθμος παράγει ψευδοτυχαία bit με βάση τα bit που έχουμε εισάγει. 32

33 Εικόνα 7: Κύκλωμα υλοποίησης αλγορίθμου κρυπτογράφησης ρεύματος Η διαδικασία της αρχικοποίησης είναι σχετικά απλή. Ο αλγόριθμος χρησιμοποιεί το κλειδί κωδικοποίησης, καθώς και τα πρώτα 32 byte του σήματος. Το κλειδί κωδικοποίησης χρησιμοποιείται για την αρχικοποίηση των καταχωρητών. Οι καταχωρητές Α και Β είναι μεγέθους 40 bit. Η αρχικοποίησή τους γίνεται σύμφωνα με τον εξής τύπο: i, j = k 4i j, i 7 0, else b i, j = k 32 4i j,i 7 0, else Ο τύπος αυτός παράγει μήτρες 10x4 στοιχείων. Οι τελευταίες 3 σειρές των μητρών είναι γεμάτες με μηδενικά. Αφού αρχικοποιηθούν οι καταχωρητές, ο αλγόριθμος χρησιμοποιεί το πρώτο μπλοκ του ρεύματος μαζί με τον καταχωρητή D σαν είσοδο και επαναλαμβάνει 32 φορές τη διαδικασία αρχικοποίησης. Σε κάθε επανάληψη το κύκλωμα διαβάζει μόνο δεδομένα, τα οποία προκύπτουν από τα δεδομένα του μπλοκ που πρόκειται να κρυπτογραφηθεί. Επίσης, σε κάθε επανάληψη εισάγεται ένα μόνο byte, το οποίο χωρίζεται σε 2 μπλοκ των 4 bit, τα οποία ανάλογα με το αν ο αριθμός της επανάληψης είναι μονός ή ζυγός χρησιμοποιούνται καταλλήλως από τους καταχωρητές Α και Β. Συγκεκριμένα, τα 2 block προκύπτουν από τον εξής τύπο: 33

34 Ι Α, Ι Β = ( SB 0 div 24, SB 0 mod 2 4 ), για τους μονούς γύρους ( SB 0 mod 2 4, SB 0 div 2 4 ), αλλιώς Σε κάθε επανάληψη το κύκλωμα ολισθαίνει τους καταχωρητές Α και B κατά 4 bit και εισάγει στην αρχή κάθε καταχωρητή 4 νέα bit, τα οποία προκύπτουν από τους εξής τύπους: ' 0 = 9 X D I A b ' 0 =b 6 b 9 Y I B A' = ' 0, 0, 1, 2, 3, 4, 5, 6, 7, 8 B '= b' 0, b 0, b 1, b 2, b 3, b 4, b 5, b 6, b 7, b 8, p=0 rol b ' 0, b 0, b 1, b 2, b 3, b 4, b 5, b 6, b 7, b 8, p=1 Η τιμή των νέων bit στον καταχωρητή δίνεται από την αποκλειστική διάζευξη μεταξύ των τελευταίων 4 bit του καταχωρητή, του αποτελέσματος του καταχωρητή X, του Ι Α και της εξόδου του κυκλώματος D. Στον καταχωρητή B εισάγονται 4 bit, τα οποία προκύπτουν από την αποκλειστική διάζευξη μεταξύ του καταχωρητή X, του I B, των τελευταίων 4 bit του καταχωρητή b και το περιεχόμενο του καταχωρητή Y. Τα τέσσερα αυτά bit αντιστρέφονται σε σειρά στην περίπτωση που το περιεχόμενο του καταχωρητή Y είναι μη μηδενικό. Το κύκλωμα στη συνέχεια καθορίζει 7 S-box, τα οποία δέχονται ως είσοδο 5 bit από τον καταχωρητή Α και δίνουν στην έξοδο 2 bit. Γενικά, ένα S-Box είναι μια συνάρτηση, η οποία αντιστοιχίζει κάποια δυαδική τιμή εισόδου σε κάποια δυαδική τιμή εξόδου, που έχει πάντα μικρότερο μέγεθος. Τα S-box αυτά χρησιμοποιούνται για τον καθορισμό των τιμών των καταχωρητών X, Y, Z, p και q. Η πλήρης περιγραφή του τρόπου που λειτουργούν αυτά τα S-box παρουσιάζεται διεξοδικά στον πίνακα 3. Το τελευταίο κομμάτι του κυκλώματος είναι ο συνδυαστής. Ο συνδυαστής δίνει ως έξοδο 4 bit σε κάθε κύκλο υπολογισμού, τα οποία αποθηκεύονται στον καταχωρητή D. Το κομμάτι αυτό του κυκλώματος διαθέτει μια εσωτερική μνήμη, η οποία αποτελείται από τους καταχωρητές E, F και c. Η τιμή του καταχωρητή E καθορίζεται, όπως φαίνεται και στο σχήμα 7, από την τιμή του καταχωρητή F. Η τιμή του καταχωρητή E εξαρτάται από την τιμή του καταχωρητή q, η οποία με τη σειρά της καθορίζεται από μία από τις S-box συναρτήσεις, που περιγράφονται στο πίνακα 3. Σε περίπτωση που η συνάρτηση δώσει έξοδο ίση με 1, τότε ο καταχωρητής F παίρνει τιμή ίση με (Ε Ζ C)mod16, διαφορετικά παίρνει την τιμή του καταχωρητή E. Τέλος, η τιμή του καταχωρητή c καθορίζεται και αυτή από την τιμή του καταχωρητή q αλλά και από το αποτέλεσμα του (Ε Ζ C)mod16. Ο καταχωρητής αυτός χρησιμοποιείται για να αποθηκεύει το bit υπερχείλισης για την πράξη (Ε Ζ C). Η τιμή του καταχωρητή διατηρείται όταν το q=0. Τελικά, η τιμή του καταχωρητή D καθορίζεται από τον εξής τύπο: B out 3 =b 2,0 b 5,1 b 6,2 b 8,3 B out 2 =b 5,0 b 7,1 b 2,3 b 3,2 B out 1 =b 4,3 b 7,2 b 3,0 b 4,1 B out 0 =b 8,2 b 5,3 b 3,0 b 7,0 D= E Z B out Πίνακας 3: Πίνακας συναρτήσεων των S-BOX 34

35 Στη φάση λοιπόν της αρχικοποίησης, το πρόγραμμα διαβάζει bytes από τα δεδομένα του μπλοκ που θέλουμε να κρυπτογραφήσουμε και αποθηκεύει στον καταχωρητή D την έξοδο του συνδυαστή. Το αποτέλεσμα του καταχωρητή χρησιμοποιείται, όπως είδαμε και στην αρχή της παρουσίασης, για τη δημιουργία των νέων bit που εισάγονται στους καταχωρητές A και B. Η φάση της παραγωγής ψευδοτυχαίων bit ακολουθεί παρόμοια διαδικασία με την αρχικοποίηση του κυκλώματος. Η βασική διαφορά έγκειται στο ότι σε κάθε κύκλο το κύκλωμα δε δέχεται στην είσοδο του νέα bit αλλά αντίθετα τα παράγει στην έξοδο. Σε κάθε επανάληψη οι καταχωρητές Α και B ολισθαίνουν και πάλι κατά 4 bit αλλά τα νέα bit υπολογίζονται με βάση τους εξής τύπους: ' 0 = 9 X b' 0 =b 6 b 9 Y A' = ' 0, 0, 1, 2, 3, 4, 5, 6, 7, 8 B '= b' 0, b 0, b 1, b 2, b 3, b 4, b 5, b 6, b 7, b 8, p=0 rol b ' 0, b 0, b 1, b 2, b 3, b 4, b 5, b 6, b 7, b 8, p=1 Η τιμή των νέων bit στον καταχωρητή A δίνεται από την αποκλειστική διάζευξη μεταξύ των τελευταίων 4 bit του καταχωρητή A και του αποτελέσματος του καταχωρητή X, ενώ στον καταχωρητή B εισάγονται 4 bit τα οποία προκύπτουν από την αποκλειστική διάζευξη μεταξύ της έκτης και της τελευταίας, κατά σειρά, τετράδας bit του καταχωρητή B και το περιεχόμενο του καταχωρητή Y. Τα τέσσερα αυτά bit αντιστρέφονται σε σειρά στην περίπτωση που το περιεχόμενο του καταχωρητή Y είναι μη μηδενικό. Η έξοδος του κυκλώματος καθορίζεται από τα περιεχόμενα του καταχωρητή D. Η τιμή του καταχωρητή D καθορίζεται με παρόμοιο τρόπο με τη διαδικασία αρχικοποίησης του συστήματος. Τελικά, στην έξοδο του κυκλώματος δίνονται 2 bit τα οποία υπολογίζονται από τον εξής τύπο: Out 1 =D 1 D 0 Out 1 =D 3 D 2 Στον κώδικα του vlc η υλοποίηση του αλγορίθμου γίνεται στο αρχείο /modules/mux/mpeg/cs.c, στη συνάρτηση csstremcypher. Οι συναρτήσεις αυτές δέχονται ως είσοδο τον ακέραιο binit, που καθορίζει τη λειτουργία του κυκλώματος, το εκτεταμένο κλειδί ck και το μήνυμα εισόδου sb και επιστρέφουν το αποτέλεσμα στο rry cb. Το κύκλωμα υλοποιείται προγραμματιστικά και οι καταχωρητές που χρησιμοποιούνται αποθηκεύονται σε μεταβλητές στη δομή c. sttic void csstremcypher( cst *c, int binit, uint8t *ck, uint8t *sb, uint8t *cb ) int i,j, k; int extrb; int s1,s2,s3,s4,s5,s6,s7; int nexta1; int nextb1; int nexte; if( binit ) // Στη φάση της αρχικοποιήσης φορτώνουμε τα 32 bits του CK στο A[1]..A[8] // και 32 bits του CK στο B[1]..B[8] στους υπόλοιπους καταχώρητες θέτουμε τιμές 0 for( i = 0; i < 4; i ) c->a[12*i0] = ( ck[i] >> 4 )&0x0f; c->a[12*i1] = ( ck[i] >> 0 )&0x0f; c->b[12*i0] = ( ck[4i] >> 4 )&0x0f; c->b[12*i1] = ( ck[4i] >> 0 )&0x0f; c->a[9] = c->a[10] = 0; c->b[9] = c->b[10] = 0; c->x = c->y = c->z = 0; c->d = c->e = c->f = 0; c->p = c->q = c->r = 0; // Σε κάθε επανάληψη επεξεργαζόμαστε 8 bytes for( i = 0; i < 8; i ) 35

36 int op = 0; int in1 = 0; /* gcc wrn */ int in2 = 0; if( binit ) in1 = ( sb[i] >> 4 )&0x0f; in2 = ( sb[i] >> 0 )&0x0f; //κατά την αρχικοποίηση διαβάζουμε 1 byte από το sb // Σε κάθε επανάληψη δίνουμε στην έξοδο 2 bit for( j = 0; j < 4; j ) // από τον καταχωρητή A, 35 bits επιλέγονται ως είσοδο στα 7 s-boxes // 5 bits είσοδος ανά s-box, 2 bits έξοδος ανά s-box s1 = sbox1[ (((c->a[4]>>0)&1)<<4) (((c->a[1]>>2)&1)<<3) (((c->a[6]>>1)&1)<<2) (((c->a[7]>>3)&1)<<1) (((c->a[9]>>0)&1)<<0) ]; s2 = sbox2[ (((c->a[2]>>1)&1)<<4) (((c->a[3]>>2)&1)<<3) (((c->a[6]>>3)&1)<<2) (((c->a[7]>>0)&1)<<1) (((c->a[9]>>1)&1)<<0) ]; s3 = sbox3[ (((c->a[1]>>3)&1)<<4) (((c->a[2]>>0)&1)<<3) (((c->a[5]>>1)&1)<<2) (((c->a[5]>>3)&1)<<1) (((c->a[6]>>2)&1)<<0) ]; s4 = sbox4[ (((c->a[3]>>3)&1)<<4) (((c->a[1]>>1)&1)<<3) (((c->a[2]>>3)&1)<<2) (((c->a[4]>>2)&1)<<1) (((c->a[8]>>0)&1)<<0) ]; s5 = sbox5[ (((c->a[5]>>2)&1)<<4) (((c->a[4]>>3)&1)<<3) (((c->a[6]>>0)&1)<<2) (((c->a[8]>>1)&1)<<1) (((c->a[9]>>2)&1)<<0) ]; s6 = sbox6[ (((c->a[3]>>1)&1)<<4) (((c->a[4]>>1)&1)<<3) (((c->a[5]>>0)&1)<<2) (((c->a[7]>>2)&1)<<1) (((c->a[9]>>3)&1)<<0) ]; s7 = sbox7[ (((c->a[2]>>2)&1)<<4) (((c->a[3]>>0)&1)<<3) (((c->a[7]>>1)&1)<<2) (((c->a[8]>>2)&1)<<1) (((c->a[8]>>3)&1)<<0) ]; /* δημιουργία του Bout από τα bit του καταχωρητή B (χρησιμοποιείται για τον υπολογισμό του D) */ extrb = ( ((c->b[3]&1)<<3) ^ ((c->b[6]&2)<<2) ^ ((c->b[7]&4)<<1) ^ ((c->b[9]&8)>>0) ) ( ((c->b[6]&1)<<2) ^ ((c->b[8]&2)<<1) ^ ((c->b[3]&8)>>1) ^ ((c->b[4]&4)>>0) ) ( ((c->b[5]&8)>>2) ^ ((c->b[8]&4)>>1) ^ ((c->b[4]&1)<<1) ^ ((c->b[5]&2)>>0) ) ( ((c->b[9]&4)>>2) ^ ((c->b[6]&8)>>3) ^ ((c->b[3]&2)>>1) ^ ((c->b[8]&1)>>0) ) ; // T1 = αποκλειστική διάζευξη όλων των δεδομένων εισόδου // τα in1,in2, D χρησιμοποιούνται από το T1 μόνο στη αρχικοποίηση και όχι στην παραγωγή nexta1 = c->a[10] ^ c->x; if( binit ) nexta1 = nexta1 ^ c->d ^ ((j % 2)? in2 : in1); // T2 = αποκλειστική διάζευξη όλων των δεδομένων εισόδου // τα in1,in2 χρησιμοποιούνται από το T1 μόνο στη αρχικοποίηση και όχι στην παραγωγή nextb1 = c->b[7] ^ c->b[10] ^ c->y; if( binit) nextb1 = nextb1 ^ ((j % 2)? in1 : in2); // αν το p=0, χρησιμοποιείται, ενώ αν p=1, τότε αναστρέφουμε το αποτέλεσμα if( c->p ) nextb1 = ( (nextb1 << 1) ((nextb1 >> 3) & 1) ) & 0xf; // T3 = αποκλειστική διάζευξη όλων των δεδομένων εισόδου c->d = c->e ^ c->z ^ extrb; // T4 = άθροισμα των Z E r nexte = c->f; if( c->q ) c->f = c->z c->e c->r; // r is the crry c->r = (c->f >> 4) & 1; c->f = c->f & 0x0f; else c->f = c->e; c->e = nexte; for( k = 10; k > 1; k-- ) c->a[k] = c->a[k-1]; c->b[k] = c->b[k-1]; c->a[1] = nexta1; c->b[1] = nextb1; c->x = ((s4&1)<<3) ((s3&1)<<2) (s2&2) ((s1&2)>>1); c->y = ((s6&1)<<3) ((s5&1)<<2) (s4&2) ((s3&2)>>1); c->z = ((s2&1)<<3) ((s1&1)<<2) (s6&2) ((s5&2)>>1); c->p = (s7&2)>>1; c->q = (s7&1); // σε κάθε επανάληψη το κύκλωμα παράγει 2 bit τα οποία // παράγονται από το περιεχόμενο του καταχωρητή D με xor ανά 2 op = (op << 2)^ ( (((c->d^(c->d>>1))>>1)&2) ((c->d^(c->d>>1))&1) ); // στη φάση αρχικοποίησης επιστρέφουμε τα αρχικά δεδομένα cb[i] = binit? sb[i] : op; 36

37 2.4.1 Εισαγωγή 2.4 Μετάδοση δεδομένων Στο κεφάλαιο αυτό θα παρουσιάσουμε τα πρωτόκολλα που χρησιμοποιεί η εφαρμογή μας για τη μετάδοση των δεδομένων μιας ταινίας, αλλά και για την επικοινωνία των πελατών με το stremer. Για την κάλυψη αυτών των αναγκών επιλέχθηκε μια σουίτα πρωτοκόλλων που αναπτύχθηκε από το IETF και τα οποία σχεδιάστηκαν αποκλειστικά για χρήση σε εφαρμογές που χρησιμοποιούν δεδομένα πραγματικού χρόνου. Για τη μετάδοση των δεδομένων του stremer στους πελάτες του συστήματος επιλέξαμε το πρωτόκολλο RTP. Πρόκειται για ένα πρωτόκολλο που αναπτύχθηκε για να καλύψει τις ανάγκες εφαρμογών πολυμέσων που χρησιμοποιούν multicsting για τη μετάδοση των δεδομένων. Για την επικοινωνία της εφαρμογής του πελάτη με τον εξυπηρετητή, το πρόγραμμά μας χρησιμοποιεί το πρωτόκολλο RTSP. Τέλος, στο κεφάλαιο αυτό παρουσιάζουμε και το πρωτόκολλο sdp, το οποίο χρησιμεύει στην περιγραφή ρευμάτων δεδομένων Μεταφορά δεδομένων - Rel Time Trnsport Protocol(RTP) Για τη μετάδοση των ταινιών από το stremer στους πελάτες χρησιμοποιείται το πρωτόκολλο RTP. Το πρωτόκολλο αυτό καθορίζει έναν τρόπο μετάδοσης δεδομένων και αντιστοιχεί στο επίπεδο μεταφοράς δεδομένων του προτύπου OSI. Το RTP σχεδιάστηκε κυρίως για τη μετάδοση δεδομένων πραγματικού χρόνου, όπως ο ήχος και η εικόνα, μέσω της δυνατότητας multicst του πρωτοκόλλου, αν και τώρα πια χρησιμοποιείται και για unicst μεταδόσεις. Η ανάπτυξή του έγινε από το Audio- Visul Working group του IETF και το πρώτο επίσημο reference παρουσιάστηκε το 1996[11]. Το πρωτόκολλο αυτό αποτέλεσε την αφετηρία για την ανάπτυξη εξειδικεύσεων του πρωτοκόλλου για συγκεκριμένα πρότυπα συμπίεσης ήχου και εικόνας. Το πρωτόκολλο σε γενικές γραμμές καθορίζει ένα παραμετροποιήσιμο τρόπο πακετοποίησης δεδομένων πραγματικού χρόνου. Το κάθε πακέτο που παράγεται με βάση το RTP χρησιμοποιεί την πλατφόρμα TCP/IP για τη μετάδοσή του στο παραλήπτη. Η σχεδιαστική επιλογή της χρήσης ενός ακόμα ενδιάμεσου επιπέδου πακετοποίησης των δεδομένων των ρευμάτων της εφαρμογής μας έγινε κυρίως γιατί μας επιτρέπει να έχουμε ένα επίπεδο εμπιστοσύνης σε μια multicst udp σύνδεση. Ως γνωστόν, μια udp σύνδεση δε μας δίνει κάποια ασφάλεια σε ότι αφορά την παράδοση ενός πακέτου, ενώ η χρήση μίας tcp σύνδεσης, η οποία εξασφαλίζει υψηλή ασφάλεια κατά την αποστολή δεδομένων, δε μας παρέχει τη δυνατότητα multicsting που διαθέτει το udp πρωτόκολλο. Έτσι επιλέχθηκε το RTP ως πρωτόκολλο μετάδοσης δεδομένων. Όπως φαίνεται και παρακάτω στην παρουσίαση της δομής ενός RTP πακέτου, το πρωτόκολλο δίνει μέσω της σύνταξής του τη δυνατότητα να αναπτυχθούν έλεγχοι για τη σωστή αποστολή των δεδομένων αλλά και την ανάπτυξη δυνατοτήτων ανάνηψης από σφάλματα αποστολής δεδομένων[13]. Τέτοιες δυνατότητες, δυστυχώς, δεν αναπτύσσονται από την εφαρμογή μας, αλλά είναι εύκολο να υλοποιηθούν με τη χρήση του RTCP (RTP Control Protocol) πρωτοκόλλου. Το πρωτόκολλο γενικά παρέχει 4 βασικές δυνατότητες σε μια εφαρμογή: 1. Καθορισμός τύπου δεδομένων που μεταφέρει 2. Αρίθμηση πακέτων 3. Εισαγωγή χρονικών αναφορών 4. Παρακολούθηση παράδοσης πακέτων. Οι δυνατότητες αυτές δίνονται από τα πεδία της επικεφαλίδας. 37

38 Κάθε πακέτο αποτελείται από μια επικεφαλίδα και από τα δεδομένα του ρεύματος. Στο RTP καθορίζονται κάποια βασικά πεδία για την επικεφαλίδα τα οποία είναι υποχρεωτικό να υπάρχουν σε όλα τα πακέτα, ενώ καθορίζει και κάποια επιπλέον πεδία που μπορούν να καλύψουν τυχόν ανάγκες μιας εφαρμογής. Η γενική δομή ενός πακέτου εμφανίζεται και στην εικόνα Ver P S CC Μ PT sequence number timestmp rest of options nd dt Εικόνα 8: Πακέτο RTP Τα πρώτα 64 bit, όπως φαίνεται και παραπάνω, είναι δεδομένα σε κάθε RTP πακέτο, αποτελούν την επικεφαλίδα του και ορίζονται ως εξής: protocol version (2 bit): Το πεδίο αυτό καθορίζει την έκδοση του πρωτοκόλλου που χρησιμοποιείται από το RTP. Η τρέχουσα έκδοση του πρωτοκόλλου είναι η έκδοση 2 (η τιμή 1 χρησιμοποιείτο από την προηγούμενη έκδοση του προγράμματος, ενώ η τιμή 0 χρησιμοποιείτο αρχικά κατά τις δοκιμές του πρωτοκόλλου). Pdding (1 bit): Το πεδίο αυτό καθορίζει αν το πακέτο μας περιέχει στο τέλος του κάποια extr bit. Ο αριθμός των bit αυτών καθορίζεται από το τελευταίο byte του πακέτου το οποίο καθορίζει πόσα ακριβώς bit θα πρέπει να παραλειφθούν, συμπεριλαμβανομένων και των 8 τελευταίων bit. Αυτά τα πρόσθετα bit τις περισσότερες φορές είναι απαραίτητα από αλγορίθμους κρυπτογράφησης, οι οποίοι απαιτούν δεδομένο μέγεθος πακέτου ως είσοδο. extension (1 bit): Το bit αυτό καθορίζει αν το πακέτο μας περιέχει μία ακριβώς προέκταση στην επικεφαλίδα του. Η προέκταση αυτή εμφανίζεται ακριβώς μετά το τέλος της καθορισμένης επικεφαλίδας. Το πρωτόκολλο RTP διαθέτει ένα μηχανισμό επέκτασης, ο οποίος επιτρέπει σε μια εφαρμογή να επεκτείνει την υπάρχουσα αρχιτεκτονική του και να προσθέτει νέα πεδία με πληροφορίες για το περιεχόμενο του πακέτου. Το RTP μέχρι στιγμής διαθέτει πλήθος διαφορετικών υλοποιήσεων ανάλογα το είδος των δεδομένων που μεταφέρει. Η επέκταση αυτή καθορίζει ένα τύπο δεδομένων που μπορεί να μεταφέρει ένα πακέτο ανεξάρτητα από τον τύπο δεδομένων που μπορεί να περιλαμβάνει, επιτρέποντας με αυτό τον τρόπο την αγνόηση αυτού του πεδίου από κάποια εφαρμογή. CSRC count (4 bit): Το πεδίο αυτό χρησιμοποιείται για τον καθορισμό του αριθμού των CSRC αναγνωριστικών τα οποία περιέχει το πακέτο. Τα CSRC αναγνωριστικά είναι αριθμοί 32 bit, οι οποίοι μπορούν να καθορίσουν μονοσήμαντα μια πηγή δεδομένων σε μια δεδομένη συνεδρία. Mrker (1 bit): Το πεδίο mrker δεν έχει κάποια δεδομένη λειτουργικότητα στο RTP και μπορεί να χρησιμοποιηθεί από την εφαρμογή με οποία σημασιολογία επιθυμεί. Γενικά, χρησιμοποιείται από το επίπεδο εφαρμογής για να σηματοδοτήσει σημαντικά γεγονότα για κάποια εφαρμογή, όπως τα όρια κάποιου πλαισίου. Το πρωτόκολλο επιτρέπει επίσης στην εφαρμογή να καθορίσει και πρόσθετα πεδία mrker. pylod type (7 bit): Το πεδίο αυτό χρησιμοποιείται για να καθορίσει τον τύπο των δεδομένων που μεταφέρονται από το πακέτο. Για τη σωστή διαχείριση του πρωτοκόλλου οι δημιουργοί του τονίζουν ότι είναι σημαντικό όταν αναπτύσσουμε μια εφαρμογή που χρησιμοποιεί το RTP να έχουμε καθορίσει από την αρχή μια αντιστοίχηση των διαφόρων ρευμάτων δεδομένων με αντίστοιχους κωδικούς για το πεδίο pylod type. Επίσης, το πρωτόκολλο καθορίζει ότι μια εφαρμογή που δεν καταλαβαίνει το pylod type ενός 38

39 πακέτου οφείλει να το αγνοήσει. sequence number (16 bit): Το πεδίο sequence number αυξάνει κατά ένα για κάθε πακέτο που αποστέλλει ο stremer στους πελάτες. Το πεδίο αυτό μπορεί να χρησιμοποιηθεί για τη διόρθωση της σειράς λήψης των πακέτων από τον πελάτη, ενώ παράλληλα επιτρέπει τον έλεγχο για τυχόν απώλειες πακέτων. Το πρωτόκολλο καθορίζει ότι η αρχική τιμή του πεδίου αυτού πρέπει πάντα να είναι τυχαία, για λόγους κυρίως ασφάλειας, σε περίπτωση που η μετάδοση των δεδομένων χρησιμοποιεί κρυπτογράφηση. timestmp (32 bit): Το πεδίο αυτό καθορίζει τη χρονική στιγμή που δημιουργήθηκαν τα δεδομένα του πακέτου. Η μονάδα μέτρησης για το καθορισμό της χρονικής στιγμής δεν καθορίζεται από το πρωτόκολλο, αλλά καθορίζεται ότι θα πρέπει να έχει μεγάλη διακριτική ικανότητα και να εξαρτάται από τη συχνότητα της πηγής δεδομένων. Επίσης, κάποια πακέτα μπορεί να έχουν κοινές τιμές στο πεδίο αυτό. SSRC (32 bit): Το πρωτόκολλο RTP επιτρέπει σε μια εφαρμογή να λαμβάνει δεδομένα από πολλές πηγές ταυτόχρονα. Για κάθε πηγή το πρωτόκολλο ορίζει ότι πρέπει να δημιουργείται ένα μοναδικό αναγνωριστικό για τη διάρκεια τη συνεδρίας. Το πεδίο λοιπόν αυτό περιλαμβάνει το αναγνωριστικό της πηγής με βάση την οποία θα γίνει ο συγχρονισμός δεδομένων του πακέτου. CSRC (32 bit): Το πεδίο αυτό καθορίζει τις πηγές από τις οποίες προήλθαν τα δεδομένα του πακέτου. Ο αριθμός των πηγών, που μπορεί να προήλθε το πακέτο, μπορεί να είναι μέχρι 15 και καθορίζεται από το πεδίο CC όπως είδαμε και πιο πριν. Το RTP πρωτόκολλο καθορίζει επίσης και ένα μηχανισμό επέκτασης. Ο μηχανισμός επέκτασης μπορεί να χρησιμοποιηθεί από κάποια εφαρμογή για την αποστολή δεδομένων, τα οποία δε μπορούν να περιγραφούν από τα υπάρχοντα πεδία ενός RTP πακέτου. Ένα τέτοιο πεδίο είναι εύκολο να αγνοηθεί από κάποια εφαρμογή, η οποία δεν αναγνωρίζει αυτή την προέκταση. Γενικά, μία προέκταση του RTP αποτελείται από ένα πεδίο 4 byte η σημασία του οποίου καθορίζεται από την εφαρμογή, ένα πεδίο length, το οποίο καθορίζει το μέγεθος της προέκτασης με μονάδα μέτρησης τα 4 bytes και τη τιμή του πεδίου καθορίζεται από την εφαρμογή επέκταση επικεφαλίδας Εικόνα 9: Πεδίο επέκτασης RTP μήκος Επικοινωνία Stremer και client Rel Time Streming Protocol(RTSP) Ένα σημαντικό κομμάτι της εργασίας που παρουσιάζουμε αναλώθηκε στη μελέτη και υλοποίηση ενός ευρέος αποδεκτού πρωτοκόλλου για την ασφαλή επικοινωνία μεταξύ του εξυπηρετητή πολυμέσων και των πελατών. Η επικοινωνία αυτή ήταν αναγκαία, καταρχήν για να μπορούν οι πελάτες να ενημερώνονται για τα κλειδιά κρυπτογράφησης δυναμικά, ενώ παράλληλα μας επιτρέπει να καθορίζουμε δυναμικά σε κάθε πελάτη τον τρόπο με τον οποίο θα παραλάβει τα δεδομένα του. Για την επικοινωνία των οντοτήτων αυτών τελικά επιλέγει το πρωτόκολλο RTSP, καθώς κάλυπτε τις ανάγκες που περιγράψαμε και αφετέρου ένα κομμάτι της υλοποίησης που απαιτούσε ήταν ήδη ενσωματωμένο στον κώδικα του vlc και η υλοποίησή του υπάρχει ήδη στις βιβλιοθήκες livemedi της live.com. Το RTSP είναι ένα πρωτόκολλο διαχείρισης ρευμάτων δεδομένων πραγματικού χρόνου. Αναπτύχθηκε από τον οργανισμό IETF και το πρώτο επίσημο RFC εκδόθηκε το 1998[X]. Το 39

40 πρωτόκολλο σε γενικές γραμμές επιτρέπει σε ένα χρήστη να συνδεθεί σε ένα εξυπηρετητή πολυμέσων και να ελέγξει τη λειτουργία του εξυπηρετητή απομακρυσμένα στέλνοντας κατάλληλα μηνύματα. Είναι ανεξάρτητο από το ρεύμα αποστολής δεδομένων, με την έννοια ότι δεν καθορίζει ούτε απαιτεί κάποιο δεδομένο τρόπο αποστολής των δεδομένων και προσφέρει ένα κοινά αποδεκτό τρόπο για την επικοινωνία μεταξύ του εξυπηρετητή και των πελατών για τη διαχείριση των ρευμάτων. Η ομάδα ανάπτυξης χρησιμοποίησε σαν βάση για τη δημιουργία του RTSP το HTTP. Βέβαια το πρωτόκολλο έχει και πολλές διαφορές από το HTTP, καθώς πολλά από τα χαρακτηριστικά του HTTP χρειάζονται επέκταση για να μπορούν να καλύπτουν τις ανάγκες ενός εξυπηρετητή πολυμέσων. Μερικές από τις πιο σημαντικές διαφορές είναι ότι το RTSP καθορίζει ένα σύνολο καταστάσεων για τους εμπλεκόμενους σε μια συνεδρία και ότι επιτρέπει και στον εξυπηρετητή να στέλνει αιτήματα στους πελάτες του. Το RTSP, όπως αναφέραμε και στην εισαγωγή, καθορίζει ένα σύνολο καταστάσεων τόσο για τους πελάτες όσο και για τους εξυπηρετητές της συνεδρίας (εικόνα 10). Οι καταστάσεις αυτές είναι παρόμοιες και για τις δύο κατηγορίες εμπλεκομένων και καθορίζονται ως εξής: 1. Init: Η κατάσταση Init είναι η αρχική κατάσταση κάθε συστήματος. Ο εξυπηρετητής βρίσκεται σε αυτήν την κατάσταση όταν είναι έτοιμος και αναμένει κάποια αίτηση SETUP για να ξεκινήσει τη δέσμευση πόρων αλλά δεν έχει ήδη λάβει κάποια μέχρι εκείνη τη στιγμή, ενώ οι πελάτες βρίσκονται σε αυτή τη κατάσταση μόνο όταν αναμένουν απάντηση για κάποιο SETUP μήνυμα που έχουν στείλει. 2. Redy: Στην κατάσταση Redy οι οντότητες που εμπλέκονται έχουν δεσμεύσει όλους τους αναγκαίους πόρους και είναι έτοιμες να αναπαράγουν τα μέσα. Σε αυτήν την κατάσταση βρίσκονται ο εξυπηρετητής και ο πελάτης όταν έχει αποσταλεί μια επιτυχής αίτηση SETUP ή όταν έχει αποσταλεί μια επιτυχής αίτηση PAUSE, ενώ η οντότητα ήταν σε κατάσταση plying. 3. Plying: Στην κατάσταση Ply βρίσκεται μια οντότητα της συνεδρίας RTSP όταν έχει ξεκινήσει η αναπαραγωγή των μέσων. Στην κατάσταση αυτή μπορούν να βρεθούν τόσο ο εξυπηρετητής όσο και ο πελάτης στην περίπτωση που έχει αποσταλεί επιτυχώς μια αίτηση PLAY. 4. Recording: Στην κατάσταση Record βρίσκεται μια οντότητα της συνεδρίας RTSP όταν έχει ξεκινήσει η καταγραφή των μέσων. Στην κατάσταση αυτή μπορούν να βρεθούν τόσο ο εξυπηρετητής όσο και ο πελάτης στη περίπτωση που έχει αποσταλεί επιτυχώς μια αίτηση RECORD. Η μετάβαση από μια κατάσταση σε κάποια άλλη, όπως φαίνεται από την παραπάνω περιγραφή αλλά και από την εικόνα 10, γίνετε μόνο κατά την ανταλλαγή μηνυμάτων (βέβαια σε αυτή τη γενική περίπτωση θα πρέπει να συμπεριλάβουμε και την τετριμμένη περίπτωση κατά την οποία έχουμε μια unicst σύνδεση και η σύνδεση αυτή διακόπτεται για κάποιο λόγο, οπότε όλα τα μέλη της μεταβαίνουν αυτόματα στην κατάσταση INIT). Εικόνα 10: Διάγραμμα καταστάσεων των οντοτήτων μίας RTSP συνεδρίας 40

Πτυχιακή Εργασία. του φοιτητή Χαράλαμπου Ρότσου

Πτυχιακή Εργασία. του φοιτητή Χαράλαμπου Ρότσου Πτυχιακή Εργασία του φοιτητή Χαράλαμπου Ρότσου Ανάπτυξη συστημάτων μετάδοσης και ασφάλειας σε δίκτυα μετάδοσης περιεχομένου για τη διανομή ψηφιακής τηλεόρασης Επιβλέπων Καθηγητής: Δουληγέρης Χρήστος Ιούνιος

Διαβάστε περισσότερα

Κωδικοποίηση βίντεο (MPEG)

Κωδικοποίηση βίντεο (MPEG) Κωδικοποίηση βίντεο (MPEG) Εισαγωγή στο MPEG-2 Κωδικοποίηση βίντεο Κωδικοποίηση ήχου Ροή δεδοµένων Εισαγωγή στο MPEG-4 οµή σκηνών Κωδικοποίηση ήχου και βίντεο Τεχνολογία Πολυµέσων 11-1 Εισαγωγή στο MPEG-2

Διαβάστε περισσότερα

Συνεχής ροή πολυµέσων

Συνεχής ροή πολυµέσων Συνεχής ροή πολυµέσων Εισαγωγή ικτυακά πρωτόκολλα Πολυµέσα και δίκτυα Συνεχής ροή Ροή από εξυπηρετητές ιστοσελίδων Ροή από εξυπηρετητές µέσων Πρωτόκολλο RTSP Πρωτόκολλο RTP οµή πακέτων RTP Πρωτόκολλο RTCP

Διαβάστε περισσότερα

ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΚΡΗΤΗΣ 2000-2006

ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΚΡΗΤΗΣ 2000-2006 ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΚΡΗΤΗΣ 2000-2006 ΜΕΤΡΟ 1.2 Κοινοπραξίες Έρευνας και Τεχνολογικής Ανάπτυξης σε τομείς Εθνικής Προτεραιότητας Παροχή υπηρεσιών τουριστικού και αρχαιολογικού ενδιαφέροντος μέσω πλατφόρμας

Διαβάστε περισσότερα

ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ. MPEG 2 bitstream και πολυπλεξία

ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ. MPEG 2 bitstream και πολυπλεξία ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ 3 MPEG 2 bitstream και πολυπλεξία 2 Μικρότερο δομικό στοιχείο: Το block 8x8 με τους συντελεστές DCT είτε για τη φωτεινότητα ή

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου ΚΕΦΑΛΑΙΟ 1.7 Πρωτόκολλα και Αρχιτεκτονική Δικτύου Επικοινωνία δύο σταθμών Ύπαρξη διαδρομής Αποκατάσταση σύνδεσης Ο σταθμός-πηγή πρέπει να ξέρει πότε ο σταθμός-προορισμός είναι έτοιμος να λάβει δεδομένα.

Διαβάστε περισσότερα

Βίντεο. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 06-1

Βίντεο. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 06-1 Βίντεο Εισαγωγή Χαρακτηριστικά του βίντεο Απόσταση θέασης Μετάδοση τηλεοπτικού σήματος Συμβατικά τηλεοπτικά συστήματα Ψηφιακό βίντεο Εναλλακτικά μορφότυπα Τηλεόραση υψηλής ευκρίνειας Κινούμενες εικόνες

Διαβάστε περισσότερα

Θέματα Συστημάτων Πολυμέσων. Ενότητα #3: Ιδιότητες μέσων Διδάσκων: Γεώργιος K. Πολύζος Τμήμα: Μεταπτυχιακό Πρόγραμμα Σπουδών Επιστήμη των Υπολογιστών

Θέματα Συστημάτων Πολυμέσων. Ενότητα #3: Ιδιότητες μέσων Διδάσκων: Γεώργιος K. Πολύζος Τμήμα: Μεταπτυχιακό Πρόγραμμα Σπουδών Επιστήμη των Υπολογιστών Θέματα Συστημάτων Πολυμέσων Ενότητα #3: Ιδιότητες μέσων Διδάσκων: Γεώργιος K. Πολύζος Τμήμα: Μεταπτυχιακό Πρόγραμμα Σπουδών Επιστήμη των Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 19: Τηλεδιάσκεψη Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 19: Τηλεδιάσκεψη Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 19: Τηλεδιάσκεψη Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

Διαβάστε περισσότερα

Πολυμέσα σε Δίκτυα Κινητών Συσκευών

Πολυμέσα σε Δίκτυα Κινητών Συσκευών Πολυμέσα σε Δίκτυα Κινητών Συσκευών Ποιότητα υπηρεσιών Βίντεο κατ' απαίτηση Πολυεκπομπή Βίντεο-συνομιλία Στοιχεία και προβλέψεις CISCO Το 60% της κίνησης δεδομένων στα Δίκτυα Κινητών αφορούσε σε βίντεο

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 8: Αρχές κωδικοποίησης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 8: Αρχές κωδικοποίησης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 8: Αρχές κωδικοποίησης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του

Διαβάστε περισσότερα

Συστήματα Πολυμέσων. Ενότητα 16: Διαμορφώσεις και Πρότυπα Ψηφιακού Βίντεο. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής

Συστήματα Πολυμέσων. Ενότητα 16: Διαμορφώσεις και Πρότυπα Ψηφιακού Βίντεο. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Συστήματα Πολυμέσων Ενότητα 16: Διαμορφώσεις και Πρότυπα Ψηφιακού Βίντεο Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ. Κωδικοποίηση εικόνας

ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ. Κωδικοποίηση εικόνας ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ 2 Κωδικοποίηση εικόνας Ακολουθία από ψηφιοποιημένα καρέ (frames) που έχουν συλληφθεί σε συγκεκριμένο ρυθμό frame rate (π.χ. 10fps,

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 17: Πρωτόκολλα μετάδοσης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 17: Πρωτόκολλα μετάδοσης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 17: Πρωτόκολλα μετάδοσης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του

Διαβάστε περισσότερα

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. 5.1 Γενικά Τα πρώτα δίκτυα χαρακτηρίζονταν από την «κλειστή» αρχιτεκτονική τους με την έννοια ότι αυτή ήταν γνωστή μόνο στην εταιρία που την είχε σχεδιάσει. Με τον

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 4: Ήχος Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 4: Ήχος Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 4: Ήχος Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το

Διαβάστε περισσότερα

Πολυμέσα. Συμπίεση δεδομένων Κωδικοποίηση MPEG. Δρ. Γεώργιος Π. Παυλίδης ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΡΑΚΗΣ

Πολυμέσα. Συμπίεση δεδομένων Κωδικοποίηση MPEG. Δρ. Γεώργιος Π. Παυλίδης ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΡΑΚΗΣ Πολυμέσα Συμπίεση δεδομένων Κωδικοποίηση MPEG Δρ. Γεώργιος Π. Παυλίδης Συμπίεση Δεδομένων Περιεχόμενα Γνωστοίαλγόριθμοισυμπίεσης MPEG Χρησιμοποίηση Εφαρμογές Εκμάθηση Σχεδίαση Διασύνδεση χρήστη Υπηρεσίες

Διαβάστε περισσότερα

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Μετάδοσης Δεδομένων. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Μετάδοσης Δεδομένων. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ Δίκτυα Μετάδοσης Δεδομένων Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές Γενικά Διδάσκουσα: Ελένη Αικατερίνη Λελίγκου Γραφείο ΖΑ202. Ε-mail:

Διαβάστε περισσότερα

Αρχές κωδικοποίησης. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 08-1

Αρχές κωδικοποίησης. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 08-1 Αρχές κωδικοποίησης Απαιτήσεις κωδικοποίησης Είδη κωδικοποίησης Κωδικοποίηση εντροπίας Διαφορική κωδικοποίηση Κωδικοποίηση μετασχηματισμών Στρωματοποιημένη κωδικοποίηση Κβαντοποίηση διανυσμάτων Τεχνολογία

Διαβάστε περισσότερα

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ Δίκτυα Υπολογιστών Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές Γενικά Τα αρχεία των διαλέξεων του μαθήματος μπορείτε να βρείτε στο: http://eclass.gunet.gr/

Διαβάστε περισσότερα

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ Δίκτυα Υπολογιστών Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές Γενικά Διδάσκουσα: Ελένη Αικατερίνη Λελίγκου Γραφείο ΖΑ202. Ε-mail: e.leligkou@puas.gr

Διαβάστε περισσότερα

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ

Διαβάστε περισσότερα

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα 1.7 - Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Πρωτόκολλο είναι ένα σύνολο κανόνων που πρέπει να ακολουθήσουν όλοι οι σταθμοί εργασίας σε ένα δίκτυο ώστε να μπορούν

Διαβάστε περισσότερα

Δίκτυα Θεωρία

Δίκτυα Θεωρία Δίκτυα Θεωρία 2016-17 Κεφάλαιο 5 1. Τι γνωρίζετε για τα Δίκτυα Ευρείας Περιοχής; Τα τοπικά δίκτυα αποτελούν πολύ καλή λύση για επικοινωνία με περιορισμένη, όμως, απόσταση κάλυψης. Για να ικανοποιηθεί η

Διαβάστε περισσότερα

Εισαγωγή στις τεχνολογίες μετάδοσης

Εισαγωγή στις τεχνολογίες μετάδοσης Εισαγωγή στις τεχνολογίες μετάδοσης Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Copyright

Διαβάστε περισσότερα

5.1.4 Τεχνολογίες Ψηφιακής Συνδρομητικής Γραμμής (xdsl)

5.1.4 Τεχνολογίες Ψηφιακής Συνδρομητικής Γραμμής (xdsl) 5.1.4 Τεχνολογίες Ψηφιακής Συνδρομητικής Γραμμής (xdsl) 1 / 36 Το DSL προέρχεται από τα αρχικά των λέξεων Digital Subscriber Line (Ψηφιακή Συνδρομητική Γραμμή) και στην ουσία αποτελεί μια τεχνολογία που

Διαβάστε περισσότερα

Ραδιοτηλεοπτικά Συστήματα Ενότητα 5: Ψηφιοποίηση και συμπίεση σημάτων ήχου

Ραδιοτηλεοπτικά Συστήματα Ενότητα 5: Ψηφιοποίηση και συμπίεση σημάτων ήχου ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ραδιοτηλεοπτικά Συστήματα Ενότητα 5: Ψηφιοποίηση και συμπίεση σημάτων ήχου Δρ. Νικόλαος- Αλέξανδρος Τάτλας Τμήμα Ηλεκτρονικών

Διαβάστε περισσότερα

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο Αρχές Δικτύων Επικοινωνιών Επικοινωνίες Δεδομένων Μάθημα 4 ο Τα επικοινωνιακά δίκτυα και οι ανάγκες που εξυπηρετούν Για την επικοινωνία δύο συσκευών απαιτείται να υπάρχει μεταξύ τους σύνδεση από σημείο

Διαβάστε περισσότερα

Ήχος. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 04-1

Ήχος. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 04-1 Ήχος Χαρακτηριστικά του ήχου Ψηφιοποίηση με μετασχηματισμό Ψηφιοποίηση με δειγματοληψία Κβαντοποίηση δειγμάτων Παλμοκωδική διαμόρφωση Συμβολική αναπαράσταση μουσικής Τεχνολογία Πολυμέσων και Πολυμεσικές

Διαβάστε περισσότερα

DVB (DVB-S, DVB-C, DVB-T, DVB-H)

DVB (DVB-S, DVB-C, DVB-T, DVB-H) 1 Το DVB (Digital Video Broadcasting) αναφέρεται στην µετάδοση ψηφιακού βίντεο και περιλαµβάνει τα εξής συστήµατα µετάδοσης: 1. Τα δορυφορικά συστήµατα DVB-S και DVB-S2 2. Το καλωδιακό σύστηµα DVB-C 3.

Διαβάστε περισσότερα

Συστήματα Πολυμέσων. Ενότητα 12: Συμπίεση Ψηφιακού Ήχου. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Συστήματα Πολυμέσων. Ενότητα 12: Συμπίεση Ψηφιακού Ήχου. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Συστήματα Πολυμέσων Ενότητα 12: Συμπίεση Ψηφιακού Ήχου Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Πολυμέσα πάνω από κινητά δίκτυα

Πολυμέσα πάνω από κινητά δίκτυα Πολυμέσα πάνω από κινητά δίκτυα Γιώργος Τζιρίτας Τμήμα Επιστήμης Υπολογιστών http://www.csd.uoc.gr/~tziritas Άνοιξη 2016 1 Πολυμέσα σε ασύρματα δίκτυα Οι πολυμεσικές επικοινωνίες μέσω φορητών συσκευών

Διαβάστε περισσότερα

Ραδιοτηλεοπτικά Συστήματα Ενότητα 6: Οργάνωση πληροφορίας, και κρυπτογραφία

Ραδιοτηλεοπτικά Συστήματα Ενότητα 6: Οργάνωση πληροφορίας, και κρυπτογραφία ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ραδιοτηλεοπτικά Συστήματα Ενότητα 6: Οργάνωση πληροφορίας, και κρυπτογραφία Δρ. Νικόλαος- Αλέξανδρος Τάτλας Τμήμα Ηλεκτρονικών

Διαβάστε περισσότερα

Τηλεπικοινωνιακά Συστήματα Ι

Τηλεπικοινωνιακά Συστήματα Ι Τηλεπικοινωνιακά Συστήματα Ι Διάλεξη 10: Παλμοκωδική Διαμόρφωση, Διαμόρφωση Δέλτα και Πολύπλεξη Διαίρεσης Χρόνου Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Παλμοκωδική Διαμόρφωση (PCM) Παλμοκωδική Διαμόρφωση

Διαβάστε περισσότερα

Δίκτυα Επικοινωνιών ΙΙ: ATM

Δίκτυα Επικοινωνιών ΙΙ: ATM Δίκτυα Επικοινωνιών ΙΙ: ATM Δρ. Απόστολος Γκάμας Διδάσκων (407/80) gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 1 Θέματα διάλεξης Στόχοι ΑΤΜ Αρχιτεκτονική ΑΤΜ Κατακόρυφα επίπεδα (planes) Οριζόντια

Διαβάστε περισσότερα

Δίκτυα ATM. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 21-1

Δίκτυα ATM. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 21-1 Δίκτυα ATM Εισαγωγή Εικονικά κυκλώματα Πακέτα και κελιά Δρομολόγηση και προώθηση Ιεραρχία πρωτοκόλλων Επίπεδα προσαρμογής Ποιότητα υπηρεσίας Υποστήριξη IP Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 13: Κωδικοποίηση βίντεο: MPEG Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 13: Κωδικοποίηση βίντεο: MPEG Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 13: Κωδικοποίηση βίντεο: MPEG Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου

Διαβάστε περισσότερα

Κεφάλαιο 3 Πολυπλεξία

Κεφάλαιο 3 Πολυπλεξία Κεφάλαιο 3 Πολυπλεξία Μάθημα 3.1: Μάθημα 3.2: Μάθημα 3.3: Πολυπλεξία επιμερισμού συχνότητας χρόνου Συγκριτική αξιολόγηση τεχνικών πολυπλεξίας Στατιστική πολυπλεξία Μετάδοση Δεδομένων Δίκτυα Υπολογιστών

Διαβάστε περισσότερα

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα. λ από τον ρυθμό μετάδοσής της. Υποθέτοντας ότι ο κόμβος A

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα. λ από τον ρυθμό μετάδοσής της. Υποθέτοντας ότι ο κόμβος A ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧ/ΚΩΝ ΚΑΙ ΜΗΧ. ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΕΠΙΚΟΙΝΩΝΙΩΝ, ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα 1. Στο δίκτυο

Διαβάστε περισσότερα

ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ. Εισαγωγή

ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ. Εισαγωγή ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ 1 Εισαγωγή Το μάθημα «Αρχές Ψηφιακής Τηλεόρασης» εξετάζει τις τεχνολογίες και τους μηχανισμούς που παρεμβάλλονται για να διανεμηθεί

Διαβάστε περισσότερα

ιεθνής Αερολιµένας Αθηνών Τεχνολογίες ροής δεδοµένων σε ΙΡ δίκτυα: Ένας δρόµος προς τα συστήµατα πληροφόρησης επιβατών επόµενης γενιάς

ιεθνής Αερολιµένας Αθηνών Τεχνολογίες ροής δεδοµένων σε ΙΡ δίκτυα: Ένας δρόµος προς τα συστήµατα πληροφόρησης επιβατών επόµενης γενιάς ιεθνής Αερολιµένας Αθηνών Τεχνολογίες ροής δεδοµένων σε ΙΡ δίκτυα: Ένας δρόµος προς τα συστήµατα πληροφόρησης επιβατών επόµενης γενιάς Σύστηµα πληροφόρησης επιβατών Σύστηµα πληροφόρησης επιβατών επόµενης

Διαβάστε περισσότερα

Ψηφιοποίηση και Ψηφιακή Επεξεργασία Εικόνας

Ψηφιοποίηση και Ψηφιακή Επεξεργασία Εικόνας Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Ψηφιοποίηση και Ψηφιακή Επεξεργασία Εικόνας Ενότητα 7: Πρότυπα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 10: Κωδικοποίηση ήχου Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 10: Κωδικοποίηση ήχου Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 10: Κωδικοποίηση ήχου Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

Διαβάστε περισσότερα

Πρωτόκολλα Διαδικτύου

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Μέρος 1ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Εισαγωγή στην Τεχνολογία TCP/IP To TCP/IP σημαίνει Transmission Control Protocol / Internet Protocol και θα μπορούσε να θεωρηθεί ότι πρόκειται

Διαβάστε περισσότερα

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Αρχές Δικτύων Επικοινωνιών Σελ. 9-50 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr http://diktya-epal-b.ggia.info/ Creative Commons License 3.0 Share-Alike Σύνδεση από σημείο

Διαβάστε περισσότερα

Εξάμηνο σπουδών: Τεχνολογία Συστημάτων Ήχου, Εικόνας και Εκπομπής

Εξάμηνο σπουδών: Τεχνολογία Συστημάτων Ήχου, Εικόνας και Εκπομπής Εξάμηνο σπουδών: Τίτλος Μαθήματος: Αγγλικός Τίτλος: Μορφή Μαθήματος: Β Τεχνολογία Συστημάτων Ήχου, Εικόνας και Εκπομπής Audio, Video and Broadcasting Technology Θεωρία με τεσσάρων (4) ωρών / εβδομάδα Εργαστηριακές

Διαβάστε περισσότερα

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧ/ΚΩΝ ΚΑΙ ΜΗΧ. ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΕΠΙΚΟΙΝΩΝΙΩΝ, ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα 1. Μήνυμα μήκους

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ - ΑΣΚΗΣΕΙΣ 1. Έστω ότι θέλετε να συνδέσετε 20 υπολογιστές με συνδέσεις από σημείο σε σημείο (point-to-point), ώστε να είναι δυνατή η επικοινωνία όλων

Διαβάστε περισσότερα

Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω:

Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω: Σημειώσεις Δικτύων Αναλογικά και ψηφιακά σήματα Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω: Χαρακτηριστικά

Διαβάστε περισσότερα

Αρχές κωδικοποίησης. Τεχνολογία Πολυµέσων 08-1

Αρχές κωδικοποίησης. Τεχνολογία Πολυµέσων 08-1 Αρχές κωδικοποίησης Απαιτήσεις κωδικοποίησης Είδη κωδικοποίησης Βασικές τεχνικές κωδικοποίησης Κωδικοποίηση Huffman Κωδικοποίηση µετασχηµατισµών Κβαντοποίηση διανυσµάτων ιαφορική κωδικοποίηση Τεχνολογία

Διαβάστε περισσότερα

ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΚΡΗΤΗΣ 2000-2006

ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΚΡΗΤΗΣ 2000-2006 ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΚΡΗΤΗΣ 2000-2006 ΜΕΤΡΟ 1.2 Κοινοπραξίες Έρευνας και Τεχνολογικής Ανάπτυξης σε τοµείς Εθνικής Προτεραιότητας Παροχή υπηρεσιών τουριστικού και αρχαιολογικού ενδιαφέροντος µέσω πλατφόρµας

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 20: Υπηρεσίες καλύτερης προσπάθειας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 20: Υπηρεσίες καλύτερης προσπάθειας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 20: Υπηρεσίες καλύτερης προσπάθειας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 18: Ροή πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 18: Ροή πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 18: Ροή πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

Διαβάστε περισσότερα

6.1 Επεκτείνοντας το δίκτυο 6.2 Επιλεγόμενες τηλεφωνικές γραμμές modems Πλεονεκτήματα Μειονεκτήματα Βασική χρήση

6.1 Επεκτείνοντας το δίκτυο 6.2 Επιλεγόμενες τηλεφωνικές γραμμές modems Πλεονεκτήματα Μειονεκτήματα Βασική χρήση 6.1 Επεκτείνοντας το δίκτυο Τοπικά δίκτυα (LAN): επικοινωνία με περιορισμένη απόσταση κάλυψης (μικρή εμβέλεια) Δίκτυα Ευρείας Περιοχής (WAN): επικοινωνία σε ευρύτερη γεωγραφική κάλυψη. Από την άποψη του

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 6: Βίντεο Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 6: Βίντεο Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 6: Βίντεο Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το

Διαβάστε περισσότερα

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP Πρωτόκολλα επικοινωνίας Ορισμός Σύνολα προσυμφωνημένων κανόνων που απαιτούνται για τον καθορισμό του τρόπου με τον οποίο επιτυγχάνεται η ανταλλαγή δεδομένων, και επομένως

Διαβάστε περισσότερα

Τι συσχετίζεται με τον ήχο

Τι συσχετίζεται με τον ήχο ΗΧΟΣ Τι συσχετίζεται με τον ήχο Υλικό Κάρτα ήχου Προενυσχιτής Equalizer Ενισχυτής Ηχεία Χώρος Ανθρώπινη ακοή Ψυχοακουστικά φαινόμενα Ηχητική πληροφορία Σημείο αναφοράς 20 μpa Εύρος συχνοτήτων Δειγματοληψία

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 15: Συγχρονισμός πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 15: Συγχρονισμός πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 15: Συγχρονισμός πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου

Διαβάστε περισσότερα

Περιεχόµενα. ΕΠΛ 422: Συστήµατα Πολυµέσων. Μέθοδοι συµπίεσης ηχητικών. Βιβλιογραφία. Κωδικοποίηση µε βάση την αντίληψη.

Περιεχόµενα. ΕΠΛ 422: Συστήµατα Πολυµέσων. Μέθοδοι συµπίεσης ηχητικών. Βιβλιογραφία. Κωδικοποίηση µε βάση την αντίληψη. Περιεχόµενα ΕΠΛ 422: Συστήµατα Πολυµέσων Συµπίεση Ήχου Μέθοδοι συµπίεσης ηχητικών σηµάτων DPCM Συµπίεση σηµάτων οµιλίας Κωδικοποίηση µε βάση την αντίληψη Χαρακτηριστικά και εφαρµογές Ψυχοακουστική (psychoacoustics)

Διαβάστε περισσότερα

Θέματα Συστημάτων Πολυμέσων. Ενότητα # 11: RTSP Διδάσκων: Γεώργιος K. Πολύζος Τμήμα: Μεταπτυχιακό Πρόγραμμα Σπουδών «Επιστήμη των Υπολογιστών»

Θέματα Συστημάτων Πολυμέσων. Ενότητα # 11: RTSP Διδάσκων: Γεώργιος K. Πολύζος Τμήμα: Μεταπτυχιακό Πρόγραμμα Σπουδών «Επιστήμη των Υπολογιστών» Θέματα Συστημάτων Πολυμέσων Ενότητα # 11: RTSP Διδάσκων: Γεώργιος K. Πολύζος Τμήμα: Μεταπτυχιακό Πρόγραμμα Σπουδών «Επιστήμη των Υπολογιστών» Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

ITU-T : H.261 (1990), H.262 (1996), H.263 (1995) MPEG-1, MPEG-2, MPEG-4. Αποθήκευση, Μετάδοση, Επικοινωνίες, ίκτυα

ITU-T : H.261 (1990), H.262 (1996), H.263 (1995) MPEG-1, MPEG-2, MPEG-4. Αποθήκευση, Μετάδοση, Επικοινωνίες, ίκτυα Συµπίεση/κωδικοποίηση βίντεο ITU-T : H.261 (1990), H.262 (1996), H.263 (1995) Συνδιάσκεψη : ISDN, ATM, LANs, Internet, PSTN MPEG-1, MPEG-2, MPEG-4 Αποθήκευση, Μετάδοση, Επικοινωνίες, ίκτυα 1 H.261 : εισαγωγή

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

Σχεδίαση και Ανάπτυξη Ιστότοπων

Σχεδίαση και Ανάπτυξη Ιστότοπων Σχεδίαση και Ανάπτυξη Ιστότοπων Ιστορική Εξέλιξη του Παγκόσμιου Ιστού Παρουσίαση 1 η 1 Βελώνης Γεώργιος Καθηγητής Περιεχόμενα Τι είναι το Διαδίκτυο Βασικές Υπηρεσίες Διαδικτύου Προηγμένες Υπηρεσίες Διαδικτύου

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

Διαβάστε περισσότερα

ηµοτικό ιαδικτυακό Ραδιόφωνο και Τηλεόραση

ηµοτικό ιαδικτυακό Ραδιόφωνο και Τηλεόραση Κατάρτιση και Πιστοποίηση σε βασικές εξιότητες και Κατάρτιση σε Προηγµένες εξιότητες στη Χρήση Τεχνολογιών Πληροφορικής & Επικοινωνιών Εργαζόµενων στην Τοπική Αυτοδιοίκηση ηµοτικό ιαδικτυακό Ραδιόφωνο

Διαβάστε περισσότερα

Τι είναι τα πολυμέσα;

Τι είναι τα πολυμέσα; ΕΝΟΤΗΤΑ Κεφάλαιο 3: Πολυμέσα Α τάξη Λέξεις Κλειδιά: Ανάλυση εικόνας, αναλογικό σήμα, αλληλεπιδραστικότητα (interactivity), βάθος χρώματος, δειγματοληψία, εικονοστοιχείο (pixel), Πολυμέσα (Multimedia),

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας Δίκτυα Υπολογιστών Firewalls Χάρης Μανιφάβας 1 Επικοινωνία Βασίζεται στη μεταβίβαση μηνυμάτων (λόγω απουσίας διαμοιραζόμενης μνήμης) Απαιτείται συμφωνία φόρμας μηνυμάτων Πρότυπο Στόχος τυποποίησης = Συνεργασία

Διαβάστε περισσότερα

Ανάλυση Διατάξεων Εκπομπής σε Συστήματα Ψηφιακής Τηλεόρασης Υψηλής Ευκρίνειας

Ανάλυση Διατάξεων Εκπομπής σε Συστήματα Ψηφιακής Τηλεόρασης Υψηλής Ευκρίνειας ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ Ανάλυση Διατάξεων Εκπομπής σε Συστήματα Ψηφιακής Τηλεόρασης Υψηλής Ευκρίνειας Φλώρος Άγγελος ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

Διαβάστε περισσότερα

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΡΟΜΠΟΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΜΠΑΝΤΗΣ ΑΝΤΩΝΙΟΣ 533 ΤΣΙΚΤΣΙΡΗΣ ΔΗΜΗΤΡΙΟΣ 551 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΡΟΜΠΟΤ LEGO NXT Το ρομπότ

Διαβάστε περισσότερα

ηµοτικό ιαδικτυακό Ραδιόφωνο και Τηλεόραση

ηµοτικό ιαδικτυακό Ραδιόφωνο και Τηλεόραση Κατάρτιση και Πιστοποίηση σε βασικές εξιότητες και Κατάρτιση σε Προηγµένες εξιότητες στη Χρήση Τεχνολογιών Πληροφορικής & Επικοινωνιών Εργαζόµενων στην Τοπική Αυτοδιοίκηση ηµοτικό ιαδικτυακό Ραδιόφωνο

Διαβάστε περισσότερα

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής ioannis@di.uoa.gr. http://www.di.uoa.gr/~ioannis/courses.html Password: edi

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής ioannis@di.uoa.gr. http://www.di.uoa.gr/~ioannis/courses.html Password: edi ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ιωάννης Σταυρακάκης, Καθηγητής ioannis@di.uoa.gr http://www.di.uoa.gr/~ioannis/courses.html Password: edi Δίκτυα Επικ. - Κεφ. 1 ( Καθ. Ι. Σταυρακάκης, Τμήμα Πληροφ. & Τηλεπικ. - Ε.Κ.Π.Α.)

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 12: Κωδικοποίηση βίντεο: H.26x Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 12: Κωδικοποίηση βίντεο: H.26x Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 12: Κωδικοποίηση βίντεο: H.26x Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών 1 ίκτυα μικρά και μεγάλα Ένα δίκτυο υπολογιστών (computer network) είναι ένας συνδυασμός συστημάτων (δηλαδή, υπολογιστών),

Διαβάστε περισσότερα

ηµοτικό ιαδικτυακό Ραδιόφωνο και Τηλεόραση

ηµοτικό ιαδικτυακό Ραδιόφωνο και Τηλεόραση Κατάρτιση και Πιστοποίηση σε βασικές εξιότητες και Κατάρτιση σε Προηγµένες εξιότητες στη Χρήση Τεχνολογιών Πληροφορικής & Επικοινωνιών Εργαζόµενων στην Τοπική Αυτοδιοίκηση ηµοτικό ιαδικτυακό Ραδιόφωνο

Διαβάστε περισσότερα

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Λαμπαδαρίδης Αντώνιος el04148@mail.ntua.gr Διπλωματική εργασία στο Εργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Επιβλέπων: Καθηγητής Τ. Σελλής Περίληψη

Διαβάστε περισσότερα

Κωδικοποίηση ήχου. Κωδικοποίηση καναλιού φωνής Κωδικοποίηση πηγής φωνής Αντιληπτική κωδικοποίηση Κωδικοποίηση ήχου MPEG

Κωδικοποίηση ήχου. Κωδικοποίηση καναλιού φωνής Κωδικοποίηση πηγής φωνής Αντιληπτική κωδικοποίηση Κωδικοποίηση ήχου MPEG Κωδικοποίηση ήχου Κωδικοποίηση καναλιού φωνής Κωδικοποίηση πηγής φωνής Αντιληπτική κωδικοποίηση Κωδικοποίηση ήχου MPEG Τεχνολογία Πολυµέσων και Πολυµεσικές Επικοινωνίες 10-1 Κωδικοποίηση καναλιού φωνής

Διαβάστε περισσότερα

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ Ενότητα 1 Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ Εύρος Ζώνης και Ταχύτητα Μετάδοσης Η ταχύτητα µετάδοσης [εύρος ζώνης (banwidth)] των δεδοµένων αποτελεί ένα δείκτη επίδοσης των δικτύων και συνήθως

Διαβάστε περισσότερα

Κεφάλαιο 2. Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον. Υπηρεσίες Διαδικτύου

Κεφάλαιο 2. Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον. Υπηρεσίες Διαδικτύου Κεφάλαιο 2 Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον Υπηρεσίες Διαδικτύου Υπηρεσίες Διαδικτύου Επικοινωνία σε πραγματικό χρόνο Ανταλλαγή Στιγμιαίων Μηνυμάτων (Instant messaging)

Διαβάστε περισσότερα

Παλμοκωδική Διαμόρφωση. Pulse Code Modulation (PCM)

Παλμοκωδική Διαμόρφωση. Pulse Code Modulation (PCM) Παλμοκωδική Διαμόρφωση Pulse Code Modulation (PCM) Pulse-code modulation (PCM) Η PCM είναι ένας στοιχειώδης τρόπος διαμόρφωσης που δεν χρησιμοποιεί φέρον! Το μεταδιδόμενο (διαμορφωμένο) σήμα PCM είναι

Διαβάστε περισσότερα

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ 1 o ΔΙΑΓΩΝΙΣΜΑ ΘΕΜΑ 1 ο Α) Ποια είναι τα βασικά στοιχεία, τα οποία χαρακτηρίζουν το ISDN; Η ψηφιακή μετάδοση. Όλα τα σήματα μεταδίδονται σε ψηφιακή μορφή απ' άκρη σ' άκρη του δικτύου,

Διαβάστε περισσότερα

2. ΨΗΦΙΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ

2. ΨΗΦΙΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ 2. ΨΗΦΙΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ Περιγραφή πληροφορίας. Η πληροφορία περιγράφεται σαν μία ή περισσότερες χρονικές ή χωρικές μεταβλητές. Μετατρέπει την φυσική ποσότητα σε ηλεκτρικό σήμα To σήμα αναπαριστά το

Διαβάστε περισσότερα

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μαθήματα 6 και 7 Αναπαράσταση της Πληροφορίας στον Υπολογιστή. 1 Στέργιος Παλαμάς

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μαθήματα 6 και 7 Αναπαράσταση της Πληροφορίας στον Υπολογιστή. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μαθήματα 6 και 7 Αναπαράσταση της Πληροφορίας στον Υπολογιστή 1 1. Αριθμοί: Το Δυαδικό Σύστημα Οι ηλεκτρονικοί υπολογιστές

Διαβάστε περισσότερα

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Αρχές Δικτύων Επικοινωνιών Τι είναι επικοινωνία; Είναι η διαδικασία αποστολής πληροφοριών από ένα πομπό σε κάποιο δέκτη. Η Τηλεπικοινωνία είναι η επικοινωνία από απόσταση (τηλε-).

Διαβάστε περισσότερα

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

Διαβάστε περισσότερα

Οι βασικές βαθμίδες του συστήματος των δορυφορικών επικοινωνιών δίνονται στο παρακάτω σχήμα :

Οι βασικές βαθμίδες του συστήματος των δορυφορικών επικοινωνιών δίνονται στο παρακάτω σχήμα : Εισαγωγικά Τα δορυφορικά δίκτυα επικοινωνίας αποτελούν ένα σημαντικό τμήμα των σύγχρονων τηλεπικοινωνιακών συστημάτων. Οι δορυφόροι παρέχουν τη δυνατότητα κάλυψης μεγάλων γεωγραφικών περιοχών. Η δυνατότητα

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 2: Εφαρμογές πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 2: Εφαρμογές πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 2: Εφαρμογές πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του

Διαβάστε περισσότερα

ΕΙΔΗ ΠΛΑΙΣΙΩΝ Ενδο-πλαισιακή κωδικοποίηση (Intra- frame Coding): Δια-πλαισιακή κωδικοποίηση (Inter-frame Coding):

ΕΙΔΗ ΠΛΑΙΣΙΩΝ Ενδο-πλαισιακή κωδικοποίηση (Intra- frame Coding): Δια-πλαισιακή κωδικοποίηση (Inter-frame Coding): ΕΙΔΗ ΠΛΑΙΣΙΩΝ Ενδο-πλαισιακή κωδικοποίηση (Intraframe Coding): κάθε εικόνα αντιμετωπίζεται και κωδικοποιείται ανεξάρτητα από τις υπόλοιπες (όπως στο JPEG) Δια-πλαισιακή κωδικοποίηση (Inter-frame Coding):

Διαβάστε περισσότερα

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής Password: edi

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής  Password: edi ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ιωάννης Σταυρακάκης, Καθηγητής ioannis@di.uoa.gr http://www.di.uoa.gr/~ioannis/courses.html Password: edi Δίκτυα Επικ. - Κεφ. 1 ( Καθ. Ι. Σταυρακάκης, Τμήμα Πληροφ. & Τηλεπικ. - Ε.Κ.Π.Α.)

Διαβάστε περισσότερα

7.2.2 Σχέση OSI και TCP/IP

7.2.2 Σχέση OSI και TCP/IP Κεφάλαιο 7 7.2.2 Σχέση OSI και TCP/IP Σελ. 226-230 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr ΕΣΠΕΡΙΝΟ ΕΠΑΛ Κομοτηνής http://diktya-epal-g.ggia.info/ Γνωστό μοντέλο OSI διασύνδεσης ανοικτών συστημάτων.

Διαβάστε περισσότερα

Ψηφιακή Επεξεργασία Σηµμάτων

Ψηφιακή Επεξεργασία Σηµμάτων Ψηφιακή Επεξεργασία Σηµμάτων Διάλεξη 3: DSP for Audio ΚΩΔΙΚΟΠΟΙΗΣΗ ΚΑΙ ΣΥΜΠΙΕΣΗ ΗΧΗΤΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΤΟ ΠΡΟΤΥΠΟ ISO/IEC 11172-3 MPEG-1 Δρ. Θωµμάς Ζαρούχας Επιστηµμονικός Συνεργάτης Μεταπτυχιακό Πρόγραµμµμα:

Διαβάστε περισσότερα

Λειτουργικότητα και Τεχνικές Προδιαγραφές

Λειτουργικότητα και Τεχνικές Προδιαγραφές Λειτουργικότητα και Τεχνικές Προδιαγραφές Η ΕΔΕΤ Α.Ε. αναπτύσσει την Υπηρεσία Δίαυλος, μία ηλεκτρονική υπηρεσία ζωντανών διαδικτυακών μεταδόσεων εκδηλώσεων, ομιλιών, σεμιναρίων, επιστημονικών συνεδρίων

Διαβάστε περισσότερα

υπολογιστικών συστημάτων. Παρουσίαση με τίτλο "Περιεχόμενο, διαδικασία μαθήματος και εισαγωγή"

υπολογιστικών συστημάτων. Παρουσίαση με τίτλο Περιεχόμενο, διαδικασία μαθήματος και εισαγωγή 2. Α/Α Διάλεξης : 1 3. Τίτλος : Περιεχόμενο, διαδικασία μαθήματος και εισαγωγή 4. Μαθησιακοί Στόχοι : 1.Επεξήγηση της διαδικασίας του μαθήματος 2.Σύντομη περιγραφή της ύλης του μαθήματος 3.Περιγραφή των

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7.4 Πρωτόκολλο Μέχρι τώρα περιγράψαμε συνδέσεις, που χρησιμοποιούν το πρωτόκολλο TCP. Θυμηθείτε, ότι το TCP είναι υπεύθυνο για το τεμαχισμό των μηνυμάτων σε τμήματα και την επανασύνδεση τους στον προορισμό.

Διαβάστε περισσότερα

3. ΤΕΧΝΙΚΕΣ ΣΥΜΠΙΕΣΗΣ ΠΟΛΥΜΕΣΩΝ

3. ΤΕΧΝΙΚΕΣ ΣΥΜΠΙΕΣΗΣ ΠΟΛΥΜΕΣΩΝ 3. ΤΕΧΝΙΚΕΣ ΣΥΜΠΙΕΣΗΣ ΠΟΛΥΜΕΣΩΝ ΑΝΑΓΚΗ ΣΥΜΠΙΕΣΗΣ ΔΕΔΟΜΕΝΩΝ Local Multimedia Π.χ. Μία ταινία 90 min απαιτεί 120 GB, και τα σημερινά μέσα αποθήκευσης < 25 GB. Άρα σήμερα είναι αδύνατη η αποθήκευση και η

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 14: Κωδικοποίηση βίντεο: Η.264 Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 14: Κωδικοποίηση βίντεο: Η.264 Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 14: Κωδικοποίηση βίντεο: Η.264 Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου

Διαβάστε περισσότερα

Ανατομία ενός πομποδέκτη σταθμού βάσης HSDPA (Node-B)

Ανατομία ενός πομποδέκτη σταθμού βάσης HSDPA (Node-B) ΤΕΙ ΚΕΝΤΡΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΟΜΕΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ Ανατομία ενός πομποδέκτη σταθμού βάσης HSDPA (Node-B) Anatomy of a Node B (HSDPA)

Διαβάστε περισσότερα

ΠΑΡΑΓΩΓΗ ΚΑΙ ΕΠΕΞΕΡΓΑΣΙΑ ΣΗΜΑΤΟΣ

ΠΑΡΑΓΩΓΗ ΚΑΙ ΕΠΕΞΕΡΓΑΣΙΑ ΣΗΜΑΤΟΣ ΠΑΡΑΓΩΓΗ ΚΑΙ ΕΠΕΞΕΡΓΑΣΙΑ ΣΗΜΑΤΟΣ ΚΕΦΑΛΑΙΟ 3ο ΨΗΦΙΑΚΕΣ ΣΥΣΚΕΥΕΣ ΕΠΕΞΕΡΓΑΣΙΑΣ ΗΧΟΥ Αναλογικό και Ψηφιακό σήμα Τα αναλογικά μεγέθη μπορούμε να τα μετατρέψουμε σε ηλεκτρικά ή ψηφιακά σήματα. Μετατροπή Αναλογικού

Διαβάστε περισσότερα

Περιεχόµενα. Επικοινωνίες εδοµένων: Τρόποι Μετάδοσης και Πρωτόκολλα. Εισαγωγή

Περιεχόµενα. Επικοινωνίες εδοµένων: Τρόποι Μετάδοσης και Πρωτόκολλα. Εισαγωγή Επικοινωνίες εδοµένων: Τρόποι Μετάδοσης και Πρωτόκολλα Περιεχόµενα Εισαγωγή Επικοινωνία εδοµένων Αναλογική vs. Ψηφιακή Μετάδοση ιαµόρφωση σήµατος Κανάλια επικοινωνίας Κατεύθυνση και ρυθµοί µετάδοσης Ασύγχρονη

Διαβάστε περισσότερα

Πρόταση για τον ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΔΙΔΑΣΚΑΛΙΑΣ του μαθήματος της Τεχνολογίας Επικοινωνιών

Πρόταση για τον ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΔΙΔΑΣΚΑΛΙΑΣ του μαθήματος της Τεχνολογίας Επικοινωνιών Πρόταση για τον ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΔΙΔΑΣΚΑΛΙΑΣ του μαθήματος της Τεχνολογίας Επικοινωνιών Τεχνολογία Επικοινωνιών Β Ενιαίου Λυκείου Τεχνολογική Κατεύθυνση ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ 2 ώρες /εβδομάδα ΔΙΑΡΚΕΙΑ 28..εβδομάδες

Διαβάστε περισσότερα