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

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

Ψηφιακή Επεξεργασία Εικόνας Ενότητα 6 : Κωδικοποίηση & Συμπίεση εικόνας Ιωάννης Έλληνας Τμήμα Η/ΥΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά.

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


Παρουσίαση με θέμα: "Ψηφιακή Επεξεργασία Εικόνας Ενότητα 6 : Κωδικοποίηση & Συμπίεση εικόνας Ιωάννης Έλληνας Τμήμα Η/ΥΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά."— Μεταγράφημα παρουσίασης:

1 Ψηφιακή Επεξεργασία Εικόνας Ενότητα 6 : Κωδικοποίηση & Συμπίεση εικόνας Ιωάννης Έλληνας Τμήμα Η/ΥΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα

2 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

3 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

4 Σκοποί ενότητας Σκοπός της ενότητας είναι να εξοικειωθείτε με την ανάπτυξη των τρόπων κωδικοποίησης μιας εικόνας. 4

5 Περιεχόμενα ενότητας  Εντροπία πηγής συμβόλων  Τεχνικές κωδικοποίησης pixel  Κωδικοποίηση Huffman  Κωδικοποίηση RLC  Αριθμητική κωδικοποίηση  Κωδικοποίηση επιπέδου  Τεχνικές κωδικοποίησης με πρόβλεψη  Διαφορική κωδικοποίηση χωρίς απώλειες  Διαφορική κωδικοποίηση με απώλειες  Βέλτιστη διαφορική κωδικοποίηση με απώλειες  Κωδικοποίηση DPCM  Τεχνικές κωδικοποίησης με μετασχηματισμό  Διαδικασία κωδικοποίησης με μετασχηματισμό  Διαδικασία διάθεσης επιθυμητού ρυθμού 5

6 Όπου Β είναι η μέση τιμή bits/pixel της αρχικής εικόνας και Η το χαμηλότερο δυνατό όριο κωδικοποίησης, το οποίο προσδιορίζεται από την εξίσωση (6.1). Εντροπία πηγής συμβόλων (1) 6

7 Εάν κάθε απόχρωση εμφανίζεται στην εικόνα n i φορές και κωδικοποιείται με b i bits, τότε ο μέσος αριθμός των bits για κάθε pixel είναι: Εντροπία πηγής συμβόλων (2) 7

8 Εντροπία πηγής συμβόλων (3) Παράδειγμα 6.1 Η εντροπία μιας πηγής της οποίας τα σύμβολα είναι ισοπιθανά ή έχουν ομοιόμορφη κατανομή, δηλαδή p i =1/L με i=0,1,…,L-1, δίνεται από την (6.1): Εάν τα σύμβολα της πηγής είναι δύο (π.χ άσπρο με 1-μαύρο με 0) και κάθε σύμβολο έχει πιθανότητα εμφάνισης 50%, τότε Η=1 bit/pixel. Εάν τα δύο σύμβολα έχουν πιθανότητες εμφάνισης p 0 =1/8 και p 1 =7/8 αντίστοιχα, τότε: Η=- [1/8log 2 1/8+7/8log 2 7/8]= bits. Η ομοιόμορφη κατανομή των συμβόλων δίνει τη μέγιστη εντροπία και επομένως υπάρχει πλεονασματική πληροφορία κωδικοποίησης, αφού υπάρχει τρόπος κωδικοποίησης με λιγότερα bits, λόγω της συνήθους ανομοιόμορφης κατανομής των συμβόλων σε μια πηγή. Το Σχήμα 6.1 δείχνει την εντροπία μιας δυαδικής πηγής συμβόλων σε σχέση με την πιθανότητα εμφάνισης ενός συμβόλου. 8

9 Σχήμα 6.1 Εντροπία δυαδικής πηγής συμβόλων. Εντροπία πηγής συμβόλων (4) 9

10 Εντροπία πηγής συμβόλων (5) Παράδειγμα 6.2 Ο υπολογισμός της εντροπίας πρώτου βαθμού για μια εικόνα Μ × Ν στο Matlab βασίζεται στην εξίσωση (6.1): 10 % entropy estimation function bits=entropy(x) if isempty(x)==0 % only if x~=0 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

11 Τεχνικές κωδικοποίησης pixel 11

12 Κωδικοποίηση Huffman (1) Η κωδικοποίηση Huffman έχει σα στόχο, σε ένα αλφάβητο (σύνολο συμβόλων) α i με Ν σύμβολα και πιθανότητα εμφάνισης κάθε συμβόλου p(α i ), να επιτύχει μια κωδική λέξη b i για κάθε σύμβολο με μήκος l(b i ), έτσι ώστε το μέσο μήκος όλων των κωδικών λέξεων να είναι το ελάχιστο δυνατό. Βέβαια, το ελάχιστο μήκος είναι η εντροπία Η του αλφαβήτου, η οποία δίνεται από την εξίσωση (6.1). Η κωδικοποίηση Huffman δίνει την κάλύτερη δυνατή προσέγγιση σε αυτό το ελάχιστο. Το μέσο μήκος είναι: 12

13 Κωδικοποίηση Huffman (2) 13

14 Σχήμα 6.2 Αλγόριθμος κωδικοποίησης Huffman. 14 Το Σχήμα 6.2 δείχνει τον τρόπο κωδικοποίησης ενός αλφαβήτου με τον αλγόριθμο Huffman. O Πίνακας 6.1 περιέχει τις κωδικές λέξεις με τις οποίες αναπαριστάται κάθε σύμβολο αυτής της διαδικασίας από τη ρίζα προς τα φύλλα. Με έντονα γράμματα είναι οι κωδικές λέξεις του αρχικού αλφαβήτου. Η εντροπία του αλφαβήτου είναι Η=2.28 bits, ενώ το μέσο μήκος Ε(l(b i )) σύμφωνα με την εξίσωση (6.7) είναι 2.35 bits. Είναι προφανές ότι ο δέκτης πρέπει να έχει τον πίνακα κωδικοποίησης για να είναι δυνατή η αναπαραγωγή των συμβόλων από το bit-stream. Κωδικοποίηση Huffman (3)

15 Η αναπτυχθείσα συνάρτηση huffbin.m (εργαστηριακή άσκηση 6) υπολογίζει τις κωδικές λέξεις μιας σειράς συμβόλων. Πίνακας 6.1 Κωδικές λέξεις αλφαβήτου με τον αλγόριθμο Huffman. Κωδικοποίηση Huffman (4) 15

16 Κωδικοποίηση RLC -Run Length Coding (1) 16

17 Όπου l 0 και l 1 είναι το μέσο μήκος των αντίστοιχων ομάδων. Η εξίσωση (6.8) δίνει το μέσο αριθμό των bits/pixel που απαιτείται για να κωδικοποιηθούν οι ομάδες “0” και “1” με τη μέθοδο RLC. Η αναπτυχθείσα συνάρτηση runlength.m είναι η ακόλουθη: Κωδικοποίηση RLC -Run Length Coding (2) 17

18 Αριθμητική κωδικοποίηση (1) Η αριθμητική κωδικοποίηση δίνει μια κωδική λέξη σε μια σειρά συμβόλων. Αυτή η κωδική λέξη αντιπροσωπεύει ένα διάστημα πραγματικών αριθμών μεταξύ 0 και 1. Το διάστημα αυτό γίνεται διαρκώς μικρότερο, όσο ο αριθμός των συμβόλων αυξάνεται και συνεπώς ο αριθμός των bits που απαιτείται για την αναπαράσταση αυτών των διαστημάτων γίνεται μεγαλύτερος. Το μέγεθος του διαστήματος μειώνεται με την εμφάνιση κάποιου συμβόλου ανάλογα με την πιθανότητα εμφάνισής του. 18

19 Αριθμητική κωδικοποίηση (2) Το Σχήμα 6.3 δείχνει την αριθμητική κωδικοποίηση για μια σειρά συμβόλων a, b, c, c, d με πιθανότητες εμφάνισης 0.2, 0.2, 0.4, 0.2 του αντίστοιχου αλφάβητου a, b, c, d. To διάστημα [0,1) διατίθεται αρχικά σε αυτά τα σύμβολα ανάλογα με την πιθανότητά τους και έτσι το διάστημα που καταλαμβάνει κάθε σύμβολο είναι 0.2, 0.2, 0.4, 0.2 αντίστοιχα. Στη συνέχεια ακολουθούν τα εξής βήματα: 19

20 Αριθμητική κωδικοποίηση (3) 20

21 Σχήμα 6.3 Αλγόριθμος αριθμητικής κωδικοποίησης. Αριθμητική κωδικοποίηση (4) 21

22 Αριθμητική κωδικοποίηση (5) 22

23 Σχήμα 6.4 Περιβάλλον ενός συμβόλου. Αριθμητική κωδικοποίηση (6) 23

24 Παράδειγμα 6.3 Αριθμητική κωδικοποίηση (7) 24

25 Το Σχήμα 6.5 δείχνει τον υπολογισμό των διαστημάτων σύμφωνα με την παραπάνω ανάλυση. Σχήμα 6.5 Αριθμητική κωδικοποίηση δυαδικής συμβολοσειράς. Αριθμητική κωδικοποίηση (8) 25

26 Παράδειγμα 6.4 Αριθμητική κωδικοποίηση (9) 26

27 Παράδειγμα 6.5 Αριθμητική κωδικοποίηση (10) 27

28 Σχήμα 6.6 Προσαρμοζόμενη αριθμητική κωδικοποίηση δυαδικής συμβολοσειράς. Αριθμητική κωδικοποίηση (11) 28

29 Κωδικοποίηση επιπέδου - Bit plane encoding (1) 29

30 Κωδικοποίηση επιπέδου - Bit plane encoding (2) Τα προηγούμενα γειτονικά pixels θα έχουν τιμές, σύμφωνα με τη σχέση (6.11), και αντίστοιχα. Μόνο σε ένα bit pane υπάρχει μεταβολή επιπέδου μεταξύ των γειτονικών pixels. Παράδειγμα 6.6 Η μετατροπή ενός επιπέδου γκρι σε δυαδικό κώδικα των 8 bits (To Matlab διαθέτει για τον ίδιο σκοπό τη συνάρτηση dec2bin) γίνεται με την ακόλουθη συνάρτηση: 30

31 Κωδικοποίηση επιπέδου - Bit plane encoding (3) Η μετατροπή ενός επιπέδου γκρι σε κώδικα Gray γίνεται με την ακόλουθη συνάρτηση: Παράδειγμα

32 Κωδικοποίηση επιπέδου - Bit plane encoding (4) 32

33 Κωδικοποίηση επιπέδου - Bit plane encoding (5) 33

34 Τεχνικές κωδικοποίησης με πρόβλεψη 34

35 Διαφορική κωδικοποίηση χωρίς απώλειες (1) 35

36 Παράδειγμα 6.8 Να γραφτεί πρόγραμμα το οποίο να υπολογίζει τις οκτώ περιπτώσεις πρόβλεψης και τις αντίστοιχες εντροπίες για την εικόνα: Διαφορική κωδικοποίηση χωρίς απώλειες (2) 36

37 Τα αποτελέσματα είναι: h1=3.042, h2=2.752, h3=3.038, h4=3.124, h5=3.426, h6=3.141, h7=3.342, h8= Στο συγκεκριμένο παράδειγμα, το καλύτερο αποτέλεσμα δίνει η δεύτερη περίπτωση πρόβλεψης. Στο πρότυπο JPEG χωρίς απώλειες, για κάθε μπλοκ 8 × 8 επιλέγεται ο καλύτερος τρόπος πρόβλεψης με την παραπάνω μεθοδολογία. Ο αποκωδικοποιητής ενημερώνεται για την καλύτερη πρόβλεψη με ένα κωδικό των 3 bits. Διαφορική κωδικοποίηση χωρίς απώλειες (3) 37

38 Διαφορική κωδικοποίηση με απώλειες (1) 38

39 Σχήμα 6.7 Διαφορική κωδικοποίηση με απώλειες. (α) Κωδικοποιητής. (β) Αποκωδικοποιητής. Διαφορική κωδικοποίηση με απώλειες (2) 39

40 Σχήμα 6.8 Βελτιωμένη διαφορική κωδικοποίηση με απώλειες. (α) Κωδικοποιητής. (β) Αποκωδικοποιητής. Διαφορική κωδικοποίηση με απώλειες (3) 40

41 Κωδικοποίηση συμβόλων Διαφορική κωδικοποίηση με απώλειες (4) 41

42 Βέλτιστη διαφορική κωδικοποίηση με απώλειες (1) 42

43 Παράδειγμα 6.9 Βέλτιστη διαφορική κωδικοποίηση με απώλειες (2) 43

44 Η υλοποίηση στο Matlab πραγματοποιείται με το ακόλουθο πρόγραμμα: %optimum lossy differential coding routine 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 [mindist,position]=min(D); alpha(position) mindist Το αποτέλεσμα είναι α= 0.48 με ελάχιστη μη κανονικοποιημένη παραμόρφωση Βέλτιστη διαφορική κωδικοποίηση με απώλειες (3) 44

45 Κωδικοποίηση DPCM – Differential Pulse Code Modulation (1) 45

46 Κωδικοποίηση DPCM – Differential Pulse Code Modulation (2) Παράδειγμα

47 Κωδικοποίηση DPCM – Differential Pulse Code Modulation (3) 47

48 Σχήμα σφάλματος πρόβλεψης Κωδικοποίηση DPCM – Differential Pulse Code Modulation (4) 48

49 Τεχνικές κωδικοποίησης με μετασχηματισμό (1) 49

50 Τεχνικές κωδικοποίησης με μετασχηματισμό (2) 50

51 Σχήμα 6.9 Γενικό σύστημα κωδικοποίησης- αποκωδικοποίηση ς εικόνας. Τεχνικές κωδικοποίησης με μετασχηματισμό (3) 51

52 Διαδικασία κωδικοποίησης με Μετασχηματισμό (1) 52

53 Διαδικασία κωδικοποίησης με Μετασχηματισμό (2) 53

54 Ιδανικός μετασχηματισμός είναι εκείνος ο οποίος αποσυσχετίζει πλήρως τους συντελεστές μετασχηματισμού και έτσι δεν κωδικοποιείται η πλεονάζουσα πληροφορία, η οποία υπάρχει στο χωρικό πεδίο. Πρέπει ακόμα ο πίνακας μετασχηματισμού να είναι ανεξάρτητος του σήματος εισόδου, έτσι ώστε να μην υπολογίζεται κάθε φορά που το σήμα εισόδου μεταβάλλεται. Διαδικασία κωδικοποίησης με Μετασχηματισμό (3) 54

55 Διαδικασία κωδικοποίησης με Μετασχηματισμό (4) Ο μετασχηματισμός DCT, ο οποίος έχει πίνακα μετασχηματισμού ανεξάρτητο του σήματος εισόδου, δημιουργεί μικρό αριθμό συντελεστών στους οποίους συγκεντρώνεται η ενέργεια τους σήματος εισόδου, διεκπεραιώνεται με ταχείς αλγορίθμους και μειώνει τη δημιουργία παραμόρφωσης στα όρια κάθε μπλοκ μετασχηματισμού (blocking artifact). Γι’ αυτούς τους λόγος, ο συγκεκριμένος μετασχηματισμός χρησιμοποιείται στο πρότυπο συμπίεσης εικόνας JPEG. 55

56 Διαδικασία διάθεσης του επιθυμητού ρυθμού (1) 56

57 Zonal Coding: Διαδικασία διάθεσης του επιθυμητού ρυθμού (2) 57

58 Threshold Coding: Διαδικασία διάθεσης του επιθυμητού ρυθμού (3) 58

59 Διαδικασία διάθεσης του επιθυμητού ρυθμού (4) Σχήμα 6.10 Μέθοδος zonal coding για την κωδικοποίηση των συντελεστών μετασχηματισμού. (α) Μάσκα κωδικοποίησης. (β) Διάθεση αριθμού bits σε κάθε συντελεστή. Σχήμα 6.11 Μάσκα κατωφλίου ( threshold coding) για την κωδικοποίηση των συντελεστών ενός μπλοκ μετασχηματισμού. 59

60 Διαδικασία διάθεσης του επιθυμητού ρυθμού (5) Παράδειγμα

61 Διαδικασία διάθεσης του επιθυμητού ρυθμού (6) 61

62 Το σχήμα απεικονίζει τη μάσκα που εφαρμόζεται σε κάθε μπλοκ συντελεστών μετασχηματισμού και την ανακατασκευασμένη εικόνα. Η ποιότητα ανακατασκευής είναι dB. Συμπίεση εικόνας με χρήση zonal mask. (α) Μάσκα κωδικοποίησης. (β) Ανακατασκευασμένη εικόνα. Διαδικασία διάθεσης του επιθυμητού ρυθμού (7) 62

63 Παράδειγμα 6.12 Διαδικασία διάθεσης του επιθυμητού ρυθμού (8) 63

64 Το σχήμα απεικονίζει τη μάσκα που εφαρμόζεται σε κάθε μπλοκ συντελεστών μετασχηματισμού και την ανακατασκευασμένη εικόνα. Η ποιότητα ανακατασκευής είναι dB. Συμπίεση εικόνας με χρήση threshold mask. (α) Μάσκα κωδικοποίησης ενός μπλοκ. (β) Ανακατασκευασμένη εικόνα. Διαδικασία διάθεσης του επιθυμητού ρυθμού (9) 64

65 Βιβλιογραφία 1.N. Η. Παπαμάρκος, “Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας”, Δημοκρίτειο, Ξάνθη Σ. Δ. Κόλλιας, “Επεξεργασία, Ανάλυση και Τεχνολογία Εικόνων και Βίντεο”, Σημειώσεις ΕΜΠ, Αθήνα I. Pitas, “Digital Image Processing Algorithms”, Prentice Hall, R. C. Gonzalez, R. E. Woods, “Digital Image Processing”, Prentice Hall, 2 nd Edition 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,

66 Τέλος Ενότητας


Κατέβασμα ppt "Ψηφιακή Επεξεργασία Εικόνας Ενότητα 6 : Κωδικοποίηση & Συμπίεση εικόνας Ιωάννης Έλληνας Τμήμα Η/ΥΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά."

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


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