Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Συμπίεση Ψηφιακών Εικόνων: Συμπίεση χωρίς απώλειες

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Συμπίεση Ψηφιακών Εικόνων: Συμπίεση χωρίς απώλειες"— Μεταγράφημα παρουσίασης:

1 Συμπίεση Ψηφιακών Εικόνων: Συμπίεση χωρίς απώλειες
ΔΤΨΣ 150 – Ψηφιακή Επεξεργασία Εικόνας Συμπίεση Ψηφιακών Εικόνων: Συμπίεση χωρίς απώλειες Τμήμα Διδακτικής της Τεχνολογίας και Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς

2 Περιεχόμενα – Βιβλιογραφία
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Περιεχόμενα – Βιβλιογραφία Περιεχόμενα Ενότητας Εισαγωγή - Βασικά Στοιχεία Συμπίεσης Ψηφιακών Εικόνων Κατηγορίες Τεχνικών Συμπίεσης Μοντέλο Συμπίεσης Εικόνων Συμπίεση χωρίς Απώλειες (lossless compression) Κωδικοποίηση Huffman Κωδικοποίηση Μήκους Διαδρομής Προβλεπτική Κωδικοποίηση Βιβλιογραφία: Πήτας [1999]: Κεφάλαιο 9, Ενότητες Gonzales [2002]: Chapter 8, Sections Gonzales [2004]: Chapter 8, Sections

3  Εισαγωγή - Βασικά Στοιχεία
 Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Εισαγωγή Συμπίεση ονομάζουμε τη διαδικασία ελάττωσης των δεδομένων που χρειάζονται για την αναπαράσταση μιας μορφής πληροφορίας (όπως εικόνες, ήχος, κείμενο, βίντεο κλπ) Δεδομένα ονομάζουμε το μέσο απεικόνισης - αναπαράστασης της πληροφορίας. Για παράδειγμα θεωρήστε δύο αφηγητές που διηγούνται την ίδια ιστορία Η πληροφορία που πρέπει να μεταδοθεί είναι η ιστορία Τα δεδομένα μέσω των οποίων μεταφέρεται η πληροφορία στους ακροατές είναι οι λέξεις Αν ο ένας εκ των δύο αφηγητών χρησιμοποιεί περισσότερες λέξεις για την αφήγηση της ιστορίας τότε χρησιμοποιεί πλεονασματικά δεδομένα (η ιστορία γίνεται αντιληπτή και χωρίς τις επιπλέον αυτές λέξεις. Στις ψηφιακές εικόνες πληροφορία θεωρούμε την εικόνα και δεδομένα των αριθμό των bits που χρειάζονται για την αναπαράσταση της Στη πραγματικότητα τα δεδομένα είναι οι τιμές χρώματος ή φωτεινότητας των pixel καθώς και οι διαστάσεις της εικόνας. Όμως και αυτά δεδομένα αναπαρίστανται τελικά ως bits

4 Γιατί χρειάζεται Συμπίεση;
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Γιατί χρειάζεται Συμπίεση; Αποθήκευση: Πόση διάρκεια ασυμπίεστου ψηφιακού βίντεο μπορεί να αποθηκευτεί σε ένα CD-ROM; Τι χωρητικότητα μνήμης χρειαζόμαστε για να αποθηκεύσουμε: Το ραδιοτηλεοπτικό αρχείο της ΕΡΤ; Απεικονιστικές εξετάσεις ασθενών (π.χ. υπέρηχοι) που παράγονται κατά εκατοντάδες την ημέρα σε ένα νοσοκομείο; Μετάδοση: Μπορώ να παρακολουθήσω ένα τηλεοπτικό πρόγραμμα που μεταδίδεται Διαδικτυακά: Αν έχω σύνδεση PSTN (modem 56kbs); Αν έχω σύνδεση ISDN (2x64 kbps); Aν έχω σύνδεση ADSL (256 kbps – 2 Mbps); Αν βρίσκομαι στο Πανεπιστήμιο και έχω σύνδεση LAN (10 Mbps, 100Mbps);

5 Γιατί χρειάζεται Συμπίεση (II);
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Γιατί χρειάζεται Συμπίεση (II); Κόστος: Πόσο θα πληρώσω αν έχω χρέωση με βάση τη διάρκεια σύνδεσης; Πόσο θα πληρώσω αν έχω χρέωση με τον όγκο της διακινούμενης πληροφορίας; Ικανοποίηση χρήσης εφαρμογών πολυμέσων: Πόσο πρέπει να περιμένει ο χρήστης για να ακούσει την απάντηση του συνομιλητή του σε περιβάλλον τηλεδιάσκεψης; Πόσο πρέπει να περιμένει ο χρήστης για να δει μια εικόνα στην ιστοσελίδα που έχει επισκεφθεί; Πόσο πρέπει να περιμένει ο χρήστης για να δει ένα βίντεο ή ένα animation στη ιστοσελίδα που έχει επισκεφθεί;

6 Μερικά παραδείγματα Κείμενο Γραφικά Eικόνες
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Μερικά παραδείγματα Κείμενο Μια σελίδα κειμένου περιέχει προσεγγιστικά 4800 χαρακτήρες => ~4,8 kbytes σε κωδικοποίηση ASCII ~9,6 kbytes σε κωδικοποίηση Unicode Γραφικά Μια εικόνα γραφικών περιέχει προσεγγιστικά 500 γραμμές => Για κάθε γραμμή ορίζονται οι συντεταγμένες της αρχής (2 x 10 bits), οι συντεταγμένες του τέλους (2 x 10 bits) και 8 bits για τον χαρακτηρισμό των ιδιοτήτων της γραμμής => 500 x 48 bits ~= 3 kbytes Eικόνες Μια εικόνα 640 x 480 pixels με 256 αποχρώσεις του γκρί => 640 x 480 x 1 byte ~= 307 kbytes Η ίδια εικόνα σε πραγματικό χρώμα (3 bytes per pixel) => 640 x 480 x 3 byte ~= 921 kbytes

7 Μερικά παραδείγματα (ΙΙ)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Μερικά παραδείγματα (ΙΙ) Ήχος: Τηλεφωνική ποιότητα => ~ 8 kbyte / sec Ποιότητα CD => 1,411 Mbps => ~ 176 kbyte / sec Ένα τυπικό CD-ROM της αγοράς χωράει: 74 λεπτά μουσικής, ποιότητας CD ή δευτερόλεπτα ασυμπίεστου ψηφιακού βίντεο Βίντεο Τηλεοπτική ποιότητα (π.χ. ανάλογο του PAL system) => 625 lines x 840 pixel /line x 3 bytes /pixel x 25 frames (εικόνες) /sec => 39 Mbyte / sec Τηλεόραση Υψηλής Ευκρίνειας (HDTV) (διπλάσιος αριθμός γραμμών, aspect ratio 16:9 αντί 4:3)=> 5.33 x Τηλεοπτική ποιότητα => 208 Mbyte / sec 120 GB δίσκος χωράει λιγότερο από 60 λεπτά ασυμπίεστου ψηφιακού βίντεο

8 Ορισμός Συμπίεσης Μέσα αποθήκευσης με μεγαλύτερη χωρητικότητα
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Ορισμός Συμπίεσης Μέσα αποθήκευσης με μεγαλύτερη χωρητικότητα Δίκτυα μετάδοσης πληροφοριών με μεγαλύτερο bandwidth (ταχύτητα μετάδοσης) Ναι αλλά για ποιους; Μήπως συμπίεση; Μείωση του αριθμού bits ΑΛΛΑ με συμβιβασμό (π.χ. διαθεσιμότητα, ποιότητα της πληροφορίας) Συμπίεση: Μια συνάρτηση g εφαρμόζεται σε κάθε ενότητα δεδομένων di ώστε να παραχθούν δεδομένα mi  g(di) = mi Στόχος: Ο περιορισμός του μεγέθους που καταλαμβάνει μια ποσότητα πληροφορίας

9 Ορισμός Συμπίεσης (II)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Ορισμός Συμπίεσης (II) Αποσυμπίεση: Μια συνάρτηση gr εφαρμόζεται στα δεδομένα mi ώστε να παραχθούν τα δεδομένα dr  gr(mi) = dr Trade-off: Ποσοστό Συμπίεσης vs. Παραποίηση Δεδομένων Ένας αλγόριθμος συμπίεσης προκαλεί μια σειρά μετασχηματισμών στο αρχικό σήμα οι οποίοι μπορεί να είναι: χωρίς απώλειες ή αντιστρεπτοί (lossless compression algorithms) με απώλειες ή μη αντιστρεπτοί (lossy compression algorithms) Η μορφή συμπίεσης που επιλέγουμε εξαρτάται από το είδος της πληροφορίας

10 Περιορισμοί Συμπίεσης
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Περιορισμοί Συμπίεσης Οι απαιτήσεις κατά τη συμπίεση και αποσυμπίεση κάποιας μορφής πληροφορίας διαφοροποιούνται από εφαρμογή σε εφαρμογή Εξαρτώνται άμεσα από το αν η εφαρμογή είναι διαλογικού τύπου ή τύπου ανάκλησης δεδομένων Εφαρμογές διαλογικού τύπου Η διαδικασία συμπίεσης / αποσυμπίεσης δεν πρέπει να διαρκεί πάνω από 150 msecs (end-to-end delay) για συνηθισμένες εφαρμογές Καθυστέρηση της τάξης των 50 msecs για “face-to-face” εφαρμογές Για τη συνολική end-to-end καθυστέρηση πρέπει να συνυπολογιστούν καθυστερήσεις που οφείλονται στο δίκτυο, το πρωτόκολλο επικοινωνίας, τις συσκευές Ι/Ο που χρησιμοποιούνται κλπ.

11 Περιορισμοί Συμπίεσης (ΙΙ)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Περιορισμοί Συμπίεσης (ΙΙ) Εφαρμογές τύπου ανάκλησης δεδομένων (Retrieval Mode) Γρήγορη αναζήτηση και ανάκτηση πληροφοριών (forward and backward) και ταυτόχρονη προβολή τους Τυχαία προσπέλαση σε οποιοδήποτε πλαίσιο εικόνας ή ήχου, με χρόνο προσπέλασης μικρότερο από 0,5 sec Δυνατότητα αποσυμπίεσης σε τυχαία μεμονωμένα πλαίσια (έτσι ώστε να επιτρέπεται η επεξεργασία τους)

12  Εισαγωγή - Βασικά Στοιχεία
 Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Πλεονασμός δεδομένων Η συμπίεση είναι εφικτή επειδή υπάρχει πλεονασμός δεδομένων όσον αφορά την αναπαράσταση της πληροφορίας. Στις εικόνες πλεονασμός αυτός μπορεί να προέρχεται από: Πλεονασμό κωδικοποίησης: Αναπαράσταση των τιμών φωτεινότητας ή χρώματος των pixel με κώδικες οι οποίοι απαιτούν μεγαλύτερο αριθμό bits από όσο χρειάζεται Πλεονασμό pixel Υπάρχει συσχέτιση μεταξύ των των τιμών των pixels (ή των αναπαραστάσεων τους). H τιμή φωτεινότητας ή χρώματος γειτονικών pixel συνήθως είναι παρόμοια ή έχει κάποια σχέση. Οι ομοιόμορφες περιοχές έχουν πολύ παρόμοια επίπεδα φωτεινότητας Για παράδειγμα οι τιμές φωτεινότητες των pixel κατά μήκος των ακμών έχουν παρόμοιες σχέσεις. Εικόνες υφής (texture - pattern) έχουν πλεονασμό εκ φύσεως λόγο της περιοδικής συμμετρίας, κλπ. Ψυχο-οπτικό πλεονασμό: Λαμβάνεται υπόψη η οπτική ικανότητα των ανθρώπων

13  Εισαγωγή - Βασικά Στοιχεία
 Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Μετρήσεις Συμπίεσης Bits για κάθε pixel (ΒPΡ – Bits Per Pixel) είναι ο μέσος αριθμός των bits που χρειάζονται την αποθήκευση των επιπέδων φωτεινότητας για κάθε pixel της εικόνας Σε μια μη-συμπιεσμένη εικόνα BPP = log2(K) = B: όπου K = ο αριθμός των επιτρεπόμενων επιπέδων φωτεινότητας (π.χ 256 – από [0 255]. Συνήθως B = log2(256) = 8. Ο αριθμός των bits που χρησιμοποιούνται για την κωδικοποίηση των pixel μπορεί να διαφέρει κατά μήκος της κωδικοποιημένης εικόνας (Variable Length Coding – VLC). Ας ορίσουμε το B(x, y) = ο αριθμός των bits που χρησιμοποιούνται για την κωδικοποίηση του pixel f(x,y). Τότε: όπου Μ,Ν οι γραμμές και οι στήλες της εικόνας f αντίστοιχα

14 Μετρήσεις Συμπίεσης (II)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Μετρήσεις Συμπίεσης (II) O ολικός αριθμός Btotal των bits που χρησιμοποιείται για την αναπαράσταση της εικόνας f δεν απαρτίζεται μόνο από την περιγραφή των τιμών των pixel αλλά και από την επικεφαλίδα της εικόνας. Στην επικεφαλίδα (header) περιλαμβάνονται στοιχεία όπως: Οι διαστάσεις της εικόνας Η μορφή συμπίεσης της εικόνας Πληροφορία για την αναπαράσταση της εικόνας (έγχρωμη, παλέτας, αποχρώσεων του γκρι) Επομένως τελικά ο μέσος αριθμός BPP δίνεται από τη σχέση: Ο λόγος συμπίεσης CR (Compression Ratio) δίνεται από τη σχέση (Β είναι αριθμός bits per pixel της ασυμπίεστης εικόνας):

15  Εισαγωγή - Βασικά Στοιχεία
 Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Ποιότητα συμπίεσης Η αξιολόγηση της ποιότητας μιας συμπιεσμένης εικόνας γίνεται με τη βοήθεια μιας ομάδας εμπειρογνωμόνων σε θέματα εικόνας. Πρόκειται προφανώς για υποκειμενική αξιολόγηση Η βαθμολόγηση της ποιότητας γίνεται με βάση την ταξινόμηση του επόμενου πίνακα.

16 Πλεονασμός Κωδικοποίησης
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Πλεονασμός Κωδικοποίησης Η αναπαράσταση των τιμών φωτεινότητας ή χρώματος μιας ασυμπίεστης εικόνα γίνεται με συγκεκριμένο και προκαθορισμένο αριθμό bits per pixel Β Συνήθως έχουμε Β=1 για μαυρόασπρες εικόνες (binary images), Β=8 για εικόνες αποχρώσεων του γκρι ή παλέτας χρωμάτων (indexed) και Β=24 για εικόνες πλήρους χρώματος (full color – RGB). Τι γίνεται αν έχουμε περιορισμένο πλήθος διαφορετικών τιμών φωτεινότητας ή αν ορισμένες τιμές φωτεινότητας είναι πολύ περισσότερο συχνές από άλλες;

17 Πλεονασμός Κωδικοποίησης
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Πλεονασμός Κωδικοποίησης Έστω μια εικόνα με οκτώ (8) διαφορετικές τιμές φωτεινότητας rk (k=0..7) όπως φαίνεται στον επόμενο πίνακα. Για την κωδικοποίηση των τιμών αυτών με σταθερό μήκος λέξης χρειαζόμαστε B bits per pixel όπου Β τ.ω.: 2Β ≥ 8. Προφανώς στη συγκεκριμένη περίπτωση Β=3. Η πιθανότητα εμφάνισης pr(rk) των τιμών φωτεινότητας δίνεται επίσης στον επόμενο πίνακα (Πως υπολογίζεται αυτή η πιθανότητα;) Είναι φανερό ότι αν κωδικοποιήσουμε τις τιμές φωτεινότητας με μεγαλύτερη πιθανότητα εμφάνισης με λιγότερα bits θα επιτύχουμε αναπαράσταση της εικόνας με BPP<B. Άρα υπάρχει κάποιος κώδικας αναπαράστασης της εικόνας που κωδικοποιεί την εικόνα περισσότερο αποτελεσματικά. Πόσο είναι τo BPP στην συγκεκριμένη περίπτωση;

18  Εισαγωγή - Βασικά Στοιχεία
 Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Πλεονασμός pixel Οι τιμές φωτεινότητας ή χρώματος γειτονικών pixel σπάνια διαφέρουν σημαντικά. Ακόμα και αν οι συχνότητες εμφάνισης τιμών φωτεινότητας δεν παρουσιάζουν σημαντική διακύμανση (ώστε να υπάρχει πλεονασμός κωδικοποίησης) οι διαφορές ανάμεσα σε γειτονικά pixel θα έχουν παρόμοιες τιμές Επομένως αντί να κωδικοποιούμε τις ίδιες τις τιμές φωτεινότητας κωδικοποιούμε απλά τις διαφορές ανάμεσα σε γειτονικά pixel Οι διαφορές έχουν μικρότερο εύρος τιμών άρα μπορούν να κωδικοποιηθούν με λιγότερα bits.

19 Ψυχοοπτικός πλεονασμός (Psychvisual redundancy)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Ψυχοοπτικός πλεονασμός (Psychvisual redundancy) Υπάρχει πληροφορία στη εικόνα η οποία δεν μπορεί να γίνει αντιληπτή από το ανθρώπινο οπτικό σύστημα. Για παράδειγμα απότομες αλλαγές φωτεινότητας δεν γίνονται εύκολα αντιληπτές Για να γίνει αντιληπτή μια μεταβολή φωτεινότητας η μεταβολή αυτή πρέπει να είναι αρκετά μεγάλη σε σχέση με την τιμή φωτεινότητας πριν τη μεταβολή Το ανθρώπινο οπτικό σύστημα ενώ μπορεί να διαχωρίσει περισσότερα χρώματα από τιμές φωτεινότητας είναι περισσότερο ευαίσθητο στην ύπαρξη σωστού φωτισμού Η αξιοποίηση του ψυχοοπτικού πλεονασμού δεν είναι πάντα προφανής. Το πρότυπο JPEG χρωστά ένα μέρος από την αποτελεσματικότητα του, όσον αφορά την συμπίεση, στην αξιοποίηση του ψυχοοπτικού πλεονασμού χρησιμοποιώντας πιο ευρείες στάθμες κβαντισμού για τις υψηλές συχνότητες της εικόνας

20 Κατηγορίες Τεχνικών Συμπίεσης
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Κατηγορίες Τεχνικών Συμπίεσης Ανάλογα με τη σχέση που έχει η αρχική εικόνα µε το αποτέλεσμα της αποσυμπίεσης υπάρχουν δύο κατηγορίες μεθόδων συμπίεσης: Τεχνικές χωρίς απώλειες (lossless compression schemes): Δεν μεταβάλλουν τα χαρακτηριστικά της εικόνας κατά τη διάρκεια της συμπίεσης => η εικόνα που προκύπτει κατά την αποσυμπίεση είναι ακριβές αντίγραφο της αρχικής. Τεχνικές αυτής της μορφής χρησιμοποιούνται για τη συμπίεση εικόνων οι οποίες δε θα πρέπει να αλλοιωθούν κατά τη διαδικασία της συμπίεσης / αποσυμπίεσης (π.χ. ιατρικά εικόνες όπως υπερηχογραφήματα). Τεχνικές με απώλειες (lossy compression schemes): Αλλοιώνουν τα χαρακτηριστικά της εικόνας κατά τη διαδικασία της συμπίεσης. Τεχνικές αυτής της μορφής χρησιμοποιούνται για τη συμπίεση εικόνων στις περισσότερες εφαρμογές (όπως μετάδοση τηλεοπτικών προγραμμάτων, μεταφορά μέσω του Διαδικτύου κλπ). Οι αλλοιώσεις εισάγονται επιλεκτικά στην εικόνα ώστε να μην γίνονται εύκολα αντιληπτές.

21 Κατηγορίες Τεχνικών Συμπίεσης (ΙΙ)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Κατηγορίες Τεχνικών Συμπίεσης (ΙΙ) Ανάλογα με τη μέθοδο που ακολουθείται για τη συμπίεση εικόνων: Τεχνικές κωδικοποίησης εντροπίας (entropy encoding): Είναι τεχνικές χωρίς απώλειες οι οποίες δε λαμβάνουν υπόψη τους τη φύση των εικόνων στις οποίες εφαρμόζονται. Οι συγκεκριμένες μέθοδοι θεωρούν ότι η εικόνα που συμπιέζεται είναι απλά μία σειρά από δυαδικά ψηφία. Εκμετάλλευση του πλεονασμού κωδικοποίησης Τεχνικές κωδικοποίησης πηγής (source encoding): Λαμβάνουν υπόψη τους τη φύση της εικόνας που συμπιέζεται. Εκμετάλλευση του πλεονασμού pixel . Πετυχαίνουν μεγαλύτερους βαθμούς συμπίεσης από τις κωδικοποιήσεις εντροπίας αν και ο βαθμός συμπίεσης είναι μεταβλητός και εξαρτάται από τη μορφή της συγκεκριμένης εικόνας. Μπορεί να είναι τεχνικές με ή χωρίς απώλειες Υβριδικές τεχνικές (hybrid encoding): Αν και μερικές τεχνικές ανήκουν σε κάποια από τις παραπάνω δύο κατηγορίες, οι περισσότερες είναι υβριδικές (οι σχετικοί αλγόριθμοι χρησιμοποιούν ένα μίγμα τεχνικών εντροπίας και πηγής)

22 Τεχνικές Κωδικοποίησης Εντροπίας
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Τεχνικές Κωδικοποίησης Εντροπίας Διακρίνονται σε: Τεχνικές Μήκους Διαδρομής (Run Length Encoding) RLC (Run Length Coding) Zero Suppression Στατιστικές: Huffman Αριθμητική Αντικατάσταση προτύπων – packbits encoding (π.χ. LZW, LUT)

23 Τεχνικές Κωδικοποίησης Πηγής
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Τεχνικές Κωδικοποίησης Πηγής Διακρίνονται σε: Προβλεπτικές DPCM (Difference Pulse Code Modulation) DM (Difference Modulation) Μετασχηματισμού FFT (Fast Fourier Transform) DCT (Discrete Cosine Transform) Στρωματοποίησης (Layered) Subband Coding Διανυσματικές Ταύτισης με προκαθορισμένα πρότυπα Quadtree Fractals

24  Εισαγωγή - Βασικά Στοιχεία
 Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Υβριδικές Τεχνικές Αποτελούν συνδυασμό μεθόδων από τις άλλες κατηγορίες Έχουν υλοποιηθεί από πολύ επιτυχημένα πρότυπα κωδικοποίησης (coding standards) JPEG (Joint Photographic Experts Group) Συνδυάζει κωδικοποίηση μετασχηματισμού (DCT) και μήκους διαδρομής (RLC) H263 (συμπίεση βίντεο): Συνδυάζει κωδικοποίηση μετασχηματισμού (DCT), προβλεπτική (αντιστάθμιση κίνησης – MC: motion compensation) και μήκους διαδρομής (RLC) MPEG (Moving Pictures Expert Group) - (συμπίεση βίντεο, ήχου): Συνδυάζει κωδικοποίηση μετασχηματισμού (DCT), προβλεπτική (αντιστάθμιση κίνησης – MC: motion compensation), μήκους διαδρομής (RLC) και στρωματοποίησης (Subband Coding) για την συμπίεση του ήχου (MP3).

25 Μοντέλο Συμπίεσης Εικόνων
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Μοντέλο Συμπίεσης Εικόνων Το βασικό μοντέλο συμπίεσης εικόνων περιγράφεται από το επόμενο σχήμα. Περιλαμβάνει τρία βασικά στάδια: Ταύτιση (Mapping) – Έχουμε κάποιας μορφής μετασχηματισμό στις τιμές φωτεινότητας της εικόνας (π.χ. Μετασχηματισμό στο χώρο της συχνότητας, εύρεση διαφορών ανάμεσα γειτονικά pixel κλπ) Κβάντισμός (Quantization) –Περιορισμός των διακριτών τιμών της μετασχηματισμένης εικόνες οι οποίες θα αναπαρασταθούν Κωδικοποίηση (Encoder) – Αναπαράσταση με δυαδική συμβολοσειρά κάθε κβαντισμένης στάθμης (σύμβολο)

26 Συμπίεση χωρίς Απώλειες
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Συμπίεση χωρίς Απώλειες Οι τεχνικές συμπίεσης χωρίς απώλειες επιτυγχάνουν συμπίεση της εικόνας έτσι ώστε η αρχική εικόνα να μπορεί να ανασκευαστεί ακριβώς από τη συμπιεσμένη εικόνα. Συνήθως στη συμπίεση χωρίς απώλειες δεν επιτυγχάνεται μεγάλος βαθμός συμπίεσης Ο λόγος συμπίεσης που επιτυγχάνεται κυμαίνεται συνήθως στο διάστημα :1 ≤ CR ≤ 3:1 αν και γενικά αλλάζει από εικόνα σε εικόνα Εφαρμογές: Αποθήκευση ιατρικών εικόνών Αποθήκευση σκανναρισμένων εγγράφων ή φωτογραφημένων έργων τέχνης. Βασικές Αρχές Χρησιμοποίηση μεταβλητού μήκους λέξης – variable length encoding (κώδικα) για κωδικοποίηση των επιπέδων φωτεινότητας. Χρήση μικρού μήκους λέξης για φωτεινότητες οι οποίες εμφανίζονται συχνά.

27 Τεχνικές Κωδικοποίησης Εντροπίας
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Τεχνικές Κωδικοποίησης Εντροπίας Τι είναι εντροπία (entropy) εικόνας Ο (θεωρητικά) ελάχιστος αριθμός από bits ανά pixel (τιμή φωτεινότητας ή χρώματος) που χρειάζεται για την κωδικοποίηση μιας εικόνας. Πως υπολογίζεται η εντροπία μιας εικόνας; Με βάση την εξίσωση Shannon: όπου K o αριθμός των διακεκριμένων (διαφορετικών) τιμών φωτεινότητας που υπάρχουν στη εικόνα και Pk η πιθανότητα εμφάνισης της τιμής φωτεινότητας k. Πως υπολογίζονται οι πιθανότητες Pk; Από το κανονικοποιημένο ιστόγραμμα της εικόνας Pk=HI(k) = n/(ΜxN), για κάθε k = 0, ... K-1, αν το επίπεδο φωτεινότητας k εμφανίζεται (ακριβώς) n φορές στην εικόνα I, (διάστασης ΜxN pixels) K τα διαφορετικά επίπεδα φωτεινότητας.

28 Τεχνικές Κωδικοποίησης Εντροπίας (II)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Τεχνικές Κωδικοποίησης Εντροπίας (II) Επειδή η εντροπία υποδεικνύει τη βέλτιστη συμπίεση (χωρίς απώλειες), που μπορεί να επιτευχθεί, η αποδοτικότητα κωδικοποίησης μιας μεθόδου συχνά συγκρίνεται με την εντροπία. Η αποδοτικότητα κωδικοποίησης υπολογίζεται με βάση τον μέσο αριθμό bits ανά pixel (BPP). H συνηθισμένη μέτρηση του BPP για τεχνικές χωρίς απώλειες (με μεταβλητό μήκος λέξης) δίνεται από τη σχέση: όπου Κ o αριθμός των διακεκριμένων τιμών φωτεινότητας ή χρώματος στη εικόνα, ΗI(k) η πιθανότητα εμφάνισης της τιμής k και Νk τα bits που χρησιμοποιούνται για την κωδικοποίηση της τιμής φωτεινότητας k.

29  Εισαγωγή - Βασικά Στοιχεία
 Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Ιδιότητες Εντροπίας Η εντροπία είναι απλά μια μέτρηση η οποία μας παρέχει πληροφορίες για τη στρατηγική κωδικοποίησης της εικόνας. Η εντροπία μιας εικόνας Ι είναι μια μέτρηση της πολυπλοκότητας – του μεγέθους της πληροφορίας που περιλαμβάνει. Μπορεί να αποδειχτεί ότι η εντροπία έχει μέγιστη τιμή όταν το οποίο αντιπροσωπεύει ένα επίπεδο ιστόγραμμα. Σε αυτή την περίπτωση και με δεδομένο ότι K = 2B Η εντροπία της εικόνας I αυξάνεται όταν το ιστόγραμμα της εικόνας ανοίγει. Πότε η εντροπίας μιας εικόνας I έχει ελάχιστη τιμή; Όταν υπάρχει μια και μόνη τιμή φωτεινότητας (ομοιόμορφη ή σταθερή εικόνα)

30 Ιδιότητες Εντροπίας (ΙΙ)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Ιδιότητες Εντροπίας (ΙΙ) Ισχύει: 0 ≤ Ε{Ι} ≤ Β Ένα σημαντικό θεώρημα της θεωρίας κωδικοποίησης περιορίζει το πόσο καλά μπορούμε να κωδικοποιήσουμε μια εικόνα χωρίς απώλειες με τη χρήση μεταβλητού μήκους λέξης: BPP ≥ Ε{Ι} Αυτός είναι ο καλύτερος λόγος για την χρησιμοποίηση της εντροπίας σαν μέτρο κωδικοποίησης. Μας λέει π.χ. ότι για μια εικόνα με τέλειο επίπεδο ιστόγραμμα E{Ι} = B δεν μπορεί να συμπιεστεί χρησιμοποιώντας ένα κώδικα μεταβλητών μήκων λέξεων. Ευτυχώς, συχνά μπορούμε να διορθώσουμε αυτή την κατάσταση (Πως;) Μείωση της εντροπίας της εικόνας μπορεί να επιτευχθεί με μετασχηματισμό των τιμών φωτεινότητας (αλλαγή συμβόλων) όπως π.χ. με χρήση των διαφορών ανάμεσα σε pixels Ο κώδικας μεταβλητού μήκους λέξης θεωρεί ότι οι πιθανότητες Pk είναι γνωστές και έχουν διαβιβαστεί και στον παραλήπτη Με τη λέξη κώδικας, εννοούμε μοναδικά αποκωδικοποιημένο κώδικα

31  Εισαγωγή - Βασικά Στοιχεία
 Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Παράδειγμα Μια εικόνα έχει μόνα 5 διαφορετικές τιμές φωτεινότητας τις Α = 32, Β = 68, C =145, D =190, E = 225 των οποίων οι πιθανότητες εμφάνισης έχουν εκτιμηθεί ως P(A)=0.4, P(B)=0.08, P(C)=0.16, P(D)=0.16, P(E)=0.2. Να υπολογιστεί η εντροπία της εικόνας Να υπολογιστεί η αποδοτικότητα του βέλτιστου αλγορίθμου κωδικοποίησης του παραπάνω μηνύματος αν χρησιμοποιείται σταθερού μεγέθους μήκος λέξης.

32  Εισαγωγή - Βασικά Στοιχεία
 Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Κωδικοποίηση Huffman Η τεχνική βασίζεται στη πιθανότητα εμφάνισης συμβόλων (για τη περίπτωση της εικόνας οι τιμές φωτεινότητας) Κατασκευή δυαδικού δέντρου, αρχίζοντας από τους σύμβολα με τη μικρότερη πιθανότητα εμφάνισης Η τεχνική μπορεί να χρησιμοποιηθεί και για κωδικοποίηση ομάδων συμβόλων, όπου η έννοια του «συμβόλου» αντικαθίσταται από εκείνη της «ομάδας συμβόλων»

33 Κωδικοποίηση Huffman (ΙΙ)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Κωδικοποίηση Huffman (ΙΙ) Αλγόριθμος Huffman: Από ένα δυαδικό δέντρο με κλαδιά που έχουν επιγραφή το επίπεδο φωτεινότητας ki και τις πιθανότητες Pki (0) Μας περιορίζει από την μελέτη κάθε ki όπου Pki = 0 (1) Βρίσκει τις 2 μικρότερες πιθανότητες pi= Pki και pj= Pkj (2) Αντικαθιστά με pij = pi + pj (βάση σημάδι, μειώνει την λίστα κατά ένα) (3) Δίνει τιμές στα κλαδιά: για το ki '1' και για το kj '0' 4) Μέχρι έως ότου η λίστα να έχει μόνο 1 στοιχείο (ρίζα) επιστρέφουμε στο (1)

34 Πιθανότητα εμφάνισης P Πιθανότητα εμφάνισης P
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Παράδειγμα Κωδικοποίησης Huffman (Ι) P(ADCEB)=1.00 σύμβολο Πιθανότητα εμφάνισης P απεικόνιση A P(A)=0.16 B P(B)=0.51 C P(C)=0.09 D P(D)=0.13 E P(E)=0.11 σύμβολο Πιθανότητα εμφάνισης P απεικόνιση A P(A)=0.16 011 B P(B)=0.51 1 C P(C)=0.09 000 D P(D)=0.13 010 E P(E)=0.11 001 1 P(ADCE)=0.49 P(B)=0.51 1 P(CE)=0.20 P(AD)=0.29 1 1 P(D)=0.13 P(A)=0.16 P(C)=0.09 P(E)=0.11

35 Παράδειγμα Κωδικοποίησης Huffman (ΙΙ)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Παράδειγμα Κωδικοποίησης Huffman (ΙΙ) Έστω η εικόνα Ι με K = 8 τιμές {0 ,.., 7} που θα πρέπει να κωδικοποιηθούν. Οι αντίστοιχες πιθανότητες είναι: p(0) = 1/2 p (4) = 1/16 p(1) = 1/8 p (5) = 1/32 p(2) = 1/8 p (6) = 1/32 p (3) = 1/8 p (7) = 0 Να υπολογιστεί η εντροπία της εικόνας Να βρεθούν οι κωδικές λέξεις Huffman Να βρεθεί ο μέσος αριθμός bit ανά pixel BPP Να υπολογιστεί ο βαθμός συμπίεσης

36 Πιθανότητα εμφάνισης P
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Αποκωδικοποίηση δυαδικής συμβολοσειράς Huffman Ο κώδικας Huffman έχει μόνο ένα τρόπο αποκωδικοποίησης. Υπάρχει μόνο μια ερμηνεία για μια σειρά από bits Η αποκωδικοποίηση προχωρεί με τη σάρωση του δέντρου. Έστω στην περίπτωση του παραδείγματος ότι λαμβάνεται από το δέκτη η επόμενη σειρά από bits: Η παραπάνω σειρά αποκωδικοποιείται μοναδικά στα σύμβολα: CBADBBBCECDEAABD σύμβολο Πιθανότητα εμφάνισης P απεικόνιση A P(A)=0.16 011 B P(B)=0.51 1 C P(C)=0.09 000 D P(D)=0.13 010 E P(E)=0.11 001

37 Παρατηρήσεις σχετικά με τον κώδικα Huffman
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Παρατηρήσεις σχετικά με τον κώδικα Huffman Ο λόγος συμπίεσης που επιτυγχάνεται με τον κώδικα Huffman είναι συνήθως γύρω στο 2:1 ≤ CR ≤ 3:1 Ο κώδικας Huffman μπορεί να προσβληθεί από θόρυβο στην μετάδοση (πολύ περισσότερο από την μετάδοση της αρχικής εικόνας) Σκεφτείτε τι μπορεί να συμβεί αν αλλάξει μια και μόνο τιμή σε ένα bit στο προηγούμενο παράδειγμα: Ποια συμβολοσειρά θα αποκωδικοποιηθεί; Υπάρχουν κώδικες διόρθωσης λαθών οι οποίοι είναι πολύ λιγότερο ευαίσθητοι στο θόρυβο. Μεγαλώνουν κάπως το συντελεστή κωδικοποίησης. Σε πολλές περιπτώσεις σχήματα συμπίεσης με απώλειες μπορούν να συνδυαστούν με τον κώδικα Huffman, κωδικοποιώντας τις λέξεις κώδικα με απώλειες, με τον κώδικα Huffman. Ο τελικός λόγος συμπίεσης προκύπτει από το γινόμενο της συμπίεσης με απώλειες επί το λόγο της συμπίεσης Huffman.

38  Εισαγωγή - Βασικά Στοιχεία
 Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Άσκηση Να βρεθούν οι κωδικές λέξεις Huffman για την αναπαράσταση μηνυμάτων που απαρτίζονται από τα σύμβολα A,B,C,D,E και των οποίων οι πιθανότητες εμφάνισης στα μηνύματα είναι όπως υποδεικνύεται στο διπλανό πίνακα Να υπολογισθεί το μέσο μήκος λέξης της κωδικοποίησης και να συγκριθεί με την αντίστοιχη εντροπία των μηνυμάτων σύμβολο Πιθανότητα εμφάνισης P A 0.4 Β 0.08 C 0.16 D E 0.2

39 Αριθμητική Κωδικοποίηση
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Αριθμητική Κωδικοποίηση Η αριθμητική κωδικοποίηση είναι μια εναλλακτική, της μεθόδου Ηuffman, μέθοδος κωδικοποίησης εντροπίας. Βασίζεται στη λογική της κωδικοποίησης μιας σειράς από σύμβολα και όχι μεμονωμένων συμβόλων Για παράδειγμα σε μια ακολουθία συμβόλων a1a2..an τα ai δεν κωδικοποιούνται ξεχωριστά όπως στην περίπτωση της κωδικοποίησης Huffman αλλά ως μια ομάδα συμβόλων Όσο περισσότερα σύμβολα ομαδοποιήσουμε τόσο αποτελεσματικότερη κωδικοποίηση έχουμε αλλά τόσο πολυπλοκότερη γίνεται η υλοποίηση του κωδικοποιητή

40 Αριθμητική Κωδικοποίηση (ΙΙ)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Αριθμητική Κωδικοποίηση (ΙΙ) Για την παρακάτω εικόνα f έχουμε πιθανότητες εμφάνισης των τιμών των pixel ([ ]) όπως παρακάτω: [ ]. Εντροπία 1ης τάξης της εικόνας: Η= bit/pixel Με κωδικοποίηση Huffman επιτυγχάνεται έχουμε τις εξής κωδικές λέξεις: 0 => ‘01’, 1 => ‘10’, 2 => ‘001’, 3 => ‘111’, 4 => ‘000’, 5 => ‘110’ BPP = bit/pixel Έστω ότι κωδικοποιούμε την ίδια εικόνα με αριθμητική κωδικοποίηση ανά δύο pixel (4,1), (3,5), …, (1,5):

41 Αριθμητική Κωδικοποίηση (IΙΙ)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Αριθμητική Κωδικοποίηση (IΙΙ) Αρχικά διαιρείται το διάστημα [0,1] ανάλογα με τις πιθανότητες των συμβόλων: [ ]. Υπάρχουν 8 διαστήματα στον παραπάνω διαχωρισμό Στο σύμβολο ‘4’ αντιστοιχεί το διάστημα [ ] Για τη κωδικοποίηση του συμβόλου ‘4’ αρκεί να πάρουμε το δεκαδικό μέρος ενός δυαδικού αριθμού που να αντιστεοιχεί στο παραπάνω διάστημα, π.χ => , άρα η συμβολοσειρά 1101 είναι μια ορθή κωδικοποίηση του συμβόλου ‘4’. Για την κωδικοποίηση της σειράς συμβόλων ‘41’, το διάστημα [ ] διαιρείται ξανά σε οκτώ διαστήματα: [ ] =>[ ] Το σύμβολο ‘1’ αντιστοιχεί στο δεύτερο από τα 8 διαστήματα, άρα συνολικά για την κωδκοποίηση της σειράς συμβόλων ‘41’ χρειαζόμαστε ένα δυαδικό δεκαδικό αριθμό στο διάστημα [ ] =>0.7813, άρα το είναι μια ορθή κωδικοποίηση για τη σειρά συμβόλων ‘41’

42 Αριθμητική Κωδικοποίηση (ΙV)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Αριθμητική Κωδικοποίηση (ΙV) Εφαρμόζοντας την προηγούμενη διαδικασία για όλες τις δυάδες pixel της εικόνας f επιτυγχάνουμε κωδικοποίηση της με: BPP = bit/pixel. Η πιο πάνω τιμή είναι μικρότερη από την εντροπία 1ης τάξης της εικόνας (Η= bit/pixel). Πως εξηγείται αυτό; Η εντροπία 1ης τάξης της εικόνας μας δίνει τον ελάχιστο αριθμό bits/pixel που χρειάζονται για την κωδικοποίηση της εικόνας χωρίς ομαδοποίηση pixel

43 Κωδικοποίηση Μήκους Διαδρομής
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Κωδικοποίηση Μήκους Διαδρομής Οι τεχνικές κωδικοποίησης εντροπίας (Huffman, Αριθμητική και οι παραλλαγές τους) προσπαθούν να μειώσουν τον πλεονασμό κωδικοποίησης: Η συμπίεση με εκμετάλλευση του πλεονασμού κωδικοποίησης είναι σχετικά μικρή (συνήθως <2) Δεν υπάρχει εκμετάλλευση των ιδιαιτεροτήτων που παρουσιάζουν οι εικόνες (π.χ. Μεγάλες ομοιόμορφες περιοχές) Οι τεχνικές κωδικοποίησης μήκους διαδρομής εκμεταλλεύονται το γεγονός ότι σπάνια η τιμή ενός pixel είναι ανεξάρτητη από τις προηγούμενες της (πλεονασμός pixel) Σε εικόνες μαύρου-άσπρου (binary images) η εξάρτηση της τιμής ενός pixel από προηγούμενες τιμές σημαίνει πρακτικά ότι έχουμε μεγάλες ακολουθίες από διαδοχικά ‘0’ η διαδοχικά ‘1’. Αντί να κωδικοποιούμε τις ίδιες τις τιμές των pixels μπορούμε να κωδικοποιήσουμε το μήκος των ακολουθιών

44 Κωδικοποίηση Μήκους Διαδρομής (II)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Κωδικοποίηση Μήκους Διαδρομής (II)

45 Κωδικοποίηση Μήκους Διαδρομής (ΙΙΙ)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Κωδικοποίηση Μήκους Διαδρομής (ΙΙΙ) Ο αλγόριθμος έχεις ως εξής: Υποθέτουμε ότι κάθε εικόνα αρχίζει με λευκό pixel Το πρώτο σύμβολο είναι το μήκος των διαδοχικών λευκών pixels Το δεύτερο σύμβολο είναι το μήκος των διαδοχικών μαύρων pixels που ακολουθούν Το τρίτο σύμβολο είναι το μήκος των διαδοχικών λευκών pixels που ακολουθούν, .... Έως ότου φτάσουμε στο τέλος της γραμμής. Η διαδικασία επαναλαμβάνεται για τις επόμενες γραμμές Έστω η γραμμή της εικόνας με τα εξής στοιχεία: [ ] Τα σύμβολα που προκύπτουν είναι:

46 Κωδικοποίηση Μήκους Διαδρομής (ΙV)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Κωδικοποίηση Μήκους Διαδρομής (ΙV) Αν κωδικοποιήσουμε κάθε μήκος διαδρομής με 1 byte τότε η προηγούμενη γραμμή θα κωδικοποιηθεί 5 bytes: Για την αρχική εικόνα (γραμμή) έχουμε 72 pixels 1 bit/pixel => 9 bytes για τη κωδικοποίηση της ασυμπίεστης εικόνας Συμπίεση: CR = 9 / 5 = 1.8 Στη πράξη τα μήκη διαδρομής παρουσιάζουν σημαντικό πλεονασμό κωδικοποίησης: Θεωρούμε τα μήκη διαδρομής ως σύμβολα Εφαρμόζουμε κωδικοποίηση εντροπίας (π.χ. Huffman) στα μήκη διαδρομής Με συνδυασμό της κωδικοποίησης μήκους διαδρομής και Huffman επιτυγχάνεται συμπίεση 2 ≤ CR ≤3 Συνδυασμός της κωδικοποίησης μήκους διαδρομής και Huffman εφαρμόζεται στην αποστολή εγγράφων με FAX.

47 Κωδικοποίηση Μήκους Διαδρομής (V)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Κωδικοποίηση Μήκους Διαδρομής (V) Μπορεί να εφαρμοστεί κωδικοποίηση μήκους διαδρομής σε εικόνες αποχρώσεων του γκρι (ή στους πίνακες των χρωματικών καναλιών RGB σε εικόνες πλήρους χρώματος); Εφαρμόζεται σε δύο δυνατές παραλλαγές: Άμεση επέκταση με χρήση μπαλαντέρ (flag): Έστω η γραμμή της εικόνας με τα εξής στοιχεία: [ ] Κωδικοποίηση: 255! ! Αποτελεσματική τεχνική όταν μια τιμή pixel επαναλαμβάνεται τουλάχιστον τέσσερις φορές Εφαρμογή της δυαδικής κωδικοποίησης μήκους διαδρομής σε κάθε επίπεδο bit των τιμών των pixels: Για μια εικόνα εικόνα αποχρώσεων του γκρι με τιμές στο διάστημα [0 255] κάθε pixel περιγράφεται από 8 bits Σχηματίζουμε εικόνες (bit planes) κρατώντας τα συγκεκριμένα bits από κάθε pixel

48 Κωδικοποίηση Μήκους Διαδρομής –Bit Planes
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Κωδικοποίηση Μήκους Διαδρομής –Bit Planes

49 Αντικατάσταση Προτύπων (packbits encoding)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Αντικατάσταση Προτύπων (packbits encoding) Βασική ιδέα: Αναζήτηση των πιο συχνά χρησιμοποιούμενων ακολουθιών τιμών pixel και αντικατάστασή τους από ειδικές κωδικές λέξεις (codewords) Ανάλυση Η τεχνική αυτή (pattern substitution ή packbits encoding) είναι παραλλαγή της τεχνικής «κωδικοποίηση μήκους διαδρομής» Προέρχεται από τις τεχνικές κειμένου: Στην αγγλική, τα πιο συχνά χρησιμοποιούμενα ζεύγη χαρακτήρων είναι τα παρακάτω (προσοχή στους χαρακτήρες κενού): “E ”, “T ”, “TH”, “ A”, “S ”, “RE”, “IN”, “HE” Οι ειδικοί χαρακτήρες που αντικαθιστούν τα παραπάνω ζευγάρια δεν πρέπει να εμφανίζονται πουθενά αλλού στο κείμενο Ο ευρέως διαδεδομένος αλγόριθμος συμπίεσης LZW (Lempel, Ziv & Welch) βασίζεται στη λογική αντικατάστασης προτύπων. Ο αλγόριθμος LZW εφαρμόζεται σε πολλά format εικόνων όπως TIFF, GIF, BMP

50 Αντικατάσταση Προτύπων (ΙΙ)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Αντικατάσταση Προτύπων (ΙΙ) Έστω η αρχική ακολουθία αριθμών (π.χ. τιμών δειγμάτων): Με βάση την αντικατάσταση προτύπων η ακολουθία που θα προκύψει από τη συμπίεση θα είναι: Είχαμε δηλαδή τις αντικαταστάσεις: => 256 => 257

51  Εισαγωγή - Βασικά Στοιχεία
 Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Αλγόριθμος LZW Ο αλγόριθμος LZW για εικόνες δημιουργεί νέους κώδικες (τιμές μεγαλύτερες από 255 για εικόνες με τιμές pixel στο διάστημα [0 255]) για σειρές από pixel με επαναλαμβανόμενες τιμές Οι νέες κώδικες λέξεις δεν είναι ίδιες για όλες τις εικόνες Ο αποκωδικοποιητης πρέπει να είναι σε θέση να αντιλαμβάνεται τις τιμές για τους νέους κώδικές εφαρμόζοντας την ίδια διαδικασία με τον κωδικοποιητή

52 Προβλεπτική Κωδικοποίηση
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Προβλεπτική Κωδικοποίηση Ο πλεονασμός pixel έχεις ως συνέπεια οι διαφορές ανάμεσα σε γειτονικά pixel να έχουν μικρές τιμές: Από τη σύγκριση του ιστογράμματος των διαφορών των pixel σε σχέση με το ιστόγραμμα της αρχικής εικόνας αντιλαμβανόμαστε ότι η κωδικοποίηση εντροπίας θα ήταν πιο αποτελεσματική αν εφαρμοζόταν στις διαφορές ανάμεσα στα pixel παρά στις ίδιες τις τιμές των pixel

53 Προβλεπτική Κωδικοποίηση (II)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Προβλεπτική Κωδικοποίηση (II) Η προβλεπτική κωδικοποίηση βασίζεται στην προηγούμενη παρατήρηση: Αντί να κωδικοποιούμε την ίδια την πληροφορία (τιμές pixel) κωδικοποιούμε τη νέα πληροφορία (ότι δεν μπορούμε να προβλέψουμε από τις τιμές των προηγούμενων pixel) Έστω ότι θέλουμε να κωδικοποιήσουμε την τιμή (x,y) του pixel (x,y). Μια πρόβλεψη για αυτή την τιμή μπορεί να γίνει με τους παρακάτω τρόπους:

54 Προβλεπτική Κωδικοποίηση (ΙΙΙ)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Προβλεπτική Κωδικοποίηση (ΙΙΙ) Έστω η εικόνα Πρόβλεψη: Νέα πληροφορία (διαφορά πραγματικής τιμής από πρόβλεψη) – η πρώτη στήλη είναι όπως στην αρχική εικόνα γιατί δεν υπάρχει εκτίμηση:

55 Προβλεπτική Κωδικοποίηση (ΙV)
 Εισαγωγή - Βασικά Στοιχεία  Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Προβλεπτική Κωδικοποίηση (ΙV) Μετά το σχηματισμό της διαφοράς της πρόβλεψης από τις πραγματικές τιμές των pixel οι διαφορές κωδικοποιούνται με κωδικοποίηση εντροπίας Παρουσιάζουν πιο ανομοιόμορφο ιστόγραμμα => αποδοτικότερη κωδικοποίηση εντροπίας Παρατηρήστε τη συγκέντρωση τιμών (της εικόνας διαφορών) στο μηδέν

56  Εισαγωγή - Βασικά Στοιχεία
 Κατηγορίες Τεχνικών Συμπίεσης  Μοντέλο Συμπίεσης Εικόνων  Συμπίεση χωρίς Απώλειες  Κωδικοποίηση Ηuffman  Κωδικοποίηση Μήκους Διαδρομής  Προβλεπτική Κωδικοποίηση Σύνοψη Το υλικό που παρουσιάστηκε σε αυτή την ενότητα αποτελεί μια εισαγωγή στις βασικές τεχνικές συμπίεσης χωρίς απώλειες. Οι περισσότερες από τις τεχνικές συμπίεσης χωρίς απώλειες εφαρμόζονται σε πολλές μορφές δεδομένων (κείμενο, ήχος, εικόνα) γιατί δεν κάνουν κάποια υπόθεση για τη μορφή της πηγής που δημιούργησε τα δεδομένα Οι βασικές τεχνικές συμπίεσης χωρίς απώλειες που εφαρμόζονται στις ψηφιακές εικόνες είναι: Η κωδικοποίηση Huffman Η αριθμητική κωδικοποίηση Η κωδικοποίηση μήκους διαδρομής Η αντικατάσταση προτύπων Η προβλεπτική κωδικοποίηση Στη πράξη σχεδόν ποτέ κάποια από τις παραπάνω τεχνικές δεν εφαρμόζεται αυτούσια. Αντίθετα συνδυάζονται με τεχνικές κωδικοποίησης πηγής


Κατέβασμα ppt "Συμπίεση Ψηφιακών Εικόνων: Συμπίεση χωρίς απώλειες"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google