You are on page 1of 439

Τεχνολογία Πολυμέσων

Διδάσκων: Γεώργιος Ξυλωμένος


Τμήμα: Πληροφορικής

Ενότητα # 1: Εισαγωγή
Σκοποί ενότητας
• Κατανόηση της έννοιας των μέσων και των
πολυμέσων
• Εξοικείωση με τις βασικές δομές των
δικτυακών συστημάτων πολυμέσων
• Παρουσίαση των προκλήσεων που
παρουσιάζουν τα πολυμέσα
• Κατανόηση του ρόλου των διαφόρων
εμπλεκόμενων στα πρότυπα πολυμέσων
4

Περιεχόμενα ενότητας
• Μέσα και πολυμέσα
• Πολυμέσα και δίκτυα
• Τι κάνει τα πολυμέσα δύσκολα;
• Πρότυπα και μορφότυπα

5
Μέσα και πολυμέσα

Τι είναι τα πολυμέσα; (1 από 2)


• Ποια είναι τα χαρακτηριστικά τους;
• Πολλά μέσα στον υπολογιστή
– Κείμενο, εικόνα, γραφικά (παραδοσιακά)
– Ήχος και βίντεο (νέα)
– Πιθανή αξιοποίηση πολλών αισθήσεων
• Μεγάλος όγκος πληροφοριών
– Συνδυασμός πολλών μορφών παρουσίασης

7
Τι είναι τα πολυμέσα; (2 από 2)
• Αλληλεπίδραση με το χρήστη
• Μετάδοση μέσω δικτύων υπολογιστών
• Ετυμολογία: πολύ (multi) + μέσα (media)
– Πολυμέσα: συνδυασμός πολλών μέσων
– Ένα περιοδικό είναι πολυμεσικό;
• Έχει κείμενο και εικόνες!

• Δεν υπάρχει κοινά αποδεκτός ορισμός

Χαρακτηριστικά μέσων
• Μέσο (medium): πολλές σημασίες
• Μέσα αντίληψης (των ανθρώπων)
– Όραση, ακοή, αφή
• Μέσα παρουσίασης (της πληροφορίας)
– Έξοδος: χαρτί, οθόνη και ηχεία
– Είσοδος: ποντίκι, κάμερα και μικρόφωνο
• Μέσα αναπαράστασης (της πληροφορίας)
– Κείμενο, ήχος, εικόνα, βίντεο
9
Τύποι μέσων
• Διακριτά μέσα: κείμενο, εικόνα
– Σταθερά στον χρόνο
– Δεν έχουν χρονική συνισταμένη
• Συνεχή μέσα: ήχος, βίντεο
– Μεταβολή μέσου με το χρόνο
– Συγκεκριμένος ρυθμός παρουσίασης
– Πιθανή ανάγκη συγχρονισμού με άλλα μέσα
• Η χρονική συνισταμένη εισάγει το συγχρονισμό

10

Ιδιότητες πολυμέσων (1 από 2)


• Δεν αρκεί ο συνδυασμός μέσων
– Ο συνδυασμός κειμένου και γραφικών;
• Συνδυασμός μέσων, αλλά:
– Αξιοποίηση συνεχών και διακριτών μέσων
– Εμπεριέχεται η διάσταση του χρόνου
• Βαθμός ανεξαρτησίας
– Ανεξάρτητος χειρισμός των διαφόρων μέσων

11
Ιδιότητες πολυμέσων (2 από 2)
• Υπολογιστικός έλεγχος
– Χειρισμός των μέσων με υπολογιστή
– Αναπαράσταση μέσων με ψηφιακό τρόπο
• Πολλά μέσα + ανεξαρτησία + έλεγχος
• Προαιρετικά: Αλληλεπίδραση με το χρήστη
– Όχι απαραίτητο, αλλά πολύ συνηθισμένο
– Επιλογή τρόπου και σειράς παρουσίασης

12

Δομή συστημάτων (1 από 2)

• Τομέας συσκευών
– Συσκευές εισόδου, εξόδου, επεξεργασίας
– Μέθοδοι επεξεργασίας εικόνων / γραφικών
– Τεχνικές συμπίεσης

13
Δομή συστημάτων (2 από 2)
• Τομέας συστήματος
– Λειτουργικό σύστημα, επικοινωνίες
• Τομέας εφαρμογών
– Εργαλεία δημιουργίας εφαρμογών
– Προγραμματιστικές λογικές αφαιρέσεις
• Τομέας συντονισμού
– Συγχρονισμός πολλαπλών μέσων
– Αγγίζει όλους τους τομείς

14

Πολυμέσα και δίκτυα


Δικτυακά πολυμέσα (1 από 5)

• Αυτόνομα (μη δικτυακά) συστήματα


– Περιεχόμενο σε CD-ROM ή DVD-ROM
– Περιορίζονται από τον αποθηκευτικό χώρο
– Δύσκολη ενημέρωση περιεχομένου
16

Δικτυακά πολυμέσα (2 από 5)


• Ισότιμα συστήματα
– Ισότιμα για την εφαρμογή
– Μπορεί να υπάρχουν
διακριτοί ρόλοι
• Συντονιστής σε
τηλεδιάσκεψη

17
Δικτυακά πολυμέσα (3 από 5)
• Οι δυνατότητές μπορεί να διαφέρουν σημαντικά
– Δικτυακές δυνατότητες
– Δυνατότητες επεξεργασίας
– Προβλήματα με πολλούς συμμετέχοντες
• Τηλεδιάσκεψη και ομαδική εργασία
– Αναγκαστική η χρήση του δικτύου
– Μικρές απαιτήσεις αποθήκευσης
– Μεγάλες απαιτήσεις συγχρονισμού

18

Δικτυακά πολυμέσα (4 από 5)


• Συστήματα πελάτη-
εξυπηρετητή
– Εξυπηρετητής
• Αποθήκευση και
επεξεργασία
• Παροχή πληροφοριών και
υπηρεσιών
• Ακριβός, απόσβεση από
πολλούς πελάτες

19
Δικτυακά πολυμέσα (5 από 5)
• Δικτυακά συστήματα πελάτη-εξυπηρετητή
– Πελάτες
• Απλοί σταθμοί εργασίες
• Οικονομικοί, απαιτούν χρήση εξυπηρετητών
– Διανομή μέσων, ανάκτηση πληροφοριών
• Μείωση κόστους εφαρμογής
• Ουσιαστικά «ενοικιάζουμε» τον εξυπηρετητή
– Σταδιακά αντικαθιστούν τα αυτόνομα

20

Μετάδοση πολυμέσων (1 από 6)


• Δίκτυα μεταγωγής κυκλωμάτων
– Εγγυημένο επίπεδο υπηρεσιών
– Μεγάλο κόστος
• Δίκτυα μεταγωγής πακέτων
– Μεταβλητή ποιότητα υπηρεσιών
– Χαμηλό κόστος
• Σύγχρονες πολυμεσικές εφαρμογές
– Ταιριάζουν στα δίκτυα μεταγωγής πακέτων

21
Μετάδοση πολυμέσων (2 από 6)
• Ροή δεδομένων
– Ακολουθία διαδοχικών πακέτων
– Συνεχή ή διακριτά μέσα
– Υλοποιείται με διάφορους τρόπους
• Ασύγχρονη Μετάδοση
– Δεν υπάρχουν χρονικοί περιορισμοί
– Ανεπαρκής για τα συνεχή μέσα

22

Μετάδοση πολυμέσων (3 από 6)


• Σύγχρονη Μετάδοση
– Άνω όριο καθυστέρησης μετάδοσης
– Κατάλληλη για τα συνεχή μέσα
– Μεγάλες ποσότητες δεδομένων ανά πάσα στιγμή
• Ισόχρονη Μετάδοση
– Άνω και κάτω όριο καθυστέρησης μετάδοσης
– Ομαλός ρυθμός μετάδοσης

23
Μετάδοση πολυμέσων (4 από 6)

• Επικοινωνία με πολλούς παραλήπτες


– Χρήσιμη σε τηλεδιάσκεψη και διανομή μέσων
• Μετάδοση ένας προς όλους
– Σπαταλά αρκετούς πόρους
24

Μετάδοση πολυμέσων (5 από 6)

• Μετάδοση ένας προς έναν


– Δεν χρειάζεται υποστήριξη από το δίκτυο
– Σπατάλη πόρων, συμφόρηση στον αποστολέα
25
Μετάδοση πολυμέσων (6 από 6)

• Μετάδοση ένας προς πολλούς


– Απαιτεί (δύσκολη) υποστήριξη από το δίκτυο
– Πλέον οικονομική μέθοδος διανομής μέσων

26

Τι κάνει τα πολυμέσα δύσκολα;


Απαιτήσεις πολυμέσων (1 από 2)
• Διαχείριση τεράστιων όγκων δεδομένων
– Γρήγοροι δίαυλοι επικοινωνίας
– Εξειδικευμένο υλικό επεξεργασίας μέσων
• Επεξεργαστές γραφικών και ήχου
• Συγχρονισμός συστατικών
– Απαιτήσεις πραγματικού χρόνου
– Αυστηρά περιοδική αναπαραγωγή μέσων
• Χρονοπρογραμματισμός πραγματικού χρόνου

28

Απαιτήσεις πολυμέσων (2 από 2)


• Συγχρονισμός μεταδιδόμενων μέσων
– Περιορισμένη καθυστέρηση
– Περιορισμένη διαταραχή καθυστέρησης
– Εγγυήσεις ποιότητας υπηρεσίας (QoS)
• Αντιμετώπιση ετερογένειας
– Δικτυακές και υπολογιστικές διαφορές
– Χρήση προσαρμοστικών τεχνικών
• Στρωματοποιημένη κωδικοποίηση

29
Πρότυπα και μορφότυπα

Εμπλεκόμενοι (1 από 2)
• Τηλεπικοινωνιακοί οργανισμοί
– Ελέγχουν δίκτυα μετάδοσης δεδομένων
– Μπορεί να εμπλέκονται και στο περιεχόμενο
• Βιομηχανίες καταναλωτικών ηλεκτρονικών
– Συσκευές DVD για υπολογιστές
• Προέρχονται από τα DVD για ταινίες
– Καθορίζουν το κόστος των τεχνολογιών

31
Εμπλεκόμενοι (2 από 2)
• Παραγωγοί περιεχομένων
– Δημιουργία και διανομή ταινιών / μουσικής
– Εκδοτικοί οίκοι βιβλίων / περιοδικών
• Πολλαπλοί ρόλοι ορισμένων παικτών
– Τηλεπικοινωνίες, ηλεκτρονικά, παραγωγές
• Τεχνολογία και αγορά
– Η επιτυχία κρίνεται στην αγορά
– Δεν κερδίζει απαραίτητα η καλύτερη τεχνολογία

32

Πόλεμοι μορφοτύπων (1 από 4)


• Ο πόλεμος των επιτραπέζιων βίντεο
– Betamax (Sony), VHS (JVC), 2000 (Philips)
• Χρόνος εγγραφής: αρχικά 1 ή 2 ώρες
– Μετά μέχρι 5 ή 10 ώρες με χαμηλότερη ταχύτητα
– Η αύξηση διάρκειας σήμαινε πτώση ποιότητας
• Ποιότητα: περίπου ίδια για ίδια διάρκεια
– Betamax: καλύτερη ποιότητα σε μικρή διάρκεια
– Χειρότερη από αυτή της αναλογικής τηλεόρασης

33
Πόλεμοι μορφοτύπων (2 από 4)
• Το αποτέλεσμα
– To 2000 άργησε πολύ να εμφανιστεί
• Εξαφανίστηκε γρήγορα εκτός Ευρώπης
– Το Betamax έχασε μετά από μεγάλο αγώνα
• Αν και ήταν το πρώτο στην αγορά
– Το VHS τελικά νίκησε
• Μεγαλύτερος χρόνος εγγραφής
• Πιο σημαντικό το βολικό παρά το ποιοτικό

34

Πόλεμοι μορφοτύπων (3 από 4)


• Ο πόλεμος των διαδόχων του DVD
– BluRay (Sony) εναντίον HD-DVD (Matsushita)
– Ελάχιστο περιεχόμενο κυκλοφόρησε αρχικά
• Όλοι περίμεναν να επιβληθεί ένα πρότυπο
• Κανείς δεν ήθελε να έχουμε ξανά VHS/Betamax
– Τελικά κέρδισε η Sony χάρη στο PlayStation 3
• Δημιούργησε τεράστια αγορά για ταινίες
• Παρά το ότι η συσκευή είχε άλλο σκοπό

35
Πόλεμοι μορφοτύπων (4 από 4)
• Ο πόλεμος του ψηφιακού ήχου
– DAT (Sony) εναντίον CD (Sony/Philips)
– CD: διάδοχος των δίσκων βινυλίου
• Μαζική παραγωγή σε πρέσα: οικονομική παραγωγή
• Μικρό μέγεθος και αντοχή: οικονομική διανομή
– DAT: διάδοχος των αναλογικών κασετών
• Πολεμήθηκε από τη βιομηχανία μουσικής
• Επιβίωσε στα στούντιο για πρωτογενή εγγραφή

36

Ενότητα # 2: Εφαρμογές πολυμέσων


Σκοποί ενότητας
• Κατανόηση της βασική κατηγοριοποίησης των
πολυμεσικών εφαρμογών.
• Εξοικείωση με τις βασικές εφαρμογές
επικοινωνίας ανάμεσα σε ανθρώπους.
• Εξοικείωση με τις βασικές εφαρμογές
επικοινωνίας ανάμεσα σε άνθρωπο και
μηχανή.

Περιεχόμενα ενότητας
• Κατηγοριοποίηση εφαρμογών
• Σύγχρονες εφαρμογές
• Ασύγχρονες εφαρμογές
• Εφαρμογές αλληλεπίδρασης
• Εφαρμογές διανομής

5
Κατηγοριοποίηση εφαρμογών

Εφαρμογές
• Πολυμεσική εφαρμογή
– Τρόπος χρήσης πολυμεσικού συστήματος
– Συνδυάζει πολυμεσικές υπηρεσίες
– Εμπλέκονται ένας ή περισσότεροι χρήστες
• Διάκριση υπηρεσίας και εφαρμογής
– Υπηρεσία: επικοινωνία φωνής και εικόνας
– Εφαρμογή: τηλεδιάσκεψη ή διανομή διάλεξης

7
Κατηγορίες εφαρμογών

• Κατηγορίες εφαρμογών
– Επικοινωνία ανάμεσα σε ανθρώπους
• Σύγχρονη ή ασύγχρονη
– Επικοινωνία ανάμεσα σε άνθρωπο και μηχανή
• Αλληλεπίδραση ή διανομή

Σύγχρονες εφαρμογές
Κοινόχρηστος πίνακας

• Απλά σχέδια ή κείμενο


– Αποτέλεσμα ορατό σε όλους
– Άδειος πίνακας ή εικόνα
– Συνδυασμός με άλλα κανάλια επικοινωνίας
10

Κοινόχρηστη εφαρμογή

• Ταυτόχρονη αλληλεπίδραση με εφαρμογή


– Καταμερισμός ελέγχου και οθόνης
– Πραγματική εκτέλεση σε έναν μόνο υπολογιστή
– Χρήσιμο για συνεργασία και βοήθεια
11
Τηλεδιάσκεψη (1 από 2)
• Επικοινωνία πολλών συμμετεχόντων
– Άτομο (γραφείο) ή ομάδα (αίθουσα διασκέψεων)
– Ταυτόχρονη χρήση εφαρμογών ομαδικής εργασίας
• Σε δίκτυα μεταγωγής κυκλωμάτων
– Μίσθωση κυκλωμάτων (ISDN p*64Kbps)
– Διασύνδεση πολλαπλών συμμετεχόντων με MCU
• Σε δίκτυα μεταγωγής πακέτων
– Πολλαπλές συνδέσεις ένας προς έναν
– Μία σύνδεση ένας προς πολλούς

12

Τηλεδιάσκεψη (2 από 2)

• Πύλη διασύνδεσης δικτύων


– Μετάφραση προτύπων κωδικοποίησης
– Μετάφραση πρωτοκόλλων ελέγχου
– Απλούστερο όταν τα συστήματα είναι παρόμοια
• H.320 για το ISDN / H.323 για το Internet
13
Έλεγχος χώρου
• Πολιτικές ελέγχου χώρου
– Ποιος ελέγχει τους κοινόχρηστους πόρους;
• Πίνακας, εφαρμογή, τηλεδιάσκεψη
– Κανένας έλεγχος
– Υπονοούμενο κλείδωμα
– Ρητό κλείδωμα
– Έλεγχος από συντονιστή

14

Διανομή διαλέξεων
• Μία πηγή ήχου / βίντεο, πολλοί αποδέκτες
– Δεν απαιτείται αλληλεπίδραση
• Μετάδοση ένας προς όλους
– Μεγάλη κατανάλωση πόρων
• Μετάδοση ένας προς έναν
– Πολλαπλές συνδέσεις
• Διασφάλιση απορρήτου
– Κρυπτογράφηση μεταδιδόμενων μέσων
– Κλειστές ομάδες παραληπτών

15
Ανομοιογένεια (1 από 2)
• Ανομοιογένεια παραληπτών
– Κάθε παραλήπτης θέλει διαφορετικά μέσα
• Διαφορετικές προτιμήσεις
– Ανομοιογένεια δικτύου
• Γρήγορες και αργές γραμμές
• Φορτωμένες και μη φορτωμένες περιοχές
– Ανομοιογένεια σταθμών εργασίας
• Κινητά, φορητοί, σταθεροί

16

Ανομοιογένεια (2 από 2)
• Πολλαπλά κανάλια επικοινωνίας
– Εξυπηρέτηση διαφορετικών παραληπτών
• Διαφορετικό κανάλι ανά χρήστη
– Διαφορετικά επίπεδα ποιότητας
• Μετάδοση πολλών ροών
– Υποσύνολα της πληροφορίας
• Χρήση στρωματοποιημένης κωδικοποίησης
• Οικονομία στη μετάδοση δεδομένων

17
Ασύγχρονες εφαρμογές

Ασύγχρονες εφαρμογές (1 από 2)


• Διαφορές από σύγχρονες
– Μικρές απαιτήσεις καθυστέρησης
– Μεγάλες απαιτήσεις χωρητικότητας
• Πολυμεσικό ηλεκτρονικό ταχυδρομείο
– Τα μέσα περιέχονται στο μήνυμα
• Συνήθως ήχος ή/και βίντεο
– Χρήση του MIME για κωδικοποίηση των μέσων

19
Ασύγχρονες εφαρμογές (2 από 2)
• Πολυμεσικές ομάδες συζητήσεων
– Γενίκευση του ηλεκτρονικού ταχυδρομείου
• Πολυμεσικά έγγραφα
– Ισχυρότερα από ηλεκτρονικό ταχυδρομείο
– Σύνθετες συσχετίσεις ανάμεσα στα τμήματα
– Δεν υπάρχει κοινά αποδεκτό πρότυπο
• Κάθε κατασκευαστής έχει το δικό του μορφότυπο

20

Εφαρμογές αλληλεπίδρασης
Επικοινωνία με εξυπηρετητή

• Ανάκτηση πληροφοριών
– Παράδειγμα: Ηλεκτρονικές βιβλιοθήκες
– Δεν τροποποιούνται οι πληροφορίες
• Διενέργεια δοσοληψιών
– Παράδειγμα: συστήματα παραγγελιών
– Τροποποιούνται οι πληροφορίες
• Επικοινωνία με απομακρυσμένους πελάτες

22

Εφαρμογές διανομής
Διανομή βίντεο (1 από 2)

• Βίντεο κατόπιν αίτησης (VOD)


– Ταινίες ή σύντομα βίντεο (ειδήσεις, καιρός)
– Κάθε αίτημα ικανοποιείται χωριστά
• Μεγάλες απαιτήσεις μετάδοσης δεδομένων
– Δυνατότητα πραγματικής αλληλεπίδρασης
24

Διανομή βίντεο (2 από 2)

• Βίντεο σχεδόν κατόπιν αίτησης (NVOD)


– Συνδυασμός πολλαπλών αιτημάτων
– Δεν υπάρχει δυνατότητα αλληλεπίδρασης
• Εκτός αν αλλάξουμε ομάδα παραληπτών
– Συμβιβασμός μεταξύ καθυστέρησης και κόστους
25
Ενότητα # 3: Συστήματα πολυμέσων

Σκοποί ενότητας
• Κατανόηση των υπολογιστικών απαιτήσεων
των πολυμέσων.
• Εισαγωγή στο βασικό υλικό και λογισμικό των
συστημάτων πολυμέσων.
• Εισαγωγή στα συστήματα πραγματικού
χρόνου και τις βασικές μεθόδους
χρονοπρογραμματισμού τους.

4
Περιεχόμενα ενότητας
• Απαιτήσεις
• Υλικό συστημάτων πολυμέσων
• Λογισμικό συστημάτων πολυμέσων
• Συστήματα πραγματικού χρόνου
• Χρονοπρογραμματισμός

Απαιτήσεις
Απαιτήσεις εφαρμογών (1 από 3)
• Διαχείριση τεράστιων όγκων δεδομένων
– Αποθήκευση, είσοδος-έξοδος και επικοινωνία
– Φόρτος σε όλους τους διαύλους
• Ειδικοί δίαυλοι γραφικών

• Ανάγκη συμπίεσης και αποσυμπίεσης


– Υλικό, λογισμικό ή συνδυασμός των δύο
– Πιθανόν να γίνεται σε πραγματικό χρόνο

Απαιτήσεις εφαρμογών (2 από 3)


Μέσο Απαιτήσεις Χωρητικότητα DVD 4.7
Σελίδα κειμένου 3.000 χαρ. x 1 byte = 3 1.566.666 σελίδες
(ASCII) Kbyte
Σελίδα κειμένου 3.000 χαρ. x 2 byte = 6 783.333 σελίδες
(Unicode) Kbyte
Συνθετική εικόνα 500 αντικείμενα x 24 byte = 391.666 εικόνες
(500 αντικείμενα) 12 Kbyte
Φυσική εικόνα (800 x 600) pixel x 3 byte = 3263 εικόνες
(ανάλυση XGA) 1440 Kbyte
Βίντεο 25 πλαισίων/sec 1440 KByte x 25 πλαίσια/sec 130 δευτερόλεπτα
(ανάλυση XGA) = 288 Mbps
Φωνή 8000 δείγματα/sec x 1 byte = 163 ώρες
(ποιότητα τηλεφωνίας) 64 Kbps
Μουσική 44.100 δείγματα/sec x 4 byte 7,5 ώρες
(ποιότητα CD Audio) = 1,4 Mbps

8
Απαιτήσεις εφαρμογών (3 από 3)
• Επικοινωνία με τον αναλογικό κόσμο
– Μετατροπή μέσων σε ψηφιακά αρχεία
• Ψηφιοποίηση των αναλογικών σημάτων
– Επεξεργασία ψηφιακών μέσων
– Μετατροπή σε αναλογική για αναπαραγωγή
• Επικοινωνία σε πραγματικό χρόνο
– Ψηφιοποίηση και αναπαραγωγή ομιλίας

Υλικό συστημάτων πολυμέσων


Υλικό (1 από 3)

• Κατανομή συσκευών σε ελεγκτές


– Μνήμη και οθόνη: northbridge
– Δίσκοι, δίκτυο, θύρες και ήχος: southbridge
11

Υλικό (2 από 3)
• Κεντρική μονάδα επεξεργασίας
– Εντολές επεξεργασίας μέσων
• Διανυσματική επεξεργασία
• MMX, SSE
• Συνεπεξεργαστές επιτάχυνσης λειτουργιών
– Εκτέλεση μαθηματικών πράξεων
– Επεξεργασία ψηφιακών σημάτων
– Σχεδίαση γραφικών

12
Υλικό (3 από 3)
• Συσκευές αποθήκευσης δεδομένων
– Ειδικοί ελεγκτές υψηλής ταχύτητας
– Χρήση ελεγκτών άμεσης πρόσβασης στη μνήμη
• Συσκευές εισόδου/εξόδου
– Σύνδεση σε δίαυλο συστήματος
– Σύνδεση σε χωριστό ελεγκτή
– Ψηφιοποίηση και αντιστροφή της
– Προαιρετικά: συμπίεση και αποσυμπίεση

13

Λογισμικό συστημάτων πολυμέσων


Λογισμικό

• Λογισμικό συστήματος και εφαρμογών


– Λογισμικό δικτύου: ανήκει και στις δύο κατηγορίες
– Εναλλαξιμότητα υλικού και λογισμικού
15

Αρχεία πολυμέσων (1 από 2)


• Αποθήκευση σε συνεχόμενα μπλοκ
– Επιτρέπει προσκόμιση χωρίς αναζητήσεις
– Γενικά χρήσιμη στην ακολουθιακή προσπέλαση
– Βοηθά και στην τυχαία αναζήτηση
• Χρήση ανεξάρτητων αρχείων ανά μέσο
– Μεγαλύτερη ευελιξία στο χειρισμό
• Επιλογή καναλιού ήχων ή υπότιτλων
– Απαιτεί κίνηση κεφαλής στο δίσκο

16
Αρχεία πολυμέσων (2 από 2)
• Χρήση διεμπλεκόμενων αρχείων
– Όλα τα μέσα στο ίδιο αρχείο (π.χ. AVI, VOB)
– Ομαδοποίηση τμημάτων μέσων
• Πρώτα το τμήμα βίντεο
• Μετά τα αντίστοιχα τμήματα ήχου
• Τέλος τα αντίστοιχα τμήματα υπότιτλων
– Ανάγνωση περιττών δεδομένων
• Πιο απλό από τις συνεχόμενες αναζητήσεις

17

Αποθήκευση αρχείων (1 από 4)


• Οργάνωση σταθερής διάρκειας
– Αποθήκευση αρχείων σε μικρά μπλοκ
• Παράδειγμα: 1 KB, 4 KB, 8 KB
– Κάθε τμήμα αποτελείται από πολλά μπλοκ
• Το τελευταίο μπλοκ μπορεί να μην είναι γεμάτο
– Ευρετήριο τμημάτων μέσων
• Κάθε τμήμα έχει σταθερή διάρκεια
• Αρχικό και τελικό μπλοκ τμήματος

18
Αποθήκευση αρχείων (2 από 4)
• Οργάνωση σταθερού μεγέθους
– Αποθήκευση αρχείων σε μεγάλα μπλοκ
• Παράδειγμα: 256 KB, 512 KB, 1 MB
– Κάθε μπλοκ αποθηκεύει πολλά τμήματα
• Το τέλος του μπλοκ μπορεί να είναι κενό
– Ευρετήριο μπλοκ δίσκου
• Κάθε μπλοκ περιέχει πολλά τμήματα
• Αρχικό τμήμα στο μπλοκ

19

Αποθήκευση αρχείων (3 από 4)


• Σταθερή διάρκεια ή σταθερό μέγεθος;
• Πλεονεκτήματα σταθερής διάρκειας
– Μικρότερη σπατάλη χώρου
– Πιο γρήγορος εντοπισμός τμήματος
• Πλεονεκτήματα σταθερού μεγέθους
– Λιγότερες αναζητήσεις στο δίσκο
– Μικρότερο ευρετήριο

20
Αποθήκευση αρχείων (4 από 4)
• Βίντεο σχεδόν κατόπιν αίτησης
– Έστω ταινία 120 λεπτών, ξεκινάει ανά 10 λεπτά
– Θα διαβάζεται ταυτόχρονα από 12 σημεία!
– Ομαδοποίηση τμημάτων ανά 10 λεπτά
• Έστω ότι έχουμε ένα τμήμα ανά λεπτό
• Πρώτο μπλοκ: τμήμα 0, τμήμα 10, τμήμα 20, ...
• Δεύτερο μπλοκ: τμήμα 1, τμήμα 11, τμήμα 21
– Κάθε ανάγνωση ικανοποιεί όλες τις ροές
21

Συστήματα πραγματικού χρόνου


Πραγματικός χρόνος
• Συστήματα πραγματικού χρόνου
– Εκτέλεση σε καθορισμένο διάστημα
• Ανεξαρτήτως άλλων εφαρμογών
• Το χρονικό περιθώριο ονομάζεται προθεσμία
– Περιοδικές ή μη περιοδικές διεργασίες
– Περίπλοκος συντονισμός διεργασιών
– Δεσμευτικά (hard) ή ελαστικά (soft) συστήματα

23

Δεσμευτικά και ελαστικά


• Δεσμευτικές προθεσμίες
– Τηρούνται πάντα
– Αν δεν τηρούνται έχουμε καταστροφή
– Συστήματα ελέγχου εργοστασίων
• Ελαστικές προθεσμίες
– Τηρούνται σχεδόν πάντα
– Αν δεν τηρούνται ενοχλούμαστε
– Συστήματα πολυμέσων

24
Πολυμεσικά συστήματα
• Ελαστικά συστήματα πραγματικού χρόνου
– Αξιοπιστία: όχι καταστροφικές επιπτώσεις
• Στη χειρότερη περίπτωση το σύστημα είναι άχρηστο
– Ανοχή: απόκρυψη σφαλμάτων
– Προσαρμογή: μείωση ποιότητας
• Αξιοποίηση περιορισμών των αισθήσεων
– Περιοδικότητα: ισόχρονη λειτουργία

25

Διαχείριση πόρων
• Πόροι σε συστήματα πραγματικού χρόνου
– Έλεγχος διαθεσιμότητας πριν τη δέσμευση
– Δέσμευση πόρων για την εφαρμογή
– Κατανομή πόρων σε κάθε στιγμή
• Πολιτικές δέσμευσης πόρων
– Απαισιόδοξη: με βάση τις μέγιστες απαιτήσεις
– Αισιόδοξη: με βάση τις μέσες απαιτήσεις

26
Χρονοπρογραμματισμός

Χρονοπρογραμματισμός (1 από 2)
• Συστήματα γενικής χρήσης
– Μηχανισμός προτεραιοτήτων
– Δεν παρέχονται εγγυήσεις
– Απλά έχουμε υψηλότερη προτεραιότητα
• Συστήματα πραγματικού χρόνου
– Παρέχονται εγγυήσεις
– Απαισιόδοξη δέσμευση πόρων

28
Χρονοπρογραμματισμός (2 από 2)
m
Ci

i 1 Pi
1

• Συνθήκη χρονοπρογραμματισμού διεργασιών


– Έστω ότι έχουμε m περιοδικές διεργασίες
– Ci: διάρκεια εκτέλεσης, Pi: περίοδος εκτέλεσης
– Συνολικός βαθμός χρήσης επεξεργαστή <= 1
– Δεν επιτυγχάνεται από όλους τους αλγορίθμους
• Μπορεί να αποτυγχάνουν αρκετά πριν το 1

29

Αλγόριθμος RMS
• Στατική μέθοδος: αλγόριθμος RMS
– Κατάλληλη μόνο για περιοδικές διεργασίες
– Προτεραιότητα ανάλογη με τη συχνότητα
• Οι προτεραιότητες είναι στατικές
• Εξαρτώνται μόνο από τη συχνότητα
– Εκτελεί διεργασία με υψηλότερη προτεραιότητα
• Αρκεί να είναι έτοιμη
– Δεν επιτυγχάνεται πλήρης αξιοποίηση
30
Αλγόριθμος EDF
• Δυναμική μέθοδος: αλγόριθμος EDF
– Κατάλληλη και για μη περιοδικές διεργασίες
– Προτεραιότητα αντίστροφη της προθεσμίας
• Μπορεί να είναι η στιγμή επόμενης εκτέλεσης
– Οι προτεραιότητες είναι δυναμικές
– Εκτελεί διεργασία με υψηλότερη προτεραιότητα
• Αρκεί να είναι έτοιμη
– Όχι εγγυήσεις για τις δυναμικές διεργασίες
31

Παράδειγμα επιτυχίας RMS

– Α: κάθε 30 ms, διάρκεια 5 ms


– B: κάθε 40 ms, διάρκεια 15 ms
– C: κάθε 50 ms, διάρκεια 10 ms
– Βαθμός χρήσης ΚΜΕ = 0,74
32
Παράδειγμα αποτυχίας RMS

– Α: κάθε 30 ms, διάρκεια 10 ms


– B: κάθε 40 ms, διάρκεια 15 ms
– C: κάθε 50 ms, διάρκεια 10 ms
– Βαθμός χρήσης ΚΜΕ = 0,91
33

RMS ή EDF;
• Ο RMS είναι απλός και γρήγορος
– Στατική λίστα προτεραιοτήτων
– Ο EDF αλλάζει συνεχώς τις προτεραιότητες
• Νέα ταξινόμηση λίστας ετοίμων

• Ο EDF είναι πιο αποδοτικός


– Πετυχαίνει πάντα για αξιοποίηση κάτω από 100%
– Ο RMS μπορεί να αποτυγχάνει ακόμη και στο 90%

34
Διεργασίες ή πακέτα;
• Δύο είδη χρονοπρογραμματισμού
• Προεκτοπιστικός: διεργασίες
– Οι διεργασία διακόπτονται από άλλες
– Συνεχίζουν τη δουλειά τους αργότερα
• Μη προεκτοπιστικός: πακέτα
– Τα πακέτα μεταδίδονται μέχρι τέλος
– Αλλιώς η δουλειά που έχει γίνει πάει χαμένη

35

Ενότητα # 4: Ήχος
Σκοποί ενότητας
• Κατανόηση των βασικών χαρακτηριστικών του
ήχου.
• Εισαγωγή στις βασικές τεχνικές
ψηφιοποίησης και κβαντοποίησης σημάτων
• Κατανόηση της παλμοκωδικής διαμόρφωσης.
• Εισαγωγή στη συμβολική αναπαράσταση της
μουσικής.

Περιεχόμενα ενότητας
• Χαρακτηριστικά του ήχου
• Ψηφιοποίηση με μετασχηματισμό
• Ψηφιοποίηση με δειγματοληψία
• Κβαντοποίηση δειγμάτων
• Παλμοκωδική διαμόρφωση
• Συμβολική αναπαράσταση

5
Χαρακτηριστικά του ήχου

Τι είναι ο ήχος;
• Παράγεται από την ταλάντωση της ύλης
– Δημιουργεί μεταβολές στην πίεση του αέρα
– Η πίεση γίνεται αντιληπτή από το αυτί
• Μεταδίδεται με κυματοειδή μορφή
– Μετάδοση και σε στερεά / υγρά
– Δεν μπορεί να μεταδοθεί στο κενό
• Το μέσο μετάδοσης είναι απαραίτητο

7
Κατηγοριοποίηση ήχων
• Ακουστοί ήχοι: 20 Hz - 20 kHz
– Ακουστικά σήματα (acoustic signals)
• Αντιληπτά από το ανθρώπινο αυτί
– Κάτω από 20 Hz: υπόηχοι
– Πάνω από 20 kHz: υπέρηχοι
– Στην πράξη, κάθε άνθρωπος διαφέρει

Ηχητικές κυματομορφές (1 από 2)

• Κυματομορφή (waveform)
– Αναπαράσταση των μεταβολών της πίεσης
– Το πλάτος δείχνει την πίεση σε κάθε στιγμή

9
Ηχητικές κυματομορφές (2 από 2)
• Πλάτος (amplitude): ένταση του ήχου
– Μετατόπιση του κύματος από το μέσο όρο
• Περίοδος κυματομορφής
– Οι περιοδικοί ήχοι είναι γενικά πιο μουσικοί
• Συχνότητα: αντίστροφο της περιόδου
– Κύκλοι ανά δευτερόλεπτο (Hertz, Hz)

10

Ψηφιοποίηση
• Ηχητική κυματομορφή: αναλογικό σήμα
– Περίπλοκη μαθηματική συνάρτηση g(t)
– Οποιαδήποτε τιμή σε οποιαδήποτε στιγμή
– Στον υπολογιστή έχουμε περιορισμούς
• Πεπερασμένο πλήθος τιμών
• Πεπερασμένη ακρίβεια τιμών
• Ψηφιοποίηση
– Μετατροπή αναλογικού σε ψηφιακό

11
Ψηφιοποίηση με μετασχηματισμό

Μετασχηματισμός Fourier (1 από 3)


• Θεώρημα Fourier
– Η g(t) αναλύεται σε απλές συναρτήσεις
• Μπορεί να είναι άπειρες…
– f=1/T: θεμελιώδης συχνότητα
– an και bn: αρμονικές (harmonics) του σήματος
 
1
g (t )  c   an sin(2nft )   bn cos(2nft )
2 n 1 n 1

13
Μετασχηματισμός Fourier (2 από 3)

2
an   g (t ) sin(2nft )dt
0

2
bn   g (t ) cos(2nft )dt
0

2
c   g (t )dt
0

• Υπολογισμός συντελεστών g(t)


– Ανασύνθεση με χρήση των συντελεστών
– Οι συντελεστές είναι μία σειρά αριθμών
14

Μετασχηματισμός Fourier (3 από 3)


an2  bn2

• Ενέργεια αρμονικής (RMS)


– Δεν μειώνεται με το n
– Οι αρμονικές μπορεί να είναι πάρα πολλές
• Προβλήματα με τους συντελεστές
– Περιορισμένη ακρίβεια πράξεων
– Περιορισμένη ακρίβεια αποθήκευσης
– Περιορισμένο πλήθος συντελεστών
15
Ψηφιοποίηση με δειγματοληψία

Δειγματοληψία (1 από 2)

• Ψηφιοποίηση με δειγματοληψία
– Μέτρηση πλάτους κυματομορφής
– Κάθε μέτρηση ονομάζεται δείγμα (sample)
– Διακριτή διάσταση χρόνου

17
Δειγματοληψία (2 από 2)
• Ρυθμός δειγματοληψίας (sampling rate)
– Μετριέται σε Hz (δείγματα / δευτερόλεπτο)
– 44,1 kHz στα CD, 8 KHz στην τηλεφωνία
• Θεώρημα δειγματοληψίας του Nyquist
– Έστω σήμα με μέγιστη συχνότητα F
– Ρυθμός δειγματοληψίας τουλάχιστον 2F
• Αποφεύγεται η απώλεια πληροφορίας

18

Μετατροπείς (1 από 3)

• Διατάξεις μετατροπής
– ADC: Μετατροπή αναλογικού σε ψηφιακό
– DAC: Μετατροπή ψηφιακού σε αναλογικό
– Φίλτρα πριν το ADC και μετά το DAC
19
Μετατροπείς (2 από 3)

• Γιατί φίλτρο πριν τον κωδικοποιητή;


– Ψευδώνυμα σήματα (alias signals)
• Μαύρες κουκκίδες: επαρκής δειγματοληψία
• Λευκές κουκκίδες: ανεπαρκής δειγματοληψία
– Το φίλτρο αποκόπτει συχνότητες άνω των f Hz
20

Μετατροπείς (3 από 3)

• Γιατί φίλτρο μετά τον αποκωδικοποιητή;


– Τα δείγματα αναπαράγονται περιοδικά
– Η έξοδος έχει τετραγωνική κυματομορφή
– Το φίλτρο αποκόπτει συχνότητες πάνω από f Hz
– Το παραμορφωμένο σήμα είναι πιο φυσικό
21
Κβαντοποίηση δειγμάτων

Κβαντοποίηση (1 από 2)

• Κβαντοποίηση (quantization)
– Αναπαράσταση συνεχών με διακριτές τιμές
• Κάθε δείγμα προσεγγίζεται με μία τιμή
– Διακριτή διάσταση πλάτους

23
Κβαντοποίηση (2 από 2)
• Επηρεάζει την ποιότητα
– 16 bits: 65536 τιμές, 8 bits: 256 τιμές
– Λιγότερες τιμές, μεγαλύτερο σφάλμα
– Σφάλμα κβαντοποίησης (quantization error)
• Πόσα επίπεδα χρειαζόμαστε;
– Δεν υπάρχει γενικό θεώρημα
– Θέτουμε άνω όριο στο σφάλμα
– Με πόσα bit επιτυγχάνεται το όριο;
24

Σφάλμα κβαντοποίησης
• Υπολογισμός σφάλματος κβαντοποίησης
– Έστω σήμα εισόδου με πλάτος –V έως +V
– Έστω n bit για την κβαντοποίηση
– Πλάτος διαστήματος q = 2V / 2n
• Υποθέτουμε γραμμική κβαντοποίηση
– Μέγιστο σφάλμα κβαντοποίησης
• q/2 = V / 2n (το μισό του διαστήματος)

25
Επίπεδα κβαντοποίησης (1 από 2)
• Δυναμικό εύρος εισόδου
– Το ελάχιστο αντιληπτό σήμα έχει πλάτος v
– Δυναμικό εύρος: 20 log10(V/v) dB
• Πρώτη προσέγγιση: χρήση δυναμικού εύρους
– Σφάλμα < ελάχιστο αντιληπτό σήμα
– V / 2n < v σημαίνει log10(V/v) < n log102 = 0,3 n
– Σε όρους δυναμικού εύρους: 20 log10(V/v) < 6 n
– Αν το δυναμικό εύρος είναι 40 dB τότε n >= 7

26

Επίπεδα κβαντοποίησης (2 από 2)


• Δεύτερη προσέγγιση: χρήση SNR
– Ισχύς σήματος / ισχύς θορύβου > x dB
– SNR: 10 log10(V/(q/2))2 = 20 log10(V/(q/2))
• Ισχύς ανάλογη με το τετράγωνο του πλάτους
– Με αντικατάσταση έχουμε 20 log10(V/(V / 2n))
– Τελικά λοιπόν 20 log102n = 6 n
– Έστω ότι θέλουμε SNR > 40 dB
– Για να ισχύει 6 n > 40 dB πρέπει n >= 7

27
Παλμοκωδική διαμόρφωση

Τύποι PCM (1 από 4)


• Παλμοκωδική διαμόρφωση (PCM)
– Απλή περιοδική δειγματοληψία
– Χωρίς μνήμη: κάθε δείγμα είναι ανεξάρτητο
• Αναπαραγωγή από οποιοδήποτε δείγμα
• Γραμμική (linear) κβαντοποίηση
– Ίσα διαστήματα τιμών δειγμάτων
– Μία τιμή ανά διάστημα
– Απλή στην υλοποίηση

29
Τύποι PCM (2 από 4)
• Μουσικό CD: πρότυπο CD-DA
– Γραμμική κβαντοποίηση: ίδια ακρίβεια παντού
• Μεγαλύτερη πιστότητα για τυχαίος ήχους
– Εύρος συχνοτήτων 20 kHz
– Δειγματοληψία 44,1 kHz
– Κβαντοποίηση με τιμές των 16 bit
– Ρυθμός μετάδοσης 1,411 Mbps
• Στερεοφωνικός ήχος (δύο κανάλια)
30

Τύποι PCM (3 από 4)


• Λογαριθμική (logarithmic) κβαντοποίηση
– Λογαριθμίζουμε και μετά κβαντοποιούμε
• Η ίδια η κβαντοποίηση γίνεται γραμμικά
• Αντιστρέφουμε στον αποκωδικοποιητή
– Μεγαλύτερη ακρίβεια σε ένα άκρο τιμών
– Γιατί να δώσουμε έμφαση στο ένα άκρο;
• Είτε το σήμα έχει περισσότερη πληροφορία εκεί
• Είτε η αντίληψή μας είναι πιο οξεία εκεί

31
Τύποι PCM (4 από 4)
• Φωνητική τηλεφωνία: πρότυπο ITU G.711
– Λογαριθμική: ακρίβεια στα χαμηλά πλάτη
• Χρήση compressor/expander ή compander
• Τροποποίηση πριν/μετά τη δειγματοληψία
• A-law (Ευρώπη), μ-law (Αμερική / Ιαπωνία)
– Εύρος 3.1-3.5 kHz, δειγματοληψία 8 kHz
– Τιμές των 8 bit (ή 7 bit)
• Ισοδύναμα με 12-14 bit σε γραμμική κβαντοποίηση
– Ρυθμός μετάδοσης 64 Kbps

32

Συμβολική αναπαράσταση
Πρότυπο MIDI (1 από 3)
• Συμβολική αναπαράσταση: MIDI
– Προδιαγραφές υλικού διασύνδεσης
• Βύσματα, ηλεκτρικά σήματα
– Προδιαγραφές μορφοποίησης δεδομένων
• Τα μηνύματα MIDI περιγράφουν γεγονότα
– Ενέργειες που εκτελεί ένας μουσικός
– Πάτημα και απελευθέρωση πλήκτρων
– Συχνότητα και εφφέ των ήχων

34

Πρότυπο MIDI (2 από 3)


• 16 κανάλια γεγονότων
– Ελέγχουν ένα ή περισσότερα όργανα
– Μονοφωνικά ή πολυφωνικά όργανα
– General MIDI: 128 τυποποιημένα όργανα
• Σύνθεση ήχου
– Χρήση γεννήτριας συχνοτήτων (FM)
• Τροποποίηση ήχου με φίλτρα
– Αναπαραγωγή ψηφιοποιημένων ήχων (wavetable)
• Αποθηκευμένα δείγματα

35
Πρότυπο MIDI (3 από 3)
• Πλεονεκτήματα και μειονεκτήματα MIDI
– Οικονομική αναπαράσταση
– Δυνατότητα συμβολικής επεξεργασίας
– Αποτέλεσμα ανάλογα με το υλικό
• Διαφέρει σημαντικά από συσκευή σε συσκευή
– Κατάλληλο μόνο για μουσικά όργανα
• Βασίζεται στη δομή συγκεκριμένων ήχων
• Δεν είναι κατάλληλο π.χ. για ανθρώπινη φωνή

36

Ενότητα # 5: Εικόνα
Σκοποί ενότητας
• Κατανόηση των βασικών τρόπων
αναπαράστασης της εικόνας και των τεχνικών
κωδικοποίησης χρωμάτων.
• Εισαγωγή στις ιδιαιτερότητες των συσκευών
εισόδου και εξόδου εικόνας.
• Κατανόηση του συμβιβασμού βάθους χρώματος
και ανάλυσης.
• Εισαγωγή στη συμβολική αναπαράσταση, τη
σύνθεση και την ανάλυση εικόνας.
• Κατανόηση των επιλογών μετάδοσης εικόνας.

Περιεχόμενα ενότητας
• Ψηφιακή αναπαράσταση
• Κωδικοποίηση χρωμάτων
• Συσκευές εισόδου και εξόδου
• Βάθος χρώματος και ανάλυση
• Συμβολική αναπαράσταση
• Ανάλυση εικόνας
• Μετάδοση εικόνας
5
Ψηφιακή αναπαράσταση

Αναπαράσταση εικόνας (1 από 3)


• Εικόνα: αναπαράσταση σκηνής στο χώρο
– Προβολή σε χώρο δύο διαστάσεων
– Συνεχής συνάρτηση σε ορθογώνια περιοχή
– Καταγραφή φυσικής ή παραγωγή συνθετικής
• Ψηφιοποίηση εικόνας
– Ορθογώνιο πλέγμα δειγματοληψίας: ανάλυση
– Κβαντοποίηση σε διακριτές τιμές: βάθος χρώματος
– Αποθήκευση σε πίνακα: εικονοστοιχεία (pixels)

7
Αναπαράσταση εικόνας (2 από 3)
• Παράδειγμα: εικόνα VGA
– 640x480 pixels (γραμμέςxστήλες)
– 8 bits per pixel (256 χρώματα)
• Μορφότυπα σύλληψης
– Απλή αναπαράσταση
– Γρήγορη σύλληψη και παρουσίαση
• Μορφότυπα αποθήκευσης
– Αποδοτική αποθήκευση
– Ευελιξία στη διαχείριση

Αναπαράσταση εικόνας (3 από 3)


• Αποθήκευση έγχρωμων εικονοστοιχείων
– Τριάδα εντάσεων RGB
– Τριάδα δεικτών σε εντάσεις RGB
– Δείκτες σε έτοιμη τριάδα εντάσεων RGB
• Περιγραφικές πληροφορίες (metadata)
– Ύψος, πλάτος, βάθος εικόνας
– Περιλαμβάνονται σε μορφότυπα αποθήκευσης

9
Κωδικοποίηση χρωμάτων

Παράσταση χρωμάτων (1 από 4)


• Ασπρόμαυρη εικόνα: ένταση φωτός
• Έγχρωμη εικόνα: ένταση φωτός και χρώμα
• Βασικά χρώματα
– Κανένα δεν παράγεται από τα άλλα
– Αρκούν τρία για έκφραση οποιουδήποτε
• Κωδικοποίηση Red, Green, Blue (RGB)
– Προσθετική κωδικοποίηση
– Αποθηκεύουμε τριάδες (x,y,z)
– Τελικό χρώμα: x*R+y*G+z*B

11
Παράσταση χρωμάτων (2 από 4)

• Κάμερα RGB
– Τρία μονοχρωματικά φίλτρα
• Διαχωρισμός χρωμάτων
– Χωριστοί αισθητήρες για κάθε χρώμα
– Παράγει τρία σήματα εξόδου
• Ένα για κάθε χρώμα

12

Παράσταση χρωμάτων (3 από 4)


• Βάθος χρώματος: 24 bits
– Λευκό: 255*R+255*G+255*B
– Μαύρο: 0*R+0*G+0*B
• Σύστημα Luminance/Hue/Saturation
– Χρήση από σχεδιαστικά προγράμματα
– Φωτεινότητα: από το λευκό ως το μαύρο
– Χροιά: από το ερυθρό ως το ιώδες
– Κορεσμός: από το λευκό ως το καθαρό χρώμα
13
Παράσταση χρωμάτων (4 από 4)
• Σύστημα CMY/CMYK
– Απορρόφηση αντί για παραγωγή φωτός
– Αφαιρετική κωδικοποίηση
– Χρησιμοποιείται στις εκτυπώσεις
– Βασικά χρώματα: Cyan, Magenta, Yellow (CMY)
– Μαύρο: όλα τα χρώματα
– Λευκό: κανένα χρώμα
– Επιπλέον Black (K) για οικονομία

14

Συσκευές εισόδου και εξόδου


Τύποι συσκευών
• Συσκευές εισόδου
– Ποντίκι
– Πινακίδα γραφικών
– Γραφίδα
• Συσκευές εξόδου
– Οθόνη και εκτυπωτής
– Ψηφιδογραφικές (raster): σχεδίαση με κουκίδες
– Διανυσματικές (vector): σχεδίαση με γραμμές

16

Οθόνες (1 από 2)

• Σύστημα απεικόνισης σε οθόνη


– Ελεγκτής γραφικών
– Ενταμιευτής ανανέωσης
– Ελεγκτής οθόνης
17
Οθόνες (2 από 2)

• Σειρά απεικόνισης εικονοστοιχείων


– Απεικόνιση των εικονοστοιχείων ανά γραμμή
18

Ανανέωση οθόνης
• Χρησιμοποιείται με καθοδικό σωλήνα (CRT)
• Ανανέωση της εικόνας που αδυνατίζει
– Δεν σχετίζεται με τροποποίηση εικόνας
– Περιττή στις ενεργές οθόνες (π.χ. TFT)
• Περιοδικός ανασχεδιασμός οθόνης (refresh)
– Ρυθμός ανανέωσης σε Hz
• Οριζόντια / κατακόρυφη ανίχνευση (retrace)
– Χρόνος επαναφοράς της ακτίνας στην αρχή
– Μπορεί να αξιοποιείται για μεταφορά metadata

19
Διπλή ενταμίευση
• Σχεδίαση απευθείας στον ενταμίευτή
– Τι γίνεται αν έχουμε ανανέωση την ίδια στιγμή
– Μπορεί να αφήνει μισά σχήματα στην οθόνη
• Δύο ενταμιευτές ανανέωσης
– Ο ένας χρησιμοποιείται για απεικόνιση
– Ο άλλος χρησιμοποιείται για σχεδίαση
– Όταν τελειώσει η σχεδίαση, αλλάζουν ρόλο

20

Βάθος χρώματος και ανάλυση


Πρόσμιξη (1 από 2)
• Πρόσμιξη (dithering)
– Αξιοποιεί την ενοποίηση χώρου του ματιού
• Παραλλαγή half toning
– Κουκίδες μεταβλητού πάχους στην εκτύπωση
– Στις οθόνες έχουμε ένα πάχος μόνο
• Ανεπαρκές βάθος χρώματος
– Αύξηση βάθους με μείωση ανάλυσης
– Χρήση μοτίβων αντί εντάσεων

22

Πρόσμιξη (2 από 2)

• Παράδειγμα: μοτίβο 2x2


– Απώλεια της μισής ανάλυσης
• Σε κάθε διάσταση
– 5 αντί για 2 διαβαθμίσεις
– Γενικά: κ εικονοστοιχεία για κ+1 διαβαθμίσεις
– Θυσιάζουμε ανάλυση για βάθος

23
Αντιψεδωνυμία (1 από 2)
• Ατέλειες πλέγματος εικονοστοιχείων
– Καμπύλες
– Διαγώνιες γραμμές
– Χαρακτήρες σε μικρά μεγέθη
• Αντιψευδωνιμία (anti-aliasing)
– Προσομοίωση μερικής κάλυψης εικονοστοιχείων
– Ομαλότερη εμφάνιση τεθλασμένων γραμμών
– Αποφυγή γραμμών άνισου πάχους

24

Αντιψεδωνυμία (2 από 2)
• Ανεπαρκής ανάλυση
– Αύξηση ανάλυσης με μείωση βάθους
– Ένταση ανάλογα με κάλυψη εικονοστοιχείου
– Ενδιάμεσα χρώματα σε ακραία εικονοστοιχεία
– Χρησιμοποιείται και στο κείμενο
• Παράδειγμα: οι δύο κατακόρυφες γραμμές του Π

25
Συμβολική αναπαράσταση

Γραφικά (1 από 2)
• Στοιχειώδεις λειτουργίες γραφικών
– Περιγραφή σχημάτων
• Παράδειγμα: κύκλος
– Ιδιότητες σχημάτων
• Παράδειγμα: κέντρο, διάμετρος, πάχος γραμμής

• Πακέτο γραφικών
– Βιβλιοθήκη στοιχειωδών λειτουργιών γραφικών

27
Γραφικά (2 από 2)
• Συμβολική αναπαράσταση εικόνων
– Μείωση αποθηκευτικών απαιτήσεων
– Ευκολότερη διαχείριση (π.χ. μεγέθυνση)
– Ανάγκη μετατροπής για εμφάνιση
– Επιτρέπει προσαρμογή σε συσκευές εξόδου
• Εξειδικευμένο υλικό γραφικών
– Σχεδίαση γραμμών, γέμισμα πολυγώνων
– Αν δεν υπάρχει, χρήση λογισμικού

28

Σύνθεση εικόνας (1 από 3)


• Εικόνα από συμβολικές αναπαραστάσεις
– Διεπαφή με χρήστη και παραθυρικά συστήματα
– Αυτοματισμός γραφείου και έγγραφα
– Επιστημονική και ψυχαγωγική προσομοίωση
– Παιχνίδια στον υπολογιστή
• Ολοκληρωμένο σύστημα γραφικών
– Αποτελείται από τέσσερις συνιστώσες

29
Σύνθεση εικόνας (2 από 3)
• Μοντέλο εφαρμογής
– Στοιχειώδεις λειτουργίες αντικειμένων
• Ποια αντικείμενα είναι διαθέσιμα;
• Ποιες είναι οι ιδιότητές τους;
– Ανεξάρτητο από σύστημα και υλικό γραφικών
• Πρόγραμμα εφαρμογής
– Χειρίζεται την είσοδο του χρήστη
– Στέλνει εντολές στο σύστημα γραφικών

30

Σύνθεση εικόνας (3 από 3)


• Σύστημα γραφικών
– Στοιχειώδεις λειτουργίες γραφικών
– Τυποποιημένη βιβλιοθήκη
– Παράδειγμα: OpenGL
• Υλικό γραφικών
– Λειτουργίες σχεδίασης εικονοστοιχείων
– Συστατικά στοιχειωδών λειτουργιών
– Προαιρετικά: ειδικά κυκλώματα επιτάχυνσης

31
Ανάλυση εικόνας

Στόχοι ανάλυσης (1 από 2)


• Εξαγωγή περιγραφών από εικόνες
– Ανάλυση φωτεινότητας
– Ανάλυση χρωμάτων
– Ταίριασμα με πρότυπα
• Βελτίωση εικόνας
– Απομάκρυνση θορύβου
– Ενίσχυση αντίθεσης

33
Στόχοι ανάλυσης (2 από 2)
• Αναγνώριση σχημάτων
– Εντοπισμός τυποποιημένων προτύπων
– Εντοπισμός αποκλίσεων από πρότυπα
• Παράδειγμα: ασφάλεια, έλεγχος ποιότητας

• Ανάλυση σκηνών
– Ανακατασκευή σκηνών από πολλαπλές εικόνες
– Σύνθεση ενός μοντέλου μιας σκηνής

34

Βήματα ανάλυσης (1 από 2)


• Μορφοποίηση
– Σύλληψη και ψηφιοποίηση
• Προετοιμασία
– Απομάκρυνση θορύβου
• Κατονομασία
– Αναγνώριση των συστατικών στοιχείων

35
Βήματα ανάλυσης (2 από 2)
• Ομαδοποίηση
– Συνένωση των συστατικών σε ομάδες
• Εξαγωγή
– Υπολογισμός ιδιοτήτων των ομάδων
• Ταίριασμα
– Απόδοση νοήματος στις ομάδες

36

Μετάδοση εικόνας
Μετάδοση (1 από 2)
• Απαιτήσεις μετάδοσης
– Μέγεθος ανάλογα με το μορφότυπο
– Αξιοπιστία ανάλογη με το μορφότυπο
– Γενικά όχι απαιτήσεις πραγματικού χρόνου
• Όταν φτάσει, εμφανίζεται

• Μετάδοση ανεπεξέργαστης εικόνας


– Μορφότυπο σύλληψης

38

Μετάδοση (2 από 2)
• Μετάδοση συμπιεσμένης εικόνας
– Μορφότυπο αποθήκευσης
• Μετάδοση συμβολικής εικόνας
– Μορφότυπο γραφικών
• Αξιοπιστία μετάδοσης
– Σημαντική σε συμπιεσμένες και συμβολικές
– Οι απώλειες έχουν έντονο αντίκτυπο

39
Ενότητα # 6: Βίντεο

Σκοποί ενότητας
• Κατανόηση της φύσης και των
χαρακτηριστικών του βίντεο.
• Εισαγωγή στα τηλεοπτικά συστήματα και το
αναλογικό βίντεο.
• Εισαγωγή στο ψηφιακό βίντεο και την
τηλεόραση υψηλής ευκρίνειας.
• Εξοικείωση με τις κινούμενες εικόνες και τους
τρόπους μετάδοσής τους.
4
Περιεχόμενα ενότητας
• Χαρακτηριστικά του βίντεο
• Τηλεοπτικά συστήματα
• Ψηφιακό βίντεο
• Τηλεόραση υψηλής ευκρίνειας
• Κινούμενες εικόνες

Χαρακτηριστικά του βίντεο


Τι είναι το βίντεο; (1 από 2)
• Βίντεο: γενίκευση εικόνων
• Κινούμενα σχέδια: γενίκευση γραφικών
• Ακολουθία εικόνων/γραφικών
• Εμφανίζεται με σταθερό ρυθμό
• Ρυθμός καρέ (πλαισίων)
– Πλήθος εικόνων ανά δευτερόλεπτο
– Σε fps (καρέ ανά δευτερόλεπτο) ή Hz

Τι είναι το βίντεο; (2 από 2)


• Αναλογική τηλεόραση
– Βασική επιρροή στην εξέλιξη του βίντεο
• Οθόνες εικονοστοιχείων
– Καθοδικοί σωλήνες: απαιτούν ανανέωση
• Ρυθμός ανανέωσης >= ρυθμός καρέ
– Υγρά κρύσταλλα: δεν απαιτούν ανανέωση
• Ανανέωση για λόγους συμβατότητας

8
Βασικά χαρακτηριστικά (1 από 4)
• Κατακόρυφη λεπτομέρεια
– Βάση: γραμμές σάρωσης
– Κατακόρυφη λεπτομέρεια <= γραμμές σάρωσης
• Λόγος διαστάσεων
– Πλάτος / Ύψος οθόνης
– 4:3 (συμβατικός)
– 16:9 (ευρύς)
– 1.85/2.20/2.40:1 (ταινίες)

Βασικά χαρακτηριστικά (2 από 4)


• Οριζόντια λεπτομέρεια
– Πόσες διαδοχικές γραμμές διακρίνονται
• Εξαρτάται από το εύρος ζώνης
• Μετριέται πειραματικά
– Κατακόρυφη λεπτομέρεια * λόγος διαστάσεων
• Συνολική λεπτομέρεια
– Κατακόρυφη * οριζόντια λεπτομέρεια
– Κρυφές γραμμές (τηλεόραση)
• Κατακόρυφη και οριζόντια ανίχνευση

10
Βασικά χαρακτηριστικά (3 από 4)
• Συνέχεια κίνησης
– Ομαλή κίνηση: 24+ fps (κινηματογράφος)
– Συγχρονισμός με συχνότητα ρεύματος
• ΗΠΑ: 60 / 2 = 30 Hz, Ευρώπη: 50 / 2 = 25 Hz
• Τρεμόπαιγμα (flicker)
– Αδυνάτισμα της εικόνας (καθοδικοί σωλήνες)
– Ρυθμός ανανέωσης τουλάχιστον 50 Hz
– Διπλάσιος (περίπου) από ρυθμό πλαισίου

11

Βασικά χαρακτηριστικά (4 από 4)


• Διεμπλεκόμενη σάρωση
– Περιττές και άρτιες γραμμές καρέ (πεδία)
– Εναλλάξ μετάδοση των πεδίων
• Προοδευτική σάρωση
– Καρέ = Πεδίο
• Μετατροπή διεμπλεκόμενης σε προοδευτική
– Απώλεια κατακόρυφης λεπτομέρειας
– Παράγοντας Kell (0,7)

12
Απόσταση θέασης (1 από 2)
• Όρια ανθρώπινης όρασης
– Διακρίνουμε ανάλογα με την απόσταση
– Ενοποίηση εικονοστοιχείων σε απόσταση
– Όριο: 2000 * μέγεθος εικονοστοιχείου
• Απόσταση θέασης / ύψος οθόνης
– Ύψος: ανάλυση * μέγεθος εικονοστοιχείου
– Κανονικοποιημένο μέτρο απόστασης

13

Απόσταση θέασης (2 από 2)


• NTSC: 484 ορατές γραμμές
– Οριακός λόγος: 2000 / 484 = 4.13
– Οθόνη ύψους 9 ιντσών
– Απόσταση 4.13 * 9 = 37.17 ίντσες
• HDTV: 1080 ορατές γραμμές
– Οριακός λόγος: 2000 / 1080 = 1.85
– Οθόνη ύψους 9 ιντσών
– Απόσταση 1.85 * 9 = 16.65 ίντσες

14
Τηλεοπτικά συστήματα

Τηλεοπτική μετάδοση (1 από 7)


• Φωτεινότητα (Y)
– Συμβατότητα με ασπρόμαυρους δέκτες
• Χρωμικότητα (U/V)
– Αξιοποιείται από έγχρωμους δέκτες
• Μετατροπή RGB σε YUV (σύστημα PAL)
– Y = 0,299 R + 0,587 G + 0,114 B
– U = (B – Y) * 0,492
– V = (R – Y) * 0,877

16
Τηλεοπτική μετάδοση (2 από 7)

• Σήματα διαφοράς χρώματος


– Τα U και V είναι διαφορές από φωτεινότητα
– Ονομάζεται και σύστημα Y, B-Y, R-Y
• Πολύπλεξη Y+C σε σύνθετο σήμα
– Το C είναι η σύνθεση των U και V

17

Τηλεοπτική μετάδοση (3 από 7)

• Αποπολύπλεξη σύνθετου σήματος


– Η ασπρόμαυρη οθόνη κρατάει μόνο το Y

18
Τηλεοπτική μετάδοση (4 από 7)
• RGB σε YIQ (σύστημα NTSC)
– Y = 0,299 R + 0,587 G + 0,114 B
– I = 0,596 R – 0,274 G – 0,321 B
– Q = 0,211 R – 0,523 G + 0,311 B
• Κωδικοποίηση συνιστωσών
– Σύστημα YUV και YIQ: αναλογία (4:2:2)
– Το μάτι είναι πιο ευαίσθητο στη φωτεινότητα
– Κατάλληλη πολύπλεξη των σημάτων
19

Τηλεοπτική μετάδοση (5 από 7)

• Πολύπλεξη στο YIQ


– Πρέπει να μπορούν να αφαιρεθούν τα IQ
20
Τηλεοπτική μετάδοση (6 από 7)

• Πολύπλεξη σημάτων (NTSC, κανάλια 6 MHz)


– Φέρουσες φωτεινότητας και χρωμικότητας
• Χρωμικότητα: πολλαπλάσιο μισού φωτεινότητας
– Διαφορετικό εύρος ζώνης ανά κανάλι
21

Τηλεοπτική μετάδοση (7 από 7)

• Πολύπλεξη σημάτων (PAL, κανάλια 8 MHz)


– Ίδιο εύρος ζώνης για τα κανάλια χρωμικότητας
– Συνολικά μεγαλύτερο εύρος ζώνης από το NTSC
• Το NTSC χρησιμοποιεί κανάλια 6 MHz
22
Αναλογικά συστήματα (1 από 3)
• NTSC (National Television Systems Committee)
– 525 γραμμές σάρωσης, 484 ορατές
– Εύρος ζώνης 6 MHz, διαμόρφωση πλάτους
– Ρυθμός καρέ ~30 Hz, ρυθμός ανανέωσης 60 Hz
• PAL (Phase Alternating Line)
– 625 γραμμές σάρωσης, 575 ορατές
– Εύρος ζώνης 8 MHz, διαμόρφωση πλάτους
– Ρυθμός καρέ 25 Hz, ρυθμός ανανέωσης 50 Hz

23

Αναλογικά συστήματα (2 από 3)


• SECAM (SEquential Couleur Avec Memoire)
– Σαν το PAL αλλά με διαμόρφωση συχνότητας
– Ελαφρά καλύτερη ποιότητα εικόνας
– Χρήση σε Γαλλία και Αν. Ευρώπη
• Δεν επέτρεπε λήψη σημάτων από γειτονικές χώρες!
• Η Αν. Γερμανία δεν έβλεπε το σήμα της Δ. Γερμανίας
– Το NTSC κυριάρχησε στις ΗΠΑ
– Το PAL κυριάρχησε στην Ευρώπη
24
Αναλογικά συστήματα (3 από 3)
Σύστημα Γραμμές Λεπτομέρεια Εύρος Y I/U Q/V Πεδία /
(MHz) (MHz) (MHz) (MHz) Πλαίσια (Hz)
NTSC 525/484 340/242 6,0 4,2 1,6 0,6 59,94/29,97

PAL 625/575 400/290 8,0 5,5 1,8 1,8 50/25

SECAM 625/575 400/290 8,0 6,0 2,0 2,0 50/25

• Χαρακτηριστικά συστημάτων
– Γραμμές σάρωσης / ορατές γραμμές
– Προοδευτική / διεμπλεκόμενη σάρωση
• Με μετατροπή (παράγοντας Kell)

25

Ψηφιακό βίντεο
Ψηφιοποίηση βίντεο (1 από 2)
• Ψηφιακό και αναλογικό βίντεο
– Συμβατότητα για ανταλλαγή δεδομένων
– Παρόμοια ανάλυση ή / και ρυθμός καρέ
• Ψηφιοποίηση σύνθετου σήματος
– Μετατροπή όλων των συνιστωσών μαζί
– Δεν επιτρέπει το διαφορετικό χειρισμό τους
– Διατήρηση παρεμβολών μεταξύ συνιστωσών
– Κατάλληλη μόνο για ψηφιακή μετάδοση

27

Ψηφιοποίηση βίντεο (2 από 2)


• Ψηφιοποίηση συνιστωσών σήματος
– Επιτρέπει άνισους ρυθμούς δειγματοληψίας
– Κατάλληλη για ψηφιακή επεξεργασία
– Θεωρητικά γίνεται και με RGB
• Οι κάμερες παράγουν RGB
– Στην πράξη γίνεται με YUV/YIQ
• Κατάλληλο για μετάδοση
• Αξιοποιεί τις ατέλειες του ματιού

28
Πρότυπο CCIR-601 (1 από 4)
• Πρότυπο ψηφιακού βίντεο CCIR-601
– Χρήση από τηλεοπτικά στούντιο
– Διεμπλεκόμενη σάρωση
• Υψηλή ποιότητα για εσωτερική χρήση
• Μειωμένη ποιότητα για μετάδοση
– Εύρος ζώνης
• 6 MHz για Υ
• 3 MHz για U και V

29

Πρότυπο CCIR-601 (2 από 4)


• Ρυθμοί δειγματοληψίας
– Φωτεινότητα: 13,5 MHz
• NTSC: 63,56 μs ανά γραμμή, 52 μs ορατά
• PAL/SECAM: 64 μs ανά γραμμή, 52 μs ορατά
• 702 ορατά δείγματα και στις δύο περιπτώσεις
– 720 δείγματα φωτεινότητας (18 περιττά)
– 2 δείγματα χρωμικότητας ανά συνιστώσα (4:2:2)
– 8 bit ανά δείγμα για κάθε συνιστώσα
30
Πρότυπο CCIR-601 (3 από 4)
• CCIR-601 για PAL/SECAM
– 720 x 576 (ορατό καρέ) στα 25 fps
• Στο NTSC είναι 720/480 στα 29,97 fps
• Μετάδοση με μη ορατές περιοχές
– 13,5 x 106 x 8 + 2 x 6,75 x 106 x 8 = 216 Mbps
• Μετάδοση χωρίς μη ορατές περιοχές
– 720 x 576 x 25 + 2 x 360 x 576 x 25 = 166 Mbps
– 720 x 480 x 30 + 2 x 360 x 480 x 30 = 166 Mbps

31

Πρότυπο CCIR-601 (4 από 4)


• Παραλλαγή του προτύπου για μετάδοση
– Λόγος δειγματοληψίας (4:2:0)
– Αφαιρούμε τα μισά δείγματα χρωμικότητας
• Μετάδοση με μη ορατές περιοχές
– 13,5 x 106 x 8 + 2 x 3,375 x 106 x 8 = 162 Mbps
• Μετάδοση χωρίς μη ορατές περιοχές
– 720 x 576 x 25 + 2 x 360 x 288 x 25 = 124 Mbps
– 720 x 480 x 30 + 2 x 360 x 240 x 30 = 124 Mbps

32
Άλλα πρότυπα (1 από 4)
• SIF: Ανάλυση αναλογικού βίντεο
– Ένα τέταρτο της ανάλυσης του CCIR-601
• Υποδιπλασιασμός δειγμάτων στις δύο διαστάσεις
– SIF για NTSC: 360 x 240 φωτεινότητας
– SIF για PAL/SECAM: 360 x 288 φωτεινότητας
– Προοδευτική σάρωση στα 29,97 ή 25 fps
– Λόγος δειγματοληψίας (4:1:1)
• Το (4:1:1) υποδηλώνει προοδευτική σάρωση

33

Άλλα πρότυπα (2 από 4)


• CIF: Πρότυπο για τηλεδιάσκεψη
– Κοινό για όλες τις χώρες
– 360 x 288 για τη φωτεινότητα (PAL/SECAM)
– Σάρωση: προοδευτική στα 30 fps (NTSC)
– Λόγος δειγματοληψίας (4:1:1)
• Υποδιπλασιασμός χρωμικότητας
• 180 x 144 για κάθε συνιστώσα

34
Άλλα πρότυπα (3 από 4)
• Παραλλαγές του CIF
– Ρυθμός δειγματοληψίας (4:1:1)
– Προοδευτική σάρωση στα 30 fps
• 4CIF: 720 x 576 για τη φωτεινότητα
• 16CIF: 1440 x 1152 για τη φωτεινότητα
• QCIF: 180 x 144 για τη φωτεινότητα
– Επιτρέπει και ρυθμούς καρέ 15 και 7,5 fps

35

Άλλα πρότυπα (4 από 4)


• Άλλες παραλλαγές των προτύπων
– Οριζόντια ανάλυση για οθόνες υπολογιστών
• Χρήση τετράγωνων εικονοστοιχείων
• Ο λόγος διαστάσεων πρέπει να είναι 4:3
• Στο NTSC και στο PAL δεν είναι τετράγωνα
– Οριζόντια ανάλυση σε πολλαπλάσιο του 16
• Χρησιμοποιείται σε πολλά πρότυπα συμπίεσης
• Βασίζονται τετράδες μπλοκ 8x8 εικονοστοιχείων

36
Σύνοψη προτύπων
Σύστημα Οριζόντια Κατακόρυφη Ανανέωση
CCIR-601/US 720/360 480/240 59,94-I
CCIR-601/EUR 720/360 576/288 50-I
SIF/US 360/180 240/120 29,97-P
SIF/EUR 360/180 288/144 25-P
16CIF 1440/720 1152/576 30-P
4CIF 720/360 576/288 30-P
CIF 360/180 288/144 30-P
QCIF 180/90 144/72 15/7,5-P

• Σύνοψη προτύπων ψηφιακού βίντεο


– Ανάλυση φωτεινότητας / χρωμικότητας

37

Τηλεόραση υψηλής ευκρίνειας


HDTV (1 από 3)
• HDTV: Αναφέρεται σε διαφορετικά συστήματα
– Σήμερα: μόνο για ψηφιακά συστήματα
– Ανάλυση μέχρι και 1000 γραμμές σάρωσης
– Λόγος διαστάσεων (16:9)
• Προβλήματα στην ανάπτυξη του HDTV
– Ανάγκη συνύπαρξης με αναλογικά συστήματα
• Συμβατότητα με περιεχόμενο (αναλύσεις, fps)
• Συμβατότητα με κανάλια (εύρος ζώνης)
– Πληθώρα διαθέσιμων προτύπων
39

HDTV (2 από 3)
• HDTV στην Ευρώπη: σύστημα DVB
– DVB-S, DVB-C, DVB-T, DVB-H
– Δεν υπάρχει πανευρωπαϊκή πολιτική μετάβασης
• Κάθε χώρα έχει το δικό της πρόγραμμα
• HDTV στις ΗΠΑ: σύστημα ATSC
– Η μετάβαση ολοκληρώθηκε το 2009
– Πολλές παραλλαγές για όλες τις ανάγκες
• Ρυθμοί καρέ 24, 25 ή 30 fps
• Προοδευτική ή διεμπλεκόμενη σάρωση

40
HDTV (3 από 3)
• Τρία γενικά επίπεδα ποιότητας
– SDTV: αντιστοιχεί στο SIF
• Παρόμοια ευκρίνεια με αναλογική τηλεόραση
– EDTV: αντιστοιχεί στο CCIR-601
• Βελτιωμένη ευκρίνεια
– HDTV: υψηλή ευκρίνεια με δύο παραλλαγές
• 720p: 1280 x 720 με προοδευτική σάρωση
• 1080i: 1920 x 1080 με διεμπλεκόμενη σάρωση

41

Λόγοι διαστάσεων

• Πλάτος προς ύψος πλαισίου


– Συμβατικά συστήματα: 1,33 (4:3)
– Φωτογραφίες: 1,5 (3:2)
– Υπολογιστές: 1,66 (15:9)
– Συστήματα υψηλής ευκρίνειας: 1,77 (16:9)
– Κινηματογράφος: 1,85-2,2-2,4
42
Κινούμενες εικόνες

Animation (1 από 4)
• Δυναμική μορφή των γραφικών
– Παράγονται από τον υπολογιστή
– Βάση: ρεαλιστικές εικόνες ή σχέδια
• Καρέ κλειδιά
– Ακραίες ή χαρακτηριστικές θέσεις οντοτήτων
– Δημιουργία με ψηφιοποίηση
– Δημιουργία με συνθετικές μεθόδους

44
Animation (2 από 4)
• Δημιουργία κίνησης
– Καρέ κλειδιά: σχεδιάζονται
– Ενδιάμεσα καρέ: υπολογίζονται
• Γραμμική παρεμβολή
– Γραμμική τροχιά από αρχική σε τελική θέση
– Επαρκής για απλές τροχιές
– Μη ρεαλιστική για πραγματικές τροχιές

45

Animation (3 από 4)

• Καμπύλες (splines)
– Ταίριασμα καμπύλης με τα καρέ κλειδιά
– Περνούν από όλα τα καρέ κλειδιά
– Ομαλή μεταβολή με το χρόνο
• Όχι απότομες αλλαγές κίνησης

46
Animation (4 από 4)
• Σκελετός κίνησης
– Χρήση στα σύγχρονα κινούμενα σχέδια
– Πολυγωνικό περίγραμμα αντικειμένου
• Μπορεί να είναι τριών διαστάσεων
– Παρεμβολή κίνησης κάθε κορυφής
• Από καρέ σε καρέ
– Προβολή υφής πάνω στα πολύγωνα

47

Μετάδοση κινουμένων εικόνων


• Συμβολική μετάδοση
– Συμβολική αναπαράσταση αντικειμένων
– Εντολές κίνησης αντικειμένων
– Μικρό αλλά μεταβλητό εύρος ζώνης
– Σχεδιασμός εικόνας στον παραλήπτη
• Μετάδοση εικονοστοιχείων
– Σχεδιασμός εικόνας στον αποστολέα
– Μετάδοση χαρτών εικονοστοιχείων
– Μεγάλο αλλά σταθερό εύρος ζώνης

48
Ενότητα # 7: Θεωρία πληροφορίας

Σκοποί ενότητας
• Εξοικείωση με τα βασικά κανάλια μετάδοσης
και τα χαρακτηριστικά τους.
• Εισαγωγή στις έννοιες που σχετίζονται με την
πληροφορία και παραδείγματα χρήσης τους.
• Εισαγωγή στις έννοιες που σχετίζονται με την
εντροπία και παραδείγματα χρήσης τους.
• Κατανόηση των συμπερασμάτων από τις
εφαρμογές πληροφορίας και εντροπίας.
4
Περιεχόμενα ενότητας
• Κανάλια μετάδοσης
• Πληροφορία
• Παραδείγματα πληροφορίας
• Εντροπία
• Παραδείγματα εντροπίας
• Εφαρμογές

Κανάλια μετάδοσης
Κανάλια (1 από 2)
• Μετάδοση πληροφοριών
– Πηγή / Κανάλι / Χρήστης
– Διακριτά σύμβολα από διακριτό αλφάβητο
• Κωδικοποιητής πηγής
– Μείωση των bits προς μετάδοση
– Αξιοποίηση της φύσης των πληροφοριών
• Κωδικοποιητής καναλιού
– Βελτίωση της αξιοπιστίας του καναλιού
– Αξιοποίηση της φύσης του καναλιού
• Θεωρία πληροφοριών
– Μελέτη των ιδιοτήτων της πληροφορίας
– Εύρεση αποδοτικών μεθόδων κωδικοποίησης

Κανάλια (2 από 2)

• Διακριτό κανάλι χωρίς μνήμη (DMC)


– Ανεξάρτητα διακριτά σύμβολα
– Διαμόρφωση / μετάδοση / αποδιαμόρφωση
κυματομορφής
– Κανάλι επικοινωνίας ή μέσο αποθήκευσης
8
Πληροφορία

Αμοιβαία πληροφορία
• Διακριτές τυχαίες μεταβλητές X και Υ
– xi, i=1, 2, …, n και yj, j=1, 2, …, m
• X και Y στατιστικά ανεξάρτητες
– Το Y=yj δεν παρέχει πληροφορία για το X=xi
• X και Y απόλυτα εξαρτημένες
– Το Y=yj παρέχει την ίδια πληροφορία με το X=xi
• Ανάλογη με την υπό συνθήκη πιθανότητα
P( X  xi | Y  y j )  P( xi | y j )
• Κανονικοποίηση ανάλογα με πιθανότητα X=xi
P( X  xi )  P( xi )

• I(xi;yj): αμοιβαία πληροφορία μεταξύ xi και yj


P ( xi | y j )
I ( xi ; y j )  log
P ( xi ) 10
Εσωτερική πληροφορία
• Η αμοιβαία πληροφορία είναι συμμετρική
P ( xi | y j ) P ( xi | y j ) P ( y j ) P ( xi , y j ) P ( y j | x i ) P ( xi ) P ( y j | xi )
   
P ( xi ) P ( xi ) P ( y j ) P ( xi ) P ( y j ) P ( y j ) P ( xi ) P( y j )
P ( xi | y j ) P ( y j | xi )
I ( xi ; y j )  log  log  I ( y j ; xi )
P ( xi ) P( y j )
• X και Υ στατιστικά ανεξάρτητες: I(xi;yj)=0
• X και Υ πλήρως εξαρτημένες
1
I ( xi ; y j )  log   log P( xi )
P( xi )
• Εσωτερική πληροφορία του xi
1
I ( xi )  log   log P( xi )
P( xi )
– Πάντα μη αρνητική (λογάριθμος αριθμού <= 1 αρνητικός)
• Μονάδες μέτρησης πληροφορίας: δυαδικά ψηφία (log2)

11

Υπό συνθήκη πληροφορία


• Πληροφορία υπό συνθήκη
– X=xi όταν έχει συμβεί το Y=yj
1
I ( xi | y j )  log   log P( xi | y j )
P ( xi | y j )
• Αμοιβαία πληροφορία I(xi;yj)
– Πληροφορία από το Y=yj για το X=xi
• Υπό συνθήκη πληροφορία I(xi|yj)
– Εσωτερική πληροφορία του X=xi όταν έχει συμβεί το Y=yj
• Όλοι οι ορισμοί πληροφορίας συνδέονται
P ( xi | y j )
I ( xi ; y j )  log  log P( xi | y j )  log P( xi )  I ( xi )  I ( xi | y j )
P ( xi )
– I(xi;yj)>0 όταν I(xi)>I(xi|yj)
– I(xi;yj)<0 όταν I(xi)<I(xi|yj)

12
Εφαρμογές πληροφορίας

Εφαρμογές πληροφορίας (1 από 3)


• Δυαδική πηγή (παράγει bits)
– P(0)=P(1)=1/2
1
I ( xi )   log 2 P( xi )   log 2 1
2
• Δυαδική πηγή χωρίς μνήμη
– k συνεχόμενες τιμές
– M=2k διαφορετικές ακολουθίες
– P(xi’)=1/M=2-k
I ( xi, )   log 2 2  k  k
• Λογαριθμικό μέτρο πληροφορίας
– Πληροφορία ακολουθίας ανεξάρτητων γεγονότων
– Άθροισμα πληροφοριών των γεγονότων
– Με δυαδικό λογάριθμο, πληροφορία σε bit

14
Εφαρμογές πληροφορίας (2 από 3)

• Δυαδικό κανάλι DMC (μετάδοση bits)


– X: είσοδος, σήμα που στάλθηκε
– Y: έξοδος, σήμα που λήφθηκε
– Η έξοδος διαφέρει από την είσοδο με πιθανότητα p
– Έστω P(X=0)=P(X=1)=1/2
15

Εφαρμογές πληροφορίας (3 από 3)


• Πιθανότητα εμφάνισης κάθε εξόδου
1 1
P(Y  1)  P(Y  1 | X  0) P( X  0)  P(Y  1 | X  1) P( X  1)  ( p  1  p) 
2 2
1 1
P(Y  0)  P(Y  0 | X  0) P( X  0)  P(Y  0 | X  1) P( X  1)  (1  p  p) 
2 2
• Αμοιβαία πληροφορία
P(Y  0 | X  0)
I ( y0 ; x0 )  I (0;0)  log 2  log 2 2(1  p)
P(Y  0)
P(Y  0 | X  1)
I ( y0 ; x1 )  I (0;1)  log 2  log 2 2 p
P(Y  0)
• Αθόρυβο κανάλι
– p=0, άρα Ι(0;0)=1
• Θορυβώδες κανάλι
– p=1/2, άρα Ι(0;0)=Ι(0;1)=0
– p=1/4, άρα Ι(0;0)=0,587 και Ι(0;1)=-1

16
Εντροπία

Πληροφορία και εντροπία (1 από 2)


• Μέση αμοιβαία πληροφορία X και Y
n m n m
P( xi | y j )
I ( X ;Y )   P( xi , y j ) I ( xi ; y j )   P( xi , y j ) log
i 1 j 1 i 1 j 1 P( xi )
• P(xi,yj) και I(xi;yj) συμμετρικά
– I(X;Y)= I(Υ;X)
• X και Y στατιστικά ανεξάρτητες
– P(xi|yj)=P(xi), άρα Ι(Χ;Υ)=0
• Μέση εσωτερική πληροφορία X
n n
H ( X )   P( xi ) I ( xi )   P( xi ) log P( xi )
i 1 i 1

• Τιμές X: σύμβολα ενός αλφαβήτου


– H(X): εντροπία της πηγής

18
Πληροφορία και εντροπία (2 από 2)
• Πηγή με τυχαία συμπεριφορά
– P(xi)=1/n
n
1 1
H ( X )   log  log n
i 1 n n

– Απαιτούνται log2n bits


• Μέγιστη τιμή εντροπίας
– Όλα τα σύμβολα είναι εξίσου πιθανά
• Υπό συνθήκη εντροπία
n m
1
H ( X | Y )   P( xi , y j ) log
i 1 j 1 P( xi | y j )

• Όλοι οι ορισμοί μέσης πληροφορίας συνδέονται


I ( X ;Y )  H ( X )  H ( X | Y )
19

Παραδείγματα εντροπίας
Παραδείγματα εντροπίας (1 από 3)
• Δυαδική πηγή χωρίς μνήμη
– P(0)=q, P(1)=1-q
• Εντροπία πηγής
H ( X )   P(0) log P(0)  P(1) log P(1) 
 q log q  (1  q) log(1  q)
• Δυαδική εντροπία
– Εξαρτάται από το q
– Όταν q=1-q=1/2, H(1/2)=1
– Όταν q=0 ή q=1, Η(0)=0

21

Παραδείγματα εντροπίας (2 από 3)


• Δυαδικό κανάλι DMC
• Εντροπία της πηγής X
H ( X )  H (q)  q log q  (1  q) log(1  q)
• Μέση αμοιβαία πληροφορία I(X;Y)
I ( X ;Y )  H ( X )  H ( X | Y )
– Μέγιστη τιμή όταν q=1-q=1/2 για κάθε p
– p=0: μέγιστη μέση αμοιβαία πληροφορία
– p=1/2: ελάχιστη μέση αμοιβαία πληροφορία
• Υπό συνθήκη εντροπία H(X|Y)
– Συμπεριφέρεται αντίστροφα από την I(X;Y)
– p=1/2: μέγιστη υπό συνθήκη εντροπία
– p=0: ελάχιστη υπό συνθήκη εντροπία

22
Παραδείγματα εντροπίας (3 από 3)

• Μέση αμοιβαία πληροφορία και Υπό συνθήκη εντροπία


– Λειτουργούν συμπληρωματικά ως προς την εντροπία της πηγής
23

Εφαρμογές
Εφαρμογές (1 από 2)
• Πηγές πληροφοριών πολυμέσων
– Παράγονται w σύμβολα qi, i=1, 2, …, w
– Πιθανότητα παραγωγής qi ίση με P(qi)
• Απλή αναπαράσταση συμβόλων
– Δυαδικές ακολουθίες σταθερού μήκους
– log2w bits ανά σύμβολο για w σύμβολα
• Εσωτερική πληροφορία
– I(qi)=-log2P(qi) bits
• Αναπαράσταση μεταβλητού μήκος
– I(qi) bits για το σύμβολο qi
– Σπάνια και συχνά σύμβολα
– Βέλτιστη δυνατή κωδικοποίηση
• Εντροπία πηγής Η(Χ): μέσο πλήθος bits ανά σύμβολο

25

Εφαρμογές (2 από 2)
• Αποδοτικότητα μίας κωδικοποίησης
– Μέσο μήκος συμβόλων κωδικοποίησης R
– Αποδοτικότητα: H(X)/R
• Μετάδοση πάνω από κανάλι
– X: είσοδος, Y: έξοδος
• Υπό συνθήκη εντροπία H(X|Y)
– Μέση εσωτερική πληροφορία εισόδου, γνωρίζοντας την έξοδο
• Εντροπία H(X)
– Μέση εσωτερική πληροφορία εισόδου, ανεξάρτητα από έξοδο
• Μέση αμοιβαία πληροφορία I(X;Y)
– I(X;Y)=H(X)-H(X|Y)
– Διαφορά εσωτερικής πληροφορίας πριν και μετά τη μετάδοση
– Μέση πληροφορία που μεταφέρει το κανάλι

26
Ενότητα # 8: Αρχές κωδικοποίησης

Σκοποί ενότητας
• Εξοικείωση με τις γενικές απαιτήσεις από τις
τεχνικές κωδικοποίησης και τις βασικές
κατηγορίες κωδικοποίησης.
• Εισαγωγή στις τεχνικές κωδικοποίησης
εντροπίας, διαφορικής κωδικοποίησης,
κωδικοποίησης μετασχηματισμών,
στρωματοποιημένης κωδικοποίησης και
κβαντοποίησης διανυσμάτων.

4
Περιεχόμενα ενότητας
• Απαιτήσεις κωδικοποίησης
• Είδη κωδικοποίησης
• Κωδικοποίηση εντροπίας
• Διαφορική κωδικοποίηση
• Κωδικοποίηση μετασχηματισμών
• Στρωματοποιημένη κωδικοποίηση
• Κβαντοποίηση διανυσμάτων
5

Απαιτήσεις κωδικοποίησης
Βασικές απαιτήσεις (1 από 4)
• Απαιτήσεις πολυμέσων
– Φωνή PCM: 64 Kbps (8 KHz, 8 bits)
– Μουσικό CD: 705,6x2 Kbps (44,1 KHz, 16 bits)
– Βίντεο PAL: 216 Mbps (13,5 MHz, 4:2:2, 8 bits)
• Συμπίεση και αποσυμπίεση
– Αποθήκευση (δίσκοι)
– Μετάδοση (δίκτυο)
– Ενταμίευση (μνήμη)

Βασικές απαιτήσεις (2 από 4)


• Περιορισμοί
– Υψηλή πιστότητα
• Θυσιάζοντας πιστότητα κερδίζουμε σε συμπίεση
– Χαμηλή πολυπλοκότητα
• Επηρεάζει το κόστος υλοποίησης
– Χρονικά όρια επεξεργασίας
• Σημαντικά σε επικοινωνία πραγματικού χρόνου

8
Βασικές απαιτήσεις (3 από 4)
• Απαιτήσεις σύγχρονων εφαρμογών
– Καθυστέρηση συμπίεσης / αποσυμπίεσης < 50 ms
– Καθυστέρηση από άκρο σε άκρο < 150 ms
• Απαιτήσεις εφαρμογών αλληλεπίδρασης
– Γρήγορη ανάκτηση πληροφοριών (εμπρός / πίσω)
– Τυχαία προσπέλαση σε λιγότερο από 500 ms
– Αποσυμπίεση χωρίς πρόσθετα δεδομένα

Βασικές απαιτήσεις (4 από 4)


• Απαιτήσεις όλων των εφαρμογών
– Μορφότυπα γενικής φύσης
– Πολλαπλοί ρυθμοί μετάδοσης
– Συγχρονισμός ήχου, βίντεο και άλλων μέσων
– Υλοποίηση με λογισμικό ή υλισμικό
• Ανάλογα με τις απαιτήσεις της εφαρμογής
– Τυποποιημένες τεχνικές
• Επιτρέπουν την μαζική παραγωγή

10
Είδη κωδικοποίησης

Κατηγορίες κωδικοποίησης
• Μη απωλεστική (lossless)
– Δεν χάνεται καθόλου πληροφορία
• Απωλεστική (lossy)
– Ελεγχόμενη απώλεια για μείωση χώρου
• Συμμετρικές τεχνικές
– Ίδιο κόστος συμπίεσης / αποσυμπίεσης
• Ασύμμετρες τεχνικές
– Σχεδόν πάντα πιο απλή αποσυμπίεση
12
Τύποι κωδικοποίησης (1 από 2)
• Κωδικοποίηση εντροπίας
– Δεν κατανοεί το περιεχόμενο των μέσων
– Μη απωλεστική
• Κωδικοποίησης πηγής
– Κατανοεί το περιεχόμενο των μέσων
– Απωλεστική ή μη απωλεστική
– Πρόβλεψη ή/και μετασχηματισμός δεδομένων
• Υβριδική κωδικοποίηση
13

Τύποι κωδικοποίησης (2 από 2)


Κατηγορία Παράδειγμα
Εντροπίας Κωδικοποίηση μήκους σειρών
Κωδικοποίηση Huffman
Αριθμητική κωδικοποίηση
Κωδικοποίηση LZx

Πηγής Διαφορική κωδικοποίηση


Κωδικοποίηση μετασχηματισμών

Στρωματοποιημένη κωδικοποίηση

Κωδικοποίηση διανυσμάτων

Υβριδική JPEG
MPEG-x
H.26x
08-14
Ροή κωδικοποίησης
• Προετοιμασία
– Ψηφιοποίηση
• Επεξεργασία
– Μετασχηματισμός DCT/FFT
– Πρόβλεψη κίνησης (βίντεο)
• Κβαντοποίηση
– Μετατροπή δειγμάτων σε ακέραιες τιμές
• Κωδικοποίηση εντροπίας
– Συμπίεση ψηφιακής ροής χωρίς απώλειες

15

Κωδικοποίηση εντροπίας
Αξιοποίηση πλεονασμού (1 από 2)
• Κωδικοποίηση μήκους σειρών (RLE)
– Αντικατάσταση σειρών όμοιων bytes
– Σημαία “~”, μήκος σειράς – 4, Byte
• Δεν έχει νόημα για μικρότερες σειρές
– Διπλασιασμός σημαίας όπου εμφανίζεται
– Κατάλληλη (και) για τεχνητές εικόνες
• Συνεχόμενα εικονοστοιχεία με το ίδιο χρώμα

17

Αξιοποίηση πλεονασμού (2 από 2)


• Παράδειγμα
– Είσοδος: BBBACCCCCC~Α
– Έξοδος: BBBA~2C~~A
• Κωδικοποίηση συχνών λέξεων
– Σημαία και κωδικός λέξης
– Χρήση λεξικού με συχνές λέξεις
– Κατάλληλη για γλώσσες προγραμματισμού

18
Διαφορική κωδικοποίηση

Κωδικοποίηση διαφορών (1 από 2)

• Χρήση της διαφοράς των διαδοχικών τιμών


– Ομαλή μεταβολή μεγεθών (π.χ. ήχου)
– Μικρές διαφορές μεταξύ τιμών
– Μεγάλες διαφορές από το μηδέν
– Συμφέρει να κωδικοποιήσουμε τη διαφορά

20
Κωδικοποίηση διαφορών (2 από 2)
• Διαμόρφωση δέλτα
– Ένα bit ανά δείγμα (+1 ή –1)
– Αύξηση ή μείωση τις τιμής
• Διαφορική κωδικοποίηση χωρίς προσαρμογή
– Έστω 4 bits ανά δείγμα
– Μικρές διαφορές: [-8,+7] ανά 1 βήμα
– Μεγάλες διαφορές: [-128,+127] ανά 16 βήματα
– Σταθερό βήμα σε όλη τη ροή

21

Κωδικοποίηση μετασχηματισμών
Γιατί μετασχηματισμοί;
• Από πεδίου εισόδου σε νέο πεδίο
– Αντιστροφή για αποκωδικοποίηση
– Παράδειγμα: FFT, DCT (χώρος σε συχνότητες)
– Ο μετασχηματισμός ΔΕΝ συμπιέζει δεδομένα
– Το νέο πεδίο προσφέρεται για κωδικοποίηση
• Απομόνωση πιο σημαντικών στοιχείων
• Απωλεστική συμπίεση λιγότερο σημαντικών

23

Μετασχηματισμός FFT
• Γρήγορος μετασχηματισμός Fourier
– Είσοδος: σήμα σε κάθε χρονική στιγμή f(t)
– Έξοδος: συντελεστής κάθε συχνότητας g(l)
– Διάσπαση f(t) σε αρμονικές με συντελεστές g(l)
– Απομόνωση πλέον σημαντικών συντελεστών
• Οι σημαντικότεροι συγκεντρώνονται στο ένα άκρο
– Κβαντοποίηση συντελεστών αναλόγως σημασίας
• Πιο μικρό βήμα στους πιο σημαντικούς συντελεστές

24
Μετασχηματισμός DCT

• Μετασχηματισμός διακριτού συνημιτόνου


– Είσοδος: σήμα σε κάθε σημείο f(x,y)
– Έξοδος: συντελεστές g(s,y)
• Μετασχηματισμός δύο διαστάσεων
– Χρησιμοποιείται στο πρότυπο JPEG

25

Στρωματοποιημένη κωδικοποίηση
Στρώματα (1 από 2)
• Λέγεται και κωδικοποίηση σε επίπεδα
– Διάκριση πληροφορίας σε στρώματα
– Διαφορετική μεταχείριση κάθε στρώματος
• Κωδικοποίηση υποπεριοχών
– Διάκριση συχνοτήτων σε περιοχές
– Διαφορετική μεταχείριση κάθε περιοχής
– Προσέγγιση σήματος με λίγες περιοχές

27

Στρώματα (2 από 2)
• Κωδικοποίηση υποδειγματοληψίας
– Διαφορετική δειγματοληψία κάθε συνιστώσας
– Λεπτομέρεια στις σημαντικότερες συνιστώσες
– Προσέγγιση με δειγματοληψία μικρής ανάλυσης
• Ετερογένεια
– Χωριστή μετάδοση κάθε στρώματος
– Προσέγγιση με μεταβλητό πλήθος στρωμάτων
– Επιλογή κατάλληλων στρωμάτων από παραλήπτη

28
Κβαντοποίηση διανυσμάτων

Βιβλίο κωδικών
• Βιβλίο κωδικών (διανυσμάτων)
– Περιέχει αντιπροσωπευτικές ακολουθίες
– Η έξοδος είναι δείκτες στο βιβλίο κωδικών
• Απαιτήσεις βιβλίου κωδικών
– Μικρό πλήθος κωδικών λέξεων
• Μικροί δείκτες στην έξοδο
– Παρόμοιος με τα διανύσματα εισόδου
• Μικρές απώλειες κβαντοποίησης

30
Απωλεστική μέθοδος

• Απωλεστική κωδικοποίηση
– Πίνακας με κωδικές λέξεις των n bytes
– Τεμαχισμός εισόδου σε διανύσματα n bytes
– Κβαντοποίηση με πλησιέστερη κωδική λέξη
• Ο πίνακας δεν περιέχει όλες τις δυνατές λέξεις
• Άρα έχουμε προσέγγιση (απωλεστική)

31

Μη απωλεστική μέθοδος

• Μη απωλεστική κωδικοποίηση
– Ίδια με απωλεστική στην αρχή
– Μετάδοση διαφοράς από την κωδική λέξη
• Αυξημένες απαιτήσεις χώρου
– Ανασύνθεση της ακριβούς αρχικής τιμής

32
Πίνακες αναζήτησης

• Πίνακας αναζήτησης χρωμάτων


– Κάθε εικονοστοιχείο παριστάνεται με δείκτη
– Ο δείκτης επιλέγει ένα χρώμα από πίνακα
– Σημαντική η επιλογή χρωμάτων του πίνακα
33

Ενότητα # 9: Κωδικοποίηση εντροπίας


Σκοποί ενότητας
• Κατανόηση των βασικών τεχνικών
κωδικοποίησης εντροπίας με χρήση δένδρου
(Shannon-Fano και Huffman).
• Εξοικείωση με την τεχνική της αριθμητικής
κωδικοποίησης.
• Εισαγωγή στις τεχνικές κωδικοποίησης με
παράθυρο (LZ77/LZSS) και με λεξικό
(LZ78/LZW).

Περιεχόμενα ενότητας
• Κωδικοποίηση Shannon-Fano
• Κωδικοποίηση Huffman
• Αριθμητική κωδικοποίηση
• Κωδικοποίηση με παράθυρο
• Κωδικοποίηση με λεξικό

5
Κωδικοποίηση Shannon-Fano

Βέλτιστη κωδικοποίηση
• Βέλτιστη κωδικοποίηση εντροπίας
– bits/σύμβολο = εσωτερική πληροφορία
– Απαιτούνται κωδικοί μεταβλητού μήκους
• Πρόβλημα για την αποκωδικοποίηση
• Πώς ξέρουμε που τελειώνει ένας κωδικός
– Απαιτείται γνώση των πιθανοτήτων εισόδου
• Είτε υποθέτουμε κάποια κατανομή
• Είτε διαβάζουμε πρώτα όλο το αρχείο

7
Μέθοδος Shannon-Fano (1 από 5)
• Κωδικοποίηση Shannon-Fano
– Χρήση κωδικών με ακέραιο μήκος bit
• Απόκλιση από ιδανική συμπίεση
– Δυαδικό δένδρο κωδικοποίησης
• Φύλλα: σύμβολα και πιθανότητες
• Κόμβοι: σύνολα συμβόλων και πιθανοτήτων
– Ίδιο δένδρο αποκωδικοποίησης
• Κάθε κωδικός έχει διαφορετικό πρόθεμα
• Επιτρέπει αποκωδικοποίηση μεταβλητού μήκους

Μέθοδος Shannon-Fano (2 από 5)


• Κατασκευή δένδρου
– Ταξινομούμε σύμφωνα με τις πιθανότητες
– Διάσπαση συμβόλων σε «ισοπίθανες» ομάδες
• Κάθε ομάδα έχει το άθροισμα των πιθανοτήτων
• Ομάδες με ελάχιστη διαφορά αθροίσματος
• Οι δύο ομάδες γίνονται παιδιά του κόμβου
• Αντιστοίχιση 0 και 1 στα δύο παιδιά
– Επανάληψη μέχρι να μείνουν μόνο τα φύλλα
• Κάθε φύλλο είναι ένα σύμβολο

9
Μέθοδος Shannon-Fano (3 από 5)

• Παράδειγμα δένδρου κωδικοποίησης


– Η ταξινόμηση δίνει τη σειρά b, a, d, e, c
– Μέσο μήκος κώδικα: 2,31
10

Μέθοδος Shannon-Fano (4 από 5)


• Κωδικοποίηση: Αντικατάσταση x με w(x)
– Κάθε σύμβολο αντιστοιχεί σε ένα φύλλο
– Το μονοπάτι του φύλλου είναι ο κωδικός
• Αποκωδικοποίηση
– Απαιτείται γνώση δένδρου κωδικοποίησης
– Αντιστοίχιση εισόδου με μονοπάτια δένδρου
• Κάθε πρόθεμα αντιστοιχεί σε διαφορετικό μονοπάτι
• Ξέρουμε πάντα πότε να σταματήσουμε

11
Μέθοδος Shannon-Fano (5 από 5)
• Κατασκευή δένδρου κωδικοποίησης
– Κωδικοποίηση δύο φάσεων
– Χρήση έτοιμων δένδρων
• Ουσιαστικά έτοιμων κατανομών πιθανότητας
• Κατασκευή δένδρου αποκωδικοποίησης
– Μετάδοση δένδρου κωδικοποίησης
– Μετάδοση πιθανοτήτων
• Απαιτείται γνώση των κανόνων κωδικοποίησης

12

Κωδικοποίηση Huffman
Μέθοδος Huffman (1 από 5)
• Παρόμοια με Shannon-Fano
– Μεταβλητό πλήθος bit ανά σύμβολο
– Απαιτεί γνώση πιθανοτήτων εισόδου
– Δυαδικό δένδρο (απο)κωδικοποίησης
• Μπορεί να διαφέρει από της Huffman
– Ίδιος αλγόριθμος (από)κωδικοποίησης
– Δημιουργία δένδρου με ανάποδο τρόπο

14

Μέθοδος Huffman (2 από 5)


• Κατασκευή
– Επιλογή κόμβων με ελάχιστες πιθανότητες
– Αντικατάσταση κόμβων με υποδένδρο
• Άθροισμα πιθανοτήτων παιδιών στον πατέρα
• Αντιστοίχιση 0 και 1 στα δύο παιδιά
– Σταματάμε όταν μείνει ένα δένδρο
• Η ρίζα αντιπροσωπεύει όλα τα σύμβολα
– Πιο ισορροπημένα δένδρα από Shannon-Fano
15
Μέθοδος Huffman (3 από 5)

• Παράδειγμα δένδρου κωδικοποίησης


– P(a)=0,17, P(b)=0,35, P(c)=0,15, P(d)=0,17, P(e)=0,16
– Μέσο μήκος κώδικα: 2,3 (καλύτερο από Shannon-Fano)

16

Μέθοδος Huffman (4 από 5)


• Huffman ή Shannon-Fano;
– Σχεδόν πανομοιότυποι αλγόριθμοι
– Πιο απλή κατασκευή στο Shannon-Fano
• Όχι ταξινόμηση συμβόλων σε κάθε βήμα
– Πιο αποδοτική κωδικοποίηση στο Huffman
• Σε κάθε βήμα απαιτείται ταξινόμηση υποδένδρων
• Γρήγορη υλοποίηση με σωρό

17
Μέθοδος Huffman (5 από 5)
• Μειονεκτήματα Huffman/Shannon-Fano
– Απαιτείται γνώση των πιθανοτήτων εισόδου
– Η κωδικοποίηση δεν είναι βέλτιστη
• Ακέραιο πλήθος bit ανά σύμβολο
• Αναγκαστικά αποκλίνουμε από το ιδανικό
– Βελτίωση συμπίεσης
• Κωδικοποίηση ομάδων από n σύμβολα
• Εκθετική αύξηση του πλήθους των συμβόλων

18

Αριθμητική κωδικοποίηση
Αριθμητική (1 από 9)
• Κωδικοποίηση εισόδου με έναν αριθμό
– Το πλήθος bit εξαρτάται από το μήκος
• Μπορεί να είναι πάρα πολύ μεγάλο
– Δεν απαιτείται σταθερό πλήθος bit/σύμβολο
• Αποφεύγουμε την απόκλιση από το ιδανικό
– Απαιτείται γνώση των πιθανοτήτων εισόδου
– Χρησιμοποιείται τερματικό σύμβολο στο τέλος
• Για να ξέρουμε ότι τελείωσε η αποκωδικοποίηση

20

Αριθμητική (2 από 9)
• Προετοιμασία αλγορίθμου
– Ταξινόμηση συμβόλων (συνήθως αλφαβητικά)
– Στο xi αντιστοιχίζουμε το διάστημα [ai, bi)
• Το διάστημα ορίζεται έτσι ώστε bi-ai = p(xi)
– Παράδειγμα
• P(a) = 0.4, P(b) = 0.3, P(c) = 0.2 και P($) = 0.1
• Διάστημα a: [0, 0.4), Διάστημα b: [0.4,0.7)
• Διάστημα c: [0.7, 0.9), Διάστημα $: [0.9,1.0)

21
Αριθμητική (3 από 9)
low = 0.0;
high = 1.0;
repeat {
input s;
range = high - low;
high = low + range * highrange[s];
low = low + range * lowrange[s];
} until s = $;
output any number in [low, high);
22

Αριθμητική (4 από 9)
• Λειτουργία αλγορίθμου
– Lowrange[]: κάτω όρια πιθανοτήτων
– Highrange[]: άνω όρια πιθανοτήτων
– Η είσοδος κωδικοποιείται με διάστημα
• Αρχικά το διάστημα είναι [0,1)
• Σε κάθε βήμα το διάστημα περιορίζεται
• Ανάλογα με το σύμβολο εισόδου
• Όσο μεγαλύτερη είσοδος, τόσο μικρότερο διάστημα

23
Αριθμητική (5 από 9)

• Παράδειγμα αριθμητικής κωδικοποίησης


24

Αριθμητική (6 από 9)
• Υπολογισμός εξόδου
– Θέλουμε έναν αριθμό μέσα στο διάστημα
– Αλλά με τα λιγότερα δυνατά ψηφία!
– Αρχίζουμε με 0, και προσθέτουμε κλασματικά
– Επισυνάπτουμε μονάδα στο δεξί άκρο
• Αν είμαστε πάνω από το άνω όριο, βάζουμε μηδέν
• Αν είμαστε πάνω από το κάτω όριο, σταματάμε
– Δεν χρειάζεται να στείλουμε το 0,
25
Αριθμητική (7 από 9)
• Αλγόριθμος αποκωδικοποίησης
input n;
repeat {
find s so that n is in
[lowrange[s], highrange[s]);
output s;
range = highrange[s] - lowrange[s];
n = (n - lowrange[s]) / range;
} until s = $;

26

Αριθμητική (8 από 9)

• Παράδειγμα αριθμητικής αποκωδικοποίησης


27
Αριθμητική (9 από 9)
• Μειονεκτήματα αριθμητικής κωδικοποίησης
– Διαχείριση αριθμών άγνωστου μήκους
• Πάρα πολλά δεκαδικά ψηφία
• Χρήση ειδικών βιβλιοθηκών
– Κωδικοποίηση ομάδων σταθερού μήκους
• Σπάμε την είσοδο σε μπλοκ
• Κάθε μπλοκ απαιτεί μικρότερο αριθμό
• Αλλά χάνουμε λίγο σε αποδοτικότητα

28

Κωδικοποίηση με παράθυρο
Αλγόριθμος LZ77 (1 από 4)

• Αλγόριθμος LZ77 (Lempel-Ziv)


– Σε κάθε στιγμή βλέπουμε παράθυρο της εισόδου
• Αριστερό μέρος: κωδικοποιημένη είσοδος (λεξικό)
• Δεξί μέρος: είσοδος προς κωδικοποίηση
– Αντικατάσταση προθέματος με τριάδα (O,L,C)
• O: θέση προθέματος στο αριστερό μέρος
• L: μήκος του προθέματος που ταιριάξαμε
• C: πρώτος χαρακτήρας που δεν ταιριάζει

30

Αλγόριθμος LZ77 (2 από 4)

• Παράδειγμα κωδικοποίησης LZ77


– Αντικαθιστούμε το baa με (4,2,a)
• Θέση 4 στο παράθυρο
• Μήκος ταιριάσματος 2
• Επόμενο σύμβολο a
• Η πρώτη θέση στο παράθυρο είναι 0
– Αν δεν βρούμε ταίριασμα, θέτουμε μήκος 0

31
Αλγόριθμος LZ77 (3 από 4)

• Παράδειγμα με επικάλυψη
– Επέκταση ταιριάσματος στο δεξί μέρος
– Αντικαθιστούμε το aac με (7,2,c)
• Υλοποίηση κωδικοποίησης LZ77
– Το παράθυρο συνήθως είναι δύναμη του 2
– Παράδειγμα: 4096+4096 σύμβολα
– Δείκτης: 12 bit για όλο το αριστερό μέρος
– Μήκος: 12 bit για το μήκος του δεξιού μέρους

32

Αλγόριθμος LZ77 (4 από 4)


• Εκκίνηση (απο)κωδικοποίησης
– Υποθέτουμε γνωστό παράθυρο στα αριστερά
• Μειονεκτήματα LZ77
– Κάθε τριάδα απαιτεί 4-5 byte στο παράδειγμα
– Το αρχείο μεγαλώνει με κακά ταιριάσματα
– Οι χαρακτήρες αρχικά κωδικοποιούνται ως (0,0,c)
• Βελτίωση: αρχικό παράθυρο το σύνολο συμβόλων
– Η κωδικοποίηση ξεκινά με παθητικό!

33
Αλγόριθμος LZSS (1 από 2)
• Αλγόριθμος LZSS (Storer και Szymanski)
– Παραλλαγή του LZ77
– Διαφέρει στο τι παράγεται στην έξοδο
– Δύο περιπτώσεις: ταίριασμα ή χαρακτήρας
– Το πρώτο bit της εξόδου διακρίνει τι είναι
• Είτε (O,L): θέση O, μήκος L
• Είτε C: χαρακτήρας C χωρίς ταίριασμα
– Η τριάδα σπάει σε δύο κομμάτια
34

Αλγόριθμος LZSS (2 από 2)


• Υλοποίηση κωδικοποίησης LZSS
– Δεν θέλουμε κωδικούς των 9 bit!
– Χωρίζουμε την έξοδο σε ομάδες οκτώ κωδικών
– Το πρώτο byte περιγράφει τους κωδικούς
• Ένα bit για κάθε κωδικό
• Δείχνει αν είναι ταίριασμα ή χαρακτήρας
• Τα byte υπόλοιπα ερμηνεύονται αντίστοιχα
– Διαβάζουμε συνέχεια ολόκληρα byte (ή λέξεις)
35
Κωδικοποίηση με λεξικό

Αλγόριθμος LZ78 (1 από 2)


• Δημιουργία και χρήση λεξικού
– Δυνατότητα ταιριάσματος με παλιά είσοδο
– Μέγιστο πρόθεμα εισόδου που υπάρχει στο λεξικό
– Αντικατάσταση προθέματος με το ζεύγος (P,C)
• P: θέση του προθέματος στο λεξικό
• C: πρώτος χαρακτήρας που δεν ταιριάζει
– Πρόθεμα + χαρακτήρας μπαίνουν στο λεξικό
– Ο αποκωδικοποιητής χτίζει το ίδιο λεξικό
• Χρήση του λεξικού για την αποκωδικοποίηση

37
Αλγόριθμος LZ78 (2 από 2)
Είσοδος Έξοδος Λεξικό
a (0,a) Θέση 1: a
aa (1,a) Θέση 2: aa
b (0,b) Θέση 3: b
ba (3,a) Θέση 4: ba
ab (1,b) Θέση 5: ab

• Παράδειγμα: είσοδος aaabbaab


– Το λεξικό σταδιακά αποκτά μεγάλες συμβολοσειρές
• Στον LZ77 κάνουμε αμέσως μεγάλα ταιριάσματα
– Ο αποκωδικοποιητής χτίζει το λεξικό από την έξοδο
• Οι αναφορές γίνονται σε προηγούμενες καταχωρήσεις
38

Αλγόριθμος LZW (1 από 10)


• Αλγόριθμος LZW (Welch)
– LZ78: ακολουθεί τη λογική του LZ77
• Σε κάθε ταίριασμα προσθέτει επόμενο χαρακτήρα
• Εγγυημένη πρόοδος ακόμη και χωρίς ταίριασμα
– Ο LZW παράγει μόνο δείκτες, όχι χαρακτήρες
• Το λεξικό αρχικοποιείται με όλα τα σύμβολα
• Άρα πάντα έχουμε κάποιο ταίριασμα
• Οι συμβολοσειρές χτίζονται από αυτά τα σύμβολα

39
Αλγόριθμος LZW (2 από 10)
• Κωδικοποίηση LZW
– Μέγιστο πρόθεμα εισόδου που είναι στο λεξικό
– Αντικαθίσταται από το δείκτη στο λεξικό
• Ο επόμενος ανήκει στην επόμενη συμβολοσειρά
– Προσθέτουμε πρόθεμα + επόμενο χαρακτήρα
• Σταδιακή αύξηση μήκους συμβολοσειρών στο λεξικό
– Η είσοδος προχωράει μετά το πρόθεμα
• Ο επόμενος χαρακτήρας γίνεται αρχή της εισόδου

40

Αλγόριθμος LZW (3 από 10)


input s;
while not EOF {
input c;
if [s+c] is in dictionary
s = [s+c];
else {
output code(s);
add [s,c] to dictionary with next code;
s = c; }
}
output code(s);

41
Αλγόριθμος LZW (4 από 10)
Είσοδος Έξοδος Λεξικό
Θέση 1: a
Θέση 2: b
a+a 1 Θέση 3: aa
aa+b 3 Θέση 4: aab
b+b 2 Θέση 5: bb
b+a 2 Θέση 6: ba
aab+b 4 Θέση 7: aabb

• Παράδειγμα: είσοδος aaabbaabb


– Το λεξικό έχει αρχικά όλα τα σύμβολα

42

Αλγόριθμος LZW (5 από 10)


• Αποκωδικοποίηση LZW
– Διαβάζουμε τον κωδικό
– Αν υπάρχει στο λεξικό, τον αντικαθιστούμε
• Δεν εισάγουμε τρέχουσα συμβολοσειρά στο λεξικό
• Δεν γνωρίζουμε τον επόμενο χαρακτήρα!
– Εισάγουμε προηγούμενη + πρώτο χαρακτήρα
• Τώρα μόνο γνωρίζουμε ποιος ήταν ο χαρακτήρας
• Ο αποκωδικοποιητής είναι ένα βήμα πίσω

43
Αλγόριθμος LZW (6 από 10)
• Αν ο κωδικός δεν υπάρχει στο λεξικό;
– Έστω ότι η είσοδος είναι ο τελευταίος κωδικός
– Δεν τον έχουμε προσθέσει ακόμη στο λεξικό!
• Δεν γνωρίζουμε ακόμη τον επόμενο χαρακτήρα
– Η συμβολοσειρά είναι της μορφής C???C
• Μοναδικός τρόπος να συμβεί το παραπάνω
• Άρα επαναλαμβάνουμε τον πρώτο χαρακτήρα
• Αυτός αντιστοιχεί στον άγνωστο κωδικό

44

Αλγόριθμος LZW (7 από 10)


s = NIL;
while not EOF {
input c;
entry = string(c);
if entry not in dictionary
entry = s + s[0];
output entry;
if (s != NIL)
add [s,entry[0]] to dictionary with next code;
s = entry;
}

45
Αλγόριθμος LZW (8 από 10)
Είσοδος Έξοδος Λεξικό
Θέση 1: a
Θέση 2: b
1 a
3 aa Θέση 3: aa
2 b Θέση 4: aab
2 b Θέση 5: bb
4 aab Θέση 6: ba

• Παράδειγμα αποκωδικοποίησης LZW


– Ο κωδικός 3 δείχνει σε κενή θέση
– Πρέπει να είναι παλιά + πρώτος χαρακτήρας (a+a)
46

Αλγόριθμος LZW (9 από 10)


• Υλοποίηση λεξικού LZ78/LZW
– Το λεξικό μεγαλώνει σε κάθε βήμα
– Επεκτεινόμενοι δείκτες
• Ξεκινάμε με δείκτες έστω 4 bit (16 θέσεις)
• Όποτε γεμίζει το λεξικό, προσθέτουμε 1 bit
– Τι γίνεται όταν το λεξικό μεγαλώσει πολύ;
• Είτε σταματάμε να δεχόμαστε συμβολοσειρές
• Είτε πετάμε τις λιγότερο χρησιμοποιημένες

47
Αλγόριθμος LZW (10 από 10)
• Συμπίεση λεξικού LZ78/LZW
– Κάθε νέα είσοδος επεκτείνει μία παλιά
• Κατά έναν χαρακτήρα ακριβώς
– Αποθήκευση δείκτη σε παλιά συμβολοσειρα
• Και επιπλέον του νέου χαρακτήρα
– Χρησιμοποιούνται ειδικές δομές δεδομένων
– Επιτάχυνση ταιριάσματος και αντικατάστασης

48

Ενότητα # 10: Κωδικοποίηση ήχου


Σκοποί ενότητας
• Κατανόηση των βασικών τεχνικών
κωδικοποίησης καναλιού και πηγής ειδικά για
τη φωνή.
• Εισαγωγή στην αντιληπτική κωδικοποίηση και
την εφαρμογή της στην κωδικοποίηση
γενικών ήχων στα πρότυπα MPEG.

Περιεχόμενα ενότητας
• Κωδικοποίηση καναλιού φωνής
• Κωδικοποίηση πηγής φωνής
• Αντιληπτική κωδικοποίηση
• Κωδικοποίηση ήχου MPEG-1
• Κωδικοποίηση ήχου MPEG-2

5
Κωδικοποίηση καναλιού φωνής

Κωδικοποίηση καναλιού (1 από 4)

• Αρχικά ψηφιοποίηση στα 64 kbps (G.711)


• Κωδικοποίηση DPCM
– Κωδικοποίηση διαφορών αντί δειγμάτων
• Μεταδίδουμε προσέγγιση της διαφοράς
– Βάση: η προηγούμενη προσέγγιση
7
Κωδικοποίηση καναλιού (2 από 4)

• Κωδικοποίηση DPCM με πρόβλεψη


– Γραμμικός συνδυασμό παλιών προβλέψεων
– Καλύτερες προσεγγίσεις με λιγότερα bit
8

Κωδικοποίηση καναλιού (3 από 4)


• Κωδικοποίηση ADPCM
– Χρήση πολλών τιμών για πρόβλεψη
– Μεταβολή βήματος κβαντοποίησης
• G.721: ποιότητα G.711 στα 32 kbps
– Χρήση 8 προηγούμενων τιμών για πρόβλεψη
– G.723: αντίστοιχα για 24 και 40 kbps
• G.726: επεκτείνει τα G.721 και G.723
– Υποστηρίζει ρυθμούς 16, 24, 32 και 40 Kbps

9
Κωδικοποίηση καναλιού (4 από 4)
• G.722: 64 kbps για εύρος ζώνης 7 KHz
– Χωρίζουμε τη φωνή σε δύο ζώνες συχνοτήτων
– Κωδικοποίηση κάθε ζώνης με ADPCM
– 0-3,5 KHz: κωδικοποίηση με 48 kbps
• Αντίστοιχο με κλασική τηλεφωνία
– 3,5-7 KHz: κωδικοποίηση με 16 kbps
• Προσθήκη υψηλότερων συχνοτήτων
• Πιο φυσική απόδοση της φωνής

10

Κωδικοποίηση πηγής φωνής


Κωδικοποίηση πηγής (1 από 6)

• Κωδικοποιητές φωνής (vocoders)


– Χρήση μοντέλου ανθρώπινης φωνής
– Εξαγωγή χαρακτηριστικών και μετάδοσή τους
• Παράμετροι μοντέλου
12

Κωδικοποίηση πηγής (2 από 6)


• Βασική ορολογία
– Φωνητικοί ήχοι (voiced)
• Παράγονται με κλειστές φωνητικές χορδές
– Σχηματιστικές συχνότητες (formants)
• Παράγονται από λαιμό και στόμα
• Επηρεάζουν τους φωνητικούς ήχους
– Μη φωνητικοί ήχοι (unvoiced)
• Παράγονται με ανοιχτές φωνητικές χορδές

13
Κωδικοποίηση πηγής (3 από 6)
• Γραμμική προβλεπτική κωδικοποίηση (LPC)
– Φωνητικοί ήχοι: γεννήτρια συχνοτήτων
• Περνάνε από φίλτρο σχηματιστικών συχνοτήτων
– Μη φωνητικοί ήχοι: γεννήτρια θορύβου
– Πρόβλεψη επόμενων παραμέτρων
• Από προηγούμενες ομάδες δειγμάτων
– LPC-10: γραμμικός συνδυασμός 10 ομάδων
– Ρυθμοί μετάδοσης έως και 2,4 Kbps
14

Κωδικοποίηση πηγής (4 από 6)


• LPC διεγειρόμενη με κωδικούς (CELP)
– Χρήση βιβλιοθήκης έτοιμων προτύπων
– Προσθήκη προσαρμοσμένων προτύπων
• Δημιουργία βιβλίου κατά την κωδικοποίηση
– Εντοπίζεται το καλύτερο ταίριασμα
• Ενημέρωση προσαρμοσμένων προτύπων
– Πρόβλεψη παραμέτρων
• Μείωση του εύρους ζώνης

15
Κωδικοποίηση πηγής (5 από 6)
• G.728: 16 kbps
– Κατάλληλο για τηλεδιάσκεψη σε ISDN
• G.729: 8 kbps
– Χρήση στην κινητή τηλεφωνία
– Το G.729a χρησιμοποιείται στο GSM
• G.723.1: 5,3 ή 6,3 kbps
– Κατάλληλο για τηλεδιάσκεψη σε δίκτυα PSTN

16

Κωδικοποίηση πηγής (6 από 6)

• Η αποδοτική κωδικοποίηση έχει κόστος


– Αυξάνεται η καθυστέρηση κωδικοποίησης
• Συνάρτηση Flanagan
– Καμπύλες ποιότητας – ρυθμού μετάδοσης
– Κάθε δεκαετία αντιστοιχεί σε νέα καμπύλη
17
Αντιληπτική κωδικοποίηση

Κωδικοποίηση γενικών ήχων


• Η φωνή είναι ειδική περίπτωση ήχου
– Συγκεκριμένα χαρακτηριστικά και μοντέλα
• Ομαλή μεταβολή, συγκεκριμένοι ήχοι
• Πώς να κωδικοποιήσουμε τυχαίο ήχο;
– Για παράδειγμα, μουσική
– Η κωδικοποίηση πηγής δεν είναι εφικτή
• Δεν γνωρίζουμε τα χαρακτηριστικά της πηγής
– Γνωρίζουμε όμως τα χαρακτηριστικά της ακοής

19
Λειτουργία της ακοής
• Δυναμικό εύρος της ακοής
– Πλέον ισχυρό / πλέον ασθενές αντιληπτό σήμα
– Εξαρτάται από την περιοχή συχνοτήτων
– Μεγιστοποιείται στην περιοχή 2-5 KHz
• Αντιληπτική κωδικοποίηση
– Χρήση ψυχοακουστικού μοντέλου της ακοής
– Εντοπισμός μη αντιληπτών τμημάτων του ήχου
– Κωδικοποίησή τους με μικρή ακρίβεια ή καθόλου

20

Απόκρυψη ήχων (1 από 2)


• Απόκρυψη συχνοτήτων
– Ισχυρά σήματα: μειώνουν το δυναμικό εύρος
• Στις γειτονικές συχνότητες ανεβαίνει το κάτω όριο
– Η επίδραση εξαρτάται από τη συχνότητα
• Απόκρυψη χρόνου
– Ισχυρά σήματα: αποκρύπτουν ασθενή για λίγο
– Η επίδραση εξαρτάται πάλι από τη συχνότητα

21
Απόκρυψη ήχων (2 από 2)
• Αξιοποίηση των αποκρύψεων
– Αναλύουμε το σήμα σε περιοχές συχνοτήτων
– Σε κάθε περιοχή εντοπίζουμε τα ισχυρά σήματα
– Υπολογίζουμε επίδραση στα ασθενή σήματα
• Σε κάθε περιοχή έχουμε διαφορετική επίδραση
– Εντοπίζουμε τα ασθενή σήματα
• Κωδικοποίηση με μικρότερη ακρίβεια

22

Κωδικοποίηση ήχου MPEG-1


Κωδικοποίηση MPEG-1 (1 από 6)
• MPEG Audio Layer 1, 2, 3
– Τυποποιήθηκε στα πλαίσια του MPEG-1
– Συνοδεύει πρότυπα για βίντεο και σύστημα
• Τρία επίπεδα, προς τα πίσω συμβατότητα
– Πιο δημοφιλές το επίπεδο 3 (MP3)
• Ψηφιοποίηση σήματος
– 48, 44,1 ή 32 KHz με 16 bit ανά κανάλι
– Συμβατό με CD μουσικής και DAT

24

Κωδικοποίηση MPEG-1 (2 από 6)

• Συμπίεση με βάση ψυχοακουστικό μοντέλο


– Επηρεάζει κωδικοποίηση με βάση την αντίληψη
25
Κωδικοποίηση MPEG-1 (3 από 6)
• Βασική κωδικοποίηση
– Επεξεργασία πακέτου δειγμάτων
– MP1/2: διάκριση σε 32 ζώνες με φίλτρα
– MP3: επιπλέον μετασχηματισμός MDCT
• Κάθε ζώνη διακρίνεται σε 18 υποζώνες
• Μεγαλύτερη ακρίβεια στην απόκρυψη θορύβου

26

Κωδικοποίηση MPEG-1 (4 από 6)


• Ψυχοακουστικό μοντέλο
– Ξεκινάει με FFT 1024 σημείων ή έξοδο MDCT
– Εκτίμηση σημασίας κάθε ζώνης/συντελεστή
– Κατανομή bit ανάλογα με τη σημασία
• Κβαντοποίηση
– Λογαριθμική κβαντοποίηση των συντελεστών
– Χρήση παράγοντα κλιμάκωσης κβαντοποίησης
• Στόχος: έξοδος με σταθερό ρυθμό bit

27
Κωδικοποίηση MPEG-1 (5 από 6)
• Κωδικοποίηση εντροπίας
– MP1/2: PCM
– MP3: Huffman σε ζεύγη συντελεστών
• Επιλογή πίνακα Huffman ανάλογα με την είσοδο
• Διπλός βρόχος προσαρμογής κβαντοποίησης
– Εσωτερικός: ανάλογα με κωδικοποίηση εντροπίας
• Ρυθμίζει καθολικό παράγοντα κβαντοποίησης
– Εξωτερικός: ανάλογα με θόρυβο σε κάθε ζώνη
• Ρυθμίζει παράγοντες κβαντοποίησης ανά ζώνη

28

Κωδικοποίηση MPEG-1 (6 από 6)


• Τελική κωδικοποίηση
– Επίπεδα 1 και 2: σταθερός ρυθμός bit
– Επίπεδο 3: προαιρετικά μεταβλητός ρυθμός bit
• Αλλαγή σε κάθε πλαίσιο (frame) ήχου
• Ρυθμός δεδομένων: τουλάχιστον 32 Kbps
– Επίπεδο 1: Μέχρι 448 Kbps
– Επίπεδο 2: Μέχρι 384 Kbps
– Επίπεδο 3: Μέχρι 320 Kbps

29
Στερεοφωνία (1 από 2)
• Στερεοφωνικός ήχος
– Δύο κανάλια ήχου για μεγαλύτερη πιστότητα
• Μικρόφωνα / ηχεία σε διαφορετικά σημεία
– Ο άνθρωπος τα αντιλαμβάνεται με δύο τρόπους
• Διαφορές στο χρονισμό των καναλιών
• Διαφορές στην ένταση των καναλιών

• Κωδικοποίηση στέρεο στο MPEG-1


– Ανεξάρτητη ή κοινή (joint)
30

Στερεοφωνία (2 από 2)
• Κωδικοποίηση έντασης (intensity)
– Οι χαμηλές συχνότητες είναι ιδιαίτερες
• Δεν αντιλαμβανόμαστε διαφορές στο χρονισμό
• Συνένωση δεξιού/αριστερού καναλιού
• Προσθήκη πληροφορίας για τις διαφορές εντάσεων
• Κεντρική-πλευρική κωδικοποίηση (mid-side)
– Το κεντρικό είναι το άθροισμα δεξιού/αριστερού
– Το πλευρικό κανάλι είναι η διαφορά τους
– Μη απωλεστικός μετασχηματισμός

31
Αρχεία MPEG-1 (1 από 2)
• Μορφή αρχείων MPEG-1
– Το αρχείο μπορεί να έχει ιδιαίτερη κεφαλίδα
• Εξαρτάται από το μορφότυπο, όχι από το πρότυπο
– Το αρχείο διακρίνεται σε πλαίσια (frames) ήχου
• Διάρκεια 24 ms στα 48 KHz
– Κάθε πλαίσιο έχει μία κεφαλίδα
• Επιτρέπει την άμεση έναρξη της αποκωδικοποίησης
– Λέξη χρονισμού: έλεγχος για περιοδική εμφάνιση
• Μπορεί να εμφανίζεται και στα δεδομένα

32

Αρχεία MPEG-1 (2 από 2)


• Μορφή αρχείων MPEG-1
– Ρυθμός bit: επιτρέπει αλλαγή ανά πλαίσιο
– Δειγματοληψία: επιτρέπει αλλαγή ανά πλαίσιο
– Επίπεδο: 1, 2, 3 ή παραλλαγές
– Τρόπος κωδικοποίησης
• Στέρεο, κοινό στέρεο, κ.λπ.
– Bit προστασίας: χρησιμοποιούνται ελάχιστα

33
Κωδικοποίηση ήχου MPEG-2

ήχου

Κωδικοποίηση MPEG-2 (1 από 2)


• Πολυκαναλικός ήχος MPEG-2
– Μέχρι πέντε κανάλια πλήρους εύρους
• Κεντρικό, εμπρός, περιφερειακά
– Κανάλι βελτίωσης μπάσων (LFE)
• Συχνότητες 15-120 Hz
– Επιτρέπονται διάφοροι συνδυασμοί
– Πολύγλωσση ομιλία και σχολιασμός
– Κινηματογραφικός ήχος 5.1
35
Κωδικοποίηση MPEG-2 (2 από 2)

• Άλλες προσθήκες του MPEG-2


– Υποδιπλάσιοι ρυθμοί δειγματοληψίας
– Αποδοτικό με 64 Kbps ανά κανάλι

36

Προβλήματα MPEG (1 από 2)


• Προβλήματα ψηφιακής κωδικοποίησης ήχου
– Διαφέρουν από αυτά του αναλογικού ήχο
• Απώλεια ποιότητας
– Σε συγκεκριμένες περιοχές συχνοτήτων
• Όχι όπως η αναλογική αρμονική παραμόρφωση
– Μπορεί να αλλάζει σε κάθε διάστημα κωδικοποίησης
– Εξαφάνιση συχνοτήτων λόγω χαμηλού ρυθμού bit
• Αναγκαστικός μηδενισμός ορισμένων συντελεστών

37
Προβλήματα MPEG (2 από 2)
• Προ-ηχώ (pre-echo)
– Απότομη αλλαγή στο διάστημα κωδικοποίησης
– Παράγει θόρυβο λόγω ανεπαρκούς ρυθμού bit
• Απλώνεται σε όλο το διάστημα κωδικοποίησης
• Διπλή ομιλία (double speak)
– Διαφορά περιόδου σήματος και κωδικοποίησης
– Η ομιλία παρουσιάζει περιοδικότητα
– Αλλοιώνεται από την κωδικοποίηση

38

MPEG-2 AAC (1 από 4)


• MPEG-2 Advanced Audio Coding (AAC)
– Νέος κωδικοποιητής για το MPEG-2
– Πιο αποδοτικός από το MPEG-1
• Μείωση ρυθμού bit κατά 30% για ίδια ποιότητα
– Δεν διατηρεί προς τα πίσω συμβατότητα
• Ίδια βασική δομή αλλά με πολλές βελτιώσεις
– Βασικός κωδικοποιητής ήχου και για το MPEG-4

39
MPEG-2 AAC (2 από 4)
• Βελτιώσεις κωδικοποίησης
– Έως και 1024 ζώνες συχνοτήτων (αντί για 576)
• Χρησιμοποιεί μόνο MDCT, όχι φίλτρα
• Η περίοδος κωδικοποίησης είναι μικρότερη
– Βελτιωμένη κοινή στερεοφωνική κωδικοποίηση
– Huffman σε τετράδες συντελεστών
– Πρόβλεψη συντελεστών σε κάθε συχνότητα
• Χρησιμοποιείται πολύ σπάνια

40

MPEG-2 AAC (3 από 4)


• Βελτιώσεις ποιότητας
– Μειωμένη προ-ηχώ (pre-echo)
• Οφείλεται στη μικρότερη περίοδο κωδικοποίησης
– Χρονική μορφοποίηση θορύβου (TNS)
• Αποφυγή του φαινομένου της διπλής ομιλίας

41
MPEG-2 AAC (4 από 4)
• Μορφή αρχείων AAC
– Audio Data Interchange Format (ADIF)
• Όλες οι πληροφορίες είναι σε μία κεφαλίδα
• Αποκωδικοποίηση μόνο από αρχή του αρχείου
– Audio Data Transport Stream (ADTS)
• Κεφαλίδες ανά πλαίσιο ήχου
• Παρόμοιο με το MPEG-1
• Επιτρέπει όμως και πλαίσια μεταβλητού μεγέθους
• Επίπεδο 4 στην κεφαλίδα του πλαισίου

42

Ενότητα # 11: Κωδικοποίηση εικόνων: JPEG


Σκοποί ενότητας
• Κατανόηση των στόχων του προτύπου JPEG και
του τρόπου προετοιμασίας των εικόνων για
κωδικοποίηση.
• Εξοικείωση με τα στάδια κωδικοποίησης του
ακολουθιακού απωλεστικού ρυθμού
(μετασχηματισμός DCT, κβαντοποίηση
συντελεστών, κωδικοποίηση εντροπίας).
• Κατανόηση των πρόσθετων τρόπων
κωδικοποίησης και του μορφοτύπου
αποθήκευσης αρχείων.
4

Περιεχόμενα ενότητας
• Εισαγωγή
• Προετοιμασία της εικόνας
• Επεξεργασία εικόνας
• Κβαντοποίηση συντελεστών
• Κωδικοποίηση εντροπίας
• Πρόσθετοι τρόποι κωδικοποίησης
• Μορφότυπο αρχείων
5
Εισαγωγή

Στόχοι του JPEG


• Πεδίο εφαρμογής
– Ακίνητες εικόνες συνεχούς χρώματος
– Εναλλακτικά: συνεχών διαβαθμίσεων γκρίζου
– Κατάλληλο για φυσικές εικόνες
• Σε αντιδιαστολή με σχέδια
– Βασικό μορφότυπο φωτογραφιών
• Χρήση από ψηφιακές φωτογραφικές
– Μεγάλη διάδοση στο Διαδίκτυο
7
Απαιτήσεις κωδικοποίησης
• Ανεξάρτητη από μέγεθος
• Ανεξάρτητη από λόγο διαστάσεων
• Διάφορες αναπαραστάσεις χρωμάτων
• Τυχαίο περιεχόμενο
• Τυχαία στατιστικά χαρακτηριστικά
• Παράμετροι επιλεγόμενες από το χρήστη
– Συμβιβασμός συμπίεσης / ποιότητας

Τρόποι λειτουργίας
• Ακολουθιακός απωλεστικός
– Ακολουθιακή DCT
– Πλέον διαδεδομένος
• Εκτεταμένος απωλεστικός
– Προοδευτική DCT
– Μικρές προσθήκες στον ακολουθιακό
• Μη απωλεστικός: χαμηλή συμπίεση
• Ιεραρχικός: πολλαπλές αναλύσεις
9
Προετοιμασία της εικόνας

Ροή κωδικοποίησης

• Σύνολο τεχνικών κωδικοποίησης


– Κάθε τρόπος χρησιμοποιεί ένα υποσύνολο
– Πρόβλεψη ή μετασχηματισμός DCT
– Προαιρετική κβαντοποίηση
– Διαφορική και RLE
– Huffman ή αριθμητική
11
Μοντέλο εικόνας (1 από 4)
• Επιτρέπονται πολλές παραλλαγές
– 1 έως 255 συνιστώσες ή επίπεδα Ci
• Χρώματα RGB: μία συνιστώσα ανά χρώμα
• Σήματα YUV: μία συνιστώσα ανά σήμα
• Διαβαθμίσεις γκρίζου: μία συνιστώσα μόνο
– Κάθε Ci μπορεί να έχει διαφορετικό Xi και Yi
• Κατάλληλο για υποδειγματοληψία
• Μπορεί να διαφέρει σε κάθε συνιστώσα

12

Μοντέλο εικόνας (2 από 4)

• Σταθερό πλήθος bits/pixel ανά συνιστώσα


– 8 στον ακολουθιακό, 8 ή 12 στον εκτεταμένο
• Τιμές [0,255] ή [0,4095]
– 2 έως 16 στον μη απωλεστικό

13
Μοντέλο εικόνας (3 από 4)
• (Χ,Υ) εικόνας = (max(Xi), max(Yi))
• Σχετικές αναλογίες δειγματοληψίας
– (Hi,Vi) με τιμές 1 έως 4 για Hi και Vi
• Παράδειγμα: εικόνα με 4 συνιστώσες
• Επίπεδο 1: X1=48, Y1=32
• Επίπεδο 2: X2=48, Y2=16
• Επίπεδο 3: X3=24, Y3=32
• Επίπεδο 4: X4=24, Y4=16

14

Μοντέλο εικόνας (4 από 4)


• Παράδειγμα: εικόνα με 4 συνιστώσες
– Max(Xi)=48, Max(Υi)=32, Min(Xi)=24, Min(Υi)=16
– Max(Hi)=48/24=2, Max(Vi)=32/16=2
– H1=H2=2, H3=H4=1, V1=V3=2, V2=V4=1
• Επίπεδο 1: X1=2x24=48, Y1=2x16=32
• Επίπεδο 2: X2=2x24=48, Y2=1x16=16
• Επίπεδο 3: X3=1x24=24, Y3=2x16=32
• Επίπεδο 4: X4=1x24=24, Y4=1x16=16

15
Ταξινόμηση δεδομένων (1 από 3)

• Μονάδες δεδομένων
– Στοιχεία κωδικοποίησης
– Μη απωλεστικοί ρυθμοί: ένα εικονοστοιχείο
– Απωλεστικοί ρυθμοί: 8x8 εικονοστοιχεία
• Μη διεμπλεκόμενη ταξινόμηση δεδομένων
– Σάρωση μονάδων από αριστερά προς τα δεξιά
16

Ταξινόμηση δεδομένων (2 από 3)


• Διεμπλεκόμενη ταξινόμηση δεδομένων
– Κάθε συνιστώσα έχει τις δικές τις μονάδες
– Ομαδοποίηση μονάδων δεδομένων
– Ελάχιστες μονάδες κωδικοποίησης (MCU)
• Σύνολο μονάδων που καλύπτει μία περιοχή

• Συνιστώσες με σταθερή ανάλυση


– Μία μονάδα δεδομένων από κάθε συνιστώσα
– Επεξεργάζονται με τη σειρά των συνιστωσών

17
Ταξινόμηση δεδομένων (3 από 3)

• Συνιστώσες με μεταβλητή ανάλυση


– Ίδια περιοχή της εικόνας ανά συνιστώσα
– Μεταβλητό πλήθος μονάδων ανά συνιστώσα
– Μία περιοχή ανά συνιστώσα σε κάθε MCU
• Hi επί Vi μονάδες για τη συνιστώσα i
• Μέχρι τέσσερις συνιστώσες
• Μέχρι 10 μονάδες ανά MCU
18

Μετασχηματισμός εικόνας
Επεξεργασία εικόνας (1 από 4)

• Είσοδος
– Μονάδες δεδομένων 8x8 εικονοστοιχείων
• Κάθε μονάδα μετασχηματίζεται χωριστά
• Δεν έχει σημασία η ταξινόμηση
• Έξοδος
– Μονάδες δεδομένων 8x8 συντελεστών

20

Επεξεργασία εικόνας (2 από 4)


1 7 7
(2 x  1)i (2 y  1) j
F[i, j ]  C (i)C ( j ) P[ x, y]cos cos
4 x 0 y 0 16 16

• Ευθύς μετασχηματισμός DCT (FDCT)


– [0,255] -> [-128,127] με αφαίρεση
– Αρχικά: P[x,y] με x,y= [0,7] (64 τιμές)
– Τελικά: F[i,j] με i,j= [0,7] (64 τιμές)
• Tα συνημίτονα δεν εξαρτώνται από P[x,y]
– Υπολογίζονται προκαταβολικά

21
Επεξεργασία εικόνας (3 από 4)

• Συντελεστής F[0,0]: συντελεστής DC


– Μέση τιμή της μονάδας δεδομένων
• Υπόλοιποι συντελεστές: συντελεστές AC
• Συγκέντρωση υψηλών τιμών κοντά στο DC

22

Επεξεργασία εικόνας (4 από 4)


1 7 7 (2 x  1)i (2 y  1) j
P[ x, y]   C (i)C ( j ) F[i, j ]cos cos
4 i 0 j 0 16 16

• Αντίστροφος μετασχηματισμός DCT (IDCT)


– Υπολογισμός P[x,y] από F[i,j]
– Τα συνημίτονα πάλι δεν εξαρτώνται από F[i,j]
• Υπολογίζονται προκαταβολικά
– Θεωρητικά, πλήρης ανακατασκευή εικόνας
• Στην πράξη, σφάλματα στρογγυλοποίησης

23
Γιατί DCT στο JPEG;
• Φυσικές εικόνες
– Μεγάλες περιοχές με παρόμοια χρώματα
– Πολλοί συντελεστές AC σχεδόν μηδενικοί
• Δείχνουν την απόσταση των εναλλαγών
• Όταν δεν υπάρχουν, οι συντελεστές είναι μηδέν
– Διαφοροποίηση σε σχέση με γραφικά
• Δεν υπάρχουν απότομες αλλαγές χρωμάτων
• Που παράγουν μη μηδενικούς συντελεστές AC

24

Κβαντοποίηση συντελεστών
Κβαντοποίηση (1 από 3)
• Κβαντοποίηση συντελεστών
– 8x8=64 καταχωρίσεις κβαντοποίησης
• Ακέραιες τιμές 8 bit
• Πίνακας ίδιου μεγέθους με τη μονάδα δεδομένων
– Διαίρεση του κάθε συντελεστή DCT
• Στρογγύλευση στον πλησιέστερο ακέραιο
– Πολλαπλασιασμός για αποσυμπίεση
• Χρήση του ίδιου ακριβώς πίνακα

26

Κβαντοποίηση (2 από 3)
• Κατασκευή πίνακα κβαντοποίησης
– Κβαντοποίηση: κύριο απωλεστικό βήμα
– Το πρότυπο JPEG δεν καθορίζει τιμές
– Συμβιβασμός συμπίεσης / ποιότητας
• Φυσικές εικόνες: έμφαση σε συντελεστή DC
– Χαμηλές καταχωρίσεις κοντά στο DC
– Υψηλές καταχωρίσεις μακριά από το DC

27
Κβαντοποίηση (3 από 3)

• Παράδειγμα πίνακα κβαντοποίησης

28

Κωδικοποίηση εντροπίας
Συμπίεση (1 από 4)

• Ταξινόμηση συντελεστών
– Αρχικά ο συντελεστής DC
– Μετά σάρωση ζιγκ-ζαγκ των συντελεστών AC
– Σταδιακά οι τιμές μειώνονται

30

Συμπίεση (2 από 4)
• Συντελεστές DC
– Διαφορική κωδικοποίηση ανάμεσα σε μονάδες
– Μικρές διαφορές στις μέσες τιμές
• Συντελεστές AC
– Διαδοχικά φθίνουσες τιμές
– Πολλές μηδενικές τιμές στο τέλος
• Συμπίεση ακολουθίας μικρών τιμών

31
Συμπίεση (3 από 4)
• Κωδικοποίηση εντροπίας συντελεστών
– Κωδικοποίηση Huffman για τις συνήθεις τιμές
– Προκαθορισμένοι πίνακες ή ανά εφαρμογή
• Συντελεστές DC
– Ζεύγη της μορφής (πλήθος bit, συντελεστής)
• Συντελεστής: διαφορά με προηγούμενο DC
– Το πλήθος κωδικοποιείται με κώδικα Huffman
– Ο συντελεστής με συμπλήρωμα ως προς 2

32

Συμπίεση (4 από 4)
• Συντελεστές AC
– Κωδικοποίηση τριάδων
– (πλήθος 0, πλήθος bit, συντελεστής)
• Τεχνική RLE για μηδενικούς συντελεστές
– Πλήθος 0 / πλήθος bit: κώδικας Huffman
– Συντελεστής: συμπλήρωμα ως προς 2

33
Πρόσθετοι τρόποι κωδικοποίησης

Εκτεταμένος απωλεστικός (1 από 3)

• Επέκταση ακολουθιακού απωλεστικού τρόπου


• Ακολουθιακή κωδικοποίηση
– Σταδιακή εμφάνιση της εικόνας
• Προοδευτική κωδικοποίηση
– Σταδιακή εμφάνιση περισσότερης λεπτομέρειας

35
Εκτεταμένος απωλεστικός (2 από 3)
• Μέθοδοι προοδευτικής κωδικοποίησης
– Φασματική επιλογή
• Αρχικά συντελεστές χαμηλών συχνοτήτων
• Υψηλές συχνότητες σε επόμενα περάσματα
– Διαδοχική προσέγγιση
• Όλοι οι συντελεστές σε κάθε πέρασμα
• Αρχικά μόνο τα πιο σημαντικά bits
• Περισσότερα bits σε επόμενα περάσματα

36

Εκτεταμένος απωλεστικός (3 από 3)


• Επεκτάσεις στην ποιότητα της εικόνας
– Δυνατότητα 8 ή 12 bit ανά εικονοστοιχείο
• Υποστήριξη χρώματος 36 bit

• Επεκτάσεις στην κωδικοποίηση εντροπίας


– Αριθμητική κωδικοποίηση
• 5-10% καλύτερη συμπίεση από την Huffman
• Πιο απαιτητική υπολογιστικά
• Καλυπτόταν από πατέντες

37
Μη απωλεστικός (1 από 2)

• Πρόβλεψη αντί μετασχηματισμού


– X: το τρέχον εικονοστοιχείο
– Α: εικονοστοιχείο αριστερά από το X
– B: εικονοστοιχείο πάνω από το X
– C: εικονοστοιχείο άνω αριστερά από το X

38

Μη απωλεστικός (2 από 2)
• Κωδικοποίηση εικονοστοιχείου X
– 8 τύποι πρόβλεψης
• X=A, X=B+(A-C)/2, …
– Διαφορά από πρόβλεψη
• Δεν υπάρχει κβαντοποίηση
• Κωδικοποίηση εντροπίας
– Huffman ή αριθμητική

39
Ιεραρχικός τρόπος (1 από 3)

• Πολλαπλές αναλύσεις εικόνας


– Διαδοχική (απο)κωδικοποίηση
– Μπορούμε να αποκωδικοποιήσουμε μέρος
– Κατάλληλη για ετερογενείς συσκευές

40

Ιεραρχικός τρόπος (2 από 3)


• Προοδευτική: μεταβλητή λεπτομέρεια
• Ιεραρχική: μεταβλητή ανάλυση
• Απαιτεί περισσότερο χώρο
– Διατίθενται όλες οι αναλύσεις
– Ο αποκωδικοποιητής επιλέγει τη μία
• Λειτουργεί σε επίπεδα
– Σε κάθε επίπεδο, όποιος τρόπος θέλουμε

41
Ιεραρχικός τρόπος (3 από 3)
• Διαδικασία κωδικοποίησης
– Μείωση ανάλυσης αρχικής εικόνας κατά 2n
– Κωδικοποίηση εικόνας
– Μείωση ανάλυσης αρχικής εικόνας κατά 2n-1
– Αποκωδικοποίηση προηγούμενου επιπέδου
– Κωδικοποίηση διαφοράς με προηγούμενο
– Συνεχίζουμε μέχρι την αρχική διάσταση

42

Μορφότυπο αρχείων
Μορφότυπο JPEG

• Ιεραρχική δομή αρχείων


– Σάρωση = επίπεδο, τμήμα = ακολουθία ομάδων
44

Ενότητα # 12: Κωδικοποίηση βίντεο: H.26x


Σκοποί ενότητας
• Κατανόηση των βασικών τεχνικών
κωδικοποίησης βίντεο και της σχέσης τους με
την κωδικοποίηση εικόνας.
• Εξοικείωση με το πρότυπο κωδικοποίησης
βίντεο H.261 και τη ροή δεδομένων του.
• Εισαγωγή στο πρότυπο κωδικοποίησης βίντεο
Η.263 και στις τεχνικές ανάκαμψης από
σφάλματα που υποστηρίζει.

Περιεχόμενα ενότητας
• Κωδικοποίηση βίντεο
• Το πρότυπο H.261
• Το πρότυπο Η.263

5
Κωδικοποίηση βίντεο

Τύποι πλεονασμού βίντεο


• Χωρικοί πλεονασμοί
– Ομοιότητα γειτονικών εικονοστοιχείων
• Εξέταση μεμονωμένων καρέ
– Ενδοπλαισιακή (intraframe) κωδικοποίηση
• Χρονικοί πλεονασμοί
– Ομοιότητα διαδοχικών καρέ
• Εξέταση διαδοχικών καρέ
– Διαπλαισιακή (interframe) κωδικοποίηση

7
Τύποι συμπίεσης βίντεο
• Συμπίεση χωρικών πλεονασμών μόνο
– Μικρή καθυστέρηση αλλά μικρή συμπίεση
– Παρόμοια με κωδικοποίηση εικόνων
• Βασίζεται σε μεγάλο βαθμό στο JPEG

• Συμπίεση χωρικών και χρονικών πλεονασμών


– Καθυστέρηση λόγω αναζήτησης ομοιοτήτων
– Τα σφάλματα επηρεάζουν πολλαπλά καρέ

Ενδοπλαισιακή κωδικοποίηση
• Πρώτο καρέ του βίντεο
– Δεν υπάρχει προηγούμενο για πρόβλεψη
• Καρέ με αλλαγές σκηνής
– Η πρόβλεψη δεν αποδίδει
• Περιοδικά κατά τη διάρκεια του βίντεο
– Τυχαία προσπέλαση
– Ανάκαμψη από σφάλματα

9
Διαπλαισιακή κωδικοποίηση
• Σύγκριση τρέχοντος με καρέ αναφοράς
– Εντοπισμός παρόμοιων περιοχών
– Υπολογιστικά περίπλοκη λειτουργία
• Πρόβλεψη κίνησης
– Διάνυσμα κίνησης: μετατόπιση περιοχής
• Επανόρθωση κίνησης
– Δείχνει πώς τροποποιήθηκε η περιοχή

10

Μπλοκ και μακρομπλόκ

• Μπλοκ 8 x 8 εικονοστοιχείων
– Αξιοποίηση τεχνικών από το JPEG
• Μακρομπλόκ των n μπλοκ
– Μπλοκ όλων των συνιστωσών σε μία περιοχή
11
Τύποι καρέ (1 από 5)

• Καρέ-I: ενδοπλαισιακά κωδικοποιημένα


– Κωδικοποίηση παρόμοια με του JPEG
– Χρησιμοποιούνται ως καρέ αναφοράς
– Παράδειγμα: καρέ F1
12

Τύποι καρέ (2 από 5)


• Καρέ-P: διαπλαισιακά κωδικοποιημένα
– Αναφέρονται στο προηγούμενο καρέ-I ή P
– Εντοπισμός παρόμοιων μακρομπλόκ
– Διάνυσμα κίνησης: μετακίνηση περιοχής
• Σε σχέση με το παρόμοιο μπλοκ στο καρέ αναφοράς
– Διαφορές ανάμεσα στα επιμέρους μπλοκ
• Κωδικοποίηση της διαφοράς όπως στα καρέ-I

13
Τύποι καρέ (3 από 5)

14

Τύποι καρέ (4 από 5)


• Μέθοδοι εύρεσης παρόμοιων περιοχών
– Συμβιβασμός κόστους και ποιότητας
– Σπάνια επιβάλλεται μέθοδος από τα πρότυπα
– Έμμεσος περιορισμός εύρους από το διάνυσμα
• Διάφορα κριτήρια ταιριάσματος μπλοκ
– Διαφορές όλων των εικονοστοιχείων
– Επιλογή του μικρότερου αθροίσματος

15
Τύποι καρέ (5 από 5)

• Καρέ-B
– Δύο καρέ αναφοράς (προηγούμενο και επόμενο)
– Ένα ή δύο διανύσματα κίνησης
• Παρεμβολή για μακρομπλόκ αναφοράς
16

Το πρότυπο H.261
Βίντεο στο ISDN (1 από 2)
• Μετάδοση εικόνας μέσω ISDN
– Πολλά κανάλια B (64 Kbps) για βίντεο και ήχο
– Κοινός κωδικοαποκωδικοποιητής (codec)
• Πρωτεύον ρυθμός ISDN (PRI): 30 κανάλια B
– Πρότυπα m x 384 Kbps, όπου m=1,2,…,5
• Βασικός ρυθμός ISDN (BRI): 2 κανάλια B
– Πρότυπα n x 64 Kbps, όπου n=1,2,…,5

18

Βίντεο στο ISDN (2 από 2)


• Ενοποιημένη υποστήριξη PRI και BRI
– Πρότυπα p x 64 Kbps, όπου p=1,2,…,30
– Κωδικοποίηση σε πραγματικό χρόνο
– Αποκωδικοποίηση σε πραγματικό χρόνο
– Μέγιστη καθυστέρηση κάτω από 150 ms
– Σταθερός ρυθμός μετάδοσης
– Μεταβαλλόμενη ποιότητα μετάδοσης

19
Μορφότυπα εικόνας (1 από 2)
• Ρυθμός καρέ εισόδου: 29,97 fps (NTSC)
• Προοδευτική σάρωση
• Ρυθμός καρέ εξόδου: 29,97, 15 ή 7,5 fps
• Φωτεινότητα (Y), χρωμικότητα (Cb και Cr)
• Λόγος διαστάσεων 4:3
• Λόγος δειγματοληψίας 4:1:1
• 8 bit ανά εικονοστοιχείο ανά συνιστώσα
20

Μορφότυπα εικόνας (2 από 2)


• Μορφότυπο (CIF): προαιρετικό
– Φωτεινότητα: 352 x 288
– Χρωμικότητα: 176 x 144
• Μορφότυπο QCIF (quarter CIF): υποχρεωτικό
– Φωτεινότητα: 176 x 144
– Χρωμικότητα: 88 x 72

21
Λόγος συμπίεσης
• Ρυθμός δεδομένων χωρίς συμπίεση
– QCIF με 15 fps: 4,55 Mbps
– CIF με 30 fps: 36,45 Mbps
• Απαιτήσεις συμπίεσης
– 1:70 για QCIF με 15 fps σε 1 κανάλι B (64 Kbps)
– 1:95 γα CIF με 30 fps σε 6 κανάλια B (384 Kbps)

22

Οργάνωση καρέ (1 από 2)


• Μπλοκ (block)
– 8x8 εικονοστοιχεία μίας συνιστώσας
• Μακρομπλόκ (MB)
– 4 μπλοκ Y, από 1 μπλοκ Cb και Cr
• Ομάδα μπλοκ (GOB)
– 3x11=33 μακρομπλόκ
– Ξεκινά με προκαθορισμένη ακολουθία bit
• Επιτρέπει συγχρονισμό μετά από σφάλματα

23
Οργάνωση καρέ (2 από 2)

• QCIF: τρεις ομάδες μπλοκ


– 3 γραμμές x 1 στήλη
• CIF: δώδεκα ομάδες μπλοκ
– 6 γραμμές x 2 στήλες

24

Ενδοπλαισιακή κωδικοποίηση
• Μετασχηματισμός DCT
– Σε κάθε μπλοκ 8x8 εικονοστοιχείων
• Χωριστή κβαντοποίηση συντελεστών DC/AC
– Χρήση δύο συντελεστών κβαντοποίησης μόνο
– Σταθερός συντελεστής κβαντοποίησης DC
– Μεταβλητός συντελεστής κβαντοποίησης AC
• Κωδικοποίηση εντροπίας όπως στο JPEG

25
Διαπλαισιακή κωδικοποίηση
• Χρησιμοποιείται όποτε θέλει ο κωδικοποιητής
– Δεν υπάρχει περιοδικότητα
• Πρόβλεψη περιεχομένου μακρομπλοκ
– Σύγκριση με μακρομπλόκ προηγούμενου καρέ
– Μόνο με το αμέσως προηγούμενο όμως!
– Μπορεί να είναι καρέ-I ή καρέ-P
• Αν δεν υπάρχει ομοιότητα?
– Κάνουμε ενδοπλαισιακή κωδικοποίηση!

26

Κωδικοποίηση κίνησης
• Διανύσματα κίνησης
– Κωδικοποίηση εντροπίας
• Διαφορές μακρομπλόκ
– Αρχικά διαφορική κωδικοποίηση (DPCM)
– Μετά όπως σε ενδοπλαισιακή κωδικοποίηση
– Αν οι διαφορές είναι μικρές παραλείπονται
• Αύξηση συμπίεσης με κόστος σε ποιότητα

27
Σταθερός ρυθμός μετάδοσης

• Προσαρμογή βήματος κβαντοποίησης


– Εφαρμόζεται μόνο στους συντελεστές ΑC
• Γεμάτος ενταμιευτής -> αύξηση βήματος
• Άδειος ενταμιευτής ->μείωση βήματος
– Χρήση άνω και κάτω ορίου για αλλαγή βήματος
• Σταθερός ρυθμός με μεταβαλλόμενη ποιότητα
28

Ρεύμα δεδομένων

• Γενίκευση του JPEG


– Το ρεύμα διαιρείται σε καρέ
– Τα καρέ διαιρούνται σε GOB (αντί για τμήματα)
29
Το πρότυπο Η.263

Νέα χαρακτηριστικά (1 από 2)


• H.263: εξέλιξη του H.261
– Κατάλληλο για δίκτυα PSTN
– Μείωση ρυθμού δεδομένων
– Βελτιωμένη ανάκαμψη από σφάλματα
• Πρόσθετες αναλύσεις εικόνας
– SQCIF: ανάλυση 128x96, 15 ή 7,5 fps
– 4CIF και 16CIF για υψηλότερη ανάλυση
– Συμβατό με CIF/QCIF για επικοινωνία με H.261

31
Νέα χαρακτηριστικά (2 από 2)
• Βελτιωμένες τεχνικές συμπίεσης
– Δυνατότητα πρόβλεψης δύο κατευθύνσεων
• Ανάλογο με καρέ-B στο MPEG
• Καλύτερη ποιότητα αλλά περισσότερη μνήμη
– Αναφορές μερικώς εκτός καρέ αναφοράς
• Σε περιοχές που βγαίνουν από το καρέ
• Υποθέτουμε σταθερή τιμή εκτός του καρέ
• Χρήσιμο λόγω της πολύ μικρής ανάλυσης

32

Ανάκαμψη από σφάλματα (1 από 5)

• Ανάκαμψη από σφάλματα επιπέδου GOB


– Tα σφάλματα οδηγούν σε απώλεια GOB
• Κωδικός συγχρονισμού στην αρχή του GOB
– Οι απώλειες εμποδίζουν την αποκωδικοποίηση
• Απώλεια μπλοκ που αναφέρονται στα χαμένα GOB
• Λόγω κίνησης τα σφάλματα διαχέονται στην εικόνά

33
Ανάκαμψη από σφάλματα (2 από 5)
• Αντιμετώπιση στο H.261
– Αποστολή ενδοπλαισιακά κωδικοποιημένων καρέ
– Αναγκαστικά γίνεται περιοδικά
• Δεν γνωρίζουμε τι σφάλματα έχουν γίνει
– Σπατάλη εύρους ζώνης για την ανάκαμψη
– Το H.263 παρέχει πιο οικονομικές επιλογές

34

Ανάκαμψη από σφάλματα (3 από 5)


• Παρακολούθηση σφαλμάτων
– Κωδικοποιητής: παρακολουθεί εξαρτήσεις
• Ποια μπλοκ εξαρτώνται από ποια
– Αποκωδικοποιητής: αναφέρει ότι έχασε GOB
– Κωδικοποιητής: ποια μπλοκ επηρεάζονται;
• Τα μπλοκ κωδικοποιούνται ενδοπλαισιακά
• Δεν έχουμε διάδοση του σφάλματος
• Χρήση ενδοπλαισιακής κωδικοποίησης όταν πρέπει

35
Ανάκαμψη από σφάλματα (4 από 5)
• Επιλογή καρέ αναφοράς
– Αναφορά σε παλαιότερα καρέ
• Όχι μόνο στο αμέσως προηγούμενο
• Ανάκαμψη από απώλεια GOB
• Απαιτείται παρακολούθηση των εξαρτήσεων
– Ο αποκωδικοποιητής έχει δύο επιλογές
• Είτε επιβεβαιώνει τις ορθές λήψεις
• Είτε ενημερώνει για τις απώλειες

36

Ανάκαμψη από σφάλματα (5 από 5)

• Ανεξάρτητη αποκωδικοποίηση τμημάτων


– Κάθε GOB αντιμετωπίζεται ως ανεξάρτητη εικόνα
– Επιτρέπεται η αναφορά μόνο στο αντίστοιχο GOB
– Μείωση του βαθμού συμπίεσης
– Απλούστερη παρακολούθηση εξαρτήσεων
– Διευκόλυνση των υπόλοιπων τεχνικών
• Παρακολούθηση σφαλμάτων και επιλογή αναφοράς
37
Ενότητα # 13: Κωδικοποίηση βίντεο: MPEG

Σκοποί ενότητας
• Εξοικείωση με το πρότυπο MPEG-1 στον
τομέα της κωδικοποίησης βίντεο και της ροής
δεδομένων.
• Κατανόηση των επεκτάσεων που προσφέρει
το πρότυπο MPEG-2 και των εφαρμογών του.
• Εισαγωγή στις καινοτομίες του προτύπου
MPEG-4 και στην κωδικοποίηση βίντεο MPEG-
4 (part 2).

4
Περιεχόμενα ενότητας
• Το πρότυπο MPEG-1
• Ομάδες εικόνων
• Ρεύματα δεδομένων
• Το πρότυπο MPEG-2
• Το πρότυπο MPEG-4
• Κωδικοποίηση στο MPEG-4

Το πρότυπο MPEG-1
Τι είναι το MPEG; (1 από 2)
• MPEG (Motion Pictures Experts Group)
– Παρόμοιο όνομα με το JPEG
– Βίντεο και ήχος υψηλής ποιότητας
– Διανομή ή μετάδοση μέσων
– MPEG-1: CD-ROM, Τ1
– MPEG-2: DVD, DTV
– MPEG-4: HDTV, κινητά, αλληλεπίδραση

Τι είναι το MPEG; (2 από 2)


• Αξιοποίηση άλλων προτύπων
– JPEG: ενδοπλαισιακή κωδικοποίηση
– H.261: διαπλαισιακή κωδικοποίηση
• Σύστημα MPEG
– Κωδικοποίηση ήχου
– Κωδικοποίηση βίντεο
– Πολύπλεξη ροών δεδομένων

8
Στόχοι του MPEG-1 (1 από 2)
• Ρυθμός δεδομένων έως 1,2-1,5 Mbps
– CD-ROΜ μονής ταχύτητας ή γραμμή T-1
• Μορφότυπα εικόνας
– Συνιστώσες YUV, αναλογία (4:1:1 ή 4:2:0)
– 8 bits ανά εικονοστοιχείο ανά συνιστώσα
• 14 λόγοι διαστάσεων εικονοστοιχείων
– 1:1 για τετράγωνα εικονοστοιχεία
– Διαφορετικοί λόγοι για 4:3 και 16:9

Στόχοι του MPEG-1 (2 από 2)


• Τυποποιημένο μορφότυπο ανταλλαγής (SIF)
– NTSC
• 352 x 240 (φωτεινότητα)
• 176 x 120 (χρωμικότητα)
– PAL/SECAM
• 352 x 288 (φωτεινότητα)
• 176 x 144 (χρωμικότητα)
– Ρυθμοί πλαισίου από 23,97 Hz έως 60 Hz

10
Δομή εικόνας MPEG-1

• Μακρομπλόκ
– 16 x 16 φωτεινότητα, 8 x 8 χρωμικότητα
• Οριζόντια τμήματα (slices)
– 352 x 240 (NTSC): 15 τμήματα x 22 μακρομπλόκ
– 352 x 288 (PAL/SECAM): 18 τμήματα x 22 μακρομπλόκ
11

Καρέ-I (1 από 2)

• Καρέ-I (Ι-frames)
– Κωδικοποίηση χωρίς αναφορές σε άλλα καρέ
– Κατάλληλα για τυχαία προσπέλαση
– JPEG με απωλεστικό ακολουθιακό ρυθμό
• Μικρές αποκλίσεις για απλότητα

12
Καρέ-I (2 από 2)
• Είσοδος: Μπλοκ (8x8)
– Μετασχηματισμός DCT
– Κβαντοποίηση συντελεστών
– DPCM για συντελεστές DC
– Διάταξη ζιγκ-ζαγκ για συντελεστές AC
– Κωδικοποίηση μήκους σειρών (RLE)
– Κωδικοποίηση εντροπίας παρόμοια με Huffman

13

Καρέ-P (1 από 2)

• Καρέ-P (P-frames)
– Επανόρθωση κίνησης με καρέ αναφοράς
– Αναφορά: αμέσως προηγούμενο καρέ-I ή -P
– Εντοπισμός πλέον παρόμοιου μακρομπλόκ
– Επιτρέπονται και μακρομπλόκ χωρίς πρόβλεψη
14
Καρέ-P (2 από 2)

• Διάνυσμα κίνησης
– DPCM σε γειτονικά μακρομπλόκ
• Διαφορές μπλοκ: μετασχηματισμός DCT
– Ταυτόχρονη κωδικοποίηση/κβαντοποίηση AC και DC

15

Καρέ-B

• Καρέ-B (B-frames)
– Πρόβλεψη με δύο καρέ αναφοράς
– Ίδια μέθοδος κωδικοποίησης με τα καρέ-P
– Περιοδική χρήση καρέ-I και καρέ-P
– Κωδικοποίηση ενδιάμεσων καρέ-B
16
Καρέ-D
• Καρέ-D (D-frames)
– Ενδοπλαισιακή κωδικοποίηση
– Χαμηλότερη ποιότητα από τα καρέ-I
• Κωδικοποιούνται μόνο οι συνιστώσες DC
– Κωδικοποιούνται επιπλέον των καρέ-I
– Δεν χρησιμοποιούνται για πρόβλεψη
– Γρήγορη κίνηση εμπρός και πίσω
– Δεν χρησιμοποιούνται στις επόμενες εκδόσεις

17

Ρυθμός δεδομένων
• Επίτευξη σταθερού ρυθμού δεδομένων
– Παράγοντας κλιμάκωσης κβαντοποίησης
• Παρόμοια λογική με H.261
• Ακέραιος αριθμός ανάμεσα στο 1 και το 31
– Πολλαπλασιαστής συντελεστών
• Στο H.261 έχουμε έναν μόνο συντελεστή
– Παρακολουθεί τη χωρητικότητα του ενταμιευτή
– Μεταδίδεται σε κάθε αλλαγή τιμής
18
Ομάδες εικόνων

Ομάδα εικόνων

• Ομάδα εικόνων (GOP)


– Ξεκινάει με καρέ-I
– Τελειώνει πριν το επόμενο καρέ-I
– Περιλαμβάνει όλα τα ενδιάμεσα καρέ-P και B
– N: ελάχιστη μονάδα τυχαίας προσπέλασης

20
Ομάδα καρέ

• Ομάδα καρέ
– Ξεκινάει με καρέ-I ή P
– Τελειώνει πριν το επόμενο καρέ-P ή I
– Διάκριση αποκωδικοποίησης και εμφάνισης
– M: ελάχιστη μονάδα αποκωδικοποίησης

21

Ενταμίευση πλαισίων
• Πόσο πρέπει να κρατάω κάθε πλαίσιο;
– Καρέ-I: μέχρι το επόμενο καρέ-P
– Καρέ-P: μέχρι το επόμενο καρέ-P ή καρέ-I
– Καρέ-B: καθόλου
• Δεν χρησιμοποιούνται ποτέ ως καρέ αναφοράς
• Χρειάζονται όμως το επόμενο P/I για αναφορά

22
Ακολουθίες καρέ
• Συνηθισμένες ακολουθίες καρέ
– PAL
• Εμφάνιση “IBBPBBPBBIBBPBBPBB…”
• Αποκωδικοποίηση “IPBBPBBIBBPBBPBB…”
– NTSC
• Εμφάνιση “IBBPBBPBBPBBIBBPBBPBBPBB …”
• Αποκωδικοποίηση “IPBBPBBPBBIBBPBBPBBPBB …”
– Μετάδοση με τη σειρά αποκωδικοποίησης

23

Ρεύματα δεδομένων
Οργάνωση δεδομένων

25

Επίπεδα δεδομένων (1 από 2)


• Ρεύμα δεδομένων βίντεο (6 επίπεδα)
• Επίπεδο ακολουθίας: ενταμίευση
– Ρυθμός δεδομένων και χώρος ενταμίευσης
– Εκτίμηση καθυστέρησης και χώρου
• Επίπεδο ομάδων εικόνων: προσπέλαση
– Αποτελείται από ένα τουλάχιστον καρέ-I
• Δεν υπάρχουν στο Η.261

26
Επίπεδα δεδομένων (2 από 2)
• Επίπεδο εικόνας: καρέ
– Αριθμοί σειράς για συσχέτιση πλαισίων
• Επίπεδο τμημάτων: τμήματα πλαισίων
• Επίπεδο μακρομπλόκ: χαρακτηριστικά
μακρομπλόκ
• Επίπεδο μπλοκ: χαρακτηριστικά μπλοκ
• Παρόμοια με H.261

27

Πολύπλεξη (1 από 2)
• Πολύπλεξη βίντεο, ήχου και άλλων μέσων
– Συνδυασμός ρευμάτων επιμέρους μέσων
– Διαίρεση ρεύματος κάθε μέσου σε πακέτα
• Τυπικό μέγεθος 2048 byte
• Ίσο με έναν τομέα CD-ROM
– Χρονοσφραγίδες για συγχρονισμό (90 kHz)
– Στοιχειώδες ρεύμα πακέτων (PES)
• Προκύπτει από στοιχειώδες ρεύμα (ES) κωδικοποιητή

28
Πολύπλεξη (2 από 2)
• Πολύπλεξη ρευμάτων δεδομένων
– Πολύπλεξη των PES σε πακέτα (packs)
– Χρονοσφραγίδα πακέτου
• Συγχρονισμός ρολογιού αποκωδικοποιητή
– Επικεφαλίδα στο πρώτο πακέτο
• Μέγιστος ρυθμός δεδομένων, τύποι PES
– Δυσκολία πρόσβασης για δικτυακά ρεύματα
• Πρέπει να τα έχουμε διαβάσει από την αρχή

29

Το πρότυπο MPEG-2
Τι είναι το MPEG-2;
• Στόχοι MPEG-2
– Υψηλή ανάλυση, μέχρι και HDTV
– Χρησιμοποιείται ευρύτατα στα DVD
– Ρυθμοί δεδομένων 4 Mbps έως 100 Mbps
• Γιατί δεν υπάρχει MPEG-3;
– Αρχικά προοριζόταν για το HDTV
– Τελικά το MPEG-2 κάλυψε και το HDTV

31

Διαφορές από MPEG-1


• Υποστήριξη και διεμπλεκόμενης σάρωσης
– Το MPEG-1 είχε φτιαχτεί για υπολογιστές
– Δειγματοληψία 4:2:0 ή 4:2:2
– Το 4:2:2 είναι κατάλληλο για στούντιο
• Ρυθμοί καρέ έως 60 Hz
• Δεν υποστηρίζει καρέ-D
• Νέα εργαλεία κωδικοποίησης

32
Προφίλ και επίπεδα (1 από 3)
• Προφίλ και επίπεδα
– Προφίλ: υποστηρίζει κατηγορία εφαρμογών
• Περιγράφεται ο αλγόριθμος κωδικοποίησης
– Επίπεδο: δίνει παραμέτρους για τα προφίλ
• Δειγματοληψία, ανάλυση, ρυθμός δεδομένων
• Επίπεδα
– Χαμηλό επίπεδο: αναλογική τηλεόραση
– Κύριο επίπεδο: DVD, ψηφιακή τηλεόραση
– Υψηλά επίπεδα: HDTV σε δύο παραλλαγές

33

Προφίλ και επίπεδα (2 από 3)


• Απλό προφίλ: ανάλογο με MPEG-1
• Κύριο προφίλ: DVD, ψηφιακή τηλεόραση
• Κλιμακώσιμα προφίλ
– Φορητός δέκτης για χαμηλή ευκρίνεια
– Σταθερός δέκτης για HDTV
• Υψηλό προφίλ
– Κλιμάκωση SNR και χωρική
– Λόγος δειγματοληψίας 4:2:2

34
Προφίλ και επίπεδα (3 από 3)
Απλό Κύριο Κλιμάκωση Χωρική Υψηλό
Προφίλ
Προφίλ Προφίλ SNR κλιμάκωση Προφίλ
Καρέ-B Όχι Ναι Ναι Ναι Ναι
Λόγος
4:1:1 4:1:1 4:1:1 4:1:1 4:1:1,4:2:2
Δειγμ/ψίας
SNR
Κλιμάκωση Όχι Όχι SNR Χωρική
Χωρική
Επίπεδο
Υψηλό
<80 Mbps <100 Mbps
(1920x1152)
Υψηλό-1440
<60 Μbps <60 Mbps <80 Μbps
(1440x1152)
Κύριο
<15 Mbps <15 Mbps <15 Mbps <20 Mbps
(720x576)
Χαμηλό
<4 Mbps <4 Mbps
(352x288)

• Προκαθορισμένοι συνδυασμοί

35

Κλιμάκωση (1 από 2)
• Χωρική κλιμάκωση
– Αποκωδικοποίηση σε διαφορετικές αναλύσεις
– Πυραμιδική κωδικοποίηση της εικόνας
• Συνήθως με βάση τις δυνάμεις του 2
– Χωρικά κλιμακώσιμο προφίλ
– Παρόμοιο με ιεραρχικό JPEG

36
Κλιμάκωση (2 από 2)
• Κλιμάκωση σήματος προς θόρυβο (SNR)
– Στρωματοποιημένη κωδικοποίηση
– Μεταβλητή κβαντοποίηση συντελεστών DCT
– Διάκριση δεδομένων για διόρθωση λαθών
– Κλιμακώσιμο κατά SNR προφίλ
– Παρόμοιο με προοδευτικό JPEG

37

Δομή εικόνας MPEG-2

• Παράδειγμα: ανάλυση 720x576 (DVD PAL)


– 36 τμήματα ανά καρέ
– 45 μακρομπλόκ ανά τμήμα
– 6 μπλοκ σε (4:1:1) ή 8 μπλοκ σε (4:2:2)
38
Ρεύμα δεδομένων (1 από 2)
• Πολύπλεξη ρευμάτων στο MPEG-2
– Ξεκινάμε από τα PES του MPEG-1
• Ρεύμα προγράμματος
– Παρόμοιο με τα ρεύματα του MPEG-1
– Κατάλληλο για περιβάλλοντα ελεύθερα λαθών
– Πακέτα μεταβλητού μήκους
– Σταθερή καθυστέρηση μετάδοσης

39

Ρεύμα δεδομένων (2 από 2)


• Ρεύμα μεταφοράς
– PES μαζί με ανεξάρτητες βάσεις χρονισμού
– Κατάλληλο για περιβάλλοντα με απώλειες ή θόρυβο
– Πακέτα σταθερού μήκους (184+4 bytes)
• Καθυστέρηση από άκρο σε άκρο
– Περιορίζεται από το μέγεθος των ενταμιευτών
– Κάτω από ένα δευτερόλεπτο για ήχο και βίντεο
– Πιθανόν μεγάλη για διαλογικές εφαρμογές

40
Διεμπλεκόμενοι ρυθμοί (1 από 2)
• Διεμπλεκόμενη σάρωση
– Κάθε καρέ διαιρείται σε δύο πεδία
– Άρτιο πεδίο: άρτιες γραμμές καρέ
– Περιττό πεδίο: περιττές γραμμές καρέ
• Σχηματισμός μακρομπλόκ (καρέ-I)
– Λειτουργία πεδίων: μακρομπλόκ ανά πεδίο
– Λειτουργία καρέ: μακρομπλόκ ανά καρέ

41

Διεμπλεκόμενοι ρυθμοί (2 από 2)


• Κωδικοποίηση μακρομπλόκ (καρέ-P και B)
– Ποιο πεδίο χρησιμοποιείται για αναφορά;
– Λειτουργία πεδίων: προηγούμενο πεδίο
– Λειτουργία καρέ: προηγούμενο ίδιο πεδίο
– Μικτή λειτουργία: πιο αποδοτικό πεδίο
• Λειτουργία πεδίων ή λειτουργία καρέ
• Χρήση του πιο βολικού κάθε φορά

42
Το πρότυπο MPEG-4

Τι είναι το MPEG-4; (1 από 2)


• Πρότυπο MPEG-4
– Μείωση αντί αύξησης ρυθμού δεδομένων
– Δεκαπλάσια συμπίεση από H.261 (στόχος)
• Στόχοι του MPEG-4
– Αλληλεπίδραση με περιεχόμενο
– Κατέβασμα νέων εφαρμογών / αλγορίθμων
– Υποστήριξη κλιμακώσιμων ρευμάτων
– Ανεξαρτησία από δικτυακή τεχνολογία

44
Τι είναι το MPEG-4; (2 από 2)
• Διαφοροποίηση από τα MPEG-1/2
– Έμφαση στη δομή των ροών
• Κάθε καρέ αποτελείται από αντικείμενα
– Κάλυψη της αλληλεπίδρασης με τους χρήστες
• Τροποποίηση της δομής των αντικειμένων
• Δύο είδη κωδικοποίησης
– Κωδικοποίηση οπτικοακουστικών αντικειμένων
– Κωδικοποίηση σύνθεσης σκηνών

45

Σκηνές (1 από 3)

• Σκηνή: ακολουθία καρέ


– Οπτικοακουστικά αντικείμενα (AVO)
– Συνδυασμός AVO με χρήση παραλλαγής VRML
• Δυαδικό μορφότυπο σκηνών (BIFS)
• Επιφάνεια αντικειμένου βίντεο (VOP)
– Αναπαράσταση οπτικού AVO: σχήμα, κίνηση, υφή
46
Σκηνές (2 από 3)

• Πολυπλέκτης (MUX)
– Πολύπλεξη πληροφοριών σύνθεσης σε μία ροή
– Θέση, βάθος και προσανατολισμός AVO
– Ήχος και κωδικοποίηση σκηνής
47

Σκηνές (3 από 3)

• Αποπολυπλέκτης (DEMUX)
– Ανάκτηση σχήματος, κίνησης και υφής AVO από ροή
– Αποκωδικοποίηση AVO και σύνθεση σκηνής
– Προαιρετικά: τροποποίηση σκηνής (μέσω BIFS)
48
Σύνθεση σκηνών (1 από 2)
• Σύνθεση σκηνής από ιεραρχία αντικειμένων
– Αρχικά, μετάδοση ιεραρχίας αντικειμένων
– Μετά, μετάδοση αλλαγών σε κάθε κόμβο
– Πιθανή τροποποίηση της ιεραρχίας
• Πιθανοί τρόποι αλληλεπίδρασης
– Αλλαγή θέσης παρατήρησης της σκηνής
– Σύρσιμο αντικειμένων σε άλλες θέσεις
– Εκκίνηση μίας ακολουθίας γεγονότων

49

Σύνθεση σκηνών (2 από 2)


• Αναπαράσταση αντικειμένων
– Κατέβασμα απαιτούμενων τάξεων αντικειμένων
– Αρχικοποίηση τάξεων και δομών δεδομένων
– Αποπολύπλεξη, συγχρονισμός, αποκωδικοποίηση
• Πλήρης ιεραρχία αντικειμένων
– Αντικείμενο βίντεο (VO): αποτελείται από επίπεδα
– Κάθε επίπεδο είναι ένα Video Object Layer (VOL)
– Κάθε επίπεδο αποτελείται από επιφάνειες (VOP)

50
Κωδικοποίηση στο MPEG-4

Επιφάνειες βίντεο
• Δύο τύποι επιφανειών βίντεο
• Αντικείμενα που συνθέτουν τη σκηνή
– Φυσικά ή συνθετικά
• Διαφορετικές δυνατότητες κωδικοποίησης
– Ορθογώνια καρέ βίντεο: εκφυλισμένη μορφή
• Sprites: στατικά αντικείμενα για το φόντο
– Επιτρέπουν απλές παραμορφώσεις και κινήσεις

52
Συνθετικά αντικείμενα
• Συνθετικά αντικείμενα
– Ανθρώπινα πρόσωπα / σώματα, πλέγματα
• Κωδικοποίηση ανθρώπινων χαρακτηριστικών
– Παράμετροι περιγραφής προσώπων και κινήσεων
– Παράμετροι περιγραφής σώματος και κινήσεων
• Αναπαράσταση αντικειμένων με πλέγματα
– Σύνολα επίπεδων πολυγωνικών επιφανειών
– Ρεαλιστική απεικόνιση με προβολή υφών

53

Φυσικά αντικείμενα (1 από 7)


• Κωδικοποιούνται με μακρομπλόκ και μπλοκ
– Μορφή χρωμικότητας 4:2:0 (υποχρεωτικά)
– Κωδικοποίηση σχήματος, κίνησης και υφής
• Κωδικοποίηση σχήματος
– Αντικείμενο: περιέχεται σε ορθογώνιο πλαίσιο
• Αποτελείται από ένα ή περισσότερα μακρομπλόκ
– Χάρτης δυφίων για τα ενεργά εικονοστοιχεία
• Εικονοστοιχεία που ανήκουν στο αντικείμενο

54
Φυσικά αντικείμενα (2 από 7)
• Δυαδικός (binary) χάρτης δυφίων σχήματος
– 255: το εικονοστοιχείο ανήκει, 0: δεν ανήκει
– Τεμαχίζεται σε περιοχές 16 x 16 (σαν μακρομπλόκ)
– Κάθε περιοχή κωδικοποιείται χωριστά
– Ειδική κωδικοποίηση για περιοχές μόνο με 0 ή 255
– Πρόβλεψη από προηγούμενα και γειτονικά σημεία
• Διαφορική κωδικοποίηση των διανυσμάτων κίνησης
– Αριθμητική κωδικοποίηση του αποτελέσματος

55

Φυσικά αντικείμενα (3 από 7)


• Γκρι (grayscale) χάρτης δυφίων σχήματος
– Παρόμοιος με δυαδικό αλλά με ενδιάμεσες τιμές
• Δείχνουν πόσο διαφανές είναι το εικονοστοιχείο
– Κωδικοποίηση με μετασχηματισμό
• Όπως για τις υφές

56
Φυσικά αντικείμενα (4 από 7)
• Κωδικοποίηση κίνησης
– Παρόμοια με MPEG-2 αλλά σε επίπεδο VOP
• Υπάρχουν I-VOP, P-VOP και B-VOP
– Κίνηση με ακρίβεια μισού εικονοστοιχείου
– Χρήση μόνο εικονοστοιχείων εντός χάρτη δυφίων
• Σταθερή τιμή για εικονοστοιχεία εκτός χάρτη δυφίων
– Διαφορική κωδικοποίηση διανυσμάτων κίνησης
• Χρήση μέχρι και τριών προηγούμενων διανυσμάτων

57

Φυσικά αντικείμενα (5 από 7)


• Κωδικοποίηση υφής
– Βελτιωμένη μορφή κωδικοποίησης MPEG-2
– Χρήση μετασχηματισμού DCT σε κάθε μπλοκ
• Το πρότυπο ορίζει μόνο όρια ακρίβειας
– Απόδοση τιμών σε εικονοστοιχεία εκτός σχήματος
• Απαραίτητη: ο DCT χρησιμοποιεί ολόκληρο το μπλοκ
• Σε P-VOP/B-VOP θεωρούμε ότι η διαφορά είναι μηδέν
• Σε I-VOP αρχικά χρησιμοποιούμε μέση τιμή του μπλοκ
• Μετά προσαρμόζουμε ανάλογα με γειτονικά σημεία

58
Φυσικά αντικείμενα (6 από 7)
• Κωδικοποίηση υφής
– Κβαντοποίηση συντελεστών
• Σταθερός παράγοντας, ή ένας από δύο πίνακες παραγόντων
– Πρόβλεψη συντελεστών από γειτονικά μπλοκ
• Διαφορετική για συντελεστές AC και DC
– Σάρωση συντελεστών
• Ζιγκ-ζαγκ, ανά οριζόντια ή ανά κατακόρυφη γραμμή
• Ανάλογα με τον τρόπο πρόβλεψης του συντελεστή DC
– Kωδικοποίηση εντροπίας
• Δύο πίνακες κωδικοποίησης, ανάλογα με την κβαντοποίηση

59

Φυσικά αντικείμενα (7 από 7)


• Κωδικοποίηση στατικών υφών
– Προβάλλονται σε αντικείμενα (2/3 διαστάσεων)
– Χρήση μετασχηματισμού κυματιδίου (wavelet)
• Χωριστή κωδικοποίηση κάθε υπο-περιοχής
• Αναδρομική διάσπαση υπό-περιοχών για κλιμάκωση
• Υπό-περιοχή DC: πρόβλεψη από γείτονες
• Υπό-περιοχή AC: πρόβλεψη από άλλα επίπεδα
• Παρόμοιοι συντελεστές από επίπεδο σε επίπεδο

60
Κλιμάκωση
• Χωρική και χρονική κλιμάκωση
– Μερική αποκωδικοποίηση για παρουσίαση
– Χωρική: χρήση βασικού επιπέδου για πρόβλεψη
• Μεγέθυνση του βασικού επιπέδου
– Χρονική: πρόβλεψη από επίπεδο βελτίωσης
• Χρήση ίδιου επιπέδου σε προηγούμενο καρέ

61

Κωδικοποίηση ήχου (1 από 2)


• Μέθοδοι κωδικοποίησης φυσικού ήχου
– 2-6 Kbps: κωδικοποίηση LPC
– 6-24 Kbps: κωδικοποίηση CELP
– 24-64 Kbps: κωδικοποίηση AAC
• Κωδικοποιητής κειμένου σε φωνή (TTS)
– Ρυθμοί δεδομένων 200 bps έως 1,2 Kbps
– Απλό κείμενο ή κείμενο με προσωδία

62
Κωδικοποίηση ήχου (2 από 2)
• Μουσική σύνθεση με βάση παρτιτούρα
– Ρυθμός μετάδοσης 2-3 Kbps
– Ορχήστρα που αποτελείται από όργανα
– Οδηγίες προς τα όργανα αυτά
– Τράπεζα ήχων και σύνολο ηχητικών εφφέ
– Υποστήριξη και του MIDI
• Σχετικά περιορισμένες δυνατότητες

63

Ανάκαμψη από σφάλματα (1 από 2)


• Κανάλια χαμηλής ταχύτητας/υψηλού θορύβου
– Παράδειγμα: κινητή τηλεφωνία
• Πακέτα βίντεο σταθερού μεγέθους
– Εύκολος συγχρονισμός μετά από σφάλματα
– Το μέγεθος εξαρτάται από το κανάλι
• Προσθήκη πληροφοριών ελέγχου
– Διαχωρισμός διανυσμάτων κίνησης στα πακέτα
– Προσθήκη πληροφοριών καρέ στα πακέτα
64
Ανάκαμψη από σφάλματα (2 από 2)
• Αντιστρέψιμες κωδικές λέξεις
– Παραλλαγή των κωδίκων Huffman (VLC->RVLC)
• Λέξεις μεταβλητού μήκους
– Τα όρια εντοπίζονται διαβάζοντας και ανάποδα
– Αν χάσουμε το συγχρονισμό;
• Αρχίζουμε να διαβάζουμε από το τέλος
• Ανάκτηση και του δεύτερου μέρους του πακέτου

65

Ενότητα # 14: Κωδικοποίηση βίντεο: Η.264


Σκοποί ενότητας
• Κατανόηση των χαρακτηριστικών του H.264
που βελτιώνουν τη δικτυακή υποστήριξη.
• Εισαγωγή στα νέα εργαλεία κωδικοποίησης
βίντεο και τους στόχους τους και εξοικείωση
με τα προφίλ και επίπεδα του προτύπου.
• Κατανόηση των υποστηριζόμενων τεχνικών
ανάκαμψης από σφάλματα και των εργαλείων
κλιμακώσιμης κωδικοποίησης.

Περιεχόμενα ενότητας
• Εισαγωγή
• Δικτυακή υποστήριξη
• Κωδικοποίηση βίντεο
• Προφίλ και επίπεδα
• Ανάκαμψη από σφάλματα
• Κλιμακώσιμη κωδικοποίηση

5
Εισαγωγή

Τι είναι το H.264; (1 από 2)


• Κοινό πρότυπο δύο οργανισμών
– ITU-T H.264/AVC
– ISO/IEC MPEG-4 Part 10
• Ο παλιότερος κωδικοποιητής είναι το MPEG-4 Part 2

• Πιο αποδοτικό στη συμπίεση


– Διπλάσια σε σχέση με MPEG-2 και H.263
• Τριπλάσιος υπολογιστικός φόρτος!

7
Τι είναι το H.264; (2 από 2)
• Πιο φιλικό στο δίκτυο
– Κατάλληλο για αλληλεπίδραση (όπως το H.263)
– Κατάλληλο για διανομή (όπως το MPEG-4 Part 2)
– Μεγαλύτερη αντοχή σε σφάλματα
• Πιο ευέλικτο στη χρήση
– Τυχαία προσπέλαση και αλλαγές κεφαλαίων
– Γρήγορη/αργή κίνηση προς τα εμπρός/πίσω

Δικτυακή υποστήριξη
Δικτυακή υποστήριξη (1 από 5)
• Διάκριση προτύπου σε δύο τμήματα
– Video Coding Layer (VCL)
– Network Abstraction Layer (NAL)
• NAL: προσαρμογή σε συστήματα μετάδοσης
– RTP/UDP/IP για δίκτυα
– MPEG-2 για τηλεόραση
– Αρχεία για αποθήκευση και μηνύματα
– H.32x για τηλεδιασκέψεις

10

Δικτυακή υποστήριξη (2 από 5)


• Τεμαχισμός σε μονάδες NAL (NALU)
– Ξεκινάνε με κεφαλίδα 1 byte
– Μετάδοση σε δίκτυα μεταγωγής πακέτων
• Απευθείας εισαγωγή σε πακέτα δικτύου (π.χ. RTP)
• Τεμαχισμός μεγάλων ή ομαδοποίηση μικρών NALU
– Μετάδοση σε δίκτυα ροής byte
• Κάθε πακέτο ξεκινάει με 3 byte πλαισίωσης
• Εισαγωγή byte για αποφυγή λανθασμένης πλαισίωσης

11
Δικτυακή υποστήριξη (3 από 5)
• Δύο είδη NALU
– VCL: περιέχουν πληροφορίες βίντεο
– Non-VCL: σύνολα παραμέτρων, χρονισμός
• Σύνολα παραμέτρων
– Κοινές παράμετροι για πολλά VCL NALU
– Στέλνονται πριν από τα δεδομένα εικόνας
– Μπορεί να στέλνονται με μεγαλύτερη αξιοπιστία
• Είτε με χωριστό αξιόπιστο κανάλι
• Είτε με πρόσθετη προστασία (π.χ. επανάληψη)

12

Δικτυακή υποστήριξη (4 από 5)


• Σύνολα παραμέτρων
– Δύο επίπεδα: ακολουθίας και καρέ
– Παράμετροι καρέ: αναφέρονται σε ακολουθίας
– VCL NALU: αναφέρονται σε παραμέτρους καρέ
• Μονάδα πρόσβασης
– Όλα τα NALU που αναφέρονται σε ένα καρέ
• Πληροφορίες χρονισμού και εντοπισμού
• Τμήματα κωδικοποιημένης εικόνας
• Τμήματα κωδικοποιημένα με χαμηλότερη ποιότητα

13
Δικτυακή υποστήριξη (5 από 5)
• Ακολουθίες βίντεο
– Σύνολο μονάδων πρόσβασης
– Ίδιο σύνολο παραμέτρων για όλες
– Αποκωδικοποιούνται αυτόνομα
– Ξεκινάνε με καρέ που δεν αναφέρεται σε άλλα
– Παρόμοια με GOP στο MPEG-2

14

Κωδικοποίηση βίντεο
Τμήματα (1 από 4)
• Video Coding Layer (VCL)
– Αξιοποιεί γνωστές τεχνικές κωδικοποίησης
• Επέκταση H.263 και MPEG-4 Part 2
– Πολλές επί μέρους βελτιώσεις
• Όλες μαζί συνεισφέρουν στη βελτιωμένη συμπίεση
• Τεμαχισμός καρέ σε μακρομπλόκ
– Τα μακρομπλόκ οργανώνονται σε τμήματα
– Το πλήθος μακρομπλόκ ανά τμήμα είναι αυθαίρετο
– Κάθε τμήμα αποκωδικοποιείται αυτόνομα
16

Τμήματα (2 από 4)
• Χρήση των τμημάτων
– Επιτρέπουν συγχρονισμό μετά από σφάλματα
• Ξεκινούν με ειδικό κωδικό
– Προσαρμογή στο μέγεθος των πακέτων δικτύου
• Ιδανικά: ένα τμήμα ανά πακέτο
– Τα πιο σημαντικά μπορεί να επαναλαμβάνονται

17
Τμήματα (3 από 4)
• Ευέλικτη ταξινόμηση μακρομπλόκ
– Τμήματα με μη συνεχόμενα μακρομπλόκ
• Χρήση χάρτη για αντιστοίχιση σε τμήματα
– Διάφορα είδη ταξινόμησης
• Ανάλογα με τις ανάγκες
• Διεμπλοκή μακρομπλόκ για αύξηση αξιοπιστίας
• Διαχωρισμός σημαντικών για πρόσθετη προστασία

18

Τμήματα (4 από 4)
• Προσαρμοστική ταξινόμηση τμημάτων
– Μετάδοση τμημάτων με αυθαίρετη σειρά
• Τύποι τμημάτων
– Τμήμα I: μόνο μακρομπλόκ χωρίς πρόβλεψη
– Τμήμα P: και μακρομπλοκ με απλή πρόβλεψη
– Τμήμα B: και μακρομπλόκ με διπλή πρόβλεψη
– Τμήμα SP/SI: χρήση για τυχαία προσπέλαση

19
Ενδοπλαισιακή (1 από 3)
• Ενδοπλαισιακή κωδικοποίηση (μακρομπλόκ-I)
• Πρόβλεψη από μπλοκ και στο ίδιο καρέ
– Πρέπει να προηγούνται στη σειρά εμφάνισης
– Μπορεί να είναι διαπλαισιακά κωδικοποιημένα!
– Δεν επιτρέπεται πρόβλεψη έξω από το τμήμα
• Περιορισμένη ενδοπλαισιακή κωδικοποίηση
– Πρόβλεψη μόνο από ενδοπλαισιακά μπλοκ

20

Ενδοπλαισιακή (2 από 3)
• Πρόβλεψη σε περιοχές 4x4 ή 16x16
• 4x4 για μεγαλύτερη λεπτομέρεια
– Διάφοροι τύποι πρόβλεψης
– Μέση τιμή εικονοστοιχείων πάνω / αριστερά
– Αντίστοιχα εικονοστοιχεία πάνω από το μπλοκ
– Αντίστοιχα εικονοστοιχεία αριστερά από μπλοκ
– Αντίστοιχα με διάφορες διαγωνίους

21
Ενδοπλαισιακή (3 από 3)
• 16x16 για φόντο ή απλές περιοχές
– Λιγότεροι τύποι πρόβλεψης
– Μέση τιμή, εικονοστοιχεία πάνω / αριστερά
• Ασυμπίεστα μπλοκ (PCM)
– Τιμές των δειγμάτων χωρίς συμπίεση
– Για περίπλοκα μπλοκ και υψηλή ποιότητα

22

Διαπλαισιακή (1 από 5)
• Διαπλαισιακή κωδικοποίηση (μακρομπλόκ-P)
• Επιτρέπονται διάφορα μεγέθη μπλοκ
– Μεγέθη 16x16, 16x8, 8x16 ή 8x8
– Τα 8x8 μπορεί να διαιρούνται σε 8x4, 4x8 ή 4x4
– Κάθε μπλοκ έχει το δικό του διάνυσμα κίνησης
• Επιτρέπεται πρόβλεψη από διάφορα καρέ
– Τα διανύσματα κίνησης περιέχουν και αναφορές

23
Διαπλαισιακή (2 από 5)
• Μη ακέραια διανύσματα κίνησης
– 1, ½ ή ¼ εικονοστοιχείου σε κάθε διάσταση
• Μπλοκ αναφοράς με ½ εικονοστοιχείο
– Σχηματίζονται με φίλτρο
– Γραμμικός συνδυασμός +/-3 γειτονικών
• Μπλοκ αναφοράς με ¼ εικονοστοιχείο
– Μέσοι όροι
– Από τα εικονοστοιχεία σε ακέραιη και ½ απόσταση
24

Διαπλαισιακή (3 από 5)
• Διανύσματα εκτός του καρέ αναφοράς
– Υποθέτουμε ότι επαναλαμβάνονται οι ακραίες τιμές
• Διαφορική κωδικοποίηση διανυσμάτων κίνησης
– Πρόβλεψη μόνο μέσα στο ίδιο τμήμα
– Μπορεί να είναι κατευθυντική ή με μέσο όρο
• Απλή πρόβλεψη (P_Skip)
– Δεν μεταδίδεται σχεδόν τίποτα!
– Ίδιο μπλοκ με προηγούμενη εικόνα
– Ίδιο διάνυσμα με προηγούμενο

25
Διαπλαισιακή (4 από 5)
• Διαπλαισιακή κωδικοποίηση (μακρομπλόκ-B)
– Γενίκευση των καρέ-B
• Μπορούν να χρησιμοποιούνται ως μπλοκ αναφοράς
• Χρησιμοποιούν συνδυασμό δύο προβλέψεων
– Τέσσερις τύποι πρόβλεψης
• Προηγούμενα ή επόμενα καρέ, συνδυασμός και απλή
• Η απλή πρόβλεψη είναι όπως στα μακρομπλόκ-P
– Επιτρέπονται διάφορα μεγέθη μπλοκ

26

Διαπλαισιακή (5 από 5)
• Συνδυασμός προβλέψεων
– Χρήση βαρών και αποστάσεων στο διάνυσμα
• Προστίθεται η απόσταση στα εικονοστοιχεία
• Σταθμίζεται κάθε μπλοκ ανάλογα με το βάρος
• Ισχύει για τα μακρομπλόκ-B και μακρομπλόκ-P

27
Μετασχηματισμός (1 από 2)
• Ακέραιος μετασχηματισμός
– Παρόμοιος με DCT
– Πίνακας πολλαπλασιασμού με ακέραιες τιμές
• Μεγάλη απλοποίηση των υπολογισμών
– Χρήση ακέραιης αριθμητικής 16 bit
• Παλιότερες μέθοδοι απαιτούν 32 bit

28

Μετασχηματισμός (2 από 2)
• Χρήση μπλοκ 4x4 αντί 8x8
– Επιτρέπονται περισσότεροι τύποι πρόβλεψης
– Άρα οι διαφορές είναι μικρότερες
– Καλύτερη ποιότητα στις ακμές
– Απλούστεροι υπολογισμοί με μικρότερους αριθμούς
• Οι DC περνάνε από δεύτερο μετασχηματισμό
– Νέος πίνακας με τους DC κάθε μπλοκ 4x4
– Βελτιώνει συμπίεση σε ομοιόμορφες περιοχές

29
Κβαντοποίηση
• Μοναδικός συντελεστής κβαντοποίησης
– Με 52 δυνατές τιμές (0-51)
– Καθορίζει ένα βήμα κβαντοποίησης
• Λογαριθμική αντί γραμμικής κβαντοποίησης
– Κάθε 6 τιμές διπλασιάζεται το βήμα
– Κάθε τιμή αυξάνει το βήμα κατά 12%

30

Κωδικοποίηση εντροπίας
• Προσαρμοστική μεταβλητού μήκους
– Παρόμοια με κωδικοποίηση Huffman
– Οι πίνακες αλλάζουν ανάλογα με το τι έχουμε δει ήδη
– Διαφορετικός πίνακας για κάθε στατιστική κατανομή
– Καλύτερη συμπίεση σε σχέση με έναν μόνο πίνακα
• Προσαρμοστική αριθμητική κωδικοποίηση
– Οι πιθανότητες μεταβάλλονται ανάλογα με ιστορία
– Βελτιώνει τη συμπίεση κατά 5-15%

31
Φίλτρο deblocking
• Σε χαμηλό ρυθμό bit εμφανίζονται ατέλειες
– Τα άκρα κωδικοποιούνται χειρότερα από το κέντρο
– Τα γειτονικά μπλοκ κωδικοποιούνται ανεξάρτητα
• Το φίλτρο μειώνει τις ατέλειες
– Εξετάζει τα εικονοστοιχεία σε γειτονικά μπλοκ
– Διαφορές > συντελεστή κβαντοποίησης μένουν
– Μικρότερες διαφορές φιλτράρονται
– Μειώνει το ρυθμό κατά 5-10% με ίδια ποιότητα

32

Διεμπλεκόμενο βίντεο
• Κωδικοποίηση καρέ ή πεδίου
– Ελαφρά διαφορετική κωδικοποίηση πεδίου
• Αλλαγή ανά εικόνα ή και ανά μακρομπλόκ
– Καρέ σε περιοχές που δεν έχουμε κίνηση
– Πεδίου σε περιοχές που έχουμε κίνηση

33
Προφίλ και επίπεδα

Σύνολα χαρακτηριστικών (1 από 2)


• Σύνολα χαρακτηριστικών H.264/AVC
– 0: τμήματα I και P, κωδικοποίηση Huffman
– 1: μη συνεχόμενα τμήματα και μπλοκ,
επανάληψη τμημάτων
– 2: τμήματα SP/SI, διάκριση δεδομένων τμήματος
– 3: τμήματα B, πρόβλεψη με βάρη, κωδικοποίηση
με πεδία
– 4: αριθμητική κωδικοποίηση

35
Σύνολα χαρακτηριστικών (2 από 2)
• Προφίλ: ποια εργαλεία επιτρέπονται
– Baseline: σύνολα 0 και 2 (αξιοπιστία)
– Main: σύνολα 0, 3 και 4 (απόδοση)
– Extended: σύνολα 0, 1, 2 και 3
• Επίπεδο: τιμές βασικών παραμέτρων
– 15 επίπεδα, ίδια για όλα τα προφίλ
– Ανάλυση, ρυθμός μακρομπλόκ, ρυθμός bit

36

Ανάκαμψη από σφάλματα


Ανάκαμψη (1 από 4)
• Ο κωδικοποιητής παρέχει πολλά εργαλεία
• Δύο είδη ενδοπλαισιακών μακρομπλόκ
– Περιορισμένα: πρόβλεψη από ενδοπλαισιακά
– Τμήματα εικόνας σε μέγεθος πακέτων
– Περιορίζει ζημιά από την απώλεια ενός πακέτου
• Επιλογή εικόνας αναφοράς
– Επιτρέπει την παράκαμψη χαμένων μπλοκ

38

Ανάκαμψη (2 από 4)
• Σύνολα παραμέτρων
– Μπορούν να στέλνονται με αυξημένη αξιοπιστία
• Ευέλικτη ταξινόμηση μακρομπλόκ
– Διεμπλοκή για ανάκαμψη από σφάλματα
• Πλεονάζοντα τμήματα
– Επανάληψη σημαντικών τμημάτων της εικόνας
– Κωδικοποίηση με χαμηλότερη ποιότητα

39
Ανάκαμψη (3 από 4)
• Κατάτμηση δεδομένων σε τρία μέρη
– A: Τύποι μακρομπλόκ, διανύσματα, κβαντοποιητής
– B: Ενδοπλαισιακά κωδικοποιημένα μπλοκ
– C: Διαπλαισιακά κωδικοποιημένα μπλοκ
– Φθίνουσα σειρά σπουδαιότητας
• Η κατάτμηση A είναι απαραίτητη για τις B και C
• Η A επιτρέπει απόκρυψη σφαλμάτων
• Μπορούμε να έχουμε διαφορετική μεταχείριση στο δίκτυο

40

Ανάκαμψη (4 από 4)
• Σήμανση NALU
– Κάθε NALU έχει προτεραιότητα στην κεφαλίδα
• Το δίκτυο μπορεί να κάνει επιλεκτική απόρριψη
• Συνδυάζεται με την κατάτμηση δεδομένων
– Απαγορευμένο bit: χαλασμένα δεδομένα
• Επιτρέπει στον αποκωδικοποιητή να δράσει

41
Κλιμακώσιμη κωδικοποίηση

Κλιμάκωση (1 από 5)
• Επέκταση Scalable Video Coding (SVC)
– Πολλαπλές αναλύσεις/ποιότητες/ρυθμοί καρέ
• Τρία νέα κλιμακώσιμα επίπεδα
– Μερική μετάδοση ή αποκωδικοποίηση της ροής
– Ίδια ποιότητα με απλή ροή (μη κλιμακώσιμη)
– Εύκολη εξαγωγή μη κλιμακώσιμης ρόής
– Μικρή αύξηση του ρυθμού μετάδοσης
– Μικρή αύξηση πολυπλοκότητας αποκωδικοποίησης
• Σε σχέση με MPEG-2 και MPEG-4 part 2

43
Κλιμάκωση (2 από 5)
• Στόχοι του SVC
– Υποστήριξη ετερογενών τερματικών
– Υποστήριξη ετερογενών δικτύων
• Τύποι κλιμάκωσης
– Χρονική κλιμάκωση (ρυθμός καρέ)
• Υποστηρίζεται ήδη σε μεγάλο βαθμό από το Η.264/AVC
– Χωρική κλιμάκωση (διάφορες αναλύσεις)
• Επιτρέπονται πολλοί λόγοι διαστάσεων στην ίδια ροή
– Κλιμάκωση ποιότητας (ακρίβεια εικόνας)
44

Κλιμάκωση (3 από 5)
• Κωδικοποίηση σε επίπεδα
– Η ροή περιέχει σειρά από αριθμημένα επίπεδα
– Το 0 δεν χρειάζεται ειδικό αποκωδικοποιητή
• Αρκεί ένας απλός αποκωδικοποιητής H.264/AVC
– Τα >0 βελτιώνουν ανάλυση ή ποιότητα
• Σε σχέση με (χαμηλότερο) επίπεδο αναφοράς
• Κάθε εικόνα μπορεί να έχει διαφορετικό επίπεδο

45
Κλιμάκωση (4 από 5)
• Πρόβλεψη ανάμεσα σε επίπεδα
– Ανά μακρομπλόκ ή υποδιαιρέσεις του
– Απλούστερη περίπτωση: ίδια με επίπεδο αναφοράς
• Ενδοπλαισιακά μπλοκ: ίδιο με μπλοκ αναφοράς
• Διαπλαισιακά μπλοκ: ίδια πρόβλεψη με μπλοκ αναφοράς
• Τα μπλοκ αναφοράς και τα διανύσματα κλιμακώνονται
– Αλλιώς, διαφορά από μπλοκ αναφοράς
• Κλιμάκωση του μπλοκ αναφοράς πριν την αφαίρεση

46

Κλιμάκωση (5 από 5)
• Ενιαία αποκωδικοποίηση για όλα τα επίπεδα
– Δεν αποκωδικοποιείται κάθε επίπεδο χωριστά
• Χρονική κλιμάκωση
– Αύξηση ρυθμού πλαισίου σε κάθε επίπεδο
– Προσοχή στην επιλογή των καρέ αναφοράς
• Επιτρέπεται αναφορά μόνο σε χαμηλότερο επίπεδο

47
Ενότητα # 15: Συγχρονισμός πολυμέσων

Σκοποί ενότητας
• Κατανόηση των προβλημάτων συγχρονισμού
πολυμέσων και των βασικών τρόπων
αντιμετώπισής τους.
• Εισαγωγή στον κατανεμημένο συγχρονισμό.
• Εξοικείωση με τις βασικές μεθόδους
διατύπωσης προδιαγραφών συγχρονισμού.
• Κατανόηση του πώς οι διάφορες τεχνικές
εντάσσονται σε ένα γενικό πλαίσιο αναφοράς
συγχρονισμού.
4
Περιεχόμενα ενότητας
• Εισαγωγή
• Απαιτήσεις συγχρονισμού
• Αντιμετώπιση προβλημάτων
• Κατανεμημένος συγχρονισμός
• Προδιαγραφές συγχρονισμού
• Πλαίσιο αναφοράς συγχρονισμού

Εισαγωγή
Τι σημαίνει συγχρονισμός; (1 από 3)
• Πολυμέσα: ενοποιημένη διαχείριση μέσων
– Ψηφιακή αναπαράσταση μέσων
– Κάθε μέσο είναι ανεξάρτητο
– Άρα, χρειάζεται συγχρονισμός μέσων!
• Σε ποιο επίπεδο γίνεται ο συγχρονισμός;
– LDU: λογικές μονάδες δεδομένων ενός μέσου
– Συγχρονισμός σε επίπεδο LDU

Τι σημαίνει συγχρονισμός; (2 από 3)


• Συγχρονισμός ενός αντικειμένου
– Έχει νόημα μόνο στα συνεχή μέσα
– Χρονικές σχέσεις ανάμεσα στα LDU του μέσου
• Περιοδική αναπαραγωγή

• Συγχρονισμός πολλαπλών αντικειμένων


– Χρονικές σχέσεις ανάμεσα σε πολλαπλά μέσα
– Ένα από αυτά πρέπει να είναι συνεχές

8
Τι σημαίνει συγχρονισμός; (3 από 3)
• Ζωντανός συγχρονισμός: φυσικά μέσα
– Ψηφιοποίηση όλων των μέσων μαζί
• Παράδειγμα: ήχος και εικόνα
– Αναπαραγωγή συσχετίσεων ψηφιοποίησης
• Συνθετικός συγχρονισμός: συνθετικά μέσα
– Ανεξάρτητη ψηφιοποίηση των μέσων
– Οι συσχετίσεις ορίζονται εκ των υστέρων
• Παράδειγμα: εικόνα και υπότιτλοι

Απαιτήσεις συγχρονισμού
Απαιτήσεις
• Συγχρονισμός ενός αντικειμένου
– Αποφυγή διαταραχής στο χρόνο παρουσίασης
• Αυστηρά περιοδική παρουσίαση

• Συγχρονισμός πολλών αντικειμένων


– Συγχρονισμός μετά από καθυστερήσεις
• Πιθανόν διαφορετικές για κάθε μέσο

• Πόση ανοχή μπορούμε να δείξουμε;

11

Συγχρονισμός χειλιών (1 από 4)


• Συγχρονισμός χειλιών
– Βίντεο (χείλη) και ήχος (φωνή)
– Θετική απόκλιση: βίντεο έπεται του ήχου
– Αρνητική απόκλιση: ήχος έπεται του βίντεο
• Εμπειρική μελέτη
– Παρουσιαστής ειδήσεων
• Όψη κεφαλής, ώμων, σώματος
– Αποκλίσεις +/- k x 40 ms

12
Συγχρονισμός χειλιών (2 από 4)

13

Συγχρονισμός χειλιών (3 από 4)


• Ανοχή στην απόκλιση
– Παρόμοια αποτελέσματα (καμπύλες)
• Ελαφρά μεγαλύτερη ενόχληση σε όψη κεφαλής
– Πιο ενοχλητική η θετική απόκλιση
• Πιο απότομη αύξηση καμπυλών στα δεξιά
• Οφείλεται στην ταχύτητα του φωτός
• Απόσταση 20 m, αρνητική απόκλιση 60 ms
• Η αρνητική απόκλιση είναι καθημερινό φαινόμενο

14
Συγχρονισμός χειλιών (4 από 4)
• Τρεις «περιοχές» συγχρονισμού
• Εντός συγχρονισμού: –80 ms έως +80 ms
– Δεν έγιναν αντιληπτές ή κρίθηκαν αποδεκτές
• Εκτός συγχρονισμού: πάνω από +/–160 ms
– Έγιναν αντιληπτές και κρίθηκαν ενοχλητικές
• Μεταβατικές: +/- 80 έως 160 ms
– Αποδοχή ανάλογα με παρατηρούμενη εικόνα

15

Άλλες εφαρμογές
• Συγχρονισμός δείκτη με ομιλία
– Μέχρι 750 ms όταν ο δείκτης έπεται του ήχου
– Μέχρι 500 ms όταν ο ήχος έπεται του δείκτη
• Συγχρονισμός καναλιών ήχου
– Στερεοφωνικός ήχος: 11 ms
– Ομιλία με μουσική στο φόντο: 500 ms
– Συζήτηση από διαφορετικά κανάλια: 120 ms

16
Ποιότητα συγχρονισμού
• Συγχρονισμός επιπέδου παραγωγής
– Χρησιμοποιείται κατά την επεξεργασία
– Μικρή ή μηδενική απόκλιση
– Επιτρέπει χαλάρωση κατά την παρουσίαση
• Συγχρονισμός επιπέδου παρουσίασης
– Χρησιμοποιείται κατά την παρουσίαση
– Απόκλιση εντός ορίων αντίληψης

17

Σύνοψη απαιτήσεων
Μέσα Εφαρμογή Όριο ανοχής
Κινούμενα σχέδια Συσχέτιση +/- 120 ms
Ήχος Συγχρονισμός χειλιών +/- 80 ms
Βίντεο Εικόνα Με επικάλυψη +/- 240 ms
Χωρίς επικάλυψη +/- 500 ms
Κείμενο Με επικάλυψη +/- 240 ms
Χωρίς επικάλυψη +/- 500 ms
Κινούμενα σχέδια Συσχέτιση +/- 80 ms
Στενή εξάρτηση (στέρεο) +/- 11 μs
Ήχος
Ενδιάμεση εξάρτηση (διάλογος) +/- 120 ms
Ήχος Χαλαρή εξάρτηση (φόντο) +/- 500 ms
Εικόνα Στενή εξάρτηση (παρτιτούρα) +/- 5 ms
Χαλαρή εξάρτηση (παρουσίαση) +/- 500 ms
Κείμενο Σχολιασμός κειμένου +/- 240 ms
Δείκτης Σχολιασμός δείκτη -500 ms / +750 ms
18
Αντιμετώπιση προβλημάτων

Πηγές προβλημάτων
• Μεταβλητή καθυστέρηση στο δίκτυο
– Αποσυγχρονισμός ενός μέσου
• Λόγω διαταραχής καθυστέρησης
– Αποσυγχρονισμός μέσων μεταξύ τους
• Λόγω διαφορετικών διαταραχών

• Δημιουργία κενών ανάμεσα στα LDU


– Απώλεια ολόκληρων LDU
• Χαμένα ή καθυστερημένα πακέτα

20
Αντιμετώπιση
• Περιορισμένο μπλοκάρισμα
– Κενά για μικρές καθυστερήσεις
– Επανάληψη LDU για μεγάλες καθυστερήσεις
• Αναψηφιοποίηση μέσων
– Επιτάχυνση ή επιβράδυνση ροών δεδομένων
– Συγχρονισμός μέσων με απόκλιση ρολογιού
– Επανάληψη/παράλειψη/παρεμβολή LDU
• Χρήση και σε μετατροπές PAL/SECAM/NTSC

21

Κατανεμημένος συγχρονισμός
Μετάδοση προδιαγραφών (1 από 2)
• Κατανεμημένο σύστημα πολυμέσων
– Αυξημένη καθυστέρηση
– Αυξημένη διαταραχή
• Πότε μεταδίδονται οι προδιαγραφές;
• Πριν την παρουσίαση
– Κατάλληλη για συνθετικό συγχρονισμό
– Καθυστέρηση λόγω μετάδοσης προδιαγραφών

23

Μετάδοση προδιαγραφών (2 από 2)


• Μέσω χωριστού καναλιού
– Κατάλληλη για ζωντανό συγχρονισμό
– Απαιτεί πρόσθετο κανάλι συγχρονισμού
• Πολυπλεγμένες με ροές μέσων
– Δεν αυξάνει την καθυστέρηση
– Δεν απαιτεί πρόσθετα κανάλια
– Δεν επιτρέπει ανεξάρτητο χειρισμό ροών

24
Τόπος συγχρονισμού (1 από 2)

• Συγχρονισμός στην πηγή


– Όλα τα μέσα συγχρονίζονται στην πηγή
– Αρκεί ένα κανάλι για όλες τις πληροφορίες
• Πολύπλεξη όλων των πληροφοριών
– Όλα τα μέσα αντιμετωπίζουν τα ίδια προβλήματα

25

Τόπος συγχρονισμού (2 από 2)

• Συγχρονισμός στον προορισμό


– Συγχρονισμός πριν την παρουσίαση
– Ανεξάρτητη μετάδοση μέσων
• Πιθανόν διαφορετική τύχη για το καθένα
– Δυνατότητα παρέμβασης στον προορισμό

26
Ακρίβεια συγχρονισμού

• Παρουσίαση ήχου και βίντεο τη στιγμή TAV


– Ήχος: αρχίζει τη στιγμή TA=TAV-DA-SA
– Βίντεο: αρχίζει τη στιγμή TV=TAV-DV-SV
• DA, DV: καθυστέρηση μετάδοσης
• SA, SV: απόκλιση ανάμεσα στα ρολόγια (άγνωστη)
• Εκτίμηση άνω ορίου απόκλισης
– Εκχώρηση ενταμιευτών και έγκαιρη εκκίνηση
27

Προδιαγραφές συγχρονισμού
Με διαστήματα (1 από 2)

29

Με διαστήματα (2 από 2)
• Προδιαγραφές που βασίζονται σε διαστήματα
– Διάφορες σχέσεις ανάμεσα στα διαστήματα
– Επιτρέπονται μηδενικές/άγνωστες παράμετροι
• Συμπληρώνονται στην πορεία
– Όχι σχέσεις ανάμεσα σε μέρη αντικειμένων
• Μόνο ανάμεσα σε διαστήματα
– Πιθανά προβλήματα όταν ορίζονται οι διάρκειες
• Μπορεί να είναι αδύνατος ο ορισμός τιμών

30
Με άξονες (1 από 2)

• Προδιαγραφές που βασίζονται σε άξονες


– Γενικό ρολόι συγχρονισμού (χρονικός άξονας)

31

Με άξονες (2 από 2)
• Προδιαγραφές που βασίζονται σε άξονες
– Δεν χειρίζονται αντικείμενα με άγνωστη διάρκεια
• Όλες οι διάρκειες πρέπει να είναι γνωστές
– Κάθε μέσο πρέπει να συγχρονιστεί με το ρολόι
– Συνήθως χρησιμοποιείται ο ήχος ως γενικό ρολόι
• Πιο ευαίσθητο μέσο σε διαταραχές
• Πολύ υψηλό ρολόι συγχρονισμού

32
Ιεραρχικές (1 από 2)
• Προδιαγραφές που βασίζονται σε ροή ελέγχου
– Συγχρονισμός σε προκαθορισμένα σημεία
• Ιεραρχικές προδιαγραφές
– Παρουσίαση εν σειρά ή παράλληλα
• Φύλλα: αντικείμενα μέσων
• Εσωτερικοί κόμβοι: σειρά παρουσίασης παιδιών
– Χρονικές καθυστερήσεις ως αντικείμενα
– Συγχρονισμός μόνο σε αρχή / τέλος αντικειμένων
– Δεν μπορεί να εκφράσει περίπλοκες σχέσεις
33

Ιεραρχικές (2 από 2)

34
Πλαίσιο αναφοράς συγχρονισμού

Πλαίσιο αναφοράς (1 από 3)

• Ο συγχρονισμός γίνεται σε διάφορα επίπεδα


– Εξαρτάται από εφαρμογή και εργαλεία
– Παράδειγμα: συγχρονισμός υποτίτλων
36
Πλαίσιο αναφοράς (2 από 3)
• Επίπεδο μέσων
– Συγχρονισμός των LDU ενός συνεχούς μέσου
– Συγχρονισμός πολλαπλών μέσων από εφαρμογή
• Παρακολούθηση ρολογιού για εμφάνιση υποτίτλων
• Επίπεδο ρευμάτων
– Ρεύματα και ομάδες ρευμάτων συνεχών μέσων
– Ορισμός χρονικών περιορισμών μεταξύ ρευμάτων
– Ορισμός γεγονότων στις επιθυμητές στιγμές
• Εμφάνιση υποτίτλων όταν συμβούν τα γεγονότα

37

Πλαίσιο αναφοράς (3 από 3)


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

• Επίπεδο προδιαγραφών
– Εργαλεία δημιουργίας προδιαγραφών συγχρονισμού
– Εργαλεία μετατροπής προδιαγραφών συγχρονισμού

38
Ενότητα # 16: Πολυεκπομπή

Σκοποί ενότητας
• Κατανόηση των μοντέλων πολυεκπομπής και των
βασικών προσεγγίσεων δρομολόγησης
πολυεκπομπής.
• Εξοικείωση με τις βασικές τεχνικές
αντιμετώπισηςη της ετερογένειας και της
ανάδρασης.
• Εισαγωγή στις τεχνικές πολυεκπομπής στο
Διαδίκτυο και κατανόηση των πρακτικών
προβλημάτων υλοποίησης της πολυεκπομπής.
4
Περιεχόμενα ενότητας
• Μοντέλα πολυεκπομπής
• Αλγόριθμοι δρομολόγησης
• Αντιμετώπιση της ετερογένειας
• Έλεγχος ανάδρασης
• Πολυεκπομπή στο Διαδίκτυο
• Προβλήματα υλοποίησης

Μοντέλα πολυεκπομπής
Τι είναι η πολυεκπομπή (1 από 3);
• Βασικοί τρόποι μετάδοσης
– Μονοεκπομπή (unicast): ένας προς έναν
– (Ευρεία) εκπομπή (broadcast): ένας προς όλους
– Πολυεκπομπή (multicast): ένας προς πολλούς
• Τι ακριβώς σημαίνει πολυεκπομπή;
– Αυθαίρετο σύνολο παραληπτών (ομάδα)
– Αποστολή δεδομένων σε αυτούς (όχι σε όλους)
– Αποστολή δεδομένων μία φορά μόνο

Τι είναι η πολυεκπομπή (2 από 3);


• Δένδρο πολυεκπομπής
– Ένωση διαδρομών προς όλους τους παραλήπτες
• Οι διαδρομές δεν είναι απαραίτητα βέλτιστες
– Ελαχιστοποίηση κατανάλωσης των πόρων
• Ελαχιστοποίηση μεταδόσεων πακέτων
• Απαιτήσεις υλοποίησης πολυεκπομπής
– Δρομολόγηση πακέτων προς μέλη της ομάδας
– Δυναμική παρακολούθηση μελών της ομάδας

8
Τι είναι η πολυεκπομπή (3 από 3);
• Μοντέλο ομάδας παραληπτών Διαδικτύου
– Ομάδα υπολογιστών με διεύθυνση κλάσης D
– Όλα τα μέλη λαμβάνουν όλα τα πακέτα (ίσως!)
– Οποιοσδήποτε μπορεί να στείλει πακέτα
– Οι αποστολείς δεν γνωρίζουν τα μέλη της ομάδας
• Ατομική πολυεκπομπή: εναλλακτικό μοντέλο
– Κάθε μήνυμα είτε πάει σε όλους είτε σε κανέναν
• Λαμβάνονται με την ίδια σειρά σε όλους
– Πολύ πιο δύσκολο στην υλοποίηση

Αλγόριθμοι δρομολόγησης
Δρομολόγηση (1 από 5)

• Δρομολόγηση πολυεκπομπής: 1η προσέγγιση


– Ένωση βέλτιστων διαδρομών μονοεκπομπής
• Υπολογισμός βέλτιστων διαδρομών προς όλους
• Αναδρομική αφαίρεση ζεύξεων προς μη μέλη
11

Δρομολόγηση (2 από 5)
• Πλεονεκτήματα / Μειονεκτήματα
– Αξιοποιεί ήδη υπάρχοντες μηχανισμούς
– Μη βέλτιστη στην εξοικονόμηση πόρων
• Δρομολόγηση πολυεκπομπής: 2η προσέγγιση
– Εύρεση δένδρου Steiner
• Ελάχιστο δένδρο με όλους τους παραλήπτες
• Πιθανόν να περιέχει και άλλους κόμβους
– Η εύρεσή του είναι NP πλήρες πρόβλημα
– Υπάρχουν καλοί προσεγγιστικοί αλγόριθμοι
12
Δρομολόγηση (3 από 5)

• Πλεονεκτήματα / Μειονεκτήματα
– Σχεδόν βέλτιστη λύση (με προσεγγιστικό αλγόριθμο)
– Απαιτεί εκτέλεση πρόσθετου αλγόριθμου
• Ανάγκη επανυπολογισμού σε κάθε αλλαγή
13

Δρομολόγηση (4 από 5)
• Δρομολόγηση πολυεκπομπής: 3η προσέγγιση
– (Κοινόχρηστο) δένδρο με κεντρικό σημείο
• Οι άλλες λύσεις έχουν ένα δένδρο ανά αποστολέα
– Ρίζα: τοπολογικό κέντρο παραληπτών
• Η εύρεσή του είναι NP πλήρες πρόβλημα
• Χρησιμοποιούμε προσέγγιση
• Πλεονεκτήματα / Μειονεκτήματα
– Δεν χρειάζεται συντήρηση πολλών δένδρων
– Τοπικές επιπτώσεις σε κάθε αλλαγή
– Η διανομή δεν είναι βέλτιστη

14
Δρομολόγηση (5 από 5)

• Υλοποίηση 3ης λύσης


– Χρήση πυρήνα ή σημείου συνάντησης
– Οι αποστολείς προωθούν πακέτα στον πυρήνα
– Ο πυρήνας προωθεί τα πακέτα στους παραλήπτες
15

Αντιμετώπιση της ετερογένειας


Ετερογένεια (1 από 3)
• Πολυεκπομπή και ετερογένεια
– Αύξηση παραληπτών -> αύξηση αποκλίσεων
• Διαφορετικές προτιμήσεις χρηστών
• Διαφορετικές δυνατότητες τερματικών
• Διαφορετικές δυνατότητες δικτύων πρόσβασης
• Διάκριση παραληπτών σε ομάδες
– Μία ομάδα ανά επίπεδο ποιότητας
• Κάθε παραλήπτης προσχωρεί στην κατάλληλη
– Τα ίδια μέσα μεταδίδονται πολλές φορές

17

Ετερογένεια (2 από 3)
• Στρωματοποιημένη κωδικοποίηση
– Τεμαχισμός μέσων σε k στρώματα (layers)
– Κάθε στρώμα στέλνεται σε διαφορετική ομάδα
– Κάθε παραλήπτης προσχωρεί σε ν ομάδες
• Ανάλογα με δυνατότητες και προτιμήσεις
– Κάθε πρόσθετο στρώμα αυξάνει την ποιότητα
– Τα μέσα μεταδίδονται μία φορά μόνο

18
Ετερογένεια (3 από 3)

• Παράδειγμα
– Βασικό στρώμα: συνεχής γραμμή
– Στρώμα βελτίωσης: διακεκομμένη γραμμή
19

Έλεγχος ανάδρασης
Ενδόρρηξη ανάδρασης

• Έλεγχος ροής, συμφόρησης και σφαλμάτων


– Στην πολυεκπομπή έχουμε πολλούς παραλήπτες
– Ενδόρρηξη ανάδρασης (feedback implosion)
• Υπερφόρτωση αποστολέα από την ανάδραση
21

Αντιμετώπιση ανάδρασης (1 από 5)


• Αντιμετώπιση της ανάδρασης
– Ιδανικά θέλουμε ενιαία αντιμετώπιση
– Όταν αποκλίνει η ανάδραση όμως;
• Θα ακούσουμε τον καλύτερο ή τον χειρότερο;

• Λύση 1η: το αφήνουμε σε ανώτερα επίπεδα


– Λογική λύση όταν ξέρουν τι να κάνουν!
• Το πρόβλημα βέβαια θα εμφανιστεί στην ίδια μορφή

22
Αντιμετώπιση ανάδρασης (2 από 5)
• Λύση 2η: κατάσταση ανά παραλήπτη
– Ο αποστολέας περιμένει να συγχρονιστούν όλοι
• Παράδειγμα: να λάβουν όλοι ένα πακέτο
– Προτιμάται αρνητική ανάδραση / επιβεβαίωση
• Μειώνει τον κίνδυνο ενδόρρηξης ανάδρασης
– Ο αποστολέας προσαρμόζεται στον χειρότερο
• Περιμένει να φτάσει τους άλλους

23

Αντιμετώπιση ανάδρασης (3 από 5)

• Λύση 3η: ιεραρχικός έλεγχος ανάδρασης


– Κατανομή ελέγχου στο δένδρο πολυεκπομπής
– Οι ενδιάμεσοι κόμβοι συγχωνεύουν την ανάδραση
– Τοπική αντιμετώπιση προβλημάτων αν είναι δυνατό
24
Αντιμετώπιση ανάδρασης (4 από 5)
• Λύση 4η: αξιοποίηση τοπικής πολυεκπομπής
– Κατάλληλη για έλεγχο σφαλμάτων
– Συνεργάζονται αποστολέας και παραλήπτες
– Οι παραλήπτες πολυεκπέμπουν αιτήσεις
– Όποιος τις λάβει μπορεί να απαντήσει
• Όχι μόνο ο αποστολέας
• Απάντηση με πολυεκπομπή

25

Αντιμετώπιση ανάδρασης (5 από 5)


• Τοπική αποστολή αιτήσεων/αποκρίσεων
– Περιορισμός εμβέλειας μηνυμάτων
– Δεν ενοχλούνται απομακρυσμένα μέλη
• Καθυστέρηση ανάλογα με την απόσταση
– Η πολυεκπομπή γίνεται από πλησιέστερο κόμβο
– Οι υπόλοιποι κόμβοι ακούν το μήνυμα και σιωπούν
• Τα προβλήματα αντιμετωπίζονται τοπικά
– Περιορισμένης εμβέλειας & μεταβλητή καθυστέρηση
26
Πολυεκπομπή στο Διαδίκτυο

Βασικά στοιχεία
• Διευθύνσεις κλάσης D για ομάδες
– Αποστολή πακέτων όπως στη μονοεκπομπή
• Μηχανισμός δρομολόγησης προς τα μέλη
– Τοπική τεχνολογία λήψης/αποστολής μηνυμάτων
• Μηχανισμός παρακολούθησης μελών ομάδας
– Διατήρηση μίας λίστας με τις τοπικές ομάδες
• Πρωτόκολλο επικοινωνίας δρομολογητών

28
Δρομολόγηση με το DVMRP
• Πρωτόκολλο διανυσμάτων απόστασης
– Βασίζεται σε αντίστροφες διαδρομές
– Ξεχωριστό δένδρο για κάθε αποστολέα
• Αξιοποίηση του αλγορίθμου Bellman-Ford
– Έλεγχος αν το πακέτο έφτασε από τη σωστή ζεύξη
• Άρα από τη συντομότερη αντίστροφη διαδρομή
– Προώθηση πακέτου σε όλες τις άλλες ζεύξεις
• Αποκοπή κλαδιών που δεν οδηγούν σε μέλη

29

Δρομολόγηση με το MOSPF
• Πρωτόκολλο κατάστασης συνδέσμων
– Οι δρομολογητές στέλνουν τις ομάδες τους
– Χρήση αλγορίθμου πλημμύρας
– Συνδυασμός με τα πακέτα του OSPF
– Υπολογίζονται δένδρα βέλτιστων διαδρομών
– Μεγάλη επιβάρυνση όταν αλλάζουν οι ομάδες
• Κάθε αλλαγή διαδίδεται με πλημμύρα

30
Δρομολόγηση με το CBT
• Κοινόχρηστο δένδρο για όλους
– Η ρίζα του ονομάζεται πυρήνας (core)
• Κατασκευή από τα φύλλα προς τον πυρήνα
– Σταδιακή κατασκευή με ειδικά μηνύματα
– Οι αποστολείς στέλνουν στον πυρήνα
– Ο πυρήνας προωθεί στους παραλήπτες
• Μη βέλτιστο δένδρο αλλά μικρή επιβάρυνση

31

Δρομολόγηση με το PIM
• Δύο τρόποι λειτουργίας: πυκνός και αραιός
• Πυκνός (PIM-DM): παρόμοιος με DVMRP
– Δεν εξαρτάται από πρωτόκολλο μονοεκπομπής
– Δυνατότητα «κλαδέματος» του δένδρου
• Αραιός (PIM-SM): παρόμοιος με το CBT
– Πολλά σημεία συνάντησης (RP)
– Μπορεί να συνδυαστεί με ατομικές διαδρομές

32
Κλιμάκωση με το BGMP
• Χρήση ανάμεσα σε αυτόνομα συστήματα (AS)
– Κάθε AS μπορεί να έχει άλλο αλγόριθμο
– Πώς γίνεται η καθολική δρομολόγηση;
• Δημιουργία κοινόχρηστων δένδρων
– Πυρήνας: το AS που δημιούργησε την ομάδα
– Διασύνδεση πρωτοκόλλων δρομολόγησης

33

Τοπικοί μηχανισμοί (1 από 2)


• Διαχείριση ομάδων: IGMP v1
– Περιοδικά ερωτήματα από δρομολογητή
– Ο αποστολέας στέλνει μία απόκριση ανά ομάδα
– Η πρώτη απόκριση ακυρώνει τις υπόλοιπες
• Αποστολή με τυχαία καθυστέρηση
• Αποφυγή συγκρούσεων
– Διαγραφή όταν δεν ληφθούν πολλές αποκρίσεις
• Δεν υπάρχει μήνυμα αποχώρησης από ομάδα

34
Τοπικοί μηχανισμοί (2 από 2)
• Διαχείριση ομάδων: IGMP v2
– Αποστολή μηνυμάτων αποχώρησης
• Από τον τελευταίο που αποκρίθηκε για την ομάδα
– Ακολουθείται από ερώτηση ειδικά για την ομάδα
• Αποστολή / λήψη πακέτων
– Εκπομπή σε κοινόχρηστα δίκτυα (Ethernet)
• Απεικόνιση διευθύνσεων IP σε διευθύνσεις υλικού
– Μονοεκπομπή σε δίκτυα αστέρα (ADSL)

35

Προβλήματα υλοποίησης
Έλλειψη υποστήριξης (1 από 2)
• Γιατί δεν υποστηρίζεται η πολυεκπομπή;
– Τα λειτουργικά συστήματα την υποστηρίζουν
– Οι δρομολογητές όμως όχι!
• Διασύνδεση δρομολογητών με σήραγγες
• Ζητήματα ασφάλειας
– Πιο δύσκολα από ότι στη μονοεκπομπή
– Διαχείριση κλειδιών για ασφαλή επικοινωνία
• Ο αποστολέας δεν γνωρίζει καν τους παραλήπτες

37

Έλλειψη υποστήριξης (2 από 2)


• Ζητήματα μοντέλου
– Ο αποστολέας δεν περιορίζει τους παραλήπτες
• Δυσκολία παροχής υπηρεσιών με αντίτιμο
– Οι παραλήπτες δεν περιορίζουν τους αποστολείς
• Υπάρχει παραλλαγή που περιορίζει τους αποστολείς
• Ζητήματα κλιμάκωσης δρομολόγησης
– Οι καταχωρήσεις δεν συγχωνεύονται
• Οι ομάδες είναι μη γεωγραφικές

38
Ενότητα # 17: Πρωτόκολλα μετάδοσης

Σκοποί ενότητας
• Επισκόπηση των βασικών τύπων δικτυακών
εφαρμογών και των βασικών πρωτόκολλων
του Διαδικτύου.
• Κατανόηση του στόχου και του τρόπου
λειτουργίας του πρωτοκόλλου RTP.
• Εξοικείωση με τη λειτουργία και τον τρόπο
αξιοποίησης του πρωτόκολλου RTCP.

4
Περιεχόμενα ενότητας
• Εισαγωγή
• Βασικά πρωτόκολλα Διαδικτύου
• Το πρωτόκολλο RTP
• Δομή πακέτων RTP
• Το πρωτόκολλο RTCP

Εισαγωγή
Δικτυακές εφαρμογές (1 από 2)
• Δικτυακές εφαρμογές πολυμέσων
– Ευαίσθητες στην καθυστέρηση
• Πιθανόν και στη διαταραχή της
– Ανεκτικές στα σφάλματα
• Ροή (αποθηκευμένων) πολυμέσων
– Ροή: αναπαραγωγή παράλληλα με λήψη
– Δυνατότητες αλληλεπίδρασης με το χρήστη

Δικτυακές εφαρμογές (2 από 2)


• Ροή πολυμέσων με πολλούς παραλήπτες
– Παρόμοια με τηλεοπτικές μεταδόσεις
– Δεν παρέχονται δυνατότητες αλληλεπίδρασης
• Αλληλεπίδραση με πολυμέσα
– Επικοινωνία μεταξύ χρηστών
– Με απαιτήσεις πραγματικού χρόνου
• Πολύ χαμηλή καθυστέρηση από άκρο σε άκρο

8
Βασικά πρωτόκολλα Διαδικτύου

Βασικά πρωτόκολλα (1 από 2)


• Επίπεδο δικτύου: IP
– Υπηρεσία καλύτερης προσπάθειας
– Απροσδιόριστη καθυστέρηση και αξιοπιστία
• Επίπεδο μεταφοράς: UDP
– Πολύπλεξη ροών πάνω από το IP
– Υλοποίηση μηχανισμών από τις εφαρμογές
• Χρησιμοποιείται από πολυμεσικές εφαρμογές

10
Βασικά πρωτόκολλα (2 από 2)
• Επίπεδο μεταφοράς: TCP
– Έλεγχος σφαλμάτων, ροής και συμφόρησης
– Αξιόπιστη μετάδοση δεδομένων
• Άγνωστη καθυστέρηση λόγω αναμεταδόσεων
– Ρυθμός μετάδοσης ανάλογα με συμφόρηση
• Αυξομειώνεται ανάλογα με τις συνθήκες
• Δεν χρησιμοποιείται από πολυμεσικές εφαρμογές

11

Το πρωτόκολλο RTP
Θέση στη στοίβα

• RTP: «Πρωτόκολλο» μεταφοράς πολυμέσων


– Τυποποιημένη δομή κεφαλίδας
– Τοποθέτηση των μέσων σε πακέτα RTP
– Τοποθέτηση πακέτων RTP σε πακέτα UDP
– Το RTP παρέχει υπηρεσίες στην εφαρμογή
– Η εφαρμογή χρειάζεται κώδικα για το RTP
13

Δομή πακέτων (1 από 3)

• Κάθε πηγή μέσων παράγει μία ροή RTP


– Διαφορετική ροή για κάθε κατεύθυνση
• Συνεδρία (session) RTP
– Όλες οι ροές RTP που συμμετέχουν σε μία εφαρμογή
14
Δομή πακέτων (2 από 3)
• Τύπος φορτίου: 7 bit
– Επιτρέπεται αλλαγή κατά τη συνεδρία
• Αριθμός σειράς: 16 bit
– Αυξάνει κατά ένα για κάθε πακέτο
– Ανίχνευση απώλειας πακέτων
– Αναδιάταξη πακέτων στον παραλήπτη

15

Δομή πακέτων (3 από 3)


• Χρονοσφραγίδα: 32 bit
– Στιγμή δειγματοληψίας πρώτου δείγματος
– Βασίζεται στο ρολόι του αποστολέα
• Ρολόι δειγματοληψίας, όχι πραγματικού χρόνου

• Αναγνωριστικό πηγής συγχρονισμού: 32 bit


• Αναγνωριστικά συνεισφέρουσας πηγής: 32 bit
– Το πεδίο CC δείχνει πόσες πηγές περιέχονται

16
Το πρωτόκολλο RTCP

RTP και RTCP

• RTCP (Real Time Control Protocol)


– Παρακολούθηση των πολυμεσικών ροών
• Κατάλληλο και για εφαρμογές ένας προς πολλούς
• Περιοδική αποστολή πακέτων RTCP
– Στο RTP πακέτα στέλνουν μόνο οι πηγές
– Στο RTCP στέλνουν και οι παραλήπτες
18
Πακέτα RTCP (1 από 3)
• Αναφορά αποστολής
– Χωριστά για κάθε πηγή του αποστολέα
– Αναγνωριστικό πηγής συγχρονισμού
– Χρονοσφραγίδα / χρόνος τελευταίου πακέτου
– Πλήθος πακέτων και byte που έχουν σταλεί

19

Πακέτα RTCP (2 από 3)


• Αναφορά λήψης
– Χωριστά για κάθε ροή του παραλήπτη
– Αναγνωριστικό πηγής συγχρονισμού
– Ποσοστό χαμένων πακέτων
– Τελευταίος αριθμός σειράς
– Διαταραχή καθυστέρησης διαδοχικών πακέτων

20
Πακέτα RTCP (3 από 3)
• Πακέτα περιγραφής πηγής
– Χωριστά για κάθε πηγή από τον αποστολέα
– Γενικές πληροφορίες για την πηγή
• Διεύθυνση e-mail, όνομα, εφαρμογή
• Αναγνωριστικό συγχρονισμού πηγής
– Συσχέτιση χρήστη με πηγή συγχρονισμού

21

Αξιοποίηση RTCP (1 από 2)


• Αξιοποίηση στατιστικών στοιχείων
– Η χρήση δεν καθορίζεται από το πρότυπο
• Προσαρμογή ρυθμού μετάδοσης
• Διάγνωση προβλημάτων
– Πολλαπλές αναφορές σε ένα πακέτο RTCP
• Για όλες τις πηγές αποστολέα / παραλήπτη

22
Αξιοποίηση RTCP (2 από 2)
• Συγχρονισμός πολλαπλών ροών μέσων
– Χρονοσφραγίδες: ρολόγια δειγματοληψίας
– Ανεξαρτησία από πραγματικό χρόνο
• Χρήση αναφορών αποστολής
– Χρονοσφραγίδα και χρόνος τελευταίου πακέτου
• Συσχέτιση δειγματοληψίας με πραγματικό χρόνο
– Συγχρονισμός όλων των μέσων με κοινή βάση

23

Κλιμάκωση RTCP (1 από 2)


• Προβλήματα κλιμάκωσης του RTCP
– Το RTP εξαρτάται από (λίγες) πηγές
– Το RTCP εξαρτάται από (πολλούς) παραλήπτες
– Τα πακέτα RTCP μπορεί να υπερβούν τα RTP!
• Προσαρμογή ρυθμού μετάδοσης
– Αντιστρόφως ανάλογα με τους συμμετέχοντες
– Κάθε συμμετέχων εκτιμά το συνολικό πλήθος
• Με βάση αναφορές αποστολής και λήψης

24
Κλιμάκωση RTCP (2 από 2)
• Προσαρμογή ρυθμού μετάδοσης
– 5% πακέτα RTCP - 95% πακέτα RTP
– 75% παραλήπτες - 25% αποστολείς
• Οι συμμετέχοντες μοιράζονται τη χωρητικότητα

• Υπολογισμός περιόδου μετάδοσης


– L: μέγεθος πακέτου, B: συνολικό εύρος ζώνης
NS  L NR  L
TS  TR 
0,25  0,05  B 0,75  0,05  B

25

Ενότητα # 18: Ροή πολυμέσων


Σκοποί ενότητας
• Εξοικείωση με τους εναλλακτικούς τρόπους
επικοινωνίας ανάμεσα στις εφαρμογές
αναπαραγωγής μέσων και τους εξυπηρετητές
διανομής μέσων.
• Κατανόηση των στόχων και του τρόπου
λειτουργίας του πρωτοκόλλου RTSP.
• Εισαγωγή σε συστήματα προσαρμοστικής
ροής μέσω HTTP και κατανόηση του
προτύπου MPEG DASH.
4

Περιεχόμενα ενότητας
• Εισαγωγή
• Ροή από εξυπηρετητές ιστοσελίδων
• Ροή από εξυπηρετητές μέσων
• Το πρωτόκολλο RTSP
• Προσαρμοστική ροή μέσω HTTP
• Το πρότυπο MPEG DASH

5
Εισαγωγή

Στοιχεία εφαρμογών ροής (1 από 2)


• Ροή μέσων (media streaming)
– Αναπαραγωγή παράλληλα με τη λήψη
• Αρκεί να έχει ληφθεί το πρώτο μέρος των μέσων
– Υλοποιείται με οποιοδήποτε πρωτόκολλο
• Παραδοσιακά με RTP πάνω από UDP/IP
• Πολυμεσικός εξυπηρετητής
– Περιέχει τα αρχεία συνεχών μέσων
– Απευθείας επικοινωνία με εφαρμογή αναπαραγωγής
– Ανταλλαγή πληροφοριών συγχρονισμού και ελέγχου
7
Στοιχεία εφαρμογών ροής (2 από 2)
• Εφαρμογή αναπαραγωγής
– Αποσυμπίεση δεδομένων
– Εξομάλυνση διαταραχής: ενταμίευση δεδομένων
– Διόρθωση λαθών: αναμετάδοση ή υποκατάσταση
• Εξυπηρετητής ιστοσελίδων
– Πρώτο σημείο επαφής με τον χρήστη
– Κατευθύνει την εφαρμογή στα μέσα

Ροή από εξυπηρετητές ιστοσελίδων


Εξυπηρετητές ιστοσελίδων (1 από 3)

• Πρόσβαση στα πολυμέσα μέσω ιστοσελίδων


– Αντιμετώπιση όπως κάθε άλλο αρχείο
– Αποθήκευσης μέσων στον εξυπηρετητή
• Επικοινωνία μέσω HTTP
– Αιτήσεις (requests) για σελίδες
– Απαντήσεις (replies) με σελίδες και αντικείμενα
10

Εξυπηρετητές ιστοσελίδων (2 από 3)


• Αλληλεπίδραση μέσω φυλλομετρητή
– Έμμεση επικοινωνία με τον εξυπηρετητή
– Μεγάλη καθυστέρηση αναπαραγωγής
– Χρήση ακατάλληλου πρωτοκόλλου
• HTTP πάνω από TCP
• Πλήρης αξιοπιστία / μεταβλητός ρυθμός μετάδοσης
• Δεν μπορούν να παρακαμφθούν

11
Εξυπηρετητές ιστοσελίδων (3 από 3)

• Αλληλεπίδραση με εφαρμογή αναπαραγωγής


– Μετα-αρχείο: διεύθυνση και τύπος πολυμέσων
• Διαβιβάζεται στην εφαρμογή αναπαραγωγής
• Η επικοινωνία συνεχίζεται χωρίς τον φυλλομετρητή
– Ανταλλαγή στοιχείων μέσω HTTP και TCP
12

Ροή από εξυπηρετητές μέσων


Εξυπηρετητές μέσων

• Εξυπηρετητής ιστοσελίδων: μετα-αρχεία


• Εξυπηρετητής ροής πολυμέσων
– Επικοινωνεί με εφαρμογή αναπαραγωγής
• Η διεύθυνσή του περιλαμβάνεται στο μετα-αρχείο
– Χρήση κατάλληλων πρωτοκόλλων επικοινωνίας
14

Εξάλειψη διαταραχής

• Το δίκτυο μεταδίδει με απρόβλεπτο ρυθμό


– Ακόμη και χωρίς το TCP!
• Αναπαραγωγή με σταθερό ρυθμό
– Αλλιώς ο χρήστης ενοχλείται
• Παρεμβολή ενταμιευτή εξομάλυνσης
– Αναμονή μέχρι ο ενταμιευτής να γεμίσει αρκετά
– Αναπαραγωγή από τον ενταμιευτή με καθυστέρηση
15
Το πρωτόκολλο RTSP

Το RTSP (1 από 5)
• Αλληλεπίδραση κατά τη ροή πολυμέσων
– Διακοπή και επανεκκίνηση αναπαραγωγής
– Κίνηση μέσα στην παρουσίαση
• RTSP (Real Time Streaming Protocol)
– Δεν προσδιορίζει τεχνικές συμπίεσης
– Δεν καθορίζει τη διάσπαση σε πακέτα
– Δεν καθορίζει τον τρόπο ενταμίευσης μέσων
– Δεν καθορίζει τον τρόπο μετάδοσης (UDP ή TCP)

17
Το RTSP (2 από 5)
• Αρχείο περιγραφής παρουσίασης
– Σύνδεσμοι προς ροές και οδηγίες συγχρονισμού
• Δυνατότητα εναλλακτικών ροών
• Έλεγχος μετάδοσης της ροής
– Μετάδοση πληροφοριών ελέγχου εκτός ζώνης
• Χρήση χωριστής θύρας για το RTSP (TCP/UDP 554)
– Μετάδοση πολυμέσων εντός ζώνης
• Τυπικά με χρήση του RTP

18

Το RTSP (3 από 5)

19
Το RTSP (4 από 5)
• Χρήση RTSP
– SETUP: Εγκαθίδρυση συνεδρίας
• Επιστροφή αναγνωριστικού συνεδρίας
• Αρίθμηση μηνυμάτων μέσα στη συνεδρία
• Ο εξυπηρετητής διατηρεί κατάσταση για τον πελάτη
– PLAY: Εκκίνηση αναπαραγωγής
• Επιθυμητή παραλλαγή ροής
• Σημείο εκκίνησης

20

Το RTSP (5 από 5)
• Χρήση RTSP
– Μετά το PLAY αρχίζει η ροή των μέσων
• Μπορούν να στέλνονται μηνύματα ελέγχου
– PAUSE: Προσωρινή διακοπή ροής
• Ξεκινάμε ξανά με PLAY
– TEARDOWN: Τερματισμός συνεδρίας
• Διαγραφή κατάστασης από εξυπηρετητή

21
Προσαρμοστική ροή μέσω HTTP

Γιατί μέσω HTTP; (1 από 3)


• Μειονεκτήματα RTSP/RTP/RTCP
– Απαιτούν ειδικό εξυπηρετητή ροής μέσων
• Ο οποίος να διατηρεί κατάσταση ανά πελάτη!
– Έχουν προβλήματα στη διανομή
• Οι αντιπυρικές ζώνες δεν τα δέχονται
– Δεν είναι συμβατά με CDN και Web Caching
• Δεν χρησιμοποιούν HTTP

23
Γιατί μέσω HTTP; (2 από 3)
• Κλασική ροή μέσω HTTP
– Αναπαραγωγή παράλληλα με κατέβασμα
– Προοδευτικό κατέβασμα των μέσων
• Χρήση HTTP GET με παράμετρο την περιοχή
– Συμβατό με την υποδομή του Διαδικτύου
– Δεν επιτρέπει την προσαρμογή
– Δεν επιτρέπει το ζωντανό περιεχόμενο
• Το αρχείο μέσων πρέπει να υπάρχει ήδη

24

Γιατί μέσω HTTP; (3 από 3)


• Προσαρμοστική ροή μέσω HTTP
– Επέκταση κλασικής ροής μέσω HTTP
– Δημιουργία πολλών παραλλαγών των μέσων
• Για διαφορετικές συσκευές (ανάλυση)
• Για διαφορετικές δικτυακές συνθήκες (ποιότητα)
– Περιγραφή των παραλλαγών σε μετα-αρχείο
– Δυναμική αλλαγή της παραλλαγής
• Χωρίς να χάνουμε το τρέχον σημείο

25
Προσαρμοστική ροή (1 από 3)
• Τεμαχισμός μέσων σε μικρά τμήματα
– Ένα σύνολο τμημάτων ανά παραλλαγή
– Σταθερή διάρκεια τμήματος σε κάθε ροή
• Παράδειγμα: 2 δευτερόλεπτα
– Συστηματικός τρόπος ονομασίας
• Παράδειγμα: ροή0_0, ροή0_1, …
– Ζητάμε κάθε φορά το κατάλληλο επόμενο τμήμα
– Δυναμική αλλαγή χωρίς κενά αναπαραγωγής
26

Προσαρμοστική ροή (2 από 3)


• Παράκαμψη των πολιτικών του TCP
– Κάθε λίγο ζητάμε ένα νέο τμήμα
– Το προηγούμενο δεν κάνει μεγάλη ζημιά
• Ακόμη κι αν κάνει ώρα να τελειώσει
• Μειονέκτημα: πολλά τμήματα και εντολές
– Ένα αρχείο ανά τμήμα στην απλή περίπτωση
• Τα τμήματα μπορεί να είναι και εικονικά
– Συνεχή μηνύματα για κατέβασμα επόμενου

27
Προσαρμοστική ροή (3 από 3)
• Λειτουργία προσαρμοστικής ροής
– Αρχικά ο πελάτης κατεβάζει ένα μετα-αρχείο
• Περιγράφει όλες τις διαθέσιμες παραλλαγές
• Παράμετροι και ονοματολογία παραλλαγών
– Επιλέγει μία παραλλαγή και ξεκινάει
• Συνήθως την πιο βασική για γρήγορο ξεκίνημα
– Ανάλογα με την απόδοση προσαρμόζεται
– Ο εξυπηρετητής δεν εμπλέκεται στις επιλογές
• Μόνο ο πελάτης διατηρεί κατάσταση

28

Αξιοποίηση υποδομής CDN


• CDN: Content Distribution Network
– Σύνολο συνεργαζόμενων εξυπηρετητών Ιστού
– Στρατηγική τοποθέτηση σε όλο τον κόσμο
– Προώθηση περιεχομένου σε εξυπηρετητές
– Κάθε τμήμα μπορεί να έρχεται από αλλού
• Εξισορρόπηση φόρτου μεταξύ εξυπηρετητών
– Κάθε παραλλαγή μπορεί να βρίσκεται αλλού
• Κάθε δίκτυο μπορεί να έχει την πλέον κατάλληλη

29
Αξιοποίηση κρυφών μνημών
• Αποθήκευση σε κρυφές μνήμες
– Κάθε τμήμα είναι αυτόνομο
• Έχει (κάποιο) μοναδικό όνομα
• Μπορεί να αναπαραχθεί αυτόνομα
– Μπορεί να μπει σε proxy εξυπηρετητή Ιστού
• Εξυπηρέτηση επόμενων αιτήσεων
• Δεν χρειάζεται να έχουμε όλα τα τμήματα
– Μπορεί να μπει σε τοπική κρυφή μνήμη

30

Υπάρχουσες λύσεις (1 από 3)


• Microsoft Smooth Streaming (Silverlight)
– Μετα-αρχείο με περιγραφές παραλλαγών
– Ένα μόνο αρχείο ανά παραλλαγή
• Κωδικοποίηση H.264 (βίντεο) και AAC (ήχος)
– Δυναμικός τεμαχισμός σε τμήματα των 2 sec
• Χρήση HTTP GET με παράμετρο την περιοχή
• Δεν χρειάζεται να ξέρουμε ονόματα αρχείων
• Επιτρέπει ζωντανή μετάδοση

31
Υπάρχουσες λύσεις (2 από 3)
• Adobe HTTP Dynamic Streaming (Flash)
– Ένα αρχείο ανά παραλλαγή, H.264+AAC
– Μορφότυπο θραυσμάτων (fragment) MP4
• Το αρχείο αποτελείται από τεμάχια (segments)
• Το τεμάχιο αποτελείται από θραύσματα (fragments)
• Ζητάμε κάθε θραύσμα χωριστά
• Θραύσματα διάρκειας 2-5 sec
– Μετα-αρχείο: απεικόνιση θραυσμάτων σε χρόνο

32

Υπάρχουσες λύσεις (3 από 3)


• Apple HTTP Live Streaming (iOS/Android)
– Πολλά αρχεία (τμήματα) ανά παραλλαγή
• Τμήματα 10 sec
• Μορφότυπο αρχείων MPEG-2 TS
• Κωδικοποίηση H.264+AAC
– Μετα-αρχείο: περιγραφή τμημάτων
• Νέα μετα-αρχεία για ζωντανό περιεχόμενο
• Οι καθυστερήσεις επιβάλλουν το μεγάλο τμήμα

33
Το πρότυπο MPEG-DASH

Τι είναι το MPEG DASH;


• DASH: Direct Adaptive Streaming over HTTP
– Δημιουργήθηκε στα πλαίσια του MPEG
– Υιοθετήθηκε από το 3GPP
– Υποστηρίζεται από το DASH Industry Forum
– Προσπάθεια τυποποίησης μιας γνωστής ιδέας
• Χρήση μίας μόνο κωδικοποίησης αντί τριών
• Απαλλαγή από ασυμβατότητες συσκευών
• Συνδυάζει και επεκτείνει υπάρχουσες προσεγγίσεις

35
Δυνατότητες (1 από 3)
• Δύο μορφότυπα τμημάτων/αρχείων
– MPEG-4: Συμβατό με Adobe και Microsoft
– MPEG-2 TS: Συμβατό με Apple
– Επαναχρησιμοποίηση ίδιου περιεχομένου
• Απλά δημιουργία νέου αρχείο περιγραφής!
• Πολλές κωδικοποιήσεις
– Κωδικοποίηση H.264+AAC για συμβατότητα
– Επιπλέον MPEG-2, MPEG-4, αλλά και H.265

36

Δυνατότητες (2 από 3)
• Τμήματα διάρκειας 1-20 sec
– Ενιαία για πολυπλεγμένο ήχο και βίντεο
– Ανεξάρτητες ροές βίντεο, ήχου, υποτίτλων
• Επιτρέπουν διάφορους τρόπους προσαρμογής
• Επιτρέπουν πολύγλωσσο περιεχόμενο
• Δύο τύποι μετα-αρχείων
– Αρχείο περιγραφής: για όλες τις παραλλαγές
– Αρχείο αρχικοποίησης: ανά παραλλαγή

37
Δυνατότητες (3 από 3)
• Πολλές δυνατότητες παροχής περιεχομένου
– Επιλογή διάφορων μορφοτύπων και κωδίκων
– Επιλογή πλήθους και τύπου παραλλαγών
– Επιλογή διάρκειας τμημάτων
– Επιλογή τρόπου πολυπλεξης μέσων
• Πολλές δυνατότητες λειτουργίας πελάτη
– Πότε ζητάει τα τμήματα
– Πότε αλλάζει παραλλαγή

38

Προφίλ (1 από 3)
• Προφίλ MPEG DASH
– Παρόμοια ιδέα με προφίλ MPEG
• Σύνολο επιτρεπόμενων χαρακτηριστικών
• Αναπαριστούν σημεία συμβατότητας
• Κατάλληλα για διαφορετικές εφαρμογές
– Η εφαρμογή αναπαραγωγής υποστηρίζει προφίλ
– Το περιεχόμενο αναφέρει το προφίλ του
• Μπορεί να παρέχεται σε πολλά προφίλ

39
Προφίλ (2 από 3)
• ISO Base media file format On Demand
– Αποθηκευμένο περιεχόμενο (όχι ζωντανό)
– Μορφότυπο MPEG-4 σε δύο μορφές
– Ενιαίο αρχείο ανά παραλλαγή
• Χρήση HTTP GET με επιλογή περιοχής
– Ανεξάρτητα αρχεία ανά τμήμα
• Κάθε αρχείο έχει το δικό του όνομα
– Μετα-αρχείο: αντιστοίχιση τμήματος με χρόνο
40

Προφίλ (3 από 3)
• ISO Base media file format Live
– Δυναμική δημιουργία τμημάτων
– Το μετα-αρχείο περιγράφει πρότυπο τμήμα
• Τρόπος ονομασίας τμημάτων
• Διάρκεια των τμημάτων
• MPEG-2 main, simple
– Ίδιο με παραπάνω αλλά με αρχεία MPEG-2 TS
– Δύο παραλλαγές: On demand και Live

41
Ιεραρχική δομή (1 από 2)
• Ένα μετα-αρχείο περιγράφει μια παρουσίαση
– Τύπος MPD (Media Presentation Description)
– Μπορεί να έχουμε πολλά μετα-αρχεία
– Παράδειγμα: διαφορετικές διάρκειες τμημάτων
• Η παρουσίαση διαιρείται σε περιόδους
– Μέρη της παρουσίασης ή διαφημίσεις
• Η περίοδος έχει αναπαραστάσεις
– Διαφορετικές παραλλαγές του περιεχομένου

42

Ιεραρχική δομή (2 από 2)


• Οι αναπαραστάσεις ομαδοποιούνται
– Η αναπαράσταση έχει διάφορα συστατικά
• Παράδειγμα: βίντεο, ήχος, υπότιτλοι
– Κάθε ομάδα είναι ένα σύνολο εναλλακτικών
• Παράδειγμα: διάφορες παραλλαγές του ήχου
• Η αναπαράσταση αποτελείται από τμήματα
– Τμήμα αρχικοποίησης: μετα-αρχείο
– Τμήματα μέσων: κάθε ένα έχει κάποιο χρόνο

43
Αρχεία MPD (1 από 4)
• Μετα-αρχεία περιγραφής παρουσίασης
– Χρήση σχήματος XML για περιγραφή
– Ενημερώνεται για ζωντανό περιεχόμενο
• Το νέο MPD πρέπει να επεκτείνει το παλιό
• Πεδία MPD
– MPD: περιγραφή παρουσίασης
• Προφίλ που χρησιμοποιείται
• Διάρκεια παρουσίασης
• Ελάχιστο μέγεθος προσωρινής αποθήκευσης

44

Αρχεία MPD (2 από 4)


• Πεδία MPD
– BaseURL: βασικός κατάλογος περιεχομένου
– Period: αρχή περιόδου με χρόνο έναρξης
– AdaptationSet: ομάδα αναπαραστάσεων
• Διαφορετικό πλήθος / περιεχόμενο ανά περίοδο
• Δείχνει ανάμεσα σε τι μπορεί να επιλέξουμε
• Ενιαία (πολύπλεξη μέσων) ή χωριστή ανά μέσο
• ContentComponent: τύπος σε χωριστά μέσα

45
Αρχεία MPD (3 από 4)
• Πεδία MPD
– Representation: μία παραλλαγή του μέσου
• id: αναγνωριστικό
• codecs: κωδικοποιητές
• mimeType: τύπος κατά MIME
• bandwidth: ρυθμός μετάδοσης
• Παράμετροι ανάλογα με τύπο
• width και height: ανάλυση βίντεο
• numChannels: κανάλια ήχου

46

Αρχεία MPD (4 από 4)


• Πεδία MPD
– Representation: μία παραλλαγή του μέσου
• SegmentBase: δεδομένα αρχικοποίησης
• Ανεξάρτητο αρχείο ή περιοχή ενιαίου
• SegmentList: Διάρκεια τμήματος
• Ακολουθεί η λίστα των τμημάτων
• SegmentUrl: όνομα μεμονωμένου αρχείου
• SegmentTemplate: τρόπος δημιουργίας ονομάτων

47
Ενότητα # 19: Τηλεδιάσκεψη

Σκοποί ενότητας
• Εξοικείωση με την οικογένεια προτύπων
τηλεδιάσκεψης της ITU (H.32x).
• Κατανόηση της λειτουργικότητας και του
τρόπου λειτουργίας του H.323.
• Εξοικείωση με το πρωτόκολλο SIP και τον
τρόπο λειτουργίας του, καθώς και του τρόπου
χρήσης του για τηλεδιάσκεψη.
• Εισαγωγή στα πρωτόκολλα ελέγχου πυλών.
4
Περιεχόμενα ενότητας
• Το πρότυπο H.320
• Το πρότυπο H.324
• Το πρότυπο H.323
• Τηλεδιάσκεψη με το SIP
• Έλεγχος πυλών

Το πρότυπο H.320
Το H.320 (1 από 4)
• Πρότυπα τηλεδιάσκεψης H.32x της ITU
– Αρχικά: μεταγωγή κυκλωμάτων (τηλεφωνία)
– Αργότερα: μεταγωγή πακέτων (Internet)
– Περιορισμένη συμβατότητα μεταξύ τους
• H.320: Πρότυπο για δίκτυα ISDN
– Ανταλλαγή ήχου, βίντεο, εικόνων, κειμένου
– Συλλογή διάφορων προτύπων

Το H.320 (2 από 4)
• Συστατικά του H.320: έλεγχος
– H.221: Πολύπλεξη ήχου / βίντεο σε πλαίσια
• Χρησιμοποιεί κανάλια ISDN τύπου B
– H.230: Πολύπλεξη συγχρονισμού και ελέγχου
– H.231: Tηλεδιάσκεψη πολλαπλών συμμετεχόντων
– H.242/3: Διαπραγμάτευση με δύο/πολλά τερματικά
– Q.931: Εγκαθίδρυση κλήσεων μεταξύ τερματικών
– H.233/4: Τεχνικές κρυπτογράφησης δεδομένων

8
Το H.320 (3 από 4)
• Συστατικά του H.320: μέσα
– H.261: Συμπίεση βίντεο ανάλυσης CIF/QCIF
• CIF: 352x288, QCIF: 176x144
– G.711: ήχος εύρους 3,7 KHz στα 64 Kbps
– G.722: ήχος εύρους 7,5 KHz στα 64 Kbps
– G.728: ήχος εύρους 3,7 KHz στα 16 Kbps
– Μόνο το G.711 είναι υποχρεωτικό!

Το H.320 (4 από 4)
• Απαιτούμενο εύρος ζώνης: p x 64 Kbps
– Για βίντεο, τουλάχιστον 128 Kbps
• Γραμμή ISDN BRI (2 κανάλια B)
• H.261 με QCIF και χαμηλό ρυθμό πλαισίου
– Ιδανικά, 384 Kbps (6 κανάλια B)
• 3 γραμμές BRI ή μέρος 1 γραμμής PRI
• H.261 με CIF ή/και υψηλότερο ρυθμό πλαισίου

10
Το πρότυπο H.324

Το H.324 (1 από 2)
• Παραλλαγές H.320 για δίκτυα ATM
– Η.321: παραλλαγή για ευρυζωνικά WAN
– Η.322: παραλλαγή για ευρυζωνικά LAN
– Περιορισμένη χρήση, όπως και τα δίκτυα ATM!
• H.324: παραλλαγή για PSTN (56 Kbps)
– Βίντεο: H.263 για χαμηλότερο εύρος ζώνης
– Ήχος: G.723.1 (5,3 και 6,3 Kbps) ή G.729 (8 Kbps)

12
Το H.324 (2 από 2)
• Προσαρμογή πρωτοκόλλων ελέγχου για PSTN
– Η.245: διαπραγμάτευση κωδικοποιητών
• Διαπραγμάτευση πρόσθετης καθυστέρησης ήχου
• Δυνατότητα μεταβολής ρυθμού μετάδοσης μέσου
– H.223: πολύπλεξη μέσων
• Εντοπισμός και διόρθωση σφαλμάτων μετάδοσης
• Επιτρέπει διάφορους τρόπους πολύπλεξης μέσων
– V.25: εγκαθίδρυση κλήσεων μεταξύ μόντεμ

13

Το πρότυπο H.323
Το H.323 (1 από 5)
• H.323: Τηλεδιάσκεψη στο Internet
– Επικοινωνία μεταξύ πολλών κατασκευαστών
• Τερματικά H.323
– Αυτόνομες συσκευές (υλικό)
– Εφαρμογές σε υπολογιστή (λογισμικό)
• Πύλες H.323
– Διασύνδεσή με τηλεφωνικό δίκτυο
• Αναλογικό ή ψηφιακό

15

Το H.323 (2 από 5)

• Φύλακες πύλης H.323


– Μετατροπές ανάμεσα σε διευθύνσεις
– Έλεγχος πρόσβασης σε τηλεδιασκέψεις
– Διαχείριση διαθέσιμου εύρους ζώνης
– Χρέωση και τιμολόγηση συμμετεχόντων

16
Το H.323 (3 από 5)
• Υποχρεωτικά πρωτόκολλα
– RTP: μετάδοση τμημάτων μέσων με UDP
• RTCP για έλεγχο μέσων (προαιρετικά)
– H.245: διαπραγμάτευση κωδικοποίησης
– Q.931: εγκαθίδρυση και τερματισμός κλήσεων
• Χρησιμοποιείται και σε δίκτυα ISDN
– H.225 (RAS): επικοινωνία με φύλακα πύλης
• Πρωτόκολλο εγγραφής, αποδοχής και κατάστασης

17

Το H.323 (4 από 5)
• Κωδικοποίηση βίντεο
– Δεν υποστηρίζεται σε οικονομικά τερματικά
– Ελάχιστη κωδικοποίηση: πρότυπο H.261
• Ελάχιστη ανάλυση: QCIF (176x144 εικονοστοιχεία)
• Συμβατότητα με παλιότερα πρότυπα
– Προαιρετική κωδικοποίηση: H.263
• Προαιρετικές αναλύσεις: CIF, 4CIF και 16CIF

18
Το H.323 (5 από 5)

• Κωδικοποίηση ήχου
– Υποχρεωτικό το G.711 (56 ή 64 Kbps)
– Προαιρετικά, όλα τα πρότυπα των H.320/H.324
19

Κανάλια H.323
• Πολλαπλά κανάλια μέσων: RTP/UDP
– Ένα κανάλι αποστολής και λήψης ανά μέσο
• Κανάλι ελέγχου κλήσεων: H.245/TCP
– Άνοιγμα και κλείσιμο καναλιών μέσων
– Ανταλλαγή ικανοτήτων των τερματικών
• Κανάλι σηματοδοσίας κλήσεων: Q.931/TCP
– Τηλεφωνικοί τόνοι
– Κουδούνισμα εισερχόμενων κλήσεων

20
Φύλακας πύλης (1 από 2)
• Φύλακας πύλης: διαχειρίζεται ζώνη δικτύου
– Παράδειγμα ζώνης: τα τερματικά ενός LAN
– Αν υπάρχει, η χρήση του είναι υποχρεωτική
– Χρήση πρωτοκόλλου RAS πάνω από το TCP
• Διαχείριση εύρους ζώνης
– Περιορισμός ταυτόχρονων τηλεδιασκέψεων

21

Φύλακας πύλης (2 από 2)


• Μετάφραση διευθύνσεων
– Μετάφραση ψευδωνύμων σε διευθύνσεις IP
• Μπορεί να απαιτεί επικοινωνία με άλλους

• Καταχώρηση τερματικού σε φύλακα πύλης


– Κατά την εκκίνηση του τερματικού
• Αποστολή διεύθυνσης IP και ψευδωνύμου
– Άδεια από το φύλακα πύλης πριν κάθε κλήση

22
Σηματοδοσία H.323

• RAS: αίτηση και αποδοχή ή απόρριψη


• Q.931: εγκαθίδρυση, ειδοποίηση, σύνδεση

23

Τηλεδιάσκεψη με το SIP
Τι είναι το SIP; (1 από 2)
• SIP (Session Initiation Protocol)
– Τυποποιήθηκε από την IETF
– Δημιουργία συνεδρίας πολυμέσων
– Διαπραγμάτευση κωδικοποιήσεων μέσων
– Τροποποίηση παραμέτρων συνεδρίας
– Τερματισμός συνεδρίας
– Δεν ασχολείται με την ανταλλαγή μέσων!

25

Τι είναι το SIP; (2 από 2)


• Σχεδιαστική φιλοσοφία του SIP
– Απλό και εύκολο στην υλοποίηση
• Κωδικοποίηση μηνυμάτων με απλό κείμενο
– Ανάλογο με τα Q.931 και RAS σε λειτουργίες
– Επαναχρησιμοποιεί πρωτόκολλα του Internet
• Χρήση του RTP για τη μεταφορά των μέσων
• Χρήση του SDP για περιγραφή των μέσων

26
Διευθύνσεις SIP (1 από 2)
• URI (uniform resource indicator)
– Περιγράφει έναν επικοινωνιακό πόρο
– Ανάλογο με διεύθυνση e-mail ή web
– Χρήση και ως υπερσύνδεσμος
• SIP URI φυσικού προσώπου
– Ανεξάρτητο από τοποθεσία
– Ανεξάρτητο από τερματική συσκευή
– sip:name@organization

27

Διευθύνσεις SIP (2 από 2)


• Τηλεφωνικός αριθμός
– sip:+302108203693@PSTN-provider
• Λογική ομάδα
– sip:helpdesk@organization
• Τερματικό με γνωστή διεύθυνση IP
– sip:195.251.234.1
• Εξυπηρετητής πολυμέσων
– sip:gameserver@microsoft.com
28
Μέθοδοι SIP
• Έξι είδη αιτήσεων (ονομάζονται μέθοδοι)
– Δημιουργία συνεδρίας: INVITE και ACK
– Τερματισμός συνεδρίας: BYE
– Ακύρωση κατά τη δημιουργία: CANCEL
– Εγγραφή ενός νέου τερματικού: REGISTER
– Ανταλλαγή πληροφοριών: OPTIONS

29

Οντότητες SIP
• Πράκτορας χρήστη SIP
• Πληρεξούσιος SIP
• Διαχειριστής μητρώου SIP
– Πιθανόν ενιαίος πληρεξούσιος / διαχειριστής
• Υλοποίηση είτε σε λογισμικό είτε σε υλικό
• Επικοινωνία με τηλεφωνία μέσω πυλών

30
Σηματοδοσία SIP (1 από 3)

• Εγκαθίδρυση συνεδρίας με δύο συμμετέχοντες


– INVITE με URI καλούμενου προς πληρεξούσιο
– Προώθηση στον πληρεξούσιο του καλούμενου
– Το μήνυμα προωθείται στον καλούμενο
31

Σηματοδοσία SIP (2 από 3)

• Το μήνυμα INVITE ελήφθη (180 Ringing)


• Ο καλούμενος δέχεται την κλήση (200 OK)
• Οριστικοποίηση παραμέτρων κλήσης (ACK)
32
Σηματοδοσία SIP (3 από 3)
• Διαδρομή μηνυμάτων
– Αρχική σηματοδοσία
• Περνάει μέσα από τους πληρεξούσιους
– Υπόλοιπη σηματοδοσία
• Μπορεί να μεταδίδεται απευθείας
• Ο πληρεξούσιος μπορεί να ελέγχει την κλήση
– Τα μέσα μεταδίδονται πάντα απευθείας

33

Πρωτόκολλο SDP (1 από 2)


• SDP (Session Description Protocol)
– Περιγραφή κωδικοποιήσεων και θυρών
– Ενθυλάκωση στα πακέτα του SIP
• Παράδειγμα: Μηνύματα INVITE και OK
– From/To: SIP URI καλούντα και καλούμενου
– c (connection data): διεύθυνση λήψης
– m (media description): κωδικοποίηση μέσων

34
Πρωτόκολλο SDP (2 από 2)
Αίτηση Απόκριση
INVITE sip:UserB@there.com SIP2/0 SIP/2.0 200OK
Via:SIP/2.0/UDP here.com:5060 Via:SIP/2.0/UDP here.com:5060
From:sip:UserA@here.com From:sip:UserA@here.com
To:sip:UserB@there.com To:sip:UserB@there.com;tag=65a35
Call-ID:12345600@here.com Call-ID:12345600@here.com
CSeq:1 INVITE CSeq:1 INVITE
Contact:sip:userA@here.com Contact:sip:userB@there.com
Content-type:application/sdp Content-type:application/sdp
v=0 v=0
o=UserA 289084 2890 IN IP here.com o=UserB 493834 462 IN IP there.com
c=IN IP4 100.101.102.103 c=IN IP4 110.111.112.113
m=audio 49172 RTP/AVP0 m=audio 3456 RTP/AVP0

35

Έλεγχος πυλών
Megaco/H.248

• Πύλες H.323 και πύλες SIP


– Μετατροπή δεδομένων: επεξεργαστές DSP
– Μετατροπή σηματοδοσίας: απλοί επεξεργαστές
• Megaco/H.248: επικοινωνία πύλης - ελεγκτή
– Διακεκομμένες γραμμές: σηματοδοσία
– Συνεχείς γραμμές: μεταφορά μέσων
37

Ενότητα # 20: Υπηρεσίες καλύτερης προσπάθειας


Σκοποί ενότητας
• Εξοικείωση με την έννοια της καλύτερης
προσπάθειας στο διαδίκτυο.
• Κατανόηση των βασικών τεχνικών
αντιμετώπισης της καθυστέρησης και της
διαταραχής της.
• Εισαγωγή στις τεχνικές αντιμετώπισης της
απώλειας χαμηλής καθυστέρησης.

Περιεχόμενα ενότητας
• Τι σημαίνει καλύτερη προσπάθεια
• Αντιμετώπιση της καθυστέρησης
• Αντιμετώπιση της απώλειας

5
Τι σημαίνει καλύτερη προσπάθεια

Παράδειγμα εφαρμογής (1 από 2)


• Εφαρμογή VoIP: Voice over IP
– Χαρακτηριστική εφαρμογή μέσων
• Εναλλασσόμενες περίοδοι ομιλίας και σιωπής
– Ο ομιλητής δεν μιλάει συνέχεια
– Μεταδίδουμε μόνο σε περιόδους ομιλίας
• Δείγματα ήχου (8 Kbytes / sec) στην ομιλία
– Κωδικοποίηση PCM στα 64 Kbps

7
Παράδειγμα εφαρμογής (2 από 2)
• Πακέτο UDP/IP με δεδομένα / επικεφαλίδα
– Τεμαχισμός δεδομένων σε πακέτα
– 20 byte επικεφαλίδα IP
– 8 byte επικεφαλίδα UDP
• Έστω 160 byte δεδομένα ανά 20 ms
– Επιβάρυνση 20% χωρίς συμπίεση κεφαλίδων
– Μικρότερο διάστημα -> μεγαλύτερη επιβάρυνση

Καλύτερη προσπάθεια (1 από 2)


• Υπηρεσία καλύτερης προσπάθειας (IP)
– Σε κάθε κόμβο το πακέτο μπαίνει σε ουρά
– Το μήκος της ουράς είναι μεταβλητό
• Η καθυστέρηση κάθε πακέτου είναι μεταβλητή
– Η ουρά μπορεί να γεμίσει λόγω υπερφόρτωσης
• Το πακέτο απορρίπτεται και δεν φτάνει ποτέ
– Το πακέτο μπορεί να φτάσει με λάθος σειρά
• Λόγω δυναμικής δρομολόγησης πακέτων

9
Καλύτερη προσπάθεια (2 από 2)
• Πόσο καλή είναι η καλύτερη προσπάθεια;
– Τα περισσότερα πακέτα φτάνουν
– Πολύ σπάνια φτάνουν χαλασμένα
• Το Ethernet πετάει τα χαλασμένα πακέτα
– Ενίοτε φτάνουν εκτός σειράς
– Η καθυστέρηση όμως είναι απρόβλεπτη
• Η διαταραχή της, ακόμα περισσότερο

10

Αντιμετώπιση της καθυστέρησης


Εξάλειψη διαταραχής
• Αναπαραγωγή μέσων με σταθερό ρυθμό
– Τα πακέτα δεν έχουν σταθερή καθυστέρηση
• Επικεφαλίδες τμημάτων
– Αριθμός σειράς: αυξάνεται σε κάθε τμήμα
– Χρονοσφραγίδα: ώρα παραγωγής τμήματος
• Καθυστερημένη αναπαραγωγή τμημάτων
– Λήψη τμημάτων πριν την αναπαραγωγή
– Σταθερή ή δυναμική καθυστέρηση

12

Σταθερή καθυστέρηση (1 από 2)


• Σταθερή καθυστέρηση αναπαραγωγής
– Το τμήμα φέρει τη χρονοσφραγίδα t
– Αναπαράγεται τη χρονική στιγμή t+d
– Υπόθεση: καθυστέρηση μικρότερη από d
• Αλλιώς το πακέτο χάνει την προθεσμία του
– Δεν επηρεάζεται από απώλεια πακέτων
• Πάλι αφήνουμε κενό στην αναπαραγωγή
– Πόσο μεγάλο όμως πρέπει να είναι το d;
13
Σταθερή καθυστέρηση (2 από 2)

• Αριστερή γραμμή: μικρό d


– Αυξημένη απώλεια / βελτιωμένη αλληλεπίδραση
• Δεξιά γραμμή: μεγάλο d
– Μειωμένη απώλεια / χειρότερη αλληλεπίδραση
14

Δυναμική καθυστέρηση (1 από 4)


• Προσαρμοστική αναπαραγωγή
– Δυναμικός συμβιβασμός
– Καθυστέρηση έναντι απώλειας
– Προσαρμογή στην αρχή κάθε περιόδου ομιλίας
• Αλγόριθμος προσαρμογής καθυστέρησης
– ti = χρονοσφραγίδα πακέτου i
– ri = χρονική στιγμή που λαμβάνεται
– pi = χρονική στιγμή που αναπαράγεται
– ri-ti = καθυστέρηση μετάδοσης
15
Δυναμική καθυστέρηση (2 από 4)
• Εκτίμηση μέσης καθυστέρησης di
di  di 1  (1   )( ri  ti )
• Σταθερά εξομάλυνσης α στο διάστημα [0,1]
– Μεγάλο α: βαθμιαίες μεταβολές του di
– Μικρό α: έντονες μεταβολές του di
• Εκτίμηση διακύμανσης καθυστέρησης vi
vi  vi 1  (1   ) | ri  ti  di |
– Η σταθερά β λειτουργεί όπως η α

16

Δυναμική καθυστέρηση (3 από 4)


• Υπολογισμός di και vi για κάθε πακέτο
– Προσαρμογή στην αρχή περιόδου ομιλίας
– Δεν θέλουμε διακοπές στον ήχο
• Χρόνος αναπαραγωγής πρώτου πακέτου
d  di  vi
– γ: μικρή θετική σταθερά (γ = 4)
– Καθυστέρηση συν γ επί διακύμανση
– Τα περισσότερα πακέτα φτάνουν εγκαίρως

17
Δυναμική καθυστέρηση (4 από 4)
• Χρόνος αναπαραγωγής επόμενων πακέτων
pj  tj  d
– Σταθερή καθυστέρηση στη συνέχεια
• Αναγνώριση αρχής περιόδου ομιλίας
– Χωρίς απώλειες:
• Αύξηση χρονοσφραγίδας > 20 ms
– Με απώλειες:
• Αύξηση αριθμού σειράς > 1

18

Αντιμετώπιση της απώλειας


Έννοια της απώλειας
• Ευρεία έννοια απώλειας
– Πακέτα που δεν φτάνουν στον παραλήπτη
• Καταστράφηκαν στη μετάδοση
• Απορρίφθηκαν λόγω φόρτου
– Πακέτα που φτάνουν πολύ αργά
• Μετά το χρόνο αναπαραγωγής
• Δεν μπορούμε να τα περιμένουμε
– Πώς μπορούμε να κρύψουμε τις απώλειες;

20

Πρόσθια διόρθωση λαθών (1 από 3)


• Πρόσθια διόρθωση λαθών (FEC)
– Εναλλακτική λύση στις αναμεταδόσεις
• Οι αναμεταδόσεις καθυστερούν πολύ
• Η καθυστέρηση γίνεται ακόμη πιο απρόβλεπτη
– Προσθήκη πλεονασμού στην αρχική ροή
• Αύξηση του ρυθμού μετάδοσης της ροής
• Πλήρης ή μερική ανακατασκευή χαμένων
• Πάει χαμένη όταν δεν έχουμε απώλειες!

21
Πρόσθια διόρθωση λαθών (2 από 3)
• Απλός μηχανισμός FEC
– Κάθε n τμήματα, ένα πλεονάζον τμήμα
• Περιέχει το XOR των αρχικών
– Διόρθωση μίας απώλειας στα n τμήματα
• XOR των n ληφθέντων
– Καθυστέρηση αναπαραγωγής στην ανάκτηση
• Πρέπει να λάβουμε όλα τα πακέτα
– n: συμβιβασμός τριών παραγόντων
22

Πρόσθια διόρθωση λαθών (3 από 3)

• Επιβάρυνση: 1/(n+1)
– Συμφέρει το μεγάλο n
• Μέγιστη καθυστέρηση: n
– Πρέπει να τα λάβουμε αν χάσουμε το πρώτο!
– Συμφέρει το μικρό n
• Ανάκαμψη: 1 σφάλμα ανά n τμήματα
23
Πλεονάζουσα ροή (1 από 2)

• Αποστολή ροής χαμηλότερης ποιότητας


– Αρχική: G.711 στα 64 Kbps
– Πλεονάζουσα: G.729 στα 8 Kbps
– Πακέτο i: i αρχικής / i-1 πλεονάζουσας
– Κάλυψη μίας απώλειας από το πλεονάζον τμήμα

24

Πλεονάζουσα ροή (2 από 2)


• Μεταβαλλόμενη ποιότητα αναπαραγωγής
– Καλή ποιότητα για περιστασιακή απώλεια
– Μικρή καθυστέρηση αναπαραγωγής (1 πακέτο)
– Αύξηση ρυθμού μετάδοσης
• Ανάλογα με ποιότητα πλεονάζουσας ροής
– Πρόσθετα τμήματα για συνεχόμενες απώλειες
• Προηγούμενο και προ-προηγούμενο
• Αντιμετωπίζει δύο συνεχόμενες απώλειες

25
Εναλλαγή (1 από 4)

• Εναλλαγή (interleaving) τμημάτων


– Διάσπαση τμημάτων ήχου σε μονάδες
– Αναδιάταξη μονάδων πριν την αποστολή
• Συνεχόμενες μονάδες μεταδίδονται με απόσταση

26

Εναλλαγή (2 από 4)

• Εναλλαγή (interleaving) τμημάτων


– Αντίστροφη αναδιάταξη στον παραλήπτη
– Δεν αυξάνεται ο ρυθμός μετάδοσης
– Ούτε μειώνονται τα χαμένα πακέτα!
27
Εναλλαγή (3 από 4)
• Γιατί να κάνουμε εναλλαγή;
– Μείωση επιπτώσεων από απώλεια πακέτων
– Η ίδια η εναλλαγή δεν καταπολεμά των απώλεια
– Μετατροπή μεγάλων κενών σε μικρά
• Συνδυασμός με πρόσθια διόρθωση
– Αλλά: αύξηση καθυστέρησης!
• Καθυστέρηση για δημιουργία πακέτων
• Καθυστέρηση για συναρμολόγηση πακέτων

28

Εναλλαγή (4 από 4)

• Κυλιόμενη εναλλαγή
– Στην κανονική χρησιμοποιούμε μπλοκ N πακέτων
– Στην κυλιόμενη δεν περιμένουμε το μπλοκ
– Τα τεμάχια μπαίνουν στα n επόμενα πακέτα
• N-1 χρόνοι καθυστέρησης στον κωδικοποιητή
• Χωρίς άλλη καθυστέρηση στον αποκωδικοποιητή
29
Ενότητα # 21: Εγγυημένη ποιότητα υπηρεσίας

Σκοποί ενότητας
• Κατανόηση των βασικών απαιτήσεων για
υποστήριξη ποιότητας υπηρεσίας.
• Εξοικείωση με τους βασικούς μηχανισμούς
κατηγοριοποίησης, χρονοπρογραμματισμού
πακέτων και επιτήρησης ροών.
• Εισαγωγή στις ενοποιημένες υπηρεσίες και
τις διαφοροποιημένες υπηρεσίες.

4
Περιεχόμενα ενότητας
• Απαιτήσεις ποιότητας υπηρεσίας
• Μηχανισμοί κατηγοριοποίησης
• Χρονοπρογραμματισμός
• Μηχανισμοί επιτήρησης
• Ενοποιημένες υπηρεσίες
• Διαφοροποιημένες υπηρεσίες

Απαιτήσεις ποιότητας υπηρεσίας


Ποιότητα υπηρεσίας (1 από 3)

• Παράδειγμα πολυμεσικής επικοινωνίας


– Πρώτη ροή πακέτων (FTP): A2->A1
– Δεύτερη ροή πακέτων (τηλεδιάσκεψη): B1<->B2
– Σύνδεση LAN με γραμμή 512 Kbps
– Ταχύτητες LAN 100 Mbps
– Δρομολογητές δικτύων Δ1 και Δ2
7

Ποιότητα υπηρεσίας (2 από 3)


• Εστίαση στο δρομολογητή Δ2
– Συνολικός ρυθμός μετάδοσης > 512 Kbps
– Αύξηση καθυστέρησης και απώλεια πακέτων
• Απαιτήσεις τηλεδιάσκεψης
– H.261 στα 320 Kbps και G.711 στα 64 Kbps
– Συνολικά χρειάζονται 384 Kbps
– Ιδανικά το FTP θα καταλαμβάνει 128 Kbps

8
Ποιότητα υπηρεσίας (3 από 3)
• Περιβάλλον καλύτερης προσπάθειας
– Ανάμειξη πακέτων στην ουρά του Δ2
– Μετάδοση (συνήθως) με σειρά άφιξης
– Απρόβλεπτη κίνηση εφαρμογής FTP
– Πιθανή καθυστέρηση για τα πακέτα ήχου
– Πιθανή απώλεια για τα πακέτα ήχου
• Λόγω υπερχείλισης ουράς
• Ακολουθεί την αύξηση της καθυστέρησης

Απαιτήσεις (1 από 7)

• Λύση: προτεραιότητα στα πακέτα ήχου


– Μεταδίδονται πριν από τα πακέτα FTP
• Τα FTP στέλνονται όταν η γραμμή είναι ελεύθερη
– Κάθε πακέτο πρέπει να κατηγοριοποιείται
• Για να ξέρουμε πού να δώσουμε προτεραιότητα

10
Απαιτήσεις (2 από 7)
• Γενικά: παροχή διαφορετικών υπηρεσιών
– Αντίστοιχη διαφοροποίηση χρεώσεων
• Το FTP μπορεί να πληρώσει ακριβή υπηρεσία
• Ο ήχος δεν πρέπει να έχει τότε προτεραιότητα!
• Η διάκριση πρέπει να γίνει με άλλα κριτήρια

• Πρέπει να κατηγοριοποιούμε τα πακέτα


– Η κατηγοριοποίηση επιτρέπει τη διάκρισή τους
– Ο χρονοπρογραμματισμός είναι θέμα πολιτικής
11

Απαιτήσεις (3 από 7)
• Αν η εφαρμογή ήχου στέλνει παραπάνω;
– Λόγω βλάβης (ακούσια)
– Για να εκμεταλλευτεί την προτεραιότητα (εκούσια)
– Συνθήκες στέρησης για τα πακέτα FTP
– Κάθε προβληματική ροή επηρεάζει τις άλλες
• Απομόνωση ροών για προστασία της ροής
– Εικονικές ζεύξεις 384 και 128 Kbps
– Κάθε ροή είναι προστατευμένη από την άλλη

12
Απαιτήσεις (4 από 7)
• Προκαθορισμένη κατανομή γραμμής
– Τι κάνουμε σε περιόδους σιωπής;
• Η γραμμή δεν μεταδίδει χωρίς να έχουμε ήχο
– H χρήση πόρων πρέπει να είναι αποδοτική
– Αν η ουρά είναι ελεύθερη την αξιοποιούμε
• Εξυπηρετούμε την άλλη ροή
• Επιτρέπουμε να στέλνει και πιο γρήγορα
• Ελαστική κίνηση (στέλνει όσο μπορεί)

13

Απαιτήσεις (5 από 7)
• Επιτήρηση: επιβεβαίωση συμπεριφοράς
– Παρέκκλιση εφαρμογής υπό επιτήρηση
• Απόρριψη ή καθυστέρηση επιπλέον πακέτων
– Σημείο επιτήρησης και σήμανσης
• Στο τελικό σύστημα η στον δρομολογητή

• Σημείωση: παραλλαγή επιτήρησης


– Χωρίς συμφόρηση, τα πακέτα σημειώνονται
– Στο επόμενο σημείο συμφόρησης θα απορριφθούν

14
Απαιτήσεις (6 από 7)
• Δύο εφαρμογές τηλεδιάσκεψης (384 Kbps)
– Καταμερισμός χωρητικότητας στα ίσα
• Κάθε εφαρμογή θα χάνει το 25% των πακέτων
• Οι προτεραιότητες δεν επαρκούν!
• Ροές που απαιτούν ελάχιστο επίπεδο υπηρεσιών
– Χωρίς πόρους δεν αποδίδουν ικανοποιητικά
– Η αποδοχή τους έχει αρνητικό αντίκτυπο
• Δεν λειτουργούν αποδεκτά, αλλά καταναλώνουν πόρους
– Οι ροές πρέπει να δηλώνουν τις απαιτήσεις τους

15

Απαιτήσεις (7 από 7)
• Αποδοχή κλήσεων
– Δήλωση απαιτήσεων ποιότητας υπηρεσιών
– Αποδοχή
• Το δίκτυο παρέχει την απαιτούμενη ποιότητα
– Απόρριψη
• Έλλειψη των απαιτούμενων πόρων
– Διασφαλίζουμε ποιότητα για όλους
• Φτάνει βέβαια να τους αποδεχτούμε!

16
Μηχανισμοί κατηγοριοποίησης

Κατηγοριοποίηση (1 από 2)

• Κατηγοριοποίηση στο IPv4


– Βασίζεται σε πεδία της κεφαλίδας
– Μάσκα μηδενισμού περιττών πεδίων
– Κατακερματισμός κεφαλίδας
– Αναζήτηση της κατηγορίας σε πίνακα

18
Κατηγοριοποίηση (2 από 2)

• Κατηγοριοποίηση στο IPv6


– Στο IPv4 μπλέκουμε επικεφαλίδες UDP/TCP
• Δύσκολο να αναγνωρίσουμε αλλιώς τη ροή
– Το IPv6 έχει πεδίο αναγνώρισης των ροών
19

Χρονοπρογραμματισμός
Ουρές FIFO (1 από 3)

• Χρονοπρογραμματισμός μετάδοσης
– Τα πακέτα μπαίνουν σε ουρές κατά την άφιξη
– Επιλογή πακέτων για μετάδοση
• Απλούστερη πολιτική: FIFO
– Τα πακέτα αποθηκεύονται στο τέλος
– Τα πακέτα μεταδίδονται από την αρχή
– Μετάδοση πακέτων κατά τη σειρά άφιξης
21

Ουρές FIFO (2 από 3)


• Πολιτική απόρριψης πακέτων
– Αντιμετώπιση πακέτων όταν η ουρά γεμίσει
– Απόρριψη νέου πακέτου
• Δεν πειράζουμε τα ήδη αποδεκτά πακέτα
• Πιο συνηθισμένη πολιτική στο διαδίκτυο
– Απόρριψη παλιού πακέτου
• Προτίμηση στα πιο νέα πακέτα
• Απόρριψη όσων έχουν ήδη καθυστερήσει

22
Ουρές FIFO (3 από 3)

• Παράδειγμα ουράς FIFO


– Έχουμε δύο ροές πακέτων
– Άνω μέρος: χρόνοι άφιξης
– Κάτω μέρος: χρόνοι αναχώρησης
– Στη FIFO έχει σημασία μόνο ο χρόνος άφιξης
23

Ουρές προτεραιότητας (1 από 3)

• Ουρές προτεραιότητας (priority queues)


– Δύο ή περισσότερες ουρές σε κάθε γραμμή
• Απαιτείται πολιτική κατηγοριοποίησης πακέτων
• Επιλογή επόμενου πακέτου για μετάδοση
– Από ουρά με υψηλότερη προτεραιότητα
24
Ουρές προτεραιότητας (2 από 3)

• Παράδειγμα ουρών προτεραιότητας


– Η ροή 1 έχει μεγαλύτερη προτεραιότητα
– Όσο έχει πακέτα, εξυπηρετείται πρώτη
• Ανεξάρτητα από σειρά άφιξης
– Κίνδυνος να μην εξυπηρετηθεί ποτέ η ροή 2
25

Ουρές προτεραιότητας (3 από 3)


• Μη προεκτοπιστικός χρονοπρογραμματισμός
– Μια εργασία δεν διακόπτεται αφού ξεκινήσει
• Συνηθισμένος στα δίκτυα υπολογιστών
• Η διακοπή μετάδοσης θα σπαταλούσε πόρους
• Προεκτοπιστικός χρονοπρογραμματισμός
– Μια εργασία διακόπτεται αν έρθει πιο κρίσιμη
• Συνηθισμένος στις διεργασίες
• Εφικτή η προσωρινή διακοπή μίας διεργασίας

26
Ουρές επαναφοράς (1 από 3)

• Ουρές κυκλικής επαναφοράς


– Κατηγοριοποίηση πακέτων σε ουρές
– Δεν υπάρχει στατική προτεραιότητα μεταξύ τους
– Οι ουρές εξυπηρετούνται με κυκλικό τρόπο
• Απλούστερη μορφή: ένα πακέτο από κάθε ουρά
– Αποφεύγουν τον υποσιτισμό των ουρών
27

Ουρές επαναφοράς (2 από 3)

• Παράδειγμα ουρών κυκλικής επαναφοράς


– Μεταδίδουμε εκ περιτροπής
• Μοιράζουμε τις μεταδόσεις εξίσου
– Η σειρά άφιξης δεν έχει σημασία
– Τι γίνεται αν η ουρά που έχει σειρά είναι κενή;
28
Ουρές επαναφοράς (3 από 3)
• Με εξοικονόμηση εργασίας
– Αν μία ουρά είναι κενή, πάμε στην επόμενη
• Αν υπάρχουν πακέτα η γραμμή χρησιμοποιείται
• Χωρίς εξοικονόμηση εργασίας
– Δεν μεταδίδεται τίποτα αν δεν έχει σειρά
• Σπατάλη πόρων μετάδοσης
– Αυστηρές εγγυήσεις ποιότητας
• Αποφεύγεται η αναμονή σε ορισμένες περιπτώσεις

29

Δίκαιες ουρές (1 από 2)

• Δίκαια σταθμισμένες ουρές


– Γενίκευση ουρών κυκλικής επαναφοράς
– Εξυπηρέτηση ουρών με κυκλικό τρόπο
• Συνήθως με εξοικονόμηση εργασίας
– Κάθε ουρά λαμβάνει διαφορετική εξυπηρέτηση
• Ποσοστό της χωρητικότητας της γραμμής
30
Δίκαιες ουρές (2 από 2)
• Πώς υλοποιούνται οι σταθμισμένες ουρές;
– Ιδανικά, προσομοιώνουν ροές υγρών
• Κάθε υγρό ρέει σύμφωνα με προκαθορισμένο ρυθμό
– Στην πράξη, μεταδίδουμε ένα πακέτο κάθε φορά
– Αν όλα τα πακέτα είναι ίσα, κανένα πρόβλημα
– Αν δεν είναι, τότε προσεγγίζουμε το ιδανικό
• Προσομοιώνουμε την ιδανική ουρά
• Προσπαθούμε να την προσεγγίζουμε μακροπρόθεσμα

31

Μηχανισμοί επιτήρησης
Κριτήρια επιτήρησης (1 από 2)
• Γενικά κριτήρια επιτήρησης
– Περιορισμός ρυθμού αποστολής πακέτων
– Ποια χρονική κλίμακα μας ενδιαφέρει;
• Μέσος ρυθμός
– Μέσος ρυθμός μετάδοσης μακροπρόθεσμα
– Κρίσιμο το χρονικό διάστημα υπολογισμού
• 100 πακέτα ανά δευτερόλεπτο;
• 6000 πακέτα ανά λεπτό;

33

Κριτήρια επιτήρησης (2 από 2)


• Μέγιστος ρυθμός
– Μέγιστος ρυθμός σε μικρό διάστημα
• Μέσος 6000 πακέτα / min
• Μέγιστος 1500 πακέτα / sec

• Μέγιστο ξέσπασμα
– Μέγιστο πλήθος σε πολύ μικρό διάστημα
– Στην πράξη, μέγιστο πλήθος χωρίς διακοπή

34
Διάτρητος κουβάς

• Περιορισμός μέσου ρυθμού


– Τα πακέτα εισέρχονται στον κουβά
– Ο κουβάς αδειάζει με ρυθμό ρ (μέσος)
– Ο κουβάς έχει χωρητικότητα β
• Μεγάλα ξεσπάσματα απορρίπτονται (δεν χωράνε!)
35

Κουβάς κουπονιών

• Περιορισμός μέσου και ξεσπάσματος


– Κάθε πακέτο πρέπει να δεσμεύσει ένα κουπόνι
– Τα κουπόνια μαζεύονται με ρυθμό ρ (μέσος)
– Χωράνε μέχρι β κουπόνια
• Περιορισμός μέγιστου ξεσπάσματος
36
Διπλός κουβάς

• Σύνδεση δύο κουβάδων εν σειρά


– Αρχικά έχουμε κουβά κουπονιών
• Περιορίζει το ρ και το β
– Στη συνέχεια έχουμε διάτρητο κουβά
• Περιορίζει το C (μέγιστος ρυθμός)
37

Ενοποιημένες υπηρεσίες
Ενοποιημένες (1 από 3)
• Ενοποιημένες υπηρεσίες (IntServ)
– Τρεις υπηρεσίες για όλους τους δρομολογητές
– Εγγυημένη: περιορίζεται από κουβά κουπονιών
• Πρέπει να περνά από έλεγχο αποδοχής
• Εγγυημένη καθυστέρηση από άκρο σε άκρο
– Ελεγχόμενου φόρτου: στατιστική καθυστέρηση
– Καλύτερης προσπάθειας
• Όλη η υπόλοιπη κίνηση

39

Ενοποιημένες (2 από 3)
• Πρωτόκολλο RSVP
– Δέσμευση πόρων για ροές μίας κατεύθυνσης
– 1η φάση: μήνυμα διερεύνησης από αποστολέα
• Συλλέγει πληροφορίες στη διαδρομή
– 2η φάση: μήνυμα δέσμευσης από παραλήπτες
• Δεσμεύει πόρους σε κάθε δρομολογητή
– Περιοδική ανανέωση δεσμεύσεων
• Προσαρμογή μετά από αλλαγή διαδρομής
– Καταμερισμένες δεσμεύσεις σε πολυεκπομπή

40
Ενοποιημένες (3 από 3)
• Μειονεκτήματα IntServ
– Πρέπει να υλοποιηθεί παντού
• Ή τουλάχιστον σε μεγάλο μέρος
• Απαιτείται ίδια μεταχείριση παντού
• Κανένας δεν κάνει την αρχή!
– Δυσκολία κλιμάκωσης
• Απαιτεί ενέργειες ανά ροή
• Στον κορμό έχουμε τεράστιο πλήθος ροών
– Μόνο τρεις κατηγορίες υπηρεσίας

41

Διαφοροποιημένες υπηρεσίες
Διαφοροποιημένες (1 από 3)
• Διαφοροποιημένες υπηρεσίες (DiffServ)
– Ομαδοποίηση ροών σε κλάσεις
• Κατά την είσοδο στο δίκτυο
• Κατά τη μετάβαση σε νέο αυτόνομο σύστημα
– Μορφοποίηση στα σημεία ομαδοποίησης
• Απλή συμπεριφορά στα υπόλοιπα σημεία
– Μακροχρόνια δέσμευση πόρων
• Με συμφωνίες μεταξύ παρόχων
– Πολυπλοκότητα μόνο στα άκρα του δικτύου

43

Διαφοροποιημένες (2 από 3)
• Συμπεριφορά επόμενου βήματος (PHB)
– Αντιμετώπιση πακέτου αναλόγως τάξης
– Χρήση πεδίου DSCP (ToS ή TC)
• Τίθεται στην είσοδο στο δίκτυο

• PHB εσπευσμένης προώθησης (EF)


– Δεσμευμένο εύρος ζώνης σε κάθε δρομολογητή
• Περιορισμός ροής κατά την είσοδο στο δίκτυο
– Πολύ χαμηλή καθυστέρηση και απώλεια

44
Διαφοροποιημένες (3 από 3)
• PHB διασφαλισμένης προώθησης (AF)
– Κλάσεις κίνησης με ποσοστό εύρους ζώνης
– Πολλά επίπεδα προτίμησης απόρριψης ανά κλάση
– Σημείωση ροών όταν υπερβαίνουν το όριο
• Απόρριψη με προτεραιότητα κατά τη συμφόρηση
• Μειονεκτήματα DiffServ
– Δεν ορίζει ρητές υπηρεσίες σε κάθε δίκτυο
– Δυσκολία δημιουργίας υπηρεσιών άκρο σε άκρο
– Κατάλληλη για μακροσκοπική διαχείριση κίνησης

45

Ενότητα # 22: Δίκτυα ATM


Σκοποί ενότητας
• Εξοικείωση με τις βασικές σχεδιαστικές επιλογές
των δικτύων ΑΤΜ όπως τα εικονικά κυκλώματα
και τα κελιά καθώς και με τις μεθόδους
προώθησης κελιών.
• Εισαγωγή στα επίπεδα πρωτοκόλλων και τα
επίπεδα προσαρμογής.
• Κατανόηση του μοντέλου ποιότητας υπηρεσίες
και του αλγορίθμου GCRA.
• Εξοικείωση με τις βασικές τεχνικές συνδυασμού
δικτύων IP με δίκτυα ATM.

Περιεχόμενα ενότητας
• Βασικές αρχές
• Πακέτα και κελιά
• Δρομολόγηση και προώθηση
• Ιεραρχία πρωτοκόλλων
• Επίπεδα προσαρμογής
• Ποιότητα υπηρεσίας
• Υποστήριξη IP
5
Βασικές αρχές

Γιατί δίκτυα ATM; (1 από 2)


• Ασύγχρονος τρόπος μεταφοράς (ATM)
– Σχεδιάστηκαν από εταιρείες τηλεφωνίας
• Αναφέρονται και ως ευρυζωνικά ISDN
– Αντιδιαστολή με τα σύγχρονα δίκτυα
• Τα δίκτυα τηλεφωνίας με μεταγωγή κυκλωμάτων
– Φωνή και δεδομένα σε υψηλές ταχύτητες
– Μεταβλητός ρυθμός δεδομένων ανά κλήση
• Κατάλληλα για εφαρμογές πέραν της τηλεφωνίας

7
Γιατί δίκτυα ATM; (2 από 2)
• Γιατί μελετάμε τα δίκτυα ATM;
– Δεν είχαν την αναμενόμενη διάδοση
• Δίκτυα κορμού τηλεφωνίας και δεδομένων
• Παραμένουν σε μερικά μόντεμ DSL
– Αρκετά διαφορετική φιλοσοφία από το IP
• Εικονικά κυκλώματα, μικρά πακέτα
– Παροχή εγγυημένης ποιότητας υπηρεσιών
• Κατάλληλα και για τηλεφωνία ή βίντεο

Εικονικά κυκλώματα (1 από 4)


• Επικοινωνία με εικονικά κυκλώματα (VC)
– Εγκαθίδρυση κυκλώματος ανά κλήση
• Επιλογή διαδρομής και δέσμευση πόρων
• Χωριστό κύκλωμα ανά κατεύθυνση
– Όλα τα πακέτα ακολουθούν ίδια διαδρομή
• Αξιοποιούν τους δεσμευμένους πόρους
– Το κύκλωμα δεν είναι αποκλειστικής χρήσης
• Διάκριση με κλασικά τηλεφωνικά δίκτυα
– Το κύκλωμα απελευθερώνεται στο τέλος

9
Εικονικά κυκλώματα (2 από 4)
• Αναγνωριστικά εικονικών κυκλωμάτων (VCI)
– Κάθε κύκλωμα έχει έναν μοναδικό αριθμό
• Οι αριθμοί αποδίδονται κατά την εγκαθίδρυση
• Ο αριθμός συνήθως μεταβάλλεται σε κάθε ζεύξη
• Εξαρτάται από τη σειρά εγκαθίδρυσης
• Εικονικές διαδρομές (VP)
– Ομάδες εικονικών κυκλωμάτων
– Ίδια δρομολόγηση για όλη την ομάδα
– Χρησιμοποιούν το ίδιο αναγνωριστικό (VPI)

10

Εικονικά κυκλώματα (3 από 4)

• Συνδυασμός VPI/VCI
– Πρώτο μέρος: VPI
• Χρησιμοποιείται στο κέντρο του δικτύου
• Όλο το VP αντιμετωπίζεται με ενιαίο τρόπο
– Δεύτερο μέρος: VCI
• Χρησιμοποιείται στα άκρα του δικτύου
• Διάκριση των κυκλωμάτων κοντά στους χρήστες
11
Εικονικά κυκλώματα (4 από 4)
• Μόνιμα εικονικά κυκλώματα (PVC)
– Εγκαθιδρύονται στην εκκίνηση συσκευών
– Χρησιμοποιούνται για βασική σηματοδοσία
– Ανάμεσα σε χρήστη και τοπικό μεταγωγέα
• Προσωρινά εικονικά κυκλώματα (SVC)
– Εγκαθιδρύονται από τις εφαρμογές
– Χρήση PVC για εγκαθίδρυσή τους
– Ανάμεσα σε χρήστες από άκρο σε άκρο

12

Πακέτα και κελιά


Κελιά (1 από 4)
• Κελί (cell): μικρό πακέτο σταθερού μεγέθους
– 48 byte ωφέλιμου φορτίου
– 5 byte κεφαλίδας
– Μεγάλη επιβάρυνση κεφαλίδας (5/53 = 9,5%)
– Επεξεργασία σε πολύ μεγάλη ταχύτητα
• Σταθερό μέγεθος και απλή κεφαλίδα
– Μικρή καθυστέρηση δημιουργίας πακέτων
• 48x8 bit / 64 Kbps = 6 ms για ένα κελί φωνής PCM

14

Κελιά (2 από 4)

• Κεφαλίδα κελιών
– Κατάλληλη για γρήγορη επεξεργασία
– Απλή και σταθερή μορφή
– Δεν υπάρχουν επιλογές και επεκτάσεις

15
Κελιά (3 από 4)
• VPI: 12 bit, VCI: 16 bit
– Αγνοούμε το VCI στο κέντρο του δικτύου
– Μπορούμε να τα χειριστούμε και μαζί
– Γενικά αλλάζει από ζεύξη σε ζεύξη
• PT: τύπος περιεχομένου
– 1 bit: δεδομένα χρήστη / πληροφορίες ελέγχου
– 1 bit: το κελί έχει συναντήσει συμφόρηση
– 1 bit: σηματοδοσία υψηλότερου επιπέδου

16

Κελιά (4 από 4)
• LP: 1 bit
– Το κελί προτιμάται για απόρριψη
– Τίθεται από την εφαρμογή ή από το δίκτυο
• Η εφαρμογή μπορεί να επιλέξει τα κελιά
• HEC: 8 bit
– Διόρθωση σφαλμάτων κεφαλίδας (μόνο)
– Υπολογίζεται σε κάθε ζεύξη
• Λόγω συνεχούς αλλαγής VPI/VCI!

17
Δρομολόγηση και προώθηση

Δρομολόγηση
• Επιλογή διαδρομής για κάθε κλήση
– Πρέπει να υποστηρίζει εγγυήσεις ποιότητας
• Πιο δύσκολο από τη συντομότερη διαδρομή
• Περίπλοκο μοντέλο ποιότητας

• Τα πρωτόκολλα δεν είναι τυποποιημένα


– Εξαρτώνται από το δίκτυο
– Γενικά δεν είναι ορατά στο χρήστη
• Ο χρήστης βλέπει μόνο τον τοπικό μεταγωγέα

19
Προώθηση (1 από 2)
• Μεταγωγή κελιών της κλήσης
– Κάθε μεταγωγέας έχει πίνακα προώθησης
• Χρησιμοποιείται σε κάθε κελί
• Η αναζήτηση πρέπει να είναι πολύ γρήγορη
– Κάθε VC αντιστοιχεί σε μία καταχώριση
• Είσοδος: ζεύξη εισόδου και VCI κελιού
• Έξοδος: ζεύξη εξόδου και νέο VCI κελιού
• Μπορεί να αναφέρεται σε VCI ή/και VPI

20

Προώθηση (2 από 2)
• Διαχείριση πίνακα προώθησης
– Ενημέρωση σε εγκαθίδρυση και απελευθέρωση
• Εισαγωγή και διαγραφή καταχωρίσεων
• Εγκαθίδρυση με βάση τη δρομολόγηση
• Απελευθέρωση με βάση την προώθηση
– Επιλογή διαθέσιμου VCI στην εγκαθίδρυση
• Μπορεί να διαφέρει από της προηγούμενης ζεύξης
• Δίνουμε ένα VCI που είναι τοπικά διαθέσιμο

21
Πίνακες προώθησης (1 από 3)

1. Κλήση από το T2 προς το T4


2. Κλήση από το T4 προς το T2
3. Κλήση από το T1 προς το T3
22

Πίνακες προώθησης (2 από 3)


• Ενιαίος πίνακας δρομολόγησης
– Περιέχει όλα τα εικονικά κυκλώματα
– Υλοποιείται με κατακερματισμό
• Αλλιώς θα είχε πολλές κενές καταχωρίσεις
• Χωριστοί πίνακες ανά ζεύξη εισόδου
– Επιλογή πίνακα με βάση ζεύξη εισόδου
– Χρήση VCI κελιού ως δείκτη στον πίνακα
– Γρήγορη αναζήτηση αλλά κενές καταχωρίσεις

23
Πίνακες προώθησης (3 από 3)

• Πίνακας για ζεύξη a ανάλογα με VCI


1. Έξοδος c με VCI 1
2. Έξοδος b με VCI 1
3. Έξοδος b με VCI 2

24

Ιεραρχία πρωτοκόλλων
Ιεραρχία (1 από 4)

• Τρία οριζόντια επίπεδα (layers)


– Κλασική στοίβα πρωτοκόλλων
• Τρία κατακόρυφα επίπεδα (planes)
– Διαφορετικές κατηγορίες πρωτοκόλλων
26

Ιεραρχία (2 από 4)
• Φυσικό επίπεδο
– Μετάδοση ανάμεσα σε γειτονικές συσκευές
– Διαφορετικό φυσικό επίπεδο ανά τεχνολογία
• Επίπεδο ATM
– Μετάδοση κελιών από άκρο σε άκρο
• Επίπεδο προσαρμογής ATM
– Τεμαχισμός και ανασυναρμολόγηση δεδομένων

27
Ιεραρχία (3 από 4)
• Κατακόρυφα επίπεδα (planes)
– Ομαδοποίηση πρωτοκόλλων ανά είδος
– Χρήστη: πρωτόκολλα εφαρμογών
– Ελέγχου: πρωτόκολλα σηματοδοσίας
• Σαφής διάκριση δεδομένων και ελέγχου
– Διαχείρισης: πρωτόκολλα διαχείρισης δικτύου
• Έμφαση στις ανάγκες των διαχειριστών

28

Ιεραρχία (4 από 4)
• Επίπεδα προσαρμογής
– Αποτελούνται από δύο υποεπίπεδα
– Σύγκλισης (CS)
• Παραλαμβάνει δεδομένα από τις εφαρμογές
• Προσθήκη κατάλληλης κεφαλίδας
– Τεμαχισμού και συναρμολόγησης (SAR)
• Τεμαχισμός πακέτων CS σε κελιά στον αποστολέα
• Ανασυναρμολόγηση πακέτων CS στον παραλήπτη

29
Επίπεδα προσαρμογής

Κατηγορίες επιπέδων (1 από 2)


• Δύο ορθογώνιες κατηγοριοποιήσεις
– Σταθερός η μεταβλητός ρυθμός μετάδοσης
– Απαιτήσεις πραγματικού χρόνου ή όχι
• Επίπεδα πραγματικού χρόνου
– AAL-1: σταθερός ρυθμός σε πραγματικό χρόνο
• Φωνητική τηλεφωνία
– AAL-2: μεταβλητός ρυθμός σε πραγματικό χρόνο
• Ζωντανή διανομή βίντεο

31
Κατηγορίες επιπέδων (2 από 2)
• Επίπεδα μη πραγματικού χρόνου
– AAL-3: σταθερός σε μη πραγματικό χρόνο
– AAL-4: μεταβλητός σε μη πραγματικό χρόνο
• AAL-5: αντικαθιστά τα AAL-3/4
– Μικρό ενδιαφέρον για διαφορετικά επίπεδα
– Το AAL-5 είναι εξαιρετικά απλό
– Και για μετάδοση πακέτων IP πάνω από ATM

32

AAL-1

• Παράδειγμα: AAL-1
– Το υποεπίπεδο CS δημιουργεί τμήματα 47 byte
– Το υποεπίπεδο SAR προσθέτει κεφαλίδα 1 byte
• C: 1 bit για δεδομένα ελέγχου
• SN: 3 bit για αριθμό σειράς
• SNP: 4 bit για προστασία αριθμού σειράς
– Τα τμήματα μπαίνουν σε κελιά για μετάδοση
33
AAL-5 (1 από 2)

• Παράδειγμα: AAL-5
– Το υποεπίπεδο CS δέχεται πακέτα ως 64 Kbyte
• Προσθήκη ορισμένων πεδίων στο τέλος
– Υποεπίπεδο SAR: απλός τεμαχισμός
• Το τελευταίο κελί ATM σημειώνεται κατάλληλα
• Χρήση του τρίτου bit του πεδίου PT
• Άμεσος εντοπισμός τέλους πακέτου
34

AAL-5 (2 από 2)
• Επίμετρο υποεπιπέδου CS
– UU: 1 byte για πολύπλεξη ροών
– CPI: 1 byte για ανταλλαγή δεδομένων ελέγχου
– LEN: 2 byte για μέγεθος δεδομένων πακέτου
– CRC: 4 byte για κώδικα εντοπισμού σφαλμάτων
– PAD: κάνει το σύνολο n x 48 byte
• Στοίχιση με το μέγεθος των κελιών

35
Ποιότητα υπηρεσίας

Κατηγορίες (1 από 2)
• Κατηγορίες ποιότητας υπηρεσίας
– Παρέχονται πέντε κατηγορίες
– Κάθε κλήση επιλέγει μία κατηγορία
• Ιδιότητες ποιότητας ανάλογα με κατηγορία
– Σταθερού ρυθμού (CBR)
• Ακριβής ρυθμός μετάδοσης
– Μεταβλητού ρυθμού πραγματικού χρόνου (VBR-
RT)
• Μέσος και μέγιστος ρυθμός μετάδοσης

37
Κατηγορίες (2 από 2)
• Κατηγορίες ποιότητας υπηρεσίας
– Μεταβλητού ρυθμού όχι πραγματικού χρόνου
(VBR-NRT)
• Χωρίς όρια καθυστέρησης
– Διαθέσιμου ρυθμού (ABR)
• Εγγύηση μόνο ελάχιστου ρυθμού μετάδοσης
– Απροσδιόριστου ρυθμού (UBR)
• Δεν παρέχει καμία εγγύηση

38

Ποιότητα υπηρεσίας (1 από 6)


• Γενικός αλγόριθμος ρυθμού κελιών (GCRA)
– Χρησιμοποιείται από CBR, VBR-RT, VBR-NRT
• Οι ABR και UBR παίρνουν ό,τι περισσεύει
– Τέσσερις βασικές ιδιότητες
• Μέγιστος ρυθμός μετάδοσης κελιών (PCR)
• Μέσος ρυθμός μετάδοσης κελιών (SCR)
• Ανοχή διακύμανσης καθυστέρησης κελιών (CDVT)
• Ανοχή ριπής (BT)

39
Ποιότητα υπηρεσίας (2 από 6)

• Χρήση δύο ουρών σταθερού μεγέθους


– Κάθε κελί αντιγράφεται και στις δύο
• Άνω ουρά: αδειάζει με μέγιστο ρυθμό (PCR)
– Μικρή ανοχή: χωρητικότητα 1 + CDVT x PCR
• Κάτω ουρά: αδειάζει με τον μέσο ρυθμό (SCR)
– Μεγάλη ανοχή: χωρητικότητα BT x SCR

40

Ποιότητα υπηρεσίας (3 από 6)


• CBR: χρήση μόνο άνω ουράς
– Ρυθμός PCR με απόκλιση CDVT
• VBR-RT και VBR-NRT: χρήση δύο ουρών
– Η άνω ουρά διαγράφει κελιά με ρυθμό PCR
• Περιορισμός του μέγιστου ρυθμού μετάδοσης
– Η κάτω ουρά μεταδίδει κελιά με ρυθμό SCR
• Μετάδοση με το μέσο ρυθμό
– Αποθήκευση μέχρι BT κελιών
• Περιορισμός της διάρκειας των ριπών

41
Ποιότητα υπηρεσίας (4 από 6)
• Τρόποι χρήσης GCRA
– Μορφοποίηση κίνησης στον αποστολέα
• Συμμόρφωση κίνησης με συγκεκριμένο προφίλ
• Πιθανή σήμανση πρόσθετων κελιών για απόρριψη
– Παρακολούθηση κίνησης στους μεταγωγείς
• Έλεγχος αν συμμορφώνεται με προφίλ
• Είτε άμεση απόρριψη κελιών
• Είτε σήμανση κελιών για απόρριψη

42

Ποιότητα υπηρεσίας (5 από 6)


• Άλλες ιδιότητες ποιότητας υπηρεσίας
– Ποσοστό απώλειας κελιών (CLR)
– Καθυστέρηση μετάδοσης κελιών (CTD)
• Μέγιστη και μέση CTD
– Διακύμανση καθυστέρησης κελιών (CDV)
– Ελάχιστος ρυθμός μετάδοσης κελιών (MCR)
– Δεν εφαρμόζονται σε όλες τις κατηγορίες

43
Ποιότητα υπηρεσίας (6 από 6)
Ιδιότητες ποιότητας υπηρεσίας Παράμετροι GCRA
CLR CDV Μέγ. CTD Μέση CTD MCR PCR CDVT SCR BT

CBR X X X X X X

VBR-RT X X X X X X X X

VBR-NRT X X X X X

ABR X

UBR

44

Υποστήριξη IP
IP και ATM
• Το ATM θα αντικαθιστούσε τα πάντα
– Ένα δίκτυο για όλες τις υπηρεσίες
• Μέχρι να υλοποιηθεί το IP κυριαρχούσε
– Άρα έπρεπε να έχουμε συμβατότητα
• Μεταφορά πακέτων IP σε κορμό ATM
– Μετάφραση διευθύνσεων IP σε κυκλώματα
– Τεμαχισμός πακέτων IP σε κελιά

46

Τεχνική IPOA (1 από 2)

• Τεχνική IP πάνω από ATM (IPOA)


– Διασύνδεση δικτύων IP
– Μέσω δικτύου κορμού ATM
– Χρήση δρομολογητών ATM και IP
• Οι δρομολογητές έχουν πολλές κάρτες δικτύου
47
Τεχνική IPOA (2 από 2)
• Τεχνική IP πάνω από ATM (IPOA)
– PVC ανάμεσα σε κάθε ζεύγος δρομολογητών
• Στατική δημιουργία (PVC) από διαχειριστή
• Απαιτεί Ο(ν2) ζεύξεις για ν δρομολογητές
• Συνήθως δεν ορίζονται όλες
– Χρήση AAL-5 για τη μεταφορά των πακέτων
• Από άκρο σε άκρο του δικτύου κορμού
– Δεν απαιτεί καμία αλλαγή στους πελάτες

48

Τεχνική LANE (1 από 2)

• Τεχνική προσομοίωσης LAN (LANE)


– Διασύνδεση τερματικών σε τοπικό δίκτυο
– Λογισμικό LANE στα τερματικά
– Εξυπηρετητής LANE στο τοπικό δίκτυο
49
Τεχνική LANE (2 από 2)
• Τεχνική προσομοίωσης LAN (LANE)
– Εγγραφή τερματικών σε εξυπηρετητή
• Γίνεται στην εκκίνησή τους
• Αρκεί να γνωρίζουν τον εξυπηρετητή
– Δημιουργία κυκλωμάτων μέσω εξυπηρετητή
• Ζητάμε κύκλωμα προς διεύθυνση IP
• Ουσιαστικά αντικαθιστά το ARP
– Εγκαθίδρυση κυκλωμάτων όταν χρειάζονται

50

IPOA ή LANE;
• IPOA: βασίζεται σε πολλά PVC
– Κατάλληλο για κορμό δικτύου
– Μικρό πλήθος επιθυμητών κυκλωμάτων
• Στατική και μακροχρόνια δρομολόγηση
• LANE: βασίζεται σε SVC και ένα PVC
– Κατάλληλο για τοπικά δίκτυα
– Άγνωστο πλήθος επιθυμητών κυκλωμάτων
• Δυναμική και βραχυχρόνια δρομολόγηση

51
Ενότητα # 23: Πολυμέσα σε δίκτυα 3G

Σκοποί ενότητας
• Εξοικείωση με την έννοια των κυψελωτών
δικτύων και την εξέλιξή τους.
• Κατανόηση της βασικής δομής και των
συστατικών στοιχείων των δικτύων 3G.
• Εισαγωγή στο πολυμεσικό υποσύστημα IP και
την πολυμεσική υπηρεσία (πολύ)εκπομπής.
• Εξοικείωση με το μοντέλο παροχής ποιότητας
υπηρεσίας των δικτύων 3G.
4
Περιεχόμενα ενότητας
• Κυψελωτά δίκτυα
• Δίκτυα UMTS
• Πολυμεσικό υποσύστημα IP
• Πολυμεσική υπηρεσία (πολύ)εκπομπής
• Ποιότητα υπηρεσίας

Κυψελωτά δίκτυα
Είδη κυψελωτών δικτύων
• Βάση της κινητής τηλεφωνίας
– 1η γενιά: εξέλιξη των PSTN
– 2η γενιά: εξέλιξη των ISDN
– 3η γενιά: συνδυασμός με IP και Διαδίκτυο
• Ριζικός ανασχεδιασμός του δικτύου
• Υποστήριξη πολυμεσικών εφαρμογών
• Χρήση (υποτίθεται) IPv6
• Εγγυημένη ποιότητα υπηρεσίας

Υπηρεσίες IP
• Υποσύστημα Πολυμέσων IP
– IP Multimedia Subsystem
– Πολυμεσικές συνεδρίες πάνω από το IP
– Εγγυημένη ποιότητα υπηρεσίας ανά μέσο
• Πολυμεσική υπηρεσία (πολύ)εκπομπής
– Multimedia Broadcast / Multicast Service
– Εκπομπή και πολυεκπομπή πάνω από το IP
– Αποδοτική υλοποίηση απαιτητικών υπηρεσιών

8
Κυψέλες (1 από 2)

• Η ιδέα των κυψελών


– Διαχωρισμός περιοχής κάλυψης σε κυψέλες
– Θεωρητικά εξάγωνα, στην πράξη κύκλοι (περίπου)
9

Κυψέλες (2 από 2)
• Η ιδέα των κυψελών
– Ξεκινάμε από το διαθέσιμο φάσμα
– Διαφορετικές συχνότητες σε γειτονικές κυψέλες
• Επαναχρησιμοποίηση συχνοτήτων
• Αύξηση συνολικής χωρητικότητας
– Μεταβίβαση κλήσης από σταθμό σε σταθμό
– BTS: σταθμός βάσης σε κάθε κελί
– MS: κινητός σταθμός χρήστη
10
Γενιές (1 από 5)
• Συστήματα 1ης γενιάς (1G): AMPS
– Αναπτύχθηκε στις ΗΠΑ από την AT&T
– Διαχωρισμός κλήσεων με FDMA
• Καταμερισμός περιοχής συχνοτήτων
– Διαχωρισμός ζεύξεων με FDD
• Διαφορετική περιοχή σε κάθε κατεύθυνση
– Αναλογική διαμόρφωση του καναλιού
– Ενιαία αγορά στις ΗΠΑ, όχι στην Ευρώπη
11

Γενιές (2 από 5)
• Συστήματα 2ης γενιάς (2G): GSM
– Αναπτύχθηκε ως ενιαίο Ευρωπαϊκό πρότυπο
– Χρήση FDD για διαχωρισμό ζεύξεων
– FDMA και TDMA για διαχωρισμό κλήσεων
• 8 υποδοχές ανά πλαίσιο TDMA για τις κλήσεις
– Ψηφιοποίηση και συμπίεση φωνής
– GSM φάση 1: τηλεφωνία και δεδομένα
• Ταχύτητα δεδομένων μέχρι 9,6 Kbps

12
Γενιές (3 από 5)
• Συστήματα 2ης γενιάς (2G): D-AMPS
– Ψηφιακή παραλλαγή του AMPS
• Αντικαθιστά 1 αναλογική με 3 ψηφιακές κλήσεις
• Λειτουργεί παράλληλα με το AMPS
• Συστήματα 2ης γενιάς (2G): CDMAone
– Χρήση CDMA για καταμερισμό φάσματος
• Ευέλικτη διαχείριση εύρους ζώνης και μεταβιβάσεων
• Εντελώς διαφορετική τεχνολογία από AMPS

13

Γενιές (4 από 5)
• Διείσδυση συστημάτων 2G
– Τεράστια επιτυχία στην Ευρώπη
– Περιορισμένη επιτυχία στις ΗΠΑ
• Ενιαία έναντι κατακερματισμένης αγοράς
• Συστήματα 2.5G: GSM φάση 2+
– Εξέλιξη δικτύων 2G με νέες δυνατότητες
– HSCSD: πολύπλεξη καναλιών δεδομένων
– GPRS: μεταγωγή πακέτων πάνω από κανάλια
• Προσωρινή εκχώρηση υποδοχών στα πακέτα

14
Γενιές (5 από 5)
• Συστήματα 3ης γενιάς (3G): ΙΜΤ-2000
– Απόπειρα για παγκόσμιο πρότυπο
• Στόχος η υλοποίηση μέχρι το 2000
– Συμφωνία στη χρήση CDMA
– Διαφωνία σε λεπτομέρειες
• Κυρίως λόγω θεμάτων πατεντών
– Διάσπαση σε 3GPP και 3GPP2
• Περιορισμένη συμβατότητα μεταξύ τους
• Κυριαρχία εταιρειών στην τυποποίηση

15

Δίκτυα UMTS
Δίκτυα UMTS (1 από 5)

• Συστατικά δικτύου UMTS


– Δίκτυο ραδιοκυματικής πρόσβασης (RAN)
• GERAN ή UTRAN
– Δίκτυο κορμού (CN): GSM ή GPRS
– Εξοπλισμός χρήστη (UE): ΜΤ και TE
17

Δίκτυα UMTS (2 από 5)


• Προδιαγραφές UMTS: Release 5, 6, 7, …
– Από το ETSI πέρασαν στο 3GPP
• Ικανότητες υπηρεσίας
– Μηχανισμοί υλοποίησης υπηρεσιών
• Μπορούν να συνδυαστούν για εφαρμογές
– Παλιότερα: αυστηρός ορισμός υπηρεσιών
• Υπηρεσίες φορέα: μετάδοση σημάτων
• Τηλεϋπηρεσίες: εφαρμογές (π.χ. τηλεφωνία)
• Συμπληρωματικές υπηρεσίες (π.χ. προώθηση)

18
Δίκτυα UMTS (3 από 5)
• Δίκτυο κορμού
– Εξυπηρετητής HSS
• Πεδίο CS
– GMSC πύλης
– VMSC επισκεπτών
– Βάση VLR
• Πεδίο PS
– GSN πύλης
– GSN εξυπηρέτησης

19

Δίκτυα UMTS (4 από 5)


• Ραδιοδίκτυο
– GSM EDGE RAN
• Παρόμοιο με GSM
• Περιοχή BSS
• Ελεγκτές BSC
• Ελεγκτές BTS
• 384/144 Kbps
– UTRAN
• Νέο δίκτυο

20
Δίκτυα UMTS (5 από 5)
• Universal Terrestrial RAN
– Περιοχή RNS
– Ελεγκτές RNC
– Ελεγκτές Node-B
– TDD ή FDD και W-CDMA
– Πάνω από 2 Mbps
• Συνεχόμενες αυξήσεις με επεκτάσεις
– Έλεγχος ισχύος
– Βελτιωμένες μεταβιβάσεις

21

Πολυμεσικό υποσύστημα IP
Τι είναι το IMS; (1 από 3)
• Πολυμεσικό υποσύστημα IP (IMS)
– Επεκτείνει υπηρεσίες μεταφοράς πακέτων
– Εγκαθίδρυση και έλεγχος συνεδριών με SIP
– Δέσμευση απαιτούμενων πόρων
• Υποστήριξη εφαρμογών
– Έλεγχος από εξυπηρετητή εφαρμογών (AS)
– Διάφοροι AS υποστηρίζουν διάφορες εφαρμογές
– Ο AS έχει πρόσβαση στις ικανότητες

23

Τι είναι το IMS; (2 από 3)

• Σχέση του IMS με το δίκτυο UMTS


– Υποσύστημα του CN
– Αξιοποιεί πεδίο PS για μεταφορά δεδομένων
24
Τι είναι το IMS; (3 από 3)
• Παρεχόμενες ικανότητες (όχι εφαρμογές)
– Ταυτότητες άκρων
– Περιγραφές μέσων
– Υπηρεσίες πραγματικού χρόνου
• Ανάμεσα σε ανθρώπους
– Υπηρεσίες ροής από μηχανή σε άνθρωπο
– Γενικευμένη διαχείριση ομάδων
– Γενικευμένη επικοινωνία ομάδων

25

Δομή του IMS (1 από 4)

• Λειτουργίες ελέγχου εξυπηρετητή κλήσεων


• Λειτουργίες που σχετίζονται με δεδομένα
• Διαλειτουργικότητα
26
Δομή του IMS (2 από 4)
• Λειτουργίες ελέγχου εξυπηρετητή κλήσεων
– Πληρεξούσιος CSCF (P-CSCF)
• Σημείο επικοινωνίας χρήστη με τρέχον δίκτυο
– Εξυπηρετούσα CSCF (S-CSCF)
• Σημείο επικοινωνίας χρήστη με οικείο δίκτυο
– Ερωτήτρια CSCF (I-CSCF)
• Κατανομή εισερχόμενων κλήσεων
– Λειτουργία εντοπισμού συνδρομών (SLF)

27

Δομή του IMS (3 από 4)


• Λειτουργίες που σχετίζονται με δεδομένα
– Επεξεργασία πόρων μέσων (MRFP)
• Απαιτεί διαρκή χρήση DSP
– Έλεγχος πόρων μέσων (MRFC)
• Απαιτεί περιοδική χρήση CPU
– Υποστήριξη εφαρμογών που παρέχει ένα AS
– Επεξεργασία δεδομένων μέσα στο δίκτυο
• Μίξη ήχου, αλλαγή κωδικοποίησης
• Δεν χρειάζεται να μεταφέρονται δεδομένα

28
Δομή του IMS (4 από 4)
• Διαλειτουργικότητα
– Πύλη μέσων (MGW)
– Λειτουργία ελέγχου πύλης μέσων (MGCF)
– Πύλη σηματοδοσίας (SGW)
– Λειτουργία ελέγχου πύλης εξόδου (BGCF)
• Σηματοδοσία πάνω από SIP
– Τα μηνύματα περιέχουν προδιαγραφές SDP
• Μετάδοση δεδομένων πάνω από RTP/UDP/IP
29

Λειτουργία του IMS (1 από 3)

• Εγγραφή του χρήστη στις CSCF


– Εγγραφή του UE στην τοπική P-CSCF
– Επικοινωνία P-CSCF με I-CSCF οικείου δικτύου
• Ερώτηση στην SLF για εντοπισμό του HSS
– Επικοινωνία με την S-CSCF που ορίζει ο HSS
30
Λειτουργία του IMS (2 από 3)
• Περιβάλλον PDP (packet data protocol)
– Δομή δεδομένων για χρήση IP (και όχι μόνο)
– Περιέχει διεύθυνση IP του χρήστη
– Δημιουργείται με τα πρωτόκολλα του UMTS
– Μετά επικοινωνούμε μέσω IP
• Εγκαθίδρυση κλήση μέσω IMS
– Σηματοδοσία μέσω οικείων δικτύων

31

Λειτουργία του IMS (3 από 3)

32
Πολυμεσική υπηρεσία
(πολύ)εκπομπής

Τι είναι η MBMS; (1 από 2)


• Πολυμεσική υπηρεσία (πολυ)εκπομπής
– Multimedia Broadcast / Multicast Service (MBMS)
– Πραγματική πολυεκπομπή σε δίκτυα UMTS
– Μόνο από GGSN προς UE όμως
• Παλιότερα πολυεκπομπή = πολλές μονοεκπομπές
– GGSN και SGSN στέλνουν κάθε πακέτο μία φορά
– Χρήση πιο οικονομικής μεθόδου στο ασύρματο
• Εξαρτάται από κελί και χρήστες

34
Τι είναι η MBMS; (2 από 2)
• Εφαρμογές της MBMS
– Ροή πολυμέσων
– Αξιόπιστη διανομή αρχείων
• Τρόποι λειτουργίας
– Εκπομπή: χρέωση μόνο του αποστολέα
• Μπορεί να απενεργοποιηθεί τοπικά
– Πολυεκπομπή: χρέωση αποστολέα / παραλήπτη
• Ανάλογα με την εφαρμογή

35

Δομή MBMS

• Κέντρο εκπομπής / πολυεκπομπής (BM-SC)


– Ελέγχει τις υπηρεσίες MBMS
– Διανέμει δεδομένα από παρόχους
• Εσωτερικούς ή εξωτερικούς στο δίκτυο
– Μετάδοση δεδομένων μέσω του GGSN

36
Λειτουργία MBMS (1 από 5)

• Φάσεις MBMS (εκπομπή)


– Εκτελούνται για όλους τους UE

37

Λειτουργία MBMS (2 από 5)

• Φάσεις MBMS (πολυεκπομπή)


– Πρόσθετες φάσεις
• Εκτελούνται για κάθε UE χωριστά

38
Λειτουργία MBMS (3 από 5)
• Δένδρα διανομής MBMS
– Το δίκτυο έχει δενδρική μορφή
– Δημιουργία δένδρου προς κατάλληλους UE
• Προσχωρούν στην υπηρεσία με μήνυμα IGMP
– Περιβάλλον UE: ένα για κάθε χρήστη
– Περιβάλλον φορέα: ένα για κάθε υπηρεσία
• Πληροφορίες ποιότητας υπηρεσίας
• Δομή δένδρου: παιδιά κόμβου στο δένδρο

39

Λειτουργία MBMS (4 από 5)


• Επιλογή καναλιών στο RAN
– Για λίγους χρήστες συμφέρει η μονοεκπομπή!
• Στη μονοεκπομπή έχουμε έλεγχο ισχύος
– Για πολλούς χρήστες συμφέρει η εκπομπή
• Όταν μέγιστη ισχύς < σύνολο μονοεκπομπών
• Δημιουργία καναλιών στο RAN
– Το δίκτυο δεν παρακολουθεί όλους τους UE
• Μόνο όσους έχουν συνδέσεις σηματοδοσίας
– Πώς θα μάθουμε πόσοι χρήστες υπάρχουν;

40
Λειτουργία MBMS (5 από 5)
• Μέτρηση UE
– Γίνεται όταν ξεκινάει η διανομή
– Αποστολή μηνύματος σε UE για υπηρεσία
• Εγκαθίδρυση σύνδεσης σηματοδοσίας
• Με πιθανότητα που αναφέρει το μήνυμα
– Εκτίμηση του πλήθους με βάση την πιθανότητα
• Παράδειγμα: πιθανότητα 5%
• Συνδέθηκε 1 χρήστης, άρα υπάρχουν 20

41

Ποιότητα υπηρεσίας
Παράμετροι υπηρεσιών (1 από 4)
• Τέσσερις κλάσεις υπηρεσιών
• Συνομιλίας: εφαρμογές πραγματικού χρόνου
– Μικρή καθυστέρηση και διαταραχή
• Ροής: μικρή διαταραχή μόνο
• Αλληλεπίδρασης
– Αξιοπιστία και ευελιξία σε καθυστέρηση
• Παρασκηνίου: μαζική μετάδοση
– Μόνο αξιοπιστία

43

Παράμετροι υπηρεσιών (2 από 4)


Κλάση υπηρεσίας Συνομιλίας Ροής Αλληλεπίδρασης Παρασκηνίου
Μέγιστος ρυθμός μετάδοσης X X X X
Μέγιστο μέγεθος πακέτων X X X X
Ποσοστό εσφαλμένων πακέτων X X X X
Υπολειμματικό ποσοστό σφαλμάτων X X X X
Σειρά μετάδοσης X X X X
Παράδοση εσφαλμένων πακέτων X X X X
Προτεραιότητα εγκαθίδρυσης/διατήρησης X X X X
Εγγυημένος ρυθμός μετάδοσης X X
Όριο καθυστέρησης μετάδοσης X X
Πληροφορίες μορφότυπου πακέτων X X
Περιγραφή στατιστικών πηγής X X
Προτεραιότητα διαχείρισης κίνησης X
Ενημέρωση σηματοδοσίας X

44
Παράμετροι υπηρεσιών (3 από 4)
• Ποιότητα υπηρεσίας MBMS
– Μόνο ροής ή παρασκηνίου
• Η διανομή είναι αυστηρά μονόδρομη
– Ίδιες παράμετροι σε όλο το δένδρο
• Καθορίζονται από BM-SC
• Ορίζονται κατά την έναρξη της συνόδου
• Δεν μπορούν να μεταβληθούν στη συνέχεια

45

Παράμετροι υπηρεσιών (4 από 4)


• Περιγραφή συνόδων IMS
– Προδιαγραφές SDP στα μηνύματα SIP
– Ανταλλάσσονται μέσω PDP σηματοδοσίας
• Εγκαθιδρύεται από την αρχή
– Δευτερεύοντα περιβάλλοντα PDP ανά μέσο
• Εγκαθιδρύονται ανάλογα με το SDP
• Πιθανόν διαφορετικές απαιτήσεις ανά μέσο
– Φίλτρο για ταίριασμα πακέτων με περιβάλλοντα
46
Υλοποίηση υπηρεσιών (1 από 5)
• Υλοποίηση ποιότητας υπηρεσίας
– Εξαρτάται από τον πάροχο
– Προτείνεται αρχιτεκτονική με βάση πολιτικές
• Λειτουργία καθορισμού πολιτικής (PDF)
– Παρεμβαίνει στη σηματοδοσία SIP
– Ανακτά κανόνες πολιτικής από PIB
– Μεταφράζει κανόνες σε εντολές διάρθρωσης
• Εντολές ανάλογα με το δίκτυο και το υλικό

47

Υλοποίηση υπηρεσιών (2 από 5)

• Λειτουργία επιβολής πολιτικής (PEF)


– Υλοποιεί τις επιθυμητές πολιτικές
– Παρεμβαίνει στα διερχόμενα πακέτα
• Συνδυάζεται με το GGSN
– Επικοινωνεί με PDF μέσω COPS-PR
48
Υλοποίηση υπηρεσιών (3 από 5)
• Εγκαθίδρυση κλήσης: πρώτο στάδιο
– Ο καλών στέλνει πρόσκληση SIP/SDP μέσω CSCF
– Ο καλούμενος απαντά με ενημερωμένο SIP/SDP
– Η PDF του καλούμενου εγκρίνει την κλήση
• Στέλνει πληροφορίες στον καλούμενο
– Η PDF του καλούντα εγκρίνει την κλήση
• Στέλνει πληροφορίες στον καλούντα

49

Υλοποίηση υπηρεσιών (4 από 5)


• Εγκαθίδρυση κλήσης: δεύτερο στάδιο
– Κάθε UE ενεργοποιεί τα κατάλληλα PDP
– Κάθε UE στέλνει αίτημα στον GGSN
– Ο GGSN επιβεβαιώνει το αίτημα με την PDF
– Η PEF εγκαθιστά τα κατάλληλα φίλτρα
• Εγκαθίδρυση κλήσης: τρίτο στάδιο
– Ο καλών στέλνει το τελικό SIP στον καλούμενο
– Οι δύο PDF ανοίγουν τις πύλες στις δύο PEF

50
Υλοποίηση υπηρεσιών (5 από 5)

• Παράδειγμα εγκαθίδρυσης
– Διάκριση δεδομένων και σηματοδοσίας
– Σηματοδοσία που δεν ορίζεται από 3GPP
51

You might also like