Επεξεργασία Χαρτογραφικής Εικόνας ιδάσκων: Αναγνωστόπουλος Χρήστος Αρχές συµπίεσης δεδοµένων Ήδη συµπίεσης Συµπίεση εικόνων Αλγόριθµος JPEG Γιατί χρειαζόµαστε συµπίεση; Τα σηµερινά αποθηκευτικά µέσα αδυνατούν να ικανοποιήσουν τις τεράστιες ανάγκες που επιβάλλουν οι εφαρµογές πολυµέσων που κάνουν ευρεία χρήση εικόνων, ήχου και βίντεο. VIDEO CD-ROM 650MB (75 λεπτά ασυµπίεστου ήχου) 30 δευτερόλεπτα ασυµπίεστης ψηφιακής τηλεόρασης. Εικόνα Ψηφιακή εικόνα: ιάσταση 2000 2000, 4.000.000 pixels, ~11ΜΒ. Πρόβληµα η αποθήκευση πολλών ασυµπίεστων εικόνων. 1
Συµπίεση Στόχος: περιορισµός του µεγέθους που καταλαµβάνει ένα ποσό πληροφορίας. Εις βάρος: Της διαθεσιµότητας του: δεν είναι αυτονόητο ότι το συµπιεσµένο αρχείο λειτουργεί παντού και πάντα. Της υπολογιστικής ισχύος: Υπάρχει υπολογιστικό κόστος στις µεθόδους συµπίεσης. Της ακρίβειας/ποιότητας του περιεχοµένου του: Με την συµπίεση κάνουµε κάποιες υποχωρήσεις συµβιβασµούς όσον αφορά την ποιότητα. 2
Συµπίεση = κωδικοποίηση = κρυπτογράφηση ΟΧΙ Επί της διαδικασίας Όσον αφορά το κόστος της υπολογιστικής ισχύς ιαδικασία: 1. Συµπίεση 2. Μεταφορά 3. Αποσυµπίεση (σηµασιολογικό περιεχόµενο) Συνήθως µας απασχολεί η ταχύτητα αποσυµπίεσης και όχι τόσο αυτή της συµπίεσης. Στις περισσότερες εφαρµογές η συµπίεση γίνεται µια φορά στο στάδιο της κατασκευής και µε χρήση ειδικού υλικού, ενώ η αποσυµπίεση γίνεται από τους χρήστες που έχουν στην διάθεση τους υπολογιστές γενικής χρήσης. 3
Τύποι συµπίεσης 1.Αλγόριθµοι συµπίεσης χωρίς απώλειες ή αντιστρεπτοί (lossless compression) Αφορά κυρίως δεδοµένα που σχετίζονται άµεσα µε τον υπολογιστή, π.χ. Προγράµµατα, εφαρµογές. ηλαδή, µετά την αποσυµπίεση, η πληροφορία επανέρχεται ακριβώς στην µορφή που είχε πριν. Συνήθως, αυτοί οι αλγόριθµοι εφαρµόζονται σε περιπτώσεις που δεν υπάρχει κανένα περιθώριο απωλειών. Για παράδειγµα, αν η πληροφορία που µεταφέρεται είναι ένα πρόγραµµα υπολογιστή, ένα και µόνο αλλοιωµένο bit µπορεί να είναι αρκετό να καταστήσει το πρόγραµµα άχρηστο. Τύποι συµπίεσης 2. Αλγόριθµοι συµπίεσης µε απώλειεςήµη αντιστρεπτοί (lossy compression) Αφορά κυρίως εφαρµογές που έχουν άµεση αλληλεπίδραση µε τον ανθρώπινο παράγοντα αισθήσεις. Αν, για παράδειγµα, η πληροφορία περιγράφει µια φωτογραφία, είναι δυνατόν να επιτύχουµε καλύτερη συµπίεση κάνοντας µερικές υποχωρήσεις όσον αφορά στην πιστότητα του συµπιεσµένου σήµατος. Είναι φανερό ότι σε τέτοιες περιπτώσεις το σηµασιολογικό περιεχόµενο ουσιαστικά δεν µεταβάλλεται αλλά υπεισέρχεται η έννοια της µείωσης της ποιότητας. Το ψηφιακό σήµα ως ακολουθία bits σαφώς και µεταβάλλεται. 4
Αλγόριθµοι χωρίς απώλειες Κωδικοποίηση εντροπίας Η κωδικοποίηση εντροπίας αναφέρεται σε τεχνικές, οι οποίες δεν λαµβάνουν υπ όψη τους το είδος της πληροφορίας που πρόκειται να συµπιεστεί. Με άλλα λόγια, αυτές οι τεχνικές αντιµετωπίζουν την πληροφορία ως µια απλή ακολουθία bits. Γι αυτό το λόγο, η κωδικοποίηση εντροπίας µπορεί να εφαρµοσθεί ανεξάρτητα από το είδος της πληροφορίας. Οι τεχνικές κωδικοποίησης εντροπίας διαχωρίζονται σε δύο βασικές κατηγορίες: Περιορισµός των επαναλαµβανόµενων ακολουθιών (Suppression of repetitive sequences) Στατιστική Κωδικοποίηση (Statistical encoding) Παράδειγµα κωδικοποίησης εντροπίας 5
Παράδειγµα συµπίεσης µε κωδικοποίηση µήκους 12 Κωδικοποίηση Run length: 5 2 10 2 10 2 6 10 2 8 10 6 2 10 2 10 2 5 Θέλουµε 4bits: 2 3 = 8, 2 4 = 16 10: Μεγαλύτερος αριθµός Αρχικά: 12x8 pixels = 96 pixels Μέγεθος: 96 pixels*1bit/pixel = 96 bits 8<10<16 17 pixels * 4 bits/pixel = 68 bits (µε συµπίεση) Παράδειγµα κωδικοποίησης εντροπίας 6
Παράδειγµα στατιστικής κωδικοποίησης Έστω το παρακάτω κείµενο: Παράδειγµα στατιστικής κωδικοποίησης Κωδικοποιηµένο γίνεται: 7
Παράδειγµα κωδικοποίησης Huffmann Παράδειγµα ηφράση: she sells sea shells at the sea shore Σύνολο χαρακτήρων (µε τακενά) = 37 26 γράµµατα το Αγγλικό αλφάβητο Κάθε γράµµα 5 bits. ( γιατί 16<26<32) 4 2 5 = 16, 2 = 32, Άρα σύνολο: 5*37=185 bits Παράδειγµα κωδικοποίησης Huffmann Παράδειγµα ηφράση: she sells sea shells at the sea shore Ηπιοσυχνήλέξη κωδικοποιείται µε λιγότερα bits Σύνολο: 2*8+2*7+3*7+3*4+3*4+4*3+5*2+6*1+6*1 Σύνολο: 109 bits Συµπίεση περίπου 40% 8
Αλγόριθµοι µε απώλειες Στηρίζονται στη θεωρία πληροφοριών: Γεγονός απίθανο να συµβεί περιέχει περισσότερη πληροφορία από κάποιο άλλο πιο πιθανό γεγονός: Ποια είναι η πρόταση µε τοµεγαλύτερο ποσοστό πληροφορίας (άρα και σηµασίας); Αύριο ο ήλιος θα ανατείλει (πιθανότητα 100%) Αύριο θα βρέξει (πιθανότητα 20%) Αύριο θα γίνει σεισµός (πιθανότητα <<0.1%) Συνεπώς: Στους αλγορίθµους συµπίεσης µε απώλειες, πρέπει να εντοπίζονται και να αναδεικνύονται οι πιο σηµαντικές πληροφορίες Παράδειγµα σηµαντικότερων περιοχών σε εικόνα 9
Αλγόριθµοι µε απώλειες Η λογική της χρήσης των αλγορίθµων µε απώλειες επικεντρώνεται στον εντοπισµό των χαρακτηριστικών γνωρισµάτων του αρχείου που θέλουµε να συµπιέσουµε. Π.χ. Σε µια εικόνα επικεντρώνουµε την προσοχή µας στο σηµείο όπου εµφανίζεται πληθώρα χρωµάτων και συνδυασµός σχηµάτων. Αντίθετα σε περιοχές όπου οι πληροφορίες δεν είναι πολλές, µπορούµε ναδώσουµε λιγότερησηµασία. Ορολογία: Περιοχή υψηλών συχνοτήτων (πολλές ίδιες πληροφορίες) Περιοχή χαµηλών συχνοτήτων (σηµαντικές πληροφορίες). Αλγόριθµοι µε απώλειες κωδικοποίηση πηγής Η διαφορά αυτής της τεχνικής είναι ότι οι µετασχηµατισµοί τους οποίους υφίστανται το αρχικό σήµα εξαρτώνται άµεσα από το τύπο του. Οι µετασχηµατισµοί του σήµατος κάνουν χρήση των ιδιαίτερων σηµασιολογικών χαρακτηριστικών που µεταφέρει το σήµα. π.χ. Τηλεφωνική συνοµιλία (σηµαντική πληροφορία;). Πλάνα εικόνας βίντεο (σηµαντική πληροφορία;). Πλεονεκτήµατα: παράγουν µεγαλύτερα ποσοστά συµπίεσης σε σχέση µε την κωδικοποίηση εντροπίας. Μειονεκτήµατα: µικρότερη σταθερότητα, γιατί το ποσοστό συµπίεσης που επιτυγχάνουν διαφοροποιείται ανάλογα µε το αντικείµενο που συµπιέζεται. 10
Κωδικοποίηση µετασχηµατισµού Στη κωδικοποίηση µετασχηµατισµού, το σήµα υφίσταται ένα µαθηµατικό µετασχηµατισµό από το αρχικό πεδίο του χρόνου ή του χώρου σε ένα αφηρηµένο πεδίο το οποίο είναι πιο κατάλληλο για συµπίεση. Αυτή η διαδικασία είναι αντιστρεπτή, δηλαδή υπάρχει ο αντίστροφος µετασχηµατισµός που θα επαναφέρει το σήµα στηναρχικήτουµορφή. Είναι ένας τρόπος για να αναδειχθούν οι πιο σηµαντικές περιοχές για την κωδικοποίηση. Παράδειγµα µετασχηµατισµού!!! 11
Είδη µετασχηµατισµών ιακριτός συνηµιτονικός µετασχηµατισµός Fourier. Μετασχηµατισµοί των: Hadamar Haar Karhunen-Loeve Στη φασµατική (στο πεδίο των συχνοτήτων) αναπαράσταση των εικόνων, οι συχνότητες περιγράφουν πόσο γρήγορα µεταβάλλονται τα χρώµατα και η απόλυτη φωτεινότητα. Πρότυπο JPEG JPEG: Joint Photographic Experts Group To JPEG είναι ένα πρότυπο συµπίεσης εικόνων συνεχούς τόνου, είτε έγχρωµων είτε κλίµακας του γκρίζου. Συνδυασµός τεχνικών: ιακριτού συνηµιτονικού µετασχηµατισµού Fourier Κβαντοποίησης Περιορισµού των επαναλαµβανόµενων χαρακτήρων και κωδικοποίησης Huffman. 12
Πρότυπο JPEG ΟτύποςJPEG χρησιµοποιείται κατά κύριο λόγο για προβολή εικόνων σε ιστοσελίδες και µπορεί να αποθηκεύσει Grayscale, RGB και CMYK µορφές εικόνων. Σβήνει χροιές, τις οποίες το ανθρώπινο µάτι πιθανώς να µην τις βλέπει. Προσδιορίζει τις µέσες τιµές για τις χροιές. ιατηρεί τις αρχικές τιµές φωτεινότητας. Υποστηρίζει 24-bit χρωµατικά µοντέλα (π.χ. RGB). Πρότυπο JPEG Πως δουλεύει Παράδειγµα σεµια εικόνα κλίµακας του γκρι: 1. Χωρισµός της εικόνας σε τµήµατα (blocks) διαστάσεων 8x8. 13
Πρότυπο JPEG Πως δουλεύει Παράδειγµα σεµια εικόνα κλίµακας του γκρι: 2. Βήµα κωδικοποίησης πηγής: ιακριτός Συνηµιτονικός Μετασχηµατισµός Fourier ( ΣΜΦ) Ο µετασχηµατισµός λαµβάνει χώρα σε κάθε τµήµα της εικόνας, οπότε και σε κάθε τµήµα αναδεικνύονται τα σηµεία υψηλού ενδιαφέροντος. Αυτά είναι τα σηµεία της εικόνας µε χαµηλή συχνότητα εµφάνισης που πρέπει να τα διατηρήσουµε αναλλοίωτα. Παράδειγµα ιακριτού Συνηµιτονικού Μετασχηµατισµού 14