Professional Documents
Culture Documents
Ψηφιακή Επεξεργασία Εικόνας Ιωάννης Έλληνας ΤΕΙ Πειραιά
Ψηφιακή Επεξεργασία Εικόνας Ιωάννης Έλληνας ΤΕΙ Πειραιά
Ιωάννης Έλληνας
Τμήμα Η/ΥΣ
Ιωάννης Έλληνας
Τμήμα Η/ΥΣ
Σκοποί ενότητας
• Η ενότητα αυτή παρουσιάζει τις εισαγωγικές
έννοιες στην επεξεργασία εικόνας, όπως την
παράσταση των ψηφιακών εικόνων, τα
χρωματικά συστήματα και τις εντολές στο
Matlab για τον χειρισμό των εικόνων.
Περιεχόμενα ενότητας
• Τι είναι η ψηφιακή εικόνα
• Τυπικό σύστημα παραγωγής ψηφιακής
εικόνας
• Εισαγωγικές έννοιες
• Χρωματικά συστήματα
• Οι εικόνες στο Matlab
• Το ιστόγραμμα
5
Τι είναι η ψηφιακή εικόνα
Το διακεκριμένο σήμα Σχήμα 1.1 (α) color image (β) gray
Η μετάβαση από τον αναλογικό στο scale (γ) binary image
ψηφιακό κόσμο συνεπάγεται τη
μετατροπή των αναλογικών σημάτων σε
ψηφιακά. Έτσι, το αναλογικό σήμα μιας
εικόνας μεταφέρεται στον ψηφιακό
κόσμο με τη μορφή διακεκριμένου
σήματος, που έχει τη μορφή ψηφιακών
πινάκων.
Μια ψηφιακή εικόνα μπορεί να είναι:
- δυαδική (binary image).
μονοχρωματική με αποχρώσεις του
γκρι (gray level ή gray scale image).
- έγχρωμη (color image).
7
Εισαγωγικές έννοιες (1)
• Μια ψηφιακή εικόνα αποχρώσεων του γκρι, διαστάσεων Μ x Ν , παριστάνεται
από έναν δισδιάστατο πίνακα ακεραίων αριθμών:
I(i,j) με i = 1…Μ και j = 1…Ν (1.1)
• όπου 0 ≤ I(i,j) ≤ L – 1 . Το L ισούται συνήθως με μια δύναμη του 2, δηλαδή L = 2k ,
με συνηθέστερη τιμή το k = 8 , που αντιστοιχεί σε 256 αποχρώσεις του γκρι. Η
τιμή I(i,j) αντιπροσωπεύει τη φωτεινότητα του εικονοστοιχείου (pixel) (i,j).
• Η απλούστερη μορφή μιας εικόνας είναι η δυαδική μορφή. Μια δυαδική εικόνα
έχει μόνο δύο στάθμες φωτεινότητας, που συνήθως είναι το μαύρο και το άσπρο
(L=2 και k=1). Το μαύρο αντιστοιχεί στην τιμή 0 και το άσπρο στην τιμή 1. Μια
δυαδική εικόνα καταλαμβάνει μικρότερη μνήμη και η επεξεργασία της απαιτεί
μικρότερο υπολογιστικό κόστος. Σε δυαδική μορφή μπορούν να απεικονισθούν
σημαντικές πληροφορίες όπως είναι το εμβαδόν και η θέση των αντικειμένων, η
μορφή αντικειμένων κ.α.
9
Εισαγωγικές έννοιες (3)
Το χρωματικό σύστημα RGB Σχήμα 1.3 Η αρχική έγχρωμη (RGB)
εικόνα και οι τρεις συνιστώσες της
red, green, blue.
• Για παράδειγμα, στο χρωματικό
σύστημα RGB, το κάθε χρώμα
συντίθεται από τα χρώματα
κόκκινο (Red), πράσινο (Green)
και μπλε (Blue). Στο Σχήμα 1.3
παρουσιάζεται μια RGB εικόνα
και η διάσπασή της στα τρία
επιμέρους χρώματα.
10
11
Εισαγωγικές έννοιες (5)
• Η ευκρίνεια μιας εικόνας καθορίζει το Σχήμα 1.4 Μεταβολή της
πόσο καλά μπορούμε να βλέπουμε τις ευκρίνειας κρατώντας σταθερό
λεπτομέρειές της. Ισούται με το πλήθος το k και μεταβάλλοντας τις
των pixels ανά μονάδα επιφανείας, και διαστάσεις της εικόνας.
συνήθως μετριέται σε pixels / in2 ή
διαφορετικά σε d.p.i ( dots per inch ).
Είναι φανερό ότι η ευκρίνεια εξαρτάται
τόσο από τις διαστάσεις, όσο και από το
πλήθος των αποχρώσεων της κάθε
εικόνας. Αν για παράδειγμα κρατήσουμε
σταθερό το βάθος χρώματος και
μεταβάλλουμε (μειώνουμε) τις διαστάσεις
μιας εικόνας, τότε η εικόνα θα εμφανίσει
το φαινόμενο του σκακιού (checkboard).
Δηλαδή η εικόνα θα κατατεμαχιστεί σε
ομοιόμορφες χρωματικά περιοχές, όπως
στο διπλανό Σχήμα 1.4.
12
13
Εισαγωγικές έννοιες (7)
• Η μορφή της ψηφιακής
εικόνας, μετά τη
δειγματοληψία και την
κβάντιση, είναι ένας
πίνακας (matrix)
πραγματικών αριθμών.
14
Ψηφιοποίηση εικόνας
15
Χρωματικά συστήματα (1)
• Το εκλαμβανόμενο χρώμα κάποιου αντικειμένου από το ανθρώπινο μάτι
καθορίζεται ουσιαστικά από τη φύση του φωτός που ανακλάται από
αυτό. Το ορατό φως είναι συγκροτημένο από ένα σχετικά περιορισμένο
εύρος συχνοτήτων μέσα στο σύνολο του ηλεκτρομαγνητικού φάσματος.
Ένα σώμα που αντανακλά με τον ίδιο τρόπο (προσδίδει ίσες ποσότητες
φωτός) όλα τα μήκη κύματος του ορατού φάσματος εμφανίζεται λευκό.
Ωστόσο, ένα σώμα που «ευνοεί» ένα περιορισμένο εύρος από το οπτικό
φάσμα, τότε αυτό εμφανίζεται να έχει κάποια χρωματική απόχρωση. Για
παράδειγμα, τα αντικείμενα που εμφανίζονται με πράσινο χρώμα
αντανακλούν το φως εκείνο που το μήκος κύματος κυμαίνεται κυρίως στο
φάσμα των 500 με 570 nm (10-9m), ενώ απορροφούν το μεγαλύτερο
μέρος της ενέργειας του υπόλοιπου φάσματος
16
17
Χρωματικά συστήματα (3)
• Η φωτεινότητα δίνει μια μέτρηση του ποσού της ενέργειας που λαμβάνει ένας
παρατηρητής και μετριέται σε lumens.
• Η λαμπρότητα είναι ένα υποκειμενικό μέγεθος το οποίο πρακτικά είναι αδύνατο
να υπολογισθεί. Ενσωματώνει την αχρωματική έννοια της έντασης του φωτός
(intensity).
• Εξαιτίας της δομής του ανθρώπινου ματιού, όλα τα χρώματα θεωρούνται
συνδυασμοί των τριών βασικών χρωμάτων (primary colors): του κόκκινου (Red),
του πράσινου (Green) και του μπλε (Blue). Για λόγους τυποποίησης καθορίστηκαν
οι ακόλουθες τιμές: Κόκκινο = 700 nm / Πράσινο = 546,1 nm / Μπλε = 435,8
nm.
• Τα βασικά χρώματα μπορούν να αναμιχθούν ώστε να παραχθούν τα
δευτερεύοντα χρώματα (secondary colors). Αυτά είναι τα: ματζέντα (κόκκινο και
μπλε), κυανό (πράσινο και μπλε), κίτρινο (κόκκινο και πράσινο). Ο συνδυασμός
των τριών βασικών χρωμάτων ή ενός δευτερεύοντος με το αντίθετο βασικό,
παράγουν το λευκό χρώμα αν αναμιχθούν με συγκεκριμένες εντάσεις φωτός. Τα
αποτελέσματα αυτά φαίνονται στο παρακάτω Σχήμα 1.6.
18
19
Χρωματικά συστήματα (5)
Σχήμα 1.6 Στην 1η εικόνα έχουμε την ανάμειξη των βασικών χρωμάτων και στη
2η των δευτερευόντων.
20
21
Χρωματικά συστήματα (7)
Μοντέλο CMY ή CMYK: Το μοντέλο αυτό ορίζεται από τα χρώματα κυανό
(πράσινο και μπλε) ή (Cyan), ματζέντα (κόκκινο και μπλε) ή (Magenta), κίτρινο
(κόκκινο και πράσινο) ή (Yellow) τα οποία είναι συμπληρωματικά των
χρωμάτων RGB. Χρησιμοποιείται συνήθως σε έγχρωμους εκτυπωτές. Η
μετατροπή μεταξύ των δύο συστημάτων γίνεται ως εξής:
C=1–R
M=1–G (1.12)
Y=1–B
22
23
Χρωματικά συστήματα (9)
Μοντέλο YCbCr: Το μοντέλο αυτό διαχωρίζει τη φωτεινότητα (Υ) από την
πληροφορία του χρώματος (μπλε και κόκκινο – CbCr). Η μετατροπή από το
RGB δίνεται από:
Y = 0.29900R + 0.58700G + 0.11400B
Cb = -0.16874R – 0.33126G + 0.50000B (1.13)
Cr = 0.50000R – 0.41869G – 0.08131B
Αντίστροφα:
R = 1.00000Y + 1.40200Cr
G = 1.00000Y – 0.34414Cb – 0.71414Cr (1.14)
B = 1.00000Y + 1.77200Cb
24
25
Οι εικόνες στο Matlab (1)
26
27
Οι εικόνες στο Matlab (3)
• rgb2ind - μετατροπή ενός RGB σε indexed.
Υπάρχουν συναρτήσεις οι οποίες μετατρέπουν τον τύπο
παράστασης μιας εικόνας, όπως για παράδειγμα:
• im2double - μετατροπή στο διάστημα (0,1).
• im2uint8 - μετατροπή στο διάστημα (0,255).
• im2uint16 - μετατροπή στο διάστημα (0,65535).
28
29
Οι εικόνες στο Matlab (5)
• Οι συναρτήσεις ανάγνωσης και εγγραφής είναι η imread και η imwrite
αντίστοιχα. Η ανάγνωση ή εγγραφή μιας εικόνας σε δυαδική μορφή
(συνήθως καλείται raw ή bin) δεν υποστηρίζεται από αυτές τις
συναρτήσεις. Παρακάτω δίνεται ένα πρόγραμμα ανάγνωσης τέτοιων
αρχείων.
Η απεικόνιση των εικόνων γίνεται με τη συνάρτηση imshow:
• imshow(I,map) - εμφάνιση εικόνων με χρωματικό δείκτη.
• imshow(I,n) - εμφάνιση εικόνων με n επίπεδα του γκρι.
• imshow(BW) - εμφάνιση δυαδικών εικόνων.
• imshow(‘onoma.tiff’) - εμφάνιση αρχείου εικόνας.
30
31
Οι εικόνες στο Matlab (7)
β) Η τιμή φωτεινότητας του πρώτου pixel ευρίσκεται:
» map(X(1,1),:)
ans =
0.6054 0.6054 0.6054
Εάν αυτή η τιμή πολλαπλασιαστεί με το 255 θα δώσει την ισοδύναμη τιμή του
πρώτου pixel για intensity image τύπου double, δηλαδή 154.377 ή 154 για τύπο
uint8.
32
33
Οι εικόνες στο Matlab (9)
δ) Η μετατροπή από τύπο double σε τύπο uint8 γίνεται ως εξής:
» Z=im2uint8(Y);
» Z(1:5,1:5)
ans =
154 112 142 130 142
130 143 123 143 112
130 154 130 142 143
137 130 112 143 112
112 154 130 123 130
34
35
Οι εικόνες στο Matlab (11)
» imshow(X,map);
» figure;
» imshow(X1,map);
» figure;
» imshow(X2,newmap);
36
37
Οι εικόνες στο Matlab (13)
• Παράδειγμα 1.2
α) Οι εικόνες πολλές φορές ευρίσκονται σε μορφή raw ή bin, όπου κάθε pixel
έχει δυαδική τιμή από 0 έως 255. Η ανάγνωση αυτών των εικόνων,
γνωρίζοντας τη διάστασή τους, μπορεί να γίνει ως εξής:
38
Δυαδικό αρχείο
39
Οι εικόνες στο Matlab (15)
• Η εμφάνιση της εικόνας στην οθόνη μπορεί να γίνει με την εντολή
imshow(im’,gray(256)) επειδή έχει τύπο double ή με την εντολή
imshow(uint8(im’)), η οποία την μετατρέπει πρώτα σε τύπο uint8.
Χρησιμοποιείται ο ανάστροφος πίνακας (transpose) για την
περιστροφή της.
• Η εικόνα im μπορεί να αποθηκευτεί σε αρχείο με δυαδική μορφή, σαν
filename.mat, με την εντολή save filename im και μπορεί να
επαναφορτωθεί με την εντολή load filename.
40
41
Οι εικόνες στο Matlab (17)
Σχήμα 1.9
42
43
Οι εικόνες στο Matlab (19)
δ) Ένας τύπος εικόνας μπορεί να Σχήμα 1.10 Μετατροπή σε εικόνα
μετατραπεί σε άλλο τύπο. Το παρακάτω
Σχήμα 1.10 δείχνει τη μετατροπή της φωτεινότητας χρωματικού δείκτη
έγχρωμης εικόνας clown σε εικόνα
φωτεινότητας.
Σχήμα 1.10 Αρχική έγχρωμη εικόνα Χ
44
45
Οι εικόνες στο Matlab (21)
Παράδειγμα 1.3 : Διαβάζεται και απεικονίζεται μια εικόνα με τις εντολές:
» X=imread('pentagon.png');
» imshow(X);
» figure;
» imshow(X,[80 200]);
» figure;
» imshow(X,[]);
Η ελάχιστη τιμή του πίνακα Χ είναι 63 και η μέγιστη 241. Το [80 200] υποδηλώνει ότι
όλα τα pixels με τιμή μικρότερη ή ίση του 80 θα απεικονιστούν μαύρα (δηλ. 0) και όλα
τα pixels με τιμή μεγαλύτερη ή ίση του 200 θα απεικονιστούν άσπρα (δηλ. 255). Οι
ενδιάμεσες τιμές θα κλιμακωθούν στον προκαθορισμένο αριθμό επιπέδων (π.χ. 256).
Το [ ] υποδηλώνει ότι τα προηγούμενα όρια είναι η ελάχιστη και μέγιστη τιμή του
πίνακα (δηλ. το 63 και 241). Το αποτέλεσμα φαίνεται στις εικόνες του παρακάτω
Σχήματος 1.11.
46
47
Οι εικόνες στο Matlab (23)
• Παρατηρούμε ότι με αυτό τον τρόπο είναι Σχήμα 1.11 γ. Μέγιστη δυνατή
δυνατή η μετατροπή μιας εικόνας με αύξηση της δυναμικής
φτωχή ευκρίνεια σε εικόνα η οποία να περιοχής
αναδεικνύει καλύτερα ορισμένες
περιοχές της. Βέβαια αυτό μπορεί να
γίνει και με διαφορετικούς τρόπους, όπως
θα εξεταστεί παρακάτω.
• Μια εικόνα μπορεί να αποθηκευτεί είτε
σε μορφή mat με την εντολή save είτε με
την εντολή imwrite σε μια μορφή
υποστηριζόμενη από το Matlab. Για
παράδειγμα η προηγούμενη εικόνα, η
οποία είναι σε μορφή png, μπορεί να
αποθηκευτεί σε άλλη μορφή ως εξής:
• » imwrite(X,'pentagon2.tif');
48
Το ιστόγραμμα (1)
Το ιστόγραμμα μιας ψηφιακής εικόνας Πολλές φορές χρησιμοποιείται το
(gray scale για χάριν απλότητας) με L κανονικοποιημένο ιστόγραμμα
επίπεδα φωτεινότητας στην περιοχή [0 (normalized histogram) το οποίο
255] ορίζεται σαν την ακόλουθη διακριτή ευρίσκεται διαιρώντας τη σχέση (1.15)
συνάρτηση: με το συνολικό αριθμό των pixels στην
εικόνα.
h(rk) = nk (1.15)
(1.16)
Όπου rk είναι το k επίπεδο φωτεινότητας
στο διάστημα [0 255] και nk είναι ο
αριθμός των pixels στην εικόνα που
έχουν επίπεδο φωτεινότητας rk.
49
Το ιστόγραμμα (2)
Όπου n είναι ο συνολικός αριθμός των pixels της εικόνας και k = 1,2,…,L. Το p(rk)
αντιπροσωπεύει την πιθανότητα εμφάνισης του επιπέδου φωτεινότητας rk. Η
συνάρτηση του Matlab για την εύρεση του ιστογράμματος είναι:
h = imhist ( I , b )
Όπου Ι είναι η εικόνα εισόδου και b είναι ο αριθμός των βημάτων (bins), ο οποίος
είναι ίσος με 256 εάν δεν ορίζεται. Το κανονικοποιημένο ιστόγραμμα δημιουργείται
με τη σχέση:
p = imhist ( I , b ) / numel ( I )
Η συνάρτηση numel ( I ) υπολογίζει τον αριθμό των pixels της εικόνας εισόδου. Η
απεικόνιση του ιστογράμματος στην οθόνη γίνεται μόνο με τη συνάρτηση imhist ( I ,
b ).
Για παράδειγμα η συχνότητα εμφάνισης κάθε απόχρωσης της προηγούμενης εικόνας
“pentagon” και η απεικόνιση του ιστογράμματος φαίνεται στο Σχήμα 1.12.
50
Το ιστόγραμμα (3)
Πίνακας Σχήμα 1.12 Ιστόγραμμα εικόνας
“pentagon”
51
Βιβλιογραφία
1. N. Η. Παπαμάρκος, “Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας”,
Δημοκρίτειο, Ξάνθη 2001.
2. Σ. Δ. Κόλλιας, “Επεξεργασία, Ανάλυση και Τεχνολογία Εικόνων και
Βίντεο”, Σημειώσεις ΕΜΠ, Αθήνα 2001.
3. I. Pitas, “Digital Image Processing Algorithms”, Prentice Hall, 1992.
4. R. C. Gonzalez, R. E. Woods, “Digital Image Processing”, Prentice Hall, 2nd
Edition 2002.
5. R. C. Gonzalez, R. E. Woods, S. L. Eddins, “Digital Image Processing Using
MATLAB”, Prentice Hall.
6. A. K. Jain, “Fundamentals of Digital Image Processing”, Prentice Hall,
1989.
52
Περιεχόμενα ενότητας
• Τι είναι ο εμπλουτισμός εικόνας • Εκθετική συμπίεση κλίμακας
• Τεχνικές σημείου φωτεινότητας
• Αντιστροφή φωτεινότητας • Πράξεις επί των εικόνων
• Επέκταση της αντίθεσης • Εξισορρόπηση ιστογράμματος
• Κλιμάκωση φωτεινότητας • Προσαρμογή ιστογράμματος σε
• Κόψιμο φωτεινότητας δεδομένο ιστόγραμμα
• Τεμαχισμός κλίμακας • Τεχνικές χώρου-Φίλτρα
φωτεινότητας • Γραμμικά φίλτρα
• Ανάλυση σε δυαδικές εικόνες • Μη γραμμικά φίλτρα
• Λογαριθμική συμπίεση κλίμακας • Τετραδικό δέντρο
φωτεινότητας
5
Τι είναι ο εμπλουτισμός εικόνας
(Image Enhancement);
• Ο εμπλουτισμός εικόνας διαπραγματεύεται τους τρόπους βελτίωσης μιας
εικόνας, δηλαδή όλες εκείνες τις μεθόδους επεξεργασίας οι οποίες
καθιστούν την εικόνα περισσότερο εκμεταλλεύσιμη.
• Για παράδειγμα, η μεταβολή της φωτεινότητας, η βελτίωση της
αντίθεσης, η βελτίωση του λόγου σήμα προς θόρυβο, η μεταβολή της
οξύτητας, η μεταβολή του τονισμού μιας εικόνας ή ακόμα η σμίκρυνση, η
μεγέθυνση, η περιστροφή είναι αντικείμενα αυτού του κεφαλαίου.
• Οι διάφορες μέθοδοι που αφορούν στη βελτίωση της ποιότητας μιας
εικόνας ομαδοποιούνται σε τρεις βασικές κατηγορίες: τις τεχνικές
σημείου ή pixel (point operations), τις τεχνικές στο πεδίο της εικόνας ή
χωρικές τεχνικές (spatial operations) και τις τεχνικές στο πεδίο
συχνοτήτων (frequency operations) ή στο πεδίο μετασχηματισμού
γενικότερα (transform operations).
Τεχνικές σημείου
7
Αντιστροφή φωτεινότητας (1)
Η αντιστροφή της
φωτεινότητας μιας
εικόνας
πραγματοποιείται
σύμφωνα με την εξής
σχέση:
9
Επέκταση της αντίθεσης (1)
• Πολλές εικόνες έχουν Σχήμα 2.3 Επέκταση της αντίθεσης
χαμηλή αντίθεση, λόγω
κακού φωτισμού λήψης, με
αποτέλεσμα το οπτικό
αποτέλεσμα να είναι
φτωχό. Η γραμμική
μεταβολή μιας περιοχής
επιπέδων φωτεινότητας της
εικόνας καλείται επέκταση
της αντίθεσης (contrast
stretching) και η γενική της
μορφή περιγράφεται από
το Σχήμα 2.3 και τη σχέση
(2.3):
10
11
Επέκταση της αντίθεσης (3)
Σχήμα 2.5 Εικόνα και
ιστόγραμμα μετά την
επέκταση της
φωτεινότητας
12
13
Κλιμάκωση φωτεινότητας (1)
14
15
Κόψιμο φωτεινότητας (1)
Σχήμα 2.8 Κόψιμο
και κατωφλίωση του
επιπέδου
φωτεινότητας
16
17
Τεμαχισμός κλίμακας φωτεινότητας
Σχήμα 2.10 Τεμαχισμός
φωτεινότητας εικόνας
18
Σημείωση: Ο τεμαχισμός
της φωτεινότητας δεν
μπορεί να γίνει με την
εντολή imadjust, για
παράδειγμα imadjust(x,[a
b],[0 1]), η οποία
τοποθετεί τα όρια [a b]
στα άκρα [0 1] και
τροποποιεί τις ενδιάμεσες
φωτεινότητες.
20
21
Ανάλυση σε δυαδικές εικόνες (2)
Το πρόγραμμα με το οποίο
μια εικόνα μπορεί να
αναλυθεί σε δυαδικές
εικόνες είναι το
παράπλευρο.
Η εικόνα “woman”
αναλύεται σε δυαδικές
εικόνες με το παρακάτω
πρόγραμμα. Το Σχήμα 2.13
δείχνει την αρχική εικόνα και
πέντε από τις οκτώ δυαδικές
εικόνες, που δημιουργούνται
από τους συντελεστές
βάρους α7, α6, α5, α1, α0
αντίστοιχα.
22
23
Λογαριθμική συμπίεση
της κλίμακας φωτεινότητας (1)
24
Λογαριθμική συμπίεση
της κλίμακας φωτεινότητας (2)
25
Λογαριθμική συμπίεση
της κλίμακας φωτεινότητας (3)
Σχήμα 2.15 Λογαριθμική
συμπίεση της δυναμικής
περιοχής φωτεινότητας
26
27
Εκθετική συμπίεση της
κλίμακας φωτεινότητας (2)
Σχήμα 2.16 Εκθετική
συμπίεση φωτεινότητας
για διάφορες τιμές του
συντελεστή συμπίεσης γ
28
29
Πράξεις επί των εικόνων (1)
30
31
Πράξεις επί των εικόνων (3)
32
33
Εξισορρόπηση ιστογράμματος (2)
34
35
Εξισορρόπηση ιστογράμματος (4)
Σχήμα 2.21
Κανονικοποιημένο
ιστόγραμμα και
αθροιστική συνάρτηση
πιθανότητας της εικόνας
“sphere”.
36
37
Εξισορρόπηση ιστογράμματος (6)
38
Προσαρμογή σε δεδομένο
ιστόγραμμα (1)
39
Προσαρμογή σε δεδομένο
ιστόγραμμα (2)
Σχήμα 2.23 Διαδικασία
προσαρμογής εικόνας σε
δεδομένο ιστόγραμμα. (α)
Ιστόγραμμα αρχικής
εικόνας. (β) Αθροιστική
συνάρτηση πιθανότητας
αρχικής εικόνας. (γ)
Δεδομένο ιστόγραμμα. (δ)
Αθροιστική συνάρτηση
πιθανότητας δεδομένου
ιστογράμματος.
40
Προσαρμογή σε δεδομένο
ιστόγραμμα (3)
Σχήμα 2.24 Η εικόνα
“sphere” μετά από
εξισορρόπηση
ιστογράμματος ή
προσαρμογή σε δεδομένο
ιστόγραμμα. (α-β)
Εξισορρόπηση
ιστογράμματος. (γ-δ)
Προσαρμογή σε δεδομένο
ιστόγραμμα.
41
Παράδειγμα 2.2 (1)
Το πρόγραμμα υλοποίησης
δείχνεται παράπλευρα. Το Σχήμα
2.25 δείχνει την πορεία αυτών
των μετατροπών. Το (α)
απεικονίζει την αρχική εικόνα
“forest”, η οποία έχει το
ιστόγραμμα (β). Μετά την
προσαρμογή των επιπέδων
φωτεινότητας στο διάστημα [0
128] προκύπτει η εικόνα (γ) με
αντίστοιχο ιστόγραμμα το (δ).
Η εικόνα αυτή προσαρμόζεται
στο αρχικό ιστόγραμμα (β) και
δίνει την εικόνα (ε) με
ιστόγραμμα το (στ), που είναι
ίδια με τα (α) και (β) αντίστοιχα.
42
44
45
Παράδειγμα 2.3(1)
46
Παράδειγμα 2.3(2)
• Στη πρώτη περίπτωση το γραμμικό • Ένας άλλος τύπος είναι η
φίλτρο καλείται φίλτρο μέσης συνέλιξη (convolution) της
τιμής (averaging filter), ενώ στη εικόνας εισόδου με τη μάσκα.
δεύτερη περίπτωση όπου κάποιοι Σε αυτήν την περίπτωση, η
συντελεστές της μάσκας έχουν μάσκα περιστρέφεται κατά
διαφορετικές τιμές από τη 1800 και στη συνέχεια
μονάδα, το φίλτρο καλείται συσχετίζεται με την εικόνα
ειδικών βαρών μέσης τιμής εισόδου όπως περιγράφεται
(weighting average filter). Στο παραπάνω. Εάν η μάσκα έχει
τελευταίο φίλτρο κάποια pixels συμμετρική μορφή, οι δυο
επιδρούν περισσότερο από άλλα μέθοδοι δίνουν το ίδιο
στη διαμόρφωση της μέσης τιμής. αποτέλεσμα. Οι δυο
Αυτός ο τύπος φίλτρων είναι η παραπάνω μάσκες είναι
συσχέτιση (correlation) της εικόνας συμμετρικές
εισόδου με την αντίστοιχη μάσκα.
47
Γραμμικά φίλτρα (1)
Μια συνάρτηση η οποία δημιουργεί γραμμικό φιλτράρισμα με τον
παραπάνω τρόπο στο Matlab είναι η εξής:
y = imfilter ( x , mask , mode , padd )
Όπου y = εικόνα εξόδου , x = εικόνα εισόδου , mask = πίνακας μάσκας , mode
= ‘corr’ ή ‘conv’ και
padd=μια τιμή (default=0) με την οποία συμπληρώνει την περιφέρεια.
Συνήθως η τιμή αυτή είναι το μηδέν (zero padding).
=‘replicate’ – επανάληψη των τιμών που ευρίσκονται στα όρια της
εικόνας.
=‘symmetric’ – συμμετρικές τιμές ως προς το τέλος της εικόνας.
=‘circular’ – περιοδική επανάληψη της εικόνας μετά τα όρια.
48
49
Γραμμικά φίλτρα (3)
• Με το zero padding (προσθήκη μαύρου
στα όρια) δημιουργούνται θολές
περιοχές μεταξύ άσπρου και μαύρου.
• Το replicate και το symmetric
συμπεριφέρονται ίδια και διορθώνουν
το παραπάνω πρόβλημα.
• Το circular δημιουργεί το ίδιο πρόβλημα
με την πρώτη περίπτωση μόνο εκεί που
η περιοδικότητα δημιουργεί εναλλαγή
άσπρου και μαύρου.
• Σχήμα 2.26 Γραμμικό φιλτράρισμα. (α)
Εικόνα εισόδου. (β) Zero padding. (γ)
Replicate. (δ) Symmetric padding. (ε)
Circular.
50
51
Γραμμικά φίλτρα (5)
Επομένως ο τελεστής Η μορφή του σαν πίνακας
Laplacian σε διακριτή μορφή είναι η εξής:
είναι:
52
53
Γραμμικά φίλτρα (7)
• Η δεύτερη παράγωγος και επομένως • Σχήμα 2.27 Φιλτράρισμα της εικόνας
ο τελεστής Laplacian αναδεικνύει τις “moon” με το Laplacian φίλτρο το
απότομες μεταβολές φωτεινότητας οποίο αναδεικνύει τις ακμές των
σε μια εικόνα (sharpening) ενώ αντικειμένων.
εξομαλύνει τις περιοχές ομαλής
μεταβολής της φωτεινότητας. Αυτό
φαίνεται και στο Σχήμα 2.27.
• Η μεσαία εικόνα είναι αυτή που
προκύπτει από το φιλτράρισμα και
στην οποία έχουν ομογενοποιηθεί
όλες οι περιοχές ομαλής μεταβολής
της φωτεινότητας. Για να πάρουμε
καθαρή εικόνα με τονισμένες τις
ακμές αφαιρούμε από την αρχική
εικόνα αυτή που προέκυψε από το
φιλτράρισμα.
54
55
Παράδειγμα 2.5 (2)
56
Η τιμή του τρέχοντος pixel υπολογίζεται με ένα μη γραμμικό τρόπο από τα γειτονικά
του pixels. Το πιο γνωστό από αυτά είναι το φίλτρο median, το οποίο υπολογίζει αν
τιμή του τρέχοντος pixel τη μεσαία τιμή από τα γειτονικά του. Το φίλτρο αυτό
χρησιμοποιείται για την απαλοιφή θορύβου τύπου “salt and pepper”, ο οποίος
εμφανίζεται σαν μαύρα και άσπρα σημάδια σε μια εικόνα. Για την εύρεση της
μεσαίας τιμής σε μια γειτονιά 3×3, πρώτα όλα τα στοιχεία ταξινομούνται κατά
αύξουσα σειρά και μετά επιλέγεται το πέμπτο κατά σειρά στοιχείο, το οποίο ως
μεσαία τιμή τοποθετείται στη θέση του κεντρικού στοιχείου της γειτονιάς. Το φίλτρο
αυτό υποχρεώνει τα στοιχεία με διαφορετικότητα να πάρουν τιμή περίπου ίδια με
τα γειτονικά τους.
57
Μη γραμμικά φίλτρα (2)
• Στο Matlab το φίλτρο median παρέχεται με τη συνάρτηση:
y = medfilt2 ( x , [m n] , pad)
• Όπου [m n] είναι η γειτονιά (π.χ. 3×3) και pad είναι ο τρόπος
υπολογισμού στα όρια της εικόνας (‘zero’ ή ‘symmetric’).
• Παρακάτω προστίθεται θόρυβος τύπου “salt and pepper” σε
μια εικόνα και εφαρμόζεται ένα φίλτρο median για την
αντιμετώπισή του.
58
59
Τετραδικό δέντρο (1)
Η ανάλυση σε τετραδικό δέντρο (QTD-Quad Tree Decomposition) διαιρεί μια
εικόνα σε υπο-εικόνες σύμφωνα με κάποιο κριτήριο. Στο Matlab
πραγματοποιείται με τη συνάρτηση qtdecomp ως εξής:
S = qtdecomp (x, thr, mindim)
S=Πίνακας ο οποίος περιέχει τις συντεταγμένες των κορυφών των υπο-
εικόνων
x=Εικόνα εισόδου
thr=Κατώφλι διάσπασης με τιμή στο διάστημα [0 1]-Εάν η μέγιστη μείον την
ελάχιστη φωτεινότητα μιας υπο-εικόνας υπερβαίνει το κατώφλι thr τότε
πραγματοποιείται διάσπαση.
Mindim=Ελάχιστο μέγεθος υπο-εικόνας (π.χ. 8Χ8)
60
61
Τετραδικό δέντρο (3)
62
64
Περιεχόμενα ενότητας
• Τύποι θορύβου
• Φίλτρο αριθμητικής μέσης τιμής
• Φίλτρο γεωμετρικής μέσης τιμής
• Φίλτρο μεσαίας τιμής
• Φίλτρο ενδιάμεσου σημείου
• Φίλτρο ρυθμιζόμενης μέσης τιμής
• Προσαρμοζόμενο φίλτρο τοπικού θορύβου
• Προσαρμοζόμενο φίλτρο μεσαίας τιμής
5
Τύποι θορύβου (1)
Υπάρχουν διάφοροι τύποι θορύβου,
η ονομασία των οποίων προκύπτει
από τη μορφή της συνάρτησης
πυκνότητας πιθανότητας (probability
density function ή pdf).
Gaussian noise
7
Τύποι θορύβου (3)
• Ο Gaussian θόρυβος υπάρχει σε μια εικόνα κυρίως λόγω της απόδοσης
του αισθητηρίου λήψης κάτω από συνθήκες μη επαρκούς φωτισμού ή
υψηλής θερμοκρασίας.
• Ο Uniform θόρυβος δεν δημιουργείται πρακτικά, αλλά είναι χρήσιμος για
την εξομοίωση αλγορίθμων απαλοιφής θορύβου.
• Ο Impulse θόρυβος δημιουργείται συνήθως από το on/off διακοπτών
(μηχανικών ή ηλεκτρονικών) στη διαδικασία λήψης ή μετάδοσης μιας
εικόνας.
• Υπάρχουν και άλλοι τύποι θορύβου, όπως: ο θόρυβος Rayleigh που
χαρακτηρίζει εικόνες πεδίων, ο θόρυβος exponential ή ο θόρυβος gamma
που χαρακτηρίζουν εικόνες laser κλπ.
9
Τύποι θορύβου (5)
Σχήμα 3.1 Ιστόγραμμα κανονικού Σχήμα 3.1 Ιστόγραμμα κατανομής
θορύβου παραγόμενο από τη Gaussian παραγόμενο από τη
συνάρτηση rand συνάρτηση randn
10
11
Τύποι θορύβου (7)
>> x=imread('cameraman.tif');
>> randn('state',sum(100*clock));
>> sigma=[10,30];
>> x=double(x);
>> y1=x+sigma(1)*randn(size(x));
>> y2=x+sigma(2)*randn(size(x));
>> imshow(y1,[])
>> figure;
>> imshow(y2,[])
12
14
15
Φίλτρο γεωμετρικής μέσης τιμής (2)
>> x=imread('cameraman.tif');
>> x=double(x);
>> sigma=30;
>> y=x+sigma*randn(size(x));
>>z=exp(imfilter(log(y),ones(7,7),'sy
mmetric')).^(1/7/7);
>> imshow(z,[])
16
17
Φίλτρο μεσαίας τιμής - median (2)
• Το φίλτρο αυτό βασίζεται στη
σχέση:
• Φίλτρο μέγιστης τιμής (max)
• Το κάθε pixel της εικόνας με
θόρυβο αντικαθίσταται από τη
μέγιστη τιμή των pixels στη
γειτονιά του. Η αρχική τιμή του
περιλαμβάνεται σε αυτόν τον
υπολογισμό. Αυτός ο τύπος
φίλτρου αναδεικνύει τα pixels με
τη μεγαλύτερη φωτεινότητα και
συνεπώς υποβαθμίζει το θόρυβο
τύπου “pepper”.
18
19
Φίλτρο μεσαίας τιμής - median (4)
• Φίλτρο ελάχιστης τιμής (min)
• Το φίλτρο αυτό βασίζεται στη σχέση:
• Το κάθε pixel της εικόνας με θόρυβο
αντικαθίσταται από την ελάχιστη τιμή των
pixels στη γειτονιά του. Η αρχική τιμή του
περιλαμβάνεται σε αυτόν τον
υπολογισμό. Αυτός ο τύπος φίλτρου
αναδεικνύει τα pixels με τη μικρότερη
φωτεινότητα και συνεπώς υποβαθμίζει το
θόρυβο τύπου “salt”. Η συνάρτηση η
οποία υλοποιεί αυτόν τον τύπο φίλτρου
στο Matlab είναι η εξής:
• y = ordfilt2 ( x , 1 , ones ( m , n ) )
20
21
Παράδειγμα (1)
22
Παράδειγμα (2)
23
Φίλτρο ενδιάμεσου σημείου (1)
• Το φίλτρο ενδιάμεσου σημείου υπολογίζει την ενδιάμεση τιμή μεταξύ ελαχίστου
και μεγίστου στην περιοχή της μάσκας και τοποθετεί το αποτέλεσμα στη θέση του
εξεταζόμενου στοιχείου της περιοχής. Η σχέση η οποία διέπει τη λειτουργία αυτού
του φίλτρου είναι:
24
25
Φίλτρο ρυθμιζόμενης μέσης τιμής (1)
26
Χρήση φίλτρου
27
Φίλτρο ρυθμιζόμενης μέσης τιμής (3)
Μάσκα 3 x 3 και k = 5
28
29
Προσαρμοζόμενo φίλτρο τοπικού
θορύβου(2)
• Όπου I’(x,y) είναι η τιμή του κεντρικού pixel της μάσκας ή της περιοχής Sxy μετά
την εφαρμογή της σχέσης (3.7), I(x,y) είναι η αρχική τιμή του pixel, S2 o θόρυβος
στην εικόνα, n2 η ενέργεια στην περιοχή και μS η μέση τιμή της περιοχής.
• Εάν δεν υπάρχει θόρυβος, τότε I’(x,y)=I(x,y).
• Εάν ο θόρυβος είναι μικρός σε σχέση με την ενέργεια της περιοχής (δηλαδή n2
<< S2 ), τότε I’(x,y)=I(x,y).
• Εάν ο θόρυβος είναι ίσος με την ενέργεια της περιοχής, τότε I’(x,y)= μS , το οποίο
σημαίνει την εφαρμογή φίλτρου αριθμητικής μέσης τιμής.
• Εάν ο θόρυβος είναι πολύ μεγαλύτερος (μπορεί να τεθούν τιμές κατωφλίου για
τις ανισότητες), τότε για την αποφυγή αρνητικών τιμών θεωρούμε την
προηγούμενη περίπτωση της ισότητας, οπότε εφαρμόζεται πάλι φίλτρο
αριθμητικής μέσης τιμής. Εναλλακτικά μπορούμε να υπολογίσουμε τις
αρνητικές τιμές που προκύπτουν από τη σχέση (3.7) και στο τέλος να
επαναφέρουμε την κλίμακα [0 255] (rescaling).
30
31
Προσαρμοζόμενο φίλτρο μεσαίας τιμής
(2)
32
Απαλοιφή θορύβου
33
Ενότητα 4 : Δειγματοληψία και κβάντιση
(Sampling and Quantization)
Σκοποί ενότητας
• Σκοπός αυτής της ενότητας είναι να δείξει τον
τρόπο και τη σημασία της κβαντοποίησης
ενός σήματος ή μιας εικόνας.
4
Περιεχόμενα ενότητας
Δειγματοληψία μονοδιάστατου σήματος
Δειγματοληψία δισδιάστατου σήματος
Ιδανικό φίλτρο
Κβάντιση
Ομοιόμορφος κβαντιστής
Βέλτιστος κβαντιστής ελάχιστου μέσου τετραγωνικού σφάλματος
Συμπεράσματα
Dithering
Halftoning
Δειγματοληψία μονοδιάστατου
σήματος
Δειγματοληψία
μονοδιάστατου σήματος:
αs(t)=α(t)s(t)
6
Δειγματοληψία δισδιάστατου σήματος (1)
8
Ιδανικό Φίλτρο (2)
• Το ανακατασκευασμένο σήμα με τη
βοήθεια του ιδανικού φίλτρου θα είναι:
• Η ανακατασκευή του αρχικού σήματος
πραγματοποιείται με παρεμβολή
(interpolation) απείρων σημείων. Επειδή
πρακτικά ο αριθμός των σημείων για την
ανακατασκευή είναι πεπερασμένος,
συνήθως χρησιμοποιούνται φίλτρα των
οποίων η χρονική απόκριση έχει
πεπερασμένη διάρκεια ή να φθίνει
γρήγορα, Σχήμα 4.4.
• Το εύρος του κύριου λοβού συναρτάται
με την απώλεια ανάλυσης (resolution
loss). Όσο πιο στενός είναι ο λοβός τόσο
μεγαλύτερη είναι η απώλεια ανάλυσης
δηλαδή μεγαλύτερη η εξασθένηση των
υψηλών συχνοτήτων. Αυτό στην εικόνα
γίνεται αντιληπτό σαν οξύτητα
απεικόνισης.
9
10
Ιδανικό Φίλτρο (4)
Σχήμα 4.4
11
Κβάντιση (1)
Το αναλογικό σήμα μετατρέπεται μέσω
του δειγματολήπτη σε ένα αναλογικά
μεταβαλλόμενο διακριτό σήμα, το οποίο
με τη σειρά του μπορεί να μετατραπεί σε
διακριτό ή ψηφιακό σήμα μέσω του
κβαντιστή. Ο κβαντιστής είναι η διάταξη
εκείνη η οποία αντιστοιχίζει τις τιμές του
δειγματοληπτούμενου σήματος σε
διακριτές στάθμες, Σχήμα 4.5. Εάν το
σήμα εισόδου είναι μεταξύ των σταθμών
ti και ti+1, τα οποία καλούνται μεταβατικές
στάθμες (transition levels), η έξοδος του
κβαντιστή είναι η στάθμη ri, η οποία
καλείται στάθμη ανακατασκευής
(reconstruction level).
13
Ομοιόμορφος κβαντιστής
-Uniform quantizer (1)
• (4.4)
• Το βήμα κβάντισης (quantization
step), q, εξαρτάται από το εύρος
μεταβολής του σήματος εισόδου.
Ο κβαντιστής δημιουργεί ένα
σήμα σταθμών οι οποίες
εμπεριέχουν το σφάλμα
κβάντισης, με αποτέλεσμα το
σήμα εισόδου να μην μπορεί να
αναπαραχθεί. Σαν μέτρο
επίδοσης ενόc κβαντιστή,
δηλαδή ένας κβαντιστής με μικρό
σφάλμα κβάντισης, λαμβάνεται ο
λόγος μέσης τιμής ισχύων
σήματος και θορύβου κβάντισης.
14
Ομοιόμορφος κβαντιστής
-Uniform quantizer (2)
• O ομοιόμορφος κβαντιστής, ο οποίος
χρησιμοποιείται συχνότατα στην
ψηφιακή επεξεργασία εικόνας για
την απλότητά του, έχει σταθερό
βήμα κβάντισης.
• Το βήμα κβάντισης είναι (4.5) :
όπου Ν ο συνολικός αριθμός
σταθμών του κβαντιστή.
15
Ομοιόμορφος κβαντιστής
-Uniform quantizer (3)
16
Ομοιόμορφος κβαντιστής
-Uniform quantizer (4)
17
Ομοιόμορφος κβαντιστής
-Uniform quantizer (5)
Παρατηρήσεις
1. Ένας ομοιόμορφος κβαντιστής έχει απόδοση 6 dB ανά bit για ομοιόμορφη
κατανομή του σήματος εισόδου.
2. Όσο περισσότερες στάθμες έχει ο ομοιόμορφος κβαντιστής τόσο καλύτερη
απόδοση έχει.
3. Για χαμηλής στάθμης σήματα εισόδου ο θόρυβος είναι ίδιος όπως και για
μεγάλης στάθμης σήματα. Γι αυτό το λόγο δημιουργούνται οι μη γραμμικοί
κβαντιστές (compandors=compressor και expandor) οι οποίοι έχουν
περισσότερες στάθμες κβάντισης για τα χαμηλής στάθμης σήματα, άρα και
μικρότερο θόρυβο. Η καμπύλη ενός τέτοιου κβαντιστή δείχνεται στην επόμενη
διαφάνεια.
18
Ομοιόμορφος κβαντιστής
-Uniform quantizer (6)
Σχήμα 4.7
Μη γραμμικός κβαντιστής.
(α) Compressor. (β)
Expandor.
(α) (β)
19
Ομοιόμορφος κβαντιστής
-Uniform quantizer (7)
Παράδειγμα 4.3
• Ο ομοιόμορφος κβαντιστής είναι σταθερού ρυθμού
μετάδοσης, δηλαδή κάθε pixel κβαντίζεται με τον ίδιο
αριθμό bits. Είναι δυνατή η κβάντιση ενός μέρους των
δειγμάτων εισόδου με περισσότερα bits/pixel και του
άλλου μέρους με λιγότερα bits/pixel, έτσι ώστε κατά μέσον
όρο να έχουμε τον ίδιο αριθμό bits/pixel. Ο ομοιόμορφος
κβαντιστής αυτού του τύπου καλείται κβαντιστής
μεταβλητού ρυθμού μετάδοσης και παρουσιάζει μικρότερη
παραμόρφωση.
• Στο παράδειγμα 4.3 δημιουργείται μια είσοδος 1000
τυχαίων δειγμάτων στην περιοχή [0,1] και κβαντίζονται με
ένα ομοιόμορφο κβαντιστή με 2 bits/pixel. Στη συνέχεια, η
είσοδος χωρίζεται σε δυο περιοχές 500 δειγμάτων από τις
οποίες η μια κβαντίζεται με 3 bits/pixel και η άλλη με 1
bit/pixel (μέσος όρος 2 bits/pixel ). Από τον υπολογισμό του
SNR (λόγος σήμα προς θόρυβο ή παραμόρφωση) φαίνεται
ότι ο κβαντιστής μεταβλητού ρυθμού έχει καλύτερη
απόδοση. 20
Ομοιόμορφος κβαντιστής
-Uniform quantizer (8)
• Όπου ο αριθμητής είναι η ισχύς του σήματος εισόδου και ο παρανομαστής το
μέσο τετραγωνικό σφάλμα κβάντισης (mse-mean square error).
Παρατηρήσεις
• Στο Matlab, ο αριθμητής μπορεί να υπολογιστεί και με τη συνάρτηση cov(x)
(διασπορά ή variance).
• Για την καλύτερη απόδοση του κβαντιστή μεταβλητού ρυθμού μετάδοσης, τα
περισσότερα bits πρέπει να διατίθενται σε εκείνη την περιοχή όπου το σήμα
εισόδου έχει μεγαλύτερη ενέργεια. Έτσι, η περιοχή με τις μεγαλύτερες τιμές
φωτεινότητας θα κβαντίζονται με περισσότερα επίπεδα και θα δίνουν μικρότερη
παραμόρφωση.
• Στην περίπτωση του παραδείγματος, η περιοχή [0,median] κβαντίζεται με 3
bits/pixel ενώ η περιοχή [median,1] με 1 bit/pixel. Για να υπάρχει καλύτερη
απόδοση πρέπει η ενέργεια της πρώτης περιοχής να είναι μεγαλύτερη από την
ενέργεια της δεύτερης περιοχής ώστε να ελαχιστοποιείται το σφάλμα κβάντισης.
21
Ομοιόμορφος κβαντιστής
-Uniform quantizer (9)
22
Βέλτιστος κβαντιστής ελαχίστου μέσου
τετραγωνικού σφάλματος (1)
Παρατηρήσεις
• Οι στάθμες μετάβασης είναι στη μέση
των σταθμών ανακατασκευής.
• Οι στάθμες ανακατασκευής είναι στο
κέντρο βάρους της κατανομής μεταξύ των
σταθμών μετάβασης.
• Οι βέλτιστες τιμές των tk , rk , για
κατανομές Gaussian και Laplacian, οι
οποίες είναι πολύ συνηθισμένες στην
ψηφιακή επεξεργασία εικόνας, δίνονται
από πίνακες. Μια άλλη μέθοδος είναι ο
επαναληπτικός προσδιορισμός των
επιπέδων κβάντισης έτσι ώστε να
προκύπτει κάθε φορά μικρότερη
παραμόρφωση.
• Για σήμα εισόδου με ομοιόμορφη
κατανομή, ο βέλτιστος κβαντιστής Lloyd-
Max γίνεται ομοιόμορφος κβαντιστής.
23
25
26
Βέλτιστος κβαντιστής ελαχίστου μέσου
τετραγωνικού σφάλματος (5)
27
Η συνάρτηση με την
οποία πραγματοποιήθηκε
το παραπάνω παράδειγμα
είναι η ακόλουθη.
28
Συμπεράσματα (1)
Η απόδοση των κβαντοποιητών,
για κατανομή Gaussian, δίνεται
από το Σχήμα 4.8.
29
Συμπεράσματα (2)
• Στις μονοχρωματικές εικόνες χρησιμοποιούνται συνήθως ομοιόμορφοι
κβαντιστές των 8 bits/pixel δηλαδή 256 αποχρώσεις του γκρι. Το pixel
αντιπροσωπεύει τη φωτεινότητα. Σε αυτή την περίπτωση εάν η κβάντιση γίνει με
6 bits τότε παρατηρούνται περιοχές σταθερής απόχρωσης του γκρί και μεταξύ
τους δημιουργούνται τα περιγράμματα (contours).
• Εάν η κβάντιση γίνει ως προς την αντίθεση (contrast), τότε απαιτούνται περίπου
6 bits για την μη εμφάνιση contours.
• Αποφυγή των contours μπορεί να γίνει εάν στο σήμα προστεθεί ομοιόμορφος
θόρυβος, dither, πριν τον κβαντιστή για να υπερβεί το κατώφλι απόφασης και
αργότερα αφαιρεθεί για να προκύψει το αρχικό σήμα.
• Ανάλογη με την προηγούμενη μέθοδο είναι και αυτή της δημιουργίας εικόνων
μισού τόνου (halftone images) όπου το κάθε pixel φωτεινότητας του σήματος
συνδυάζεται με ένα τυχαίο αριθμό και η τιμή αυτή κβαντίζεται έτσι ώστε να
προκύψει ένα δυαδικό αρχείο (κβαντιστής 1 bit ).
30
Dithering (1)
• Εάν μια εικόνα κβαντιστεί με μικρό αριθμό επιπέδων, προκαλείται το φαινόμενο
των περιγραμμάτων (contouring), το οποίο οφείλεται στο γεγονός ότι περιοχές με
μικρή μεταβολή φωτεινότητας αποκτούν την ίδια τιμή μετά την κβάντιση. Το
Σχήμα 4.9 δείχνει μια εικόνα η οποία έχει κβαντιστεί με 3 bits ή με 7 επίπεδα.
• Το φαινόμενο αυτό αρχίζει να παρουσιάζεται όταν η κβάντιση μιας εικόνας
γίνεται με λιγότερα από 6 bits. Μια μέθοδος η οποία χρησιμοποιείται για να
αποφευχθεί το φαινόμενο αυτό είναι τεχνική dithering. Σύμφωνα με την τεχνική
αυτή, στην αρχική εικόνα προστίθεται θόρυβος (dither) με ομοιόμορφη
κατανομή. Η εικόνα που προκύπτει κβαντίζεται με μικρότερο αριθμό bits και στη
συνέχεια ο αρχικός θόρυβος αφαιρείται, για να προκύψει η τελική εικόνα στην
οποία έχει ελαττωθεί το φαινόμενο των περιγραμμάτων. Το Σχήμα 4.10 δείχνει
την εφαρμογή αυτής της τεχνικής στην προηγούμενη εικόνα. Ο θόρυβος που
προστίθεται έχει ομοιόμορφη κατανομή στην περιοχή [-16,16].
31
Dithering (2)
Σχήμα 4.9 Αρχική εικόνα
και εικόνα μετά από
κβάντιση με 3 bits.
32
Dithering (3)
33
Dithering (4)
Σχήμα 4.10
(α) Eικόνα μετά από κβάντιση
με 3 bits.
34
Halftoning (1)
• Μια δυαδική εικόνα, η οποία αποτελείται από μεγάλο αριθμό άσπρων και
μαύρων pixels, δίνει την εντύπωση ότι περιέχει και γκρι αποχρώσεις επειδή το
ανθρώπινο μάτι πραγματοποιεί ολοκλήρωση μικρών περιοχών της εικόνας. Η
τεχνική με την οποία μια εικόνα μετατρέπεται σε δυαδική εικόνα με την
παραπάνω ιδιότητα καλείται halftoning. Η δυαδική εικόνα που προκύπτει με αυτή
την τεχνική έχει πολύ μικρότερη ανάλυση για το ίδιο μέγεθος. Ο συνηθισμένος
τρόπος δημιουργίας μιας τέτοιας δυαδικής εικόνας είναι η εφαρμογή γενικού ή
τοπικού κατωφλίου δηλαδή η κβάντιση με 1 bit.
• Για παράδειγμα η εικόνα “woman”, η οποία έχει διαστάσεις 256Χ256,
υπερδειγματοληπτείται σε εικόνα 512Χ512. Σε αυτήν προστίθεται ένας πίνακας
512Χ512, ο οποίος καλείται halftone screen, με δομή τέτοια ώστε να μην
προκαλεί περιοδικότητα. Η εικόνα που προκύπτει κβαντίζεται με ένα κβαντιστή 1
bit. Το Σχήμα 4.11 δείχνει την εικόνα εξόδου, η οποία είναι δυαδική εικόνα αλλά
δίνει την αίσθηση ότι περιέχει γκρι αποχρώσεις.
35
Halftoning (2)
Μια άλλη τεχνική είναι η
δημιουργία δυαδικών fonts
(π.χ. 2Χ2), τα οποία
αντικαθιστούν κάθε pixel της
αρχικής εικόνας με κάποιο
κριτήριο. Για να προκύψει
τελική εικόνα με τις
επιθυμητές διαστάσεις
πρέπει η αρχική εικόνα να
υποδειγματοληπτηθεί. Ο
αριθμός των δυαδικών fonts
εξαρτάται από τον επιθυμητό
αριθμό των αποχρώσεων του
γκρι που θα έχει η τελική
εικόνα.
36
Halftoning (3)
Σχήμα 4.11 (α) Αρχική εικόνα
256Χ256. (β) Εικόνα 512Χ512
με υπερδειγματοληψία.(γ)
Εικόνα 512Χ512 μετά την
τεχνική halftoning. (δ)
Δυαδική εικόνα με επίπεδο
κατωφλίου το 128.
37
Περιεχόμενα ενότητας
Μετασχηματισμός Fourier
Εφαρμογές Μετασχηματισμού Fourier
Μετασχηματισμός DCT
Εφαρμογή του DCT στο πρότυπο συμπίεσης JPEG
Μετασχηματισμός κυματιδίων
Εφαρμογή του DWT στη συμπίεση εικόνων
Εφαρμογή του DWT στην απαλοιφή θορύβου
5
Μετασχηματισμός Fourier (1)
• όπου k=0,1,2,…,M-1 και l=0,1,2,…,N-1 για μια εικόνα f(m,n) διαστάσεων Μ×Ν.
• Ο διακριτός μετασχηματισμός Fourier είναι ο διακριτός τρόπος απεικόνισης
μιας εικόνας στο πεδίο των συχνοτήτων.
• Οι τιμές F(k,l) είναι οι συντελεστές του μετασχηματισμού DFT, ενώ οι εκθετικοί
όροι είναι πίνακες μετασχηματισμού.
• Η συνεχής συνιστώσα είναι η F(0,0), όμως στο Matlab είναι η F(1,1).
• Η συνάρτηση για DFT μιας εικόνας είναι η fft2, ενώ για IDFT είναι η ifft2.
7
Μετασχηματισμός Fourier (3)
Οι οριζόντιες συχνότητες έχουν λοβούς μεγαλύτερου
πλάτους από τις κάθετες συχνότητες γιατί οι
τετραγωνικοί παλμοί που ορίζονται από τα οριζόντια
επίπεδα έχουν μικρότερο εύρος. Οι παλμοί μικρού
εύρους έχουν περισσότερες υψηλές συχνότητες από
τους παλμούς με μεγαλύτερο εύρος. Παρακάτω δίνεται
το πρόγραμμα με το οποίο γίνεται η απεικόνιση του
πεδίου μετασχηματισμού. Εάν η αρχική εικόνα
συμπληρωθεί με μηδενικά (zero padding) και η DC
συνιστώσα ολισθήσει στο κέντρο του μετασχηματισμού,
τότε η απεικόνιση πλησιάζει το συνεχή μετασχηματισμό.
>> F=fft2(x,256,256);
>> F2=fftshift(F);
>> imshow(log(abs(F2)),[-1 5],’notruesize’);
>> colormap(jet);
>> colorbar;
8
10
11
Εφαρμογές μετασχηματισμού Fourier (4)
12
13
Εφαρμογές μετασχηματισμού Fourier (6)
Σχήμα 5.2 Προσδιορισμός
θέσης γράμματος μετά
από συνέλιξη.
14
Μετασχηματισμός DCT -
Discrete Cosine Transform (1)
15
Μετασχηματισμός DCT -
Discrete Cosine Transform (2)
16
Μετασχηματισμός DCT -
Discrete Cosine Transform (3)
Χαρακτηριστικά DTC
17
Μετασχηματισμός DCT -
Discrete Cosine Transform (4)
Πίνακας C
18
H διαδικασία
19
Εφαρμογή του DCT
στο πρότυπο συμπίεσης JPEG (2)
A=imread(‘cameraman.tif’);
A=im2double(A); %real numbers
[h,w]=size(A);
C=dctmtx(8); %DCT transform matrix
B=blkproc(A,[8 8],’P1*x*P2’,C,C’); %DCT transformation
mask=[11110000;11100000;11000000;
10000000;00000000;00000000;
00000000;00000000]; %zeroing mask
B2=blkproc(B,[8 8],’P1.*x’,mask);
A2=blkproc(B2,[8 8],’P1*x*P2’,C’,C); %inverse DCT
imshow(A,[]);
figure; imshow(A2,[]);
% PSNR estimation
im_dif=(A-A2).^2;
mse=sum(sum(im_dif))/(h*w); %mse estimation
psnr=10*log10(255*255/mse);
%display PSNR and bit rate
disp(psnr)
20
Σχήμα 5.4
(α) Αρχική εικόνα. (β)
Ανασυσταθείσα εικόνα
μετά από μετασχηματισμό
DCT και μηδενισμό του
85% των συντελεστών
μετασχηματισμού.
21
Εφαρμογή του DCT
στο πρότυπο συμπίεσης JPEG (4)
Το Σχήμα 5.4 απεικονίζει την
αρχική και την ανασυσταθείσα
εικόνα, η οποία έχει αντικειμενική
ποιότητα PSNR=73.55 dB, αν και
μόνο το 15% των συντελεστών
μετασχηματισμού
χρησιμοποιούνται. Η ποιότητα
είναι υψηλή επειδή δεν έχει
πραγματοποιηθεί κβάντιση των
συντελεστών. Η ανασυσταθείσα
εικόνα παρουσιάζει
παραμορφώσεις στα όρια των
αντικειμένων, επειδή έχουν
μηδενιστεί οι περισσότεροι
συντελεστές υψηλών συχνοτήτων.
22
Μετασχηματισμός κυματιδίων
-Wavelte Transform (1)
23
Μετασχηματισμός κυματιδίων
-Wavelte Transform (2)
• όπου αj,k και ψj,k είναι οι συντελεστές και οι συναρτήσεις ανάλυσης με wavelets,
η δε σχέση (5.7) είναι ο αντίστροφος μετασχηματισμός.
• Συμπερασματικά η συνάρτηση f(t) μπορεί για
να αντιπροσωπευθεί από αυτούς τους
συντελεστές, οι οποίοι προκύπτουν σαν εσωτερικό γινόμενο της συνάρτησης με
την ορθογώνια βάση συναρτήσεων. Αντίστροφα η επιθυμητή συνάρτηση μπορεί
να αναπαραχθεί από αυτούς τους συντελεστές και τις συναρτήσεις βάσης. Οι
συναρτήσεις βάσης ή wavelets παράγονται από μία αρχική συνάρτηση, η οποία
καλείται ‘mother wavelet’, εάν μεταβληθεί το εύρος της (scaling) και
μετατοπισθεί στο χρόνο (translation). Οι συντελεστές ανάλυσης είναι δύο
διαστάσεων, (j =μεταβολή διάρκειας ή scaling, k=χρονική μετατόπιση ή
translation), γιατί προέρχονται από ανάλογες συναρτήσεις βάσης. Έτσι ο
μετασχηματισμός αυτός έχει το πλεονέκτημα σε σύγκριση με τον Fourier, να
αναλύει ένα σήμα τόσο στο χρόνο όσο και στη συχνότητα. Μία σημαντική
δυνατότητα είναι να προσδιορίζει με ακρίβεια μία ασυνέχεια στο πεδίο του
χρόνου.
24
Μετασχηματισμός κυματιδίων
-Wavelte Transform (3)
25
Μετασχηματισμός κυματιδίων
-Wavelte Transform (4)
• Στο Σχήμα 5.5 ένα σήμα μπορεί να αναλυθεί σε ένα διάστημα Vj με την βοήθεια
συναρτήσεων βάσης που μπορούν να ανήκουν σε αυτό σύμφωνα με την (5.7) ή
μπορεί να αναλυθεί με μία συνάρτηση προσέγγισης (scaling function) η οποία
ανήκει στο βασικό διάσημα V0 ή σε άλλο και με μία συνάρτηση λεπτομέρειας
(wavelet function) η οποία ανήκει στη διαφορά των διαστημάτων.
• Το Σχήμα 5.6 δίνει ένα χαρακτηριστικό αριθμητικό παράδειγμα αυτής της
προσέγγισης, στο οποίο φαίνεται πως ένα σήμα [9 7 3 5] μπορεί να
μετασχηματισθεί σε μία ομάδα συντελεστών [6 2 1 –1], η οποία αποτελείται
από μία προσέγγιση (χαμηλή συχνότητα) και τις λεπτομέρειες (υψηλή
συχνότητα). Το αρχικό σήμα μπορεί να ανακτηθεί από αυτούς τους συντελεστές
στην επιθυμητή ανάλυση, με το πλεονέκτημα όμως ότι τα μεγέθη των
συντελεστών είναι μικρότερα του αρχικού σήματος (κυρίως των συντελεστών
λεπτομέρειας) και επομένως η μετάδοση μπορεί να γίνει με λιγότερα bits. Ακόμα
η παράλειψη κάποιου συντελεστή λεπτομέρειας δεν δημιουργεί μεγάλο σφάλμα.
26
Μετασχηματισμός κυματιδίων
-Wavelte Transform (5)
Σχήμα 5.6 Αριθμητικό
παράδειγμα
μετασχηματισμού ενός
διανύσματος.
27
Μετασχηματισμός κυματιδίων
-Wavelte Transform (6)
(5.8)
28
Μετασχηματισμός κυματιδίων
-Wavelte Transform (7)
29
Μετασχηματισμός κυματιδίων
-Wavelte Transform (8)
• Ο διακριτός μετασχηματισμός κυματιδίων χρησιμοποιεί δυαδικές τιμές
για το εύρος και τη χρονική μετατόπιση, δηλαδή j=2L και k=M2L, όπου L
είναι το επίπεδο μετασχηματισμού. Το Σχήμα 5.7 δείχνει την πρωταρχική
συνάτηση βάσης και τέσσερα wavelets, τα οποία παράγονται με
μεταβολή των παραμέτρων εύρους και μετατόπισης.
• Πρακτικά, όπως φαίνεται στο Σχήμα 5.8, επιλέγεται ένα wavelet και
υπολογίζεται ο συντελεστής ο οποίος μαζί με αυτό δείχνει πόσο κοντά
είναι στο σήμα. Όσο μεγαλύτερο μέγεθος έχει ο συντελεστής, τόσο πιο
πιστή είναι η ανάλυση του σήματος. Το ίδιο επαναλαμβάνεται με χρονική
ολίσθηση του wavlet μέχρι την κάλυψη όλου του σήματος. Τέλος το
wavelet μεταβάλλεται στο χρόνο (scaled), έτσι ώστε να δώσει
διαφορετική ανάλυση (resolution) και η διαδικασία επαναλαμβάνεται.
30
Μετασχηματισμός κυματιδίων
-Wavelte Transform (9)
Σχήμα 5.7
31
Μετασχηματισμός κυματιδίων
-Wavelte Transform (10)
32
Μετασχηματισμός κυματιδίων
-Wavelte Transform (11)
• Μία άλλη θεώρηση της παραπάνω ανάλυσης είναι η θεωρία της
κωδικοποίησης ζωνών (subband coding), σύμφωνα με την οποία το σήμα
περνά μέσα από διαδοχικά ζευγάρια φίλτρων (φίλτρα ανάλυσης), τα
οποία παράγουν τους συντελεστές ανάλυσης. Αυτοί με τη σειρά τους στο
δέκτη μπορούν να αναπαράγουν το αρχικό σήμα εάν περάσουν από
διαδοχικά ζευγάρια φίλτρων (φίλτρα σύνθεσης), τα οποία πρέπει να
έχουν ειδική σχέση με τα φίλτρα ανάλυσης έτσι ώστε το αρχικό σήμα να
αναπαράγεται χωρίς απώλεια των χαρακτηριστικών του.
33
Μετασχηματισμός κυματιδίων
-Wavelte Transform (12)
• Το σύνολο αυτών των φίλτρων λέγεται τέλειο σύστημα φίλτρων
ανασύνθεσης ή PRB (Perfect Reconstruction Bank) και βασική τους
ιδιότητα είναι ότι είναι μεταξύ τους ορθογώνια. Η ορθογώνια
συνθήκη, η οποία τέθηκε και στην προηγούμενη ανάλυση, πρέπει να
διέπει το μετασχηματισμό έτσι ώστε η ενέργεια του αρχικού σήματος
να είναι ίδια με την ενέργεια των παραγομένων συντελεστών
(Θεώρημα Parseval). Το Σχήμα 5.9(α) δείχνει τη μέθοδο ανάλυσης ενός
σήματος με τη θεωρία των ζωνών. Τα φίλτρα χαμηλής συχνότητας
αντιπροσωπεύουν την ‘προσέγγιση ή approximation’ και τα φίλτρα
υψηλής συχνότητας την ‘λεπτομέρεια ή detail’ της προηγούμενης
ανάλυσης. Η ανάλυση μόνο της χαμηλής συχνότητας, Σχήμα 5.9(β),
καλείται ανάλυση wavelet ή wavelet decomposition, ενώ η ανάλυση
και των δύο περιοχών συχνοτήτων, Σχήμα 5.9(γ), καλείται ανάλυση
πακέτου με wavelet ή wavelet packet decomposition.
34
Μετασχηματισμός κυματιδίων
-Wavelte Transform (13)
• Οι δειγματολήπτες χρησιμοποιούνται έτσι ώστε οι παραγόμενοι
συντελεστές μετά από τα φίλτρα να είναι ίδιου πλήθους με την
ανάλυση του σήματος εισόδου.
• Έτσι ένα σήμα εισόδου S, μπορεί να αναλυθεί σαν: S=A3+D3+D2+D1 ή
S=A2+D2+D1 ή S=A1+D1.
• Όμοια μπορεί να αναλυθεί σαν: S=A1+AAD3+DAD3+ADD3+DDD3
• δίνοντας την επιθυμητή προσέγγιση και τις λεπτομέρειες. Το δέντρο
που σχηματίζεται καλείται ‘wavelet tree’ και η δομή του μεταφέρεται
μαζί με τους συντελεστές στο δέκτη και αποκωδικοποιητή για την
ανασύσταση του αρχικού σήματος.
• Το Σχήμα 5.9(γ) είναι ο μετασχηματισμός ενός μονοδιάστατου σήματος
σε τρία επίπεδα.
35
Μετασχηματισμός κυματιδίων
-Wavelte Transform (14)
Σχήμα 5.9 (α) Δυαδικός
μετασχηματισμός με τη
χρήση φίλτρων Χ.Σ και Υ.Σ.
(β) Wavelet
decomposition. (γ)
Wavelet packet
decomposition.
36
Μετασχηματισμός κυματιδίων
-Wavelte Transform (15)
• Η ανάλυση ενός δισδιάστατου σήματος, όπως η εικόνα, περιλαμβάνει την
ανάλυση πρώτα των σειρών και μετά των στηλών της και επομένως κάθε
επίπεδο μετασχηματισμού αποτελείται από ομάδα τεσσάρων φίλτρων. Το
Σχήμα 5.10 δείχνει συμβολικά την ανάλυση ενός δισδιάστατου σήματος
σε ένα ή δύο επίπεδα και το Σχήμα 5.11 την αναλυτική του μορφή,
σύμφωνα με τη θεωρία των υποζωνών. Για λόγους απλότητας του
σχήματος, οι υποδειγματολήπτες έχουν ενσωματωθεί στα φίλτρα. Οι
παραγόμενοι συντελεστές ενός επιπέδου αντιπροσωπεύουν την
‘προσέγγιση’ και τις ‘λεπτομέρειες’ (Οριζόντια-Κάθετη-Διαγώνια) και
είναι:
cA= Approximation coefficient cH=Horizontal detail
cV=Vertical detail cD=Diagonal detail
37
Μετασχηματισμός κυματιδίων
-Wavelte Transform (16)
38
Μετασχηματισμός κυματιδίων
-Wavelte Transform (17)
39
Μετασχηματισμός κυματιδίων
-Wavelte Transform (18)
Το Σχήμα 5.12 δείχνει το Σχήμα 5.12 (α) Αρχική εικόνα (Barbara).
μετασχηματισμό μιας εικόνας μετά από (β) Απεικόνιση των συντελεστών
ένα ή δύο επίπεδα. Είναι φανερό ότι οι μετασχηματσιμού ενός επιπέδου. (γ)
συντελεστές προσέγγισης, οι οποίοι Μετασχηματισμός δευτέρου επιπέδου
προέρχονται από τα φίλτρα χαμηλής της ‘προσέγγισης’ του πρώτου.
συχνότητας (LowLow ή LL), δίνουν την
πλησιέστερη εκδοχή της εικόνας ή
πληροφορίες για περιοχές με ομαλή
μεταβολή φωτεινότητας, ενώ οι
συντελεστές λεπτομέρειας, οι οποίοι
προέρχονται από τα φίλτρα υψηλής
συχνότητας (LH, HL, HH), δίνουν
πληροφορίες για τις ακμές της και για
περιοχές όπου υπάρχει σημαντική
μεταβολή φωτεινότητας.
40
41
Εφαρμογή του DWT
στη συμπίεση εικόνων (2)
Η εισαγωγή μιας δυαδικής εικόνας γίνεται με τη συνάρτηση readim.m.
43
Εφαρμογή του DWT
στη συμπίεση εικόνων (4)
% One level DWT
wtbxmngr(’V1’); % Matlab version>5.3
clear *;
% input of a binary image
im=readim(’Lenna’);
im=im'; %image rotation
im=double(im); %real numbers
[h,w]=size(im);
% symmetrical padding
dwtmode(‘sym’);
% quantizer step size
qs=50;
% one level DWT with “db2” wavelet
% approximation and detail coefficients (Horizontal-Vertical-Diagonal)
[cA1,cH1,cV1,cD1]=dwt2(im,’db2’);
% images fro the coefficients
A1=upcoef2(’a’,cA1,’db2’);
H1=upcoef2(’h’,cH1,’db2’);
V1=upcoef2(’v’,cV1,’db2’);
D1=upcoef2(’d’,cD1,’db2’);
44
47
Εφαρμογή του DWT
στη συμπίεση εικόνων (8)
• Εάν η προσέγγιση Α1 αναλυθεί στο επόμενο επίπεδο δηλ:
Α1=Α12+Η12+V12+D12, η εικόνα θα αποτελείται από:
• imr=( Α12+Η12+V12+D12)+ H1+V1+D1
• Η ποιότητα της εικόνας μετά την ανασύσταση είναι: PSNR=29.95 dB και ο ρυθμός
δεδομένων για μία τέτοια ανάλυση και κωδικοποίηση είναι: 1.60 bpp. Αυτό
συνεπάγεται ότι κάθε pixel μπορεί να μεταδοθεί με 1.6 bits αντί για 8 bits της
αρχικής εικόνας, δηλαδή με μία συμπίεση 8:1.6=5 (συντελεστής συμπίεσης ή
compression factor). Αυτό είναι και το όριο του ρυθμού δεδομένων για την
δεδομένη τιμή του κβαντιστή. Στην παρούσα άσκηση χρησιμοποιείται ένας
ομοιόμορφος κβαντιστής για όλες τις υποζώνες, από την τιμή του οποίου
εξαρτάται ο τελικός ρυθμός δεδομένων. Είναι προφανές ότι όσο η τιμή του
κβαντιστή γίνεται μικρότερη, τόσο η ποιότητα της εικόνας που λαμβάνει ο δέκτης
γίνεται καλύτερη.
48
49
Εφαρμογή του DWT
στη συμπίεση εικόνων (10)
• Είσοδος είναι η εικόνα im, ’cmp’ για συμπίεση και ’wv’ για ανάλυση DWT.
Έξοδος είναι η τιμή κατωφλίου thr (threshold), ο τρόπος εφαρμογής του
κατωφλίου sorh (soft or hard) και το keepapp δηλαδή εάν το κατώφλι θα
εφαρμοστεί και στην υποζώνη προσέγγισης. Οι προκαθορισμένες τιμές είναι
οι εξής:
thr=median (abs(detail at level 1)), sorh=h δηλ. hard και keepapp=1 δηλ. το
κατώφλι δεν εφαρμόζεται στην υποζώνη προσέγγισης.
50
51
Εφαρμογή του DWT
στη συμπίεση εικόνων (12)
Σχήμα 5.13 Εφαρμογή κατωφλίου soft ή hard σε
ένα σήμα. (α) Αρχικό σήμα. (β) Σήμα με κατώφλι
hard. (γ) Σήμα με κατώφλι soft.
Το παραπάνω σχήμα δείχνει την προσέγγιση και τις
λεπτομέρειες στα δύο επίπεδα.
Η εφαρμογή της συνάρτησης ddencmp στην εικόνα
im, δίνει: thr=2, που είναι ένα πολύ χαμηλό
επίπεδο κατωφλίου. Η χρήση αυτού του
κατωφλίου για συμπίεση δίνει: PERF0=44.22 % και
PERF2=99.99 %. Αυτό σημαίνει ότι η συμπιεσμένη
εικόνα είναι ίδια ακριβώς με την αρχική, αν και το
44 % των συντελεστών ανάλυσης έχουν μηδενιστεί.
Αυτό δείχνει τον ρόλο που διαδραματίζει ο
μετασχηματισμός DWT. Η οπτική ποιότητα της
αρχικής και της συμπιεσθείσας εικόνας είναι ίδια.
Εάν φυσικά αυξηθεί η τιμή κατωφλίου ο πρώτος
συντελεστής θα αυξάνεται, ενώ ο δεύτερος θα
μειώνεται ελαττώνοντας και την ποιότητα της
εικόνας.
52
s(i,j)=f(i,j)+σ×e(i,j) (5.11)
όπου e είναι λευκός θόρυβος Gaussian κατανομής, με μηδενική μέση τιμή και
μοναδιαία διασπορά.
Αντικειμενικός σκοπός είναι η απαλοιφή του θορύβου και η ανάδειξη της
συνάρτησης f. Με τη βοήθεια των wavelets, αυτό μπορεί να γίνει με τρία βήματα:
• Το σήμα αναλύεται σε L αριθμό επιπέδων με DWT.
• Για κάθε επίπεδο από 1 έως L επιλέγεται ένα επίπεδο κατωφλίου και εφαρμόζεται
soft μέθοδος στους συντελεστές λεπτομέρειας. Η εφαρμογή του κατωφλίου μπορεί
να γίνει και ενιαία σε όλους τους συντελεστές. Η εξάλειψη κάποιων συντελεστών
λεπτομέρειας θα ελαττώσει το θόρυβο αλλά και την ενέργεια του σήματος κατά ένα
μικρό ποσοστό. Η ενέργεια του σήματος ευρίσκεται κυρίως στους συντελεστές
προσέγγισης.
• Γίνεται ανασύνθεση του σήματος.
55
Εφαρμογή του DWT
στη απαλοιφή θορύβου (2)
Έτσι λοιπόν είναι σημαντικό να γίνει σωστή επιλογή της τιμής κατωφλίου και του
τρόπου που αυτό θα εφαρμοστεί. Ο τρόπος εφαρμογής μπορεί να είναι soft ή hard,
όπως αυτό φαίνεται στο Σχήμα 5.13. Εάν το σήμα είναι x, το σήμα που προκύπτει
μετά την εφαρμογή κατωφλίου είναι:
Soft: xT=x εάν |x|>t και μηδέν εάν |x|<=t
Hard: xT=sign(x)(|x|-t) εάν |x|>t και μηδέν εάν |x|<=t
56
57
Εφαρμογή του DWT
στη απαλοιφή θορύβου (4)
Σε αυτό το παράδειγμα χρησιμοποιείται η έτοιμη συνάρτηση του Matlab:
[thr,sorh,keepapp]=ddencmp(‘den’,’wv’,im)
η οποία δίνει την τιμή κατωφλίου (thr) για τη δεδομένη εικόνα εάν
χρησιμοποιηθεί ανάλυση με wavelets, τον τρόπο χρήσης του κατωφλίου
(hard ή soft) (sorh) και εάν θα εφαρμοστεί και στους συντελεστές
προσέγγισης (keepapp). Για τη δεδομένη εικόνα προκύπτει:
58
59
Εφαρμογή του DWT
στη απαλοιφή θορύβου (6)
60
61
Εφαρμογή του DWT
στη απαλοιφή θορύβου (8)
Η προτεινόμενη μέθοδος βασίζεται στην ανάλυση μιας εικόνας με το διακριτό
μετασχηματισμό κυματιδίων (DWT) και την εφαρμογή ενός κατωφλίου για την
απόρριψη μέρους των συντελεστών του μετασχηματισμού. Η εκτίμηση του κατωφλίου
πραγματοποιείται θεωρώντας ότι οι συντελεστές έχουν Gaussian κατανομή και με τη
βοήθεια ενός εκτιμητή, ο οποίος εφαρμόζεται είτε σε όλους τους συντελεστές ή στους
συντελεστές κάθε υποζώνης για κάθε επίπεδο ανάλυσης του μετασχηματισμού. Ακόμα
στην παρούσα εργασία γίνεται εκτίμηση της απόδοσης των κριτηρίων, τα οποία
χρησιμοποιούνται και στο Matlab, για τον προσδιορισμού του επιπέδου κατωφλίου.
• Χρησιμοποιείται ο εκτιμητής:
ο οποίος προκύπτει από τη μεσαία τιμή των συντελεστών μετασχηματισμού της
διαγώνιας υποζώνης του πρώτου επιπέδου ανάλυσης του μετασχηματισμού. To επίπεδο
κατωφλίου προσδιορίζεται σύμφωνα με κάποιο κριτήριο και χρησιμοποιείται για όλους
τους συντελεστές μετασχηματισμού (global method ή unique median estimator). Τα
χρησιμοποιούμενα κριτήρια υπολογισμού του επιπέδου κατωφλίου είναι: “rigrsure”,
“heursure”, “sqtwolog”, “minimaxi”. Για παράδειγμα, το επίπεδο κατωφλίου για το
κριτήριο “sqtwolog” δίνεται από τη σχέση: sqrt(2*log(length(s))).
62
63
Εφαρμογή του DWT
στη απαλοιφή θορύβου (10)
64
65
Εφαρμογή του DWT
στη απαλοιφή θορύβου (12)
Παράδειγμα 5.6
Το παράδειγμα αυτό είναι πτυχιακή εργασία που έχει παρουσιαστεί στο
20 Διεθνές Συνέδριο Τεχνολογίας & Πληροφορικής (Σπέτσες Ιούνιος 2005)
67
Εφαρμογή του DWT
στη απαλοιφή θορύβου (14)
68
Σχήμα 5.17
Μπλοκ διάγραμμα
στατιστικής
εκτίμησης των
συντελεστών
χωρίς θόρυβο.
69
Εφαρμογή του DWT
στη απαλοιφή θορύβου (16)
Σχήμα 5.18 Διαίρεση των
υποζωνών σε μπλοκ μεταβλητού Σχήμα 5.19 (α) Αλγόριθμος LAWML.
μεγέθους χρησιμοποιώντας σαν (β) Προτεινόμενος αλγόριθμος.
κριτήριο διαίρεσης τη σύγκριση
της διασποράς με μια τιμή
κατωφλίου.
70
Περιεχόμενα ενότητας
Εντροπία πηγής συμβόλων Διαφορική κωδικοποίηση με
Τεχνικές κωδικοποίησης pixel απώλειες
Κωδικοποίηση Huffman Βέλτιστη διαφορική
Κωδικοποίηση RLC κωδικοποίηση με απώλειες
5
Εντροπία πηγής συμβόλων (1)
Όπου Β είναι η μέση τιμή
bits/pixel της αρχικής
εικόνας και Η το
χαμηλότερο δυνατό όριο
κωδικοποίησης, το οποίο
προσδιορίζεται από την
εξίσωση (6.1).
7
Εντροπία πηγής συμβόλων (3)
• Παράδειγμα 6.1
• Η εντροπία μιας πηγής της οποίας τα σύμβολα είναι ισοπιθανά ή έχουν
ομοιόμορφη κατανομή, δηλαδή pi=1/L με i=0,1,…,L-1, δίνεται από την (6.1):
• Εάν τα σύμβολα της πηγής είναι δύο (π.χ άσπρο με 1-μαύρο με 0) και κάθε
σύμβολο έχει πιθανότητα εμφάνισης 50%, τότε Η=1 bit/pixel. Εάν τα δύο σύμβολα
έχουν πιθανότητες εμφάνισης p0=1/8 και p1=7/8 αντίστοιχα, τότε: Η=-
[1/8log21/8+7/8log27/8]=0.5436 bits. Η ομοιόμορφη κατανομή των συμβόλων
δίνει τη μέγιστη εντροπία και επομένως υπάρχει πλεονασματική πληροφορία
κωδικοποίησης, αφού υπάρχει τρόπος κωδικοποίησης με λιγότερα bits, λόγω της
συνήθους ανομοιόμορφης κατανομής των συμβόλων σε μια πηγή. Το Σχήμα 6.1
δείχνει την εντροπία μιας δυαδικής πηγής συμβόλων σε σχέση με την πιθανότητα
εμφάνισης ενός συμβόλου.
9
Εντροπία πηγής συμβόλων (5)
Παράδειγμα 6.2 % entropy estimation
function bits=entropy(x)
Ο υπολογισμός της εντροπίας πρώτου
if isempty(x)==0 % only if
βαθμού για μια εικόνα Μ × Ν στο Matlab x~=0
βασίζεται στην εξίσωση (6.1): qn=max(abs(x));
if qn~=0
p=hist(x,-qn:qn);
else
p=hist(x);
end
N=sum(p);
if ((N>0) & (min(p(:))>=0))
pnz=nonzeros(p);
hent=log2(N)-
sum(pnz.*log2(pnz))/N;
else
hent=0;
end
bits=hent*length(x);
else
bits=0;
end
10
11
Κωδικοποίηση Huffman (1)
Η κωδικοποίηση Huffman έχει σα στόχο, σε ένα αλφάβητο (σύνολο συμβόλων) α i με
Ν σύμβολα και πιθανότητα εμφάνισης κάθε συμβόλου p(αi), να επιτύχει μια κωδική
λέξη bi για κάθε σύμβολο με μήκος l(bi), έτσι ώστε το μέσο μήκος όλων των κωδικών
λέξεων να είναι το ελάχιστο δυνατό. Βέβαια, το ελάχιστο μήκος είναι η εντροπία Η
του αλφαβήτου, η οποία δίνεται από την εξίσωση (6.1). Η κωδικοποίηση Huffman
δίνει την κάλύτερη δυνατή προσέγγιση σε αυτό το ελάχιστο. Το μέσο μήκος είναι:
12
13
Κωδικοποίηση Huffman (3)
• Το Σχήμα 6.2 δείχνει τον τρόπο Σχήμα 6.2 Αλγόριθμος κωδικοποίησης
κωδικοποίησης ενός αλφαβήτου με Huffman.
τον αλγόριθμο Huffman. O Πίνακας
6.1 περιέχει τις κωδικές λέξεις με
τις οποίες αναπαριστάται κάθε
σύμβολο αυτής της διαδικασίας
από τη ρίζα προς τα φύλλα. Με
έντονα γράμματα είναι οι κωδικές
λέξεις του αρχικού αλφαβήτου. Η
εντροπία του αλφαβήτου είναι
Η=2.28 bits, ενώ το μέσο μήκος
Ε(l(bi)) σύμφωνα με την εξίσωση
(6.7) είναι 2.35 bits. Είναι
προφανές ότι ο δέκτης πρέπει να
έχει τον πίνακα κωδικοποίησης για
να είναι δυνατή η αναπαραγωγή
των συμβόλων από το bit-stream. 14
15
Κωδικοποίηση RLC -Run Length Coding (1)
16
17
Αριθμητική κωδικοποίηση (1)
Η αριθμητική κωδικοποίηση δίνει μια κωδική λέξη σε μια σειρά
συμβόλων.
Αυτή η κωδική λέξη αντιπροσωπεύει ένα διάστημα
πραγματικών αριθμών μεταξύ 0 και 1. Το διάστημα αυτό γίνεται
διαρκώς μικρότερο, όσο ο αριθμός των συμβόλων αυξάνεται και
συνεπώς ο αριθμός των bits που απαιτείται για την
αναπαράσταση αυτών των διαστημάτων γίνεται μεγαλύτερος.
Το μέγεθος του διαστήματος μειώνεται με την εμφάνιση
κάποιου συμβόλου ανάλογα με την πιθανότητα εμφάνισής του.
18
19
Αριθμητική κωδικοποίηση (3)
20
21
Αριθμητική κωδικοποίηση (5)
22
Σχήμα 6.4
Περιβάλλον ενός
συμβόλου.
23
Αριθμητική κωδικοποίηση (7)
Παράδειγμα 6.3
24
25
Αριθμητική κωδικοποίηση (9)
Παράδειγμα 6.4
26
27
Αριθμητική κωδικοποίηση (11)
Σχήμα 6.6
Προσαρμοζόμενη
αριθμητική
κωδικοποίηση
δυαδικής
συμβολοσειράς.
28
Κωδικοποίηση επιπέδου
- Bit plane encoding (1)
29
Κωδικοποίηση επιπέδου
- Bit plane encoding (2)
Παράδειγμα 6.6
Η μετατροπή ενός επιπέδου γκρι σε
Τα προηγούμενα γειτονικά pixels θα δυαδικό κώδικα των 8 bits (To Matlab
έχουν τιμές, σύμφωνα με τη σχέση διαθέτει για τον ίδιο σκοπό τη
(6.11), 00011000 και 00001000 συνάρτηση dec2bin) γίνεται με την
αντίστοιχα. Μόνο σε ένα bit pane ακόλουθη συνάρτηση:
υπάρχει μεταβολή επιπέδου μεταξύ των
γειτονικών pixels.
30
Κωδικοποίηση επιπέδου
- Bit plane encoding (3)
Η μετατροπή ενός επιπέδου γκρι Παράδειγμα 6.7
σε κώδικα Gray γίνεται με την
ακόλουθη συνάρτηση:
31
Κωδικοποίηση επιπέδου
- Bit plane encoding (4)
32
Κωδικοποίηση επιπέδου
- Bit plane encoding (5)
33
Τεχνικές κωδικοποίησης με
πρόβλεψη
34
Διαφορική κωδικοποίηση
χωρίς απώλειες (1)
35
Διαφορική κωδικοποίηση
χωρίς απώλειες (2)
Παράδειγμα 6.8
Να γραφτεί πρόγραμμα το
οποίο να υπολογίζει τις οκτώ
περιπτώσεις πρόβλεψης και τις
αντίστοιχες εντροπίες για την
εικόνα:
36
Διαφορική κωδικοποίηση
χωρίς απώλειες (3)
Τα αποτελέσματα είναι:
h1=3.042, h2=2.752,
h3=3.038, h4=3.124,
h5=3.426, h6=3.141,
h7=3.342, h8=3.019. Στο
συγκεκριμένο παράδειγμα,
το καλύτερο αποτέλεσμα
δίνει η δεύτερη περίπτωση
πρόβλεψης. Στο πρότυπο
JPEG χωρίς απώλειες, για
κάθε μπλοκ 8 × 8 επιλέγεται
ο καλύτερος τρόπος
πρόβλεψης με την
παραπάνω μεθοδολογία. Ο
αποκωδικοποιητής
ενημερώνεται για την
καλύτερη πρόβλεψη με ένα
κωδικό των 3 bits.
37
Διαφορική κωδικοποίηση με
απώλειες (1)
38
Διαφορική κωδικοποίηση με
απώλειες (2)
39
Διαφορική κωδικοποίηση με
απώλειες (3)
Σχήμα 6.8 Βελτιωμένη
διαφορική κωδικοποίηση με
απώλειες. (α) Κωδικοποιητής.
(β) Αποκωδικοποιητής.
40
Διαφορική κωδικοποίηση με
απώλειες (4)
Κωδικοποίηση συμβόλων
41
Βέλτιστη διαφορική κωδικοποίηση
με απώλειες (1)
42
43
Βέλτιστη διαφορική κωδικοποίηση
με απώλειες (3)
Το αποτέλεσμα είναι Η υλοποίηση στο Matlab πραγματοποιείται με το
α= 0.48 με ελάχιστη ακόλουθο πρόγραμμα:
μη κανονικοποιημένη %optimum lossy differential coding routine
παραμόρφωση 3743. u=randn(1,10001);
x=(1/sqrt(2))*(u(1:10000)+u(2:10001));
alpha=0:0.01:1; %optimisation constant
for j=1:101
dist=0; %distortion
xhat=0; %predicted value
for i=1:10000
prediction=alpha(j)*xhat;
xhat=prediction+signum(x(i)-prediction);
dist=dist+(x(i)-xhat)^2;
D(j)=dist;
end
end
[mindist,position]=min(D);
alpha(position)
mindist
44
Κωδικοποίηση DPCM –
Differential Pulse Code Modulation (1)
45
Κωδικοποίηση DPCM –
Differential Pulse Code Modulation (2)
Παράδειγμα 6.10
46
Κωδικοποίηση DPCM –
Differential Pulse Code Modulation (3)
47
Κωδικοποίηση DPCM –
Differential Pulse Code Modulation (4)
Τεχνικές κωδικοποίησης με
μετασχηματισμό (1)
49
Τεχνικές κωδικοποίησης με
μετασχηματισμό (2)
50
Τεχνικές κωδικοποίησης με
μετασχηματισμό (3)
51
Διαδικασία κωδικοποίησης με
Μετασχηματισμό (1)
52
Διαδικασία κωδικοποίησης με
Μετασχηματισμό (2)
53
Διαδικασία κωδικοποίησης με
Μετασχηματισμό (3)
Ιδανικός μετασχηματισμός
είναι εκείνος ο οποίος
αποσυσχετίζει πλήρως τους
συντελεστές
μετασχηματισμού και έτσι
δεν κωδικοποιείται η
πλεονάζουσα πληροφορία,
η οποία υπάρχει στο χωρικό
πεδίο. Πρέπει ακόμα ο
πίνακας μετασχηματισμού
να είναι ανεξάρτητος του
σήματος εισόδου, έτσι ώστε
να μην υπολογίζεται κάθε
φορά που το σήμα εισόδου
μεταβάλλεται.
54
Διαδικασία κωδικοποίησης με
Μετασχηματισμό (4)
Ο μετασχηματισμός DCT, ο οποίος έχει πίνακα μετασχηματισμού ανεξάρτητο
του σήματος εισόδου, δημιουργεί μικρό αριθμό συντελεστών στους οποίους
συγκεντρώνεται η ενέργεια τους σήματος εισόδου, διεκπεραιώνεται με ταχείς
αλγορίθμους και μειώνει τη δημιουργία παραμόρφωσης στα όρια κάθε μπλοκ
μετασχηματισμού (blocking artifact). Γι’ αυτούς τους λόγος, ο συγκεκριμένος
μετασχηματισμός χρησιμοποιείται στο πρότυπο συμπίεσης εικόνας JPEG.
55
Διαδικασία διάθεσης του
επιθυμητού ρυθμού (1)
56
57
Διαδικασία διάθεσης του
επιθυμητού ρυθμού (3)
Threshold
Coding:
58
59
Διαδικασία διάθεσης του
επιθυμητού ρυθμού (5)
Παράδειγμα 6.11
60
61
Διαδικασία διάθεσης του
επιθυμητού ρυθμού (7)
Το σχήμα απεικονίζει τη
μάσκα που εφαρμόζεται σε
κάθε μπλοκ συντελεστών
μετασχηματισμού και την
ανακατασκευασμένη εικόνα.
Η ποιότητα ανακατασκευής
είναι 22.30 dB.
62
63
Διαδικασία διάθεσης του
επιθυμητού ρυθμού (9)
Το σχήμα απεικονίζει τη
μάσκα που εφαρμόζεται σε
κάθε μπλοκ συντελεστών
μετασχηματισμού και την
ανακατασκευασμένη εικόνα.
Η ποιότητα ανακατασκευής
είναι 26.24 dB.
64
Περιεχόμενα ενότητας
Το πρότυπο συμπίεσης εικόνας JPEG
Συμπίεση χωρίς απώλειες
Συμπίεση με απώλειες
Εκτεταμένος τρόπος συμπίεσης
Ιεραρχικός τρόπος συμπίεσης
5
Το πρότυπο συμπίεσης εικόνας JPEG
Η ιστορία
Τι προσφέρει το JPEG
7
Συμπίεση χωρίς απώλειες (2)
Σχήμα 7.1 Κωδικοποιητής Σχήμα 7.2 Κωδικοποίηση
JPEG χωρίς απώλειες. πρόβλεψης.
9
Συμπίεση με απώλειες (2)
10
11
Συμπίεση με απώλειες (4)
Πίνακας 7.1 Πίνακας κβάντισης Πίνακας 7.2 Πίνακας κβάντισης
συντελεστών φωτεινότητας. συντελεστών χρώματος.
12
Λειτουργίες
13
Συμπίεση με απώλειες (6)
15
Συμπίεση με απώλειες (8)
• Η κωδικοποίηση
των συντελεστών
DC
16
17
Συμπίεση με απώλειες (10)
Πίνακας 7.4 Κωδικοποίηση Huffman για Πίνακας 7.5 Κωδικοποίηση Huffman του
τις κατηγορίες των συντελεστών DC. πρώτου συμβόλου των συντελεστών ΑC.
18
19
Συμπίεση με απώλειες (12)
20
21
Ιεραρχικός τρόπος συμπίεσης –
Hierarchical mode (1)
22
23
Ιεραρχικός τρόπος συμπίεσης –
Hierarchical mode (3)
Σχήμα 7.6 Ιεραρχικός
κωδικοποιητής τριών
επιπέδων.
24
Παράδειγμα 7.1
Να κωδικοποιηθεί σύμφωνα
με το πρότυπο JPEG η
ακόλουθη υπο-εικόνα:
25
Ιεραρχικός τρόπος συμπίεσης –
Hierarchical mode (5)
26
27
Ιεραρχικός τρόπος συμπίεσης –
Hierarchical mode (7)
• Συμπίεση εικόνας με το
πρότυπο JPEG.
• 7.5
28
Κωδικοποίηση AC συντελεστών
30
31
Ιεραρχικός τρόπος συμπίεσης –
Hierarchical mode (11)
32
33
Ιεραρχικός τρόπος συμπίεσης –
Hierarchical mode (13)
Παράδειγμα 7.3 Το παρακάτω πρόγραμμα ανασυνθέτει την
εικόνα με την προϋπόθεση ότι αυτή έχει
κωδικοποιηθεί με το παραπάνω πρόγραμμα.
Το πρόγραμμα για λόγους απλότητας θεωρεί
ότι έχει μεσολαβήσει η αποκωδικοποίηση
Huffman, δηλαδή δεν συμπεριλαμβάνει τον
αλγόριθμο αποκωδικοποίησης Huffman.
34
Πρόγραμμα
35
Ιεραρχικός τρόπος συμπίεσης –
Hierarchical mode (15)
Πρόγραμμα συνέχεια
36
37
Ενότητα 8 : Πρότυπο συμπίεσης JPEG2000
Σκοποί ενότητας
• Σκοπός της ενότητας αυτής είναι να
κατανοήσετε το πρότυπο συμπίεσης εικόνων
JPEG2000.
4
Περιεχόμενα ενότητας
Το πρότυπο συμπίεσης εικόνας JPEG2000
Σύγκριση των προτύπων συμπίεσης
• Προεπεξεργασία
(Preprocessing)
6
Το πρότυπο συμπίεσης εικόνας
JPEG2000 (2)
Ολίσθηση συνεχούς
συνιστώσας
Χρωματικός
μετασχηματισμός
Κωδικοποιητής (core
encoder)
8
Το πρότυπο συμπίεσης εικόνας
JPEG2000 (4)
Σχήμα 8.1 Μονάδα
κωδικοποίησης
JPEG2000. Η κάθε
χρωματική συνιστώσα
κωδικοποιείται
ανεξάρτητα, αφού έχει
προηγηθεί η
διαδικασία
προεπεξεργασίας.
10
Το πρότυπο συμπίεσης εικόνας
JPEG2000 (6)
• Κβάντιση
• Εντροπία (μέρος Α)
11
12
Το πρότυπο συμπίεσης εικόνας
JPEG2000 (8)
• Μετά- επεξεργασία
(Post processing)
13
14
Το πρότυπο συμπίεσης εικόνας
JPEG2000 (10)
Σχήμα 8.3 Δομή τελικά
παραγόμενου bit-stream
με το πρότυπο JPEG2000.
15
16
Το πρότυπο συμπίεσης εικόνας
JPEG2000 (12)
Σχήμα 8.5 Μεγέθυνση των
συντελεστών μιας περιοχής
ενδιαφέροντος (ROI). (α) Ο
ελάχιστος συντελεστής ROI
έχει μέγεθος συγκρίσιμο με
συντελεστές του υπόβαθρου.
(β) Ο ελάχιστος συντελεστής
ROI έχει μέγεθος μεγαλύτερο
από όλους τους συντελεστές
υπόβαθρου.
17
Κλιμάκωση ποιότητας
18
Το πρότυπο συμπίεσης εικόνας
JPEG2000 (14)
Σχήμα 8.6
Αποκωδικοποίηση με
μεταβλητή ανάλυση.
19
20
Το πρότυπο συμπίεσης εικόνας
JPEG2000 (16)
• Ελαστικότητα σε
σφάλμα
21
22
Σύγκριση των προτύπων συμπίεσης (1)
Μέρος Α’
23
24
Σύγκριση των προτύπων συμπίεσης (3)
Σχήμα 8.9 Η αντικειμενική
Η απόδοση του JPEG2000 απόδοση διαφόρων τεχνικών
συμπίεσης με απώλειες.
25
26
Σύγκριση των προτύπων συμπίεσης (5)
27
• Πίνακες
8.1 και 8.2
28
Σύγκριση των προτύπων συμπίεσης (7)
Πίνακας 8.1 Συντελεστής συμπίεσης Πίνακας 8.2 Μέση τιμή PSNR για 200
αλγορίθμων για συμπίεση χωρίς μεταδόσεις της εικόνας “café” σε ένα
απώλειες. κανάλι με θόρυβο.
29
Περιεχόμενα ενότητας
Κωδικοποίηση βίντεο
Ψηφιακό βίντεο
Συμπίεση βίντεο
Εκτίμηση κίνησης
Τεχνικές ταιριάσματος μπλοκ
Γενική μορφή ενός video codec
Το πρότυπο συμπίεσης MPEG-1
5
Κωδικοποίηση βίντεο (1)
Αναλογικό βίντεο
7
Ψηφιακό Βίντεο (1)
Τύποι πλαισίου
ψηφιακού βίντεο
9
Ψηφιακό Βίντεο (3)
10
Πίνακας 9.2
Χαρακτηριστικά διαφόρων
μορφών ψηφιακού βίντεο.
11
Συμπίεση βίντεο (1)
13
Εκτίμηση κίνησης –
Motion estimation (1)
Μέρος Α
14
Εκτίμηση κίνησης –
Motion estimation (2)
Σχήμα 9.4 Πεδίο κίνησης
ενός πλαισίου.
Μέρος Β
15
Εκτίμηση κίνησης –
Motion estimation (3)
16
Εκτίμηση κίνησης –
Motion estimation (4)
17
Εκτίμηση κίνησης –
Motion estimation (5)
Σχήμα 9.5 Ο αλγόριθμος
ΒΜΑ μεταξύ δυο διαδοχικών
πλαισίων.
18
Εκτίμηση κίνησης –
Motion estimation (6)
19
Εκτίμηση κίνησης –
Motion estimation (7)
Σχήμα 9.7 Η διαδικασία
εκτίμησης της κίνησης μεταξύ
διαδοχικών πλαισίων και
πρόβλεψης του τρέχοντος
πλαισίου. (α) Πλαίσιο k. (β)
Πλαίσιο k+1. (γ) Πρόβλεψη
τρέχοντος πλαισίου. (δ)
Υπολειπόμενο πλαίσιο.
20
23
Γενική μορφή ενός video codec (1)
24
25
Γενική μορφή ενός video codec (3)
Σχήμα 9.9 Μπλοκ διάγραμμα του
αποκωδικοποιητή ενός video
codec.
Εκτιμητής κίνησης,
Μετασχηματισμός DCT,
Κβαντιστής Quantizer
26
28
29
Το πρότυπο συμπίεσης MPEG-1 (3)
30
31
Το πρότυπο συμπίεσης MPEG-1 (5)
33
Το πρότυπο συμπίεσης MPEG-1 (7)
Πίνακας 9.4 Τύποι
ΜΒ στο MPEG-1.
34
Μπλοκ
Ο MPEG-1 κωδικοποιητής, Μέρος Α
35
Το πρότυπο συμπίεσης MPEG-1 (9)
Ο MPEG-1 κωδικοποιητής,
Μέρος Β
Σχήμα 9.12 Ο
κωδικοποιητής του
MPEG-1.
36
38
39
Το πρότυπο συμπίεσης MPEG-1 (13)
MPEG-1
Aνάλυση σχήματος 9.15
40
Σχήμα 9.15
Τηλεσκοπική μέθοδος
εκτίμησης της κίνησης
στο MPEG-1.
Πρόβλεψη, Μέρος Α
41
Το πρότυπο συμπίεσης MPEG-1 (15)
Πρόβλεψη, Μέρος Β
Η κωδικοποίηση των πλαισίων, Μέρος Α
42
43
Το πρότυπο συμπίεσης MPEG-1 (17)
Ο αποκωδικοποιητής
44
Λειτουργίες αποκωδικοποιητή
45