Συµπίεση Ψηφιακών Εικόνων: Συµπίεση µε Απώλειες. Πρότυπα Συµπίεσης Εικόνων

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

Download "Συµπίεση Ψηφιακών Εικόνων: Συµπίεση µε Απώλειες. Πρότυπα Συµπίεσης Εικόνων"

Transcript

1 ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας ΤΨΣ 5 Ψηφιακή Επεξεργασία Εικόνας Συµπίεση Ψηφιακών Εικόνων: Συµπίεση µε απώλειες Πρότυπα Συµπίεσης Εικόνων Τµήµα ιδακτικής της Τεχνολογίας και Ψηφιακών Συστηµάτων Πανεπιστήµιο Πειραιώς 5 Nicolas Tsapatsoulis ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Περιεχόµενα Βιβλιογραφία Περιεχόµενα Ενότητας Εισαγωγή - Συµπίεση µε Απώλειες (lossy compression) Κωδικοποίηση Μεµονωµένων Μπλοκ Κωδικοποίηση Quadtree Κωδικοποίηση Μετασχηµατισµού Ο µετασχηµατισµός DCT Το πρότυπο JPEG Βιβλιογραφία: Πήτας [999]: Κεφάλαιο 9, Ενότητα 9.7 Gonzales []: Chapter, Sections.5-. Gonzales []: Chapter, Sections.5 5 Nicolas Tsapatsoulis

2 ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Συµπίεση µε Απώλειες Συµπίεση που επιτυγχάνεται µε τεχνικές χωρίς απώλειες είναι σχετικά µικρή (. CR 3.). Αν θέλουµε να επιτύχουµε υψηλότερο λόγο συµπίεσης χρειάζεται να επιτρέψουµε και κάποια σφάλµατα στην αποκωδικοποιηµένη εικόνα. Η αποκωδικοποιηµένη εικόνα δεν είναι πιστό αντίγραφο της αρχικής εικόνας (εικόνας πριν τη κωδικοποίηση). Εντούτοις σε πολλές περιπτώσεις οι διαφορές δεν είναι εύκολα αντιληπτές από τον άνθρωπο Οι τεχνικές συµπίεσης χωρίς απώλειες εκµεταλλεύονται τις ιδιαιτερότητες του ανθρώπινου οπτικού συστήµατος (ψυχοοπτικός πλεονασµός) καθώς και τον πλεονασµό pixel. Για τη συµπίεση µε απώλειες έχουν προταθεί πολλές προσεγγίσεις: Κωδικοποίηση Μεµονωµένων Μπλοκ (BCT) απλή και γρήγορή Κωδικοποίηση Quadtree Αµφίβολης αποτελεσµατικότητας Κωδικοποίηση ιακριτού Μετασχηµατισµού Συνηµιτόνου (DCT) και JPEG Κωδικοποίηση Εικόνας µε βάση τα Wavelets 5 Nicolas Tsapatsoulis ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Κωδικοποίηση Εικόνας χρησιµοποιώντας Μπλοκ Η εικόνα διαιρείται σε µπλοκ τα οποία κωδικοποιούνται ξεχωριστά: Η µέθοδος των Wavelets αποτελεί εξαίρεση. Ο λόγος; ιαφορετικά κοµµάτια µιας εικόνας µπορούν να έχουν διαφορετικές ιδιότητες: όπως περισσότερες υψηλές ή χαµηλές συχνότητες, περισσότερη ή λιγότερη λεπτοµέρεια κλπ. Έτσι, η τοπική κωδικοποίηση είναι πολύ πιο αποδοτική. Τυπικά µεγέθη των µπλοκ είναι x ή x ή x M x M M x M M x M M x M M x M M x M M x M M x M M x M 5 Nicolas Tsapatsoulis

3 ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Κωδικοποίηση Μεµονωµένων Μπλοκ Βήµατα κωδικοποίησης της εικόνας :. Χωρίζουµε την εικόνα σε µπλοκ µεγέθους x pixel, όπου: i. Σύνολο pixel στο µπλοκ = {Ι(),Ι(),,Ι()} ii. Συνολικός αριθµός bits στο µπλοκ πριν την κωδικοποίησή του: x = bits.. Για κάθε µπλοκ υπολογίζουµε και µεταδίδουµε: i. Την µέση φωτεινότητα του µπλοκ: χρησιµοποιώντας Β bits. µ = I i= I( i) ii. Την τυπική απόκλιση ( standard deviation ): σ I = ( I ( i) µ I ), χρησιµοποιώντας Β bits. i= iii. Ένα -bit δυαδικό µπλοκ b το οποίο υπολογίζουµε µε τον εξής τρόπο: Για i =,,, => b(i) = αν Ι(i) µ και b(i) = αν Ι(i)<µ 5 Nicolas Tsapatsoulis ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Κωδικοποίηση Μεµονωµένων Μπλοκ (ΙΙ) Παράδειγµα : µ I = 9.75 σ Ι = 9.95 Λόγος Συµπίεσης: CR = B / ( B + B + ). Αν Β = Β = CR = /3 = :. Έχουµε καλήποιότητααν: Β =, Β = CR = / 5 3. Με εφαρµογή κωδικοποίησης εντροπίας για τα µ I και σ Ι ο λόγος συµπίεσης φτάνει µέχρι και CR 5 Nicolas Tsapatsoulis 3

4 ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Κωδικοποίηση Μεµονωµένων Μπλοκ (ΙΙΙ) Αποκωδικοποίηση του BTC Μπλοκ ( BTC Block Decoding ) Για να δηµιουργήσουµε τις τιµές των αποκωδικοποιηµένων pixel {J(),J(),,J()} πρέπει να ακολουθήσουµε ταπιοκάτωβήµατα:. Έστω Q = αριθµός των που λήφθηκαν. A Ρ = αριθµός των που λήφθηκαν.. Θέτουµε : σ I µ I +, αν b( i) = A J ( i) = µ I σ I A, αν b( i) = Q όπου A = και b το κωδικοποιηµένο µπλοκ. P (To A επιλέγεται έτσι ώστε µ J µ I, και σ J σ I ) 5 Nicolas Tsapatsoulis ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Κωδικοποίηση Μεµονωµένων Μπλοκ (ΙV) Αποκωδικοποίηση του BTC Μπλοκ ( BTC Block Decoding ) Με βάση τα δεδοµένα του παραδείγµατος :. Q = 7, P = 9 => A =.9. µ Ι = round(9.75) = 99 (κωδικοποιηµένη τιµή της µέσης φωτεινότητας του block). σ Ι = round(9.95) = 93 (κωδικοποιηµένη τιµή της διασποράς του block) => J( i ) = 99 + round(93 /.9) = 99+5 =, αν b(i)=. J( i ) = 99 round(93 *.9) = 99 = 7, αν b(i)=. A 7 7 Εποµένως το αποκωδικοποιηµένο block J= µε µ J = 9. και σ J = Nicolas Tsapatsoulis

5 ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Κωδικοποίηση Quadtree Αλγόριθµος: ιαίρεση της εικόνας σε τέσσερα µέρη (Quads) Για κάθε Quad υπολογίζεται ένα µέτρο της ανοµοιοµορφίας του (πρακτικά διασπορά προς µέση φωτεινότητα) Αν η ανοµοιοµορφία του Quad είναι µικρότερη από ένα κατώφλι (Τ) τότε το Quad χαρακτηρίζεται ως τερµατικός κόµβος (φύλλο) και αναπαρίσταται από τη µέση φωτεινότητα του (ένα byte). Αν η ανοµοιοµορφία του Quad είναι µεγαλύτερη από το κατώφλι Τ τότε το Quad διαιρείται ξανά σε τέσσερα µέρη και επαναλαµβάνεται η παραπάνω διαδικασία Quadtree: 5 Nicolas Tsapatsoulis ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Κωδικοποίηση Μετασχηµατισµού Βασική ιδέα Στη κωδικοποίηση µετασχηµατισµού, η εικόνα υφίσταται ένα µαθηµατικό µετασχηµατισµό από το αρχικό πεδίο του χώρου σε ένα αφηρηµένο πεδίο το οποίο είναι πιο κατάλληλο για συµπίεση. Αυτή η διαδικασία είναι αντιστρεπτή, δηλαδή υπάρχει ο αντίστροφος µετασχηµατισµός που θα επαναφέρει το σήµα στην αρχική του µορφή. Ένα τέτοιος µετασχηµατισµός είναι ο µετασχηµατισµός Fourier. Μέσω του µετασχηµατισµού Fourier µια εικόνα f µπορεί να µετασχηµατιστεί σε µια αναπαράσταση F στο πεδίο των συχνοτήτων. Παρά την ευρεία χρήση του στην επεξεργασία εικόνας ο µετασχηµατισµός Fourier δεν αποτελεί την ιδανική λύση για σκοπούς συµπίεσης. Μια παραλλαγή του µετασχηµατισµού Fourier ο µετασχηµατισµός DCT επιτυγχάνει καλύτερη συµπίεση και αυτός έχει καθιερωθεί και στο πρότυπο JPEG 5 Nicolas Tsapatsoulis 5

6 ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Κωδικοποίηση Μετασχηµατισµού (II) Ανάλυση Αφού επιλεχθεί και εκτελεστεί ο µετασχηµατισµός, βρίσκουµε τους πιο σηµαντικούς από τους συντελεστές και τους περιγράφουµε µε µεγάλη ακρίβεια. Τους λιγότερο σηµαντικούς µπορούµε να τους περιγράψουµε µε µικρότερη ακρίβεια ή και να τους αγνοήσουµε τελείως. Κάνοντας κάτι τέτοιο η διαδικασία συµπίεσης έχει απώλειες. Οι µετασχηµατισµοί από µόνοι τους είναι αντιστρεπτοί. Το σφάλµα εισάγεται στην ακρίβεια αναπαράστασης των συντελεστών του µετασχηµατισµού (κβαντισµός συντελεστών) 5 Nicolas Tsapatsoulis ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας O Μετασχηµατισµός DCT Ο διακριτός µετασχηµατισµός συνηµίτονου (Discrete Cosine Transform - DCT) για µια εικόνα Ν x Ν pixels δίνεται από τη σχέση: F( u, v) = C( u, v) ( x ) uπ ( y ) N N + f ( x, y)cos cos x= y= N + vπ N F(u,v) είναι ο DCT συντελεστής για τη χωρική συχνότητα (u,v) f(x,y) είναι η αρχική ένταση φωτεινότητας στη θέση (x,y) C(u,v) είναι ο παράγοντας κανονικοποίησης που ορίζεται ως: C(,) = /Ν C(,v) = C(u,) = /(N ) C(u,v) = /N, u, v Προσοχή! Ο πίνακας των χωρικών συχνοτήτων F(u,v) έχει τις ίδιες διαστάσεις µε την αρχική εικόνα (NxN) 5 Nicolas Tsapatsoulis

7 ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Παράδειγµα (Ι): Οµοιόµορφη εικόνα Ηχωρική συχνότητα F(,): Αντιπροσωπεύει τη µέση φωτεινότητα της εικόνας (για την ακρίβεια είναι αντίστοιχη) Η τιµή της µπορεί να είναι από F(,)= (µαύρη εικόνα) έως F(,) = 55 (λευκή εικόνα) όταν έχουµε αναπαράσταση 5 στάθµων φωτεινότητας ή χρωµάτων Εικόνα DCT => Nicolas Tsapatsoulis ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Μεταβολές της φωτεινότητας κατά την οριζόντια κατεύθυνση µόνο Οριζόντιες χωρικές συχνότητες F(,v): Όσο ταχύτερα µεταβάλλεται η φωτεινότητα κατά την οριζόντια κατεύθυνση τόσο γίνονται ισχυρότερες οι µεγάλες χωρικές συχνότητες (π.χ. F(,7)>F(,)) Εικόνα DCT => Nicolas Tsapatsoulis 7

8 ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Μεταβολές της φωτεινότητας κατά την κάθετη κατεύθυνση µόνο Κάθετες χωρικές συχνότητες F(u,): Όσο ταχύτερα µεταβάλλεται η φωτεινότητα κατά την κάθετη κατεύθυνση τόσο γίνονται ισχυρότερες οι µεγάλες χωρικές συχνότητες (π.χ. F(7,)>F(,)) Εικόνα DCT => Nicolas Tsapatsoulis ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Μεταβολές της φωτεινότητας και κατά τις δύο κατευθύνσεις 5 3 Εικόνα DCT => Nicolas Tsapatsoulis

9 ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Το πρότυπο JPEG Σχεδιάστηκε από την οµάδα Joint Photographic Experts Group σε συνεργασία µε την ιεθνή Ένωση Τηλεπικοινωνιών (ITU-TS) Μπορεί να δώσει διαφορετικό αποτέλεσµα ανάλογα µε τις απαιτήσεις που έχουµε για την ποιότητα της εικόνας και το λόγο συµπίεσης: : έως : υψηλή ποιότητα 3: έως 5: µέτρια ποιότητα : έως : κακή ποιότητα Είναι µορφή κωδικοποίησης µε βάση την αντίληψη και βασίζεται στο γεγονός ότι: Το µάτι είναι λιγότερο ευαίσθητο στις χρωµατικές συνιστώσες (µικρότερη διακριτική ικανότητα) µιας εικόνα από ότι στη φωτεινότητα Έχει πεπερασµένη διακριτική ικανότητα σε διαδοχικές αλλαγές της φωτεινότητας Αποτελεί συνδυασµό διαφόρων τεχνικών συµπίεσης: Μετασχηµατισµού (DCT) Εντροπίας (Huffman) Μήκους διαδροµής (RLE) 5 Nicolas Tsapatsoulis ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Το πρότυπο JPEG (ΙΙ) Πέντε βασικά στάδια: Προετοιµασία εικόνας / µπλοκ Ευθύς µετασχηµατισµός DCT Κβαντισµός Κωδικοποίηση εντροπίας ηµιουργία Frame (πλαισίου) 5 Nicolas Tsapatsoulis 9

10 ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Προετοιµασία εικόνας / µπλοκ Προετοιµασία εικόνας: Τα διάφορα χρωµατικά κανάλια (π.χ. R,G,B ή Y, C r, C b ) κωδικοποιούνται ως διαφορετικές εικόνες Προετοιµασία µπλοκ Η εικόνα χωρίζεται σε µπλοκ x pixels έκαστο Τα µπλοκ µεταδίδονται µε πρώτο το πάνω αριστερά και τελευταίο το κάτω δεξιά 5 Nicolas Tsapatsoulis ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Ευθύς µετασχηµατισµός DCT Σε κάθε µπλοκ εφαρµόζεται µετασχηµατισµός DCT: Πριν την εφαρµογή του DCT από κάθε pixel του µπλοκ αφαιρείται η τιµή (οπότε τελικά οι τιµές του µπλόκ θα λαµβάνουν τιµές στο δίαστηµα [- 7] αντί στο διάστηµα [ 55] Ο συντελεστής F(,) ονοµάζεται DC. Οι υπόλοιποι συντελεστές ονοµάζονται AC. 5 Nicolas Tsapatsoulis

11 ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Κβαντισµός Το µάτι έχει διαφορετική ευαισθησία και διακριτική ικανότητα όσον αφορά τις χωρικές µεταβολές της φωτεινότητας (χωρικές συχνότητες): Οι πίνακες κβαντισµού αντιπροσωπεύουν την ευαισθησία αυτή Όσο µικρότερος είναι ο αντίστοιχος συντελεστής στον πίνακα κβαντισµού τόσο µεγαλύτερη θεωρείται η διακριτική ικανότητα του µατιού στη συγκεκριµένη συχνότητα 5 Nicolas Tsapatsoulis ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Κωδικοποίηση Ηκωδικοποίηση περιλαµβάνει τα εξής στάδια: ιανυσµατοποίηση του µπλοκ από τους κβαντισµένους συντελεστές µε zig-zag scanning ιαφορική κωδικοποίηση των συντελεστών DC γειτονικών µπλοκ Κωδικοποίηση µήκους διαδροµής για τους AC συντελεστές κάθε µπλοκ Huffman coding επί των συµβόλων που προέκυψαν από τη διαφορική κωδικοποίηση και την κωδικοποίηση µήκους διαδροµής 5 Nicolas Tsapatsoulis

12 ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας ηµιουργία JPEG frame ηµιουργία frame: Προσθήκη ένδειξης αρχής και τέλους frame Επικεφαλίδες (χρωµατικά κανάλια, διαστάσεις εικόνας, κλπ) Περιεχόµενα εικόνας (πολυπλεξία µπλοκ από διαφορετικά χρωµατικά κανάλια ώστε να επιτυγχάνεται σταδιακή αποκωδικοποίηση) εδοµένα των µπλοκ 5 Nicolas Tsapatsoulis ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Επεκτάσεις του βασικού JPEG Προοδευτική κωδικοποίηση (Progressive mode) ηµιουργήθηκε για την µετάδοσης εικόνων σε πραγµατικό χρόνο (streaming). Οι συντελεστές DCT των µπλοκ µεταδίδονται σε πολλαπλά «περάσµατα» της εικόνας αρχίζοντας από τους DC συντελεστές. Με κάθε πέρασµα ο αποκωδικοποιητής µπορεί να παράγει µια υψηλότερης ποιότητας εκδοχή της εικόνας, οπότε µια προεκδοχή της µπορεί να σταλθεί γρήγορα και να αποφασίσει ο χρήστης που την λαµβάνει εάν θέλει να την αφήσει να ολοκληρωθεί και να βελτιωθεί σε ποιότητα. Ιεραρχική κωδικοποίηση (Hierarchical mode) Η εικόνα αναπαριστάται σε διαφορετικές αναλύσεις. Έτσι, µια ανάλυση της εικόνας που θέλουµε να επεξεργαστούµε θα µπορούσε να είναι 5 x 5, µια άλλη 5 x 5 και µια άλλη x. Η κάθε ανάλυση κωδικοποιείται ως το σύνολο των διαφορών που έχει από την αµέσως χαµηλότερη της ανάλυση και εποµένως δεν έχουµε άσκοπη επανάληψη δεδοµένων που ήδη έχουµε λάβει µε την προηγούµενη εκδοχή της εικόνας. 5 Nicolas Tsapatsoulis

13 ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Επεκτάσεις του βασικού JPEG: Ιεραρχική Κωδικοποίηση Ανάλυση x Ανάλυση 5x5 Ανάλυση 5x5 5 Nicolas Tsapatsoulis ΤΨΣ 5: Ψηφιακή Επεξεργασία Εικόνας Σύνοψη Το υλικό που παρουσιάστηκε σε αυτή την ενότητα αναφέρεται στη συµπίεση εικόνας µε απώλειες. Η αποκωδικοποιηµένη εικόνα δεν είναι πιστό αντίγραφο της αρχικής εικόνας (εικόνας πριν τη κωδικοποίηση). Εντούτοις σε πολλές περιπτώσεις οι διαφορές δεν είναι εύκολα αντιληπτές από τον άνθρωπο Η συµπίεση µε απώλειες επιτυγχάνει πολύ υψηλότερους λόγους συµπίεσης ( CR 5) από ότι η συµπίεση χωρίς απώλειες (. CR 3.) Οι τεχνικές συµπίεσης χωρίς απώλειες εκµεταλλεύονται τις ιδιαιτερότητες του ανθρώπινου οπτικού συστήµατος (ψυχοοπτικός πλεονασµός) καθώς και τον πλεονασµό pixel Υπάρχουν πολλά πρότυπα συµπίεσης ψηφιακών εικόνων. Ένα από τα σπουδαιότερα και τα πλέον επιτυχηµένα είναι το πρότυπο JPEG: Βασίζεται στον µετασχηµατισµό DCT Συνδυάζει τεχνικές κωδικοποίησης µετασχηµατισµού, προβλεπτική κωδικοποίηση και κωδικοποίηση εντροπίας Επιτυγχάνει συµπίεση της τάξης του (CR=) χωρίς οι απώλειες να µπορούν να γίνουν αντιληπτές από τον άνθρωπο. 5 Nicolas Tsapatsoulis 3