Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Χειμερινό εξάμηνο Γραφικά με υπολογιστές Διδάσκων: Φοίβος Μυλωνάς fmylonas@ionio.gr Φαινόμενο Ταύτισης Διάλεξη #04 Φοίβος Μυλωνάς Γραφικά με υπολογιστές 1
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα Ιονίου Πανεπιστημίου» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Antialiasing Aliasing: signal processing term with very specific meaning Aliasing: computer graphics term for any unwanted visual artifact Anti-aliasing: computer graphics term for avoiding unwanted artifacts 4
No anti-aliasing 5 5
5 sample anti-aliasing 6 6
16 sample 7 anti-aliasing 7
Signal Processing Raster display: regular sampling of a continuous function Think about sampling a 1-D function: 8
Signal Processing Sampling a 1-D function: 9
Signal Processing Sampling a 1-D function: 10
Signal Processing Sampling a 1-D function: Τι παρατηρείτε? 11
Signal Processing Sampling a 1-D function: τι παρατηρείτε? Jagged, not smooth 12
Signal Processing Sampling a 1-D function: τι παρατηρείτε? Jagged, not smooth Loses information! 13
Signal Processing Sampling a 1-D function: τι παρατηρείτε? Jagged, not smooth Loses information! Τι μπορούμε να κάνουμε γι αυτό? Use higher-order reconstruction Use more samples How many more samples? 14
The Sampling Theorem Προφανώς, όσο περισσότερα δείγματα παίρνουμε, τόσο καλύτερα είναι αυτά τα δείγματα ως προσέγγιση της αρχικής λειτουργίας. The Nyquist sampling theorem: A continuous bandlimited function can be completely represented by a set of equally spaced samples, if the samples occur at more than twice the frequency of the highest frequency component of the function. 15
The Sampling Theorem Δηλαδή: για να συλλάβουμε (capture) επαρκώς μια συνάρτηση με maximum συχνότητα F, πρέπει να τη δειγματοληπτήσουμε με συχνότητα N = 2F. η N ονομάζεται όριο Nyquist. 16
The Sampling Theorem Το θεώρημα δειγματοληψίας του Nyquist βρίσκει εφαρμογή στα CDs Οι περισσότεροι άνθρωποι μπορούν να ακούσουν συχνότητες έως τα 20 khz Μερικοί μπορούν έως τα 22 khz! τα CDs δειγματοληπτούνται στα 44.1 khz Αν και δεν είναι ακριβώς το διπλάσιο της "υψηλότερης συνιστώσας συχνότητας", είναι το διπλάσιο από την "υψηλότερη συνιστώσα συχνότητας" που μπορεί να ακουστεί! 17
Φαινόμενο ταύτισης (aliasing) Aliasing: Παραγωγή ίδιου ψηφιακού σήματος από 2 αναλογικά σήματα διαφορετικής μορφής Στα γραφικά προκύπτει το φαινόμενο όταν αναλυτικές μορφές (όπως ευθύγραμμα τμήματα κ.λ.π.) μετατρέπονται σε διακριτές, δηλαδή pixels. 18
Φαινόμενο ταύτισης (aliasing) 19
Aliasing Aliasing: a high-frequency signal masquerading as a low frequency Actual (high-frequency) signal Sampling Interval Sampled (aliased) signal Caused by insufficient sampling (sampling interval too large) 20
Παραδείγματα aliasing Strobe light on dripping water : Temporal aliasing Spokes (ακτίνες) on a rotating wheel : Temporal aliasing Moiré patterns: Spatial aliasing 21
Aliasing και Σχεδίαση Ευθύγραμμων Τμημάτων We draw lines by sampling at intervals of 1 pixel and drawing the closest pixels Results in stair-stepping (i.e., the dreaded jaggies ) Sampling Interval Sampling Interval 22
Antialiasing Ευθύγραμμων Τμημάτων Ιδέα: Να κάνουμε τη γραμμή πιο χοντρή Fade line out (αφαιρεί τις υψηλές συχνότητες) Τώρα δειγματολήπτησε τη γραμμή 23
Antialiasing Ευθύγραμμων Τμημάτων Λύση 1 Unweighted Area Sampling: Treat line as a single-pixel wide rectangle Color pixels according to the percentage of each pixel that is covered by the rectangle 24
Λύση 1: Unweighted Area Sampling Pixel area is unit square Constant weighting function Pixel color is determined by computing the amount of the pixel covered by the line, then shading accordingly Easy to compute, gives reasonable results One Pixel Line 25
Λύση 2: Weighted Area Sampling Treat pixel area as a circle with a radius of one pixel Use a radially symmetric weighting function (e.g., cone): Areas closer to the pixel center are weighted more heavily Better results than unweighted, slightly higher cost One Pixel Line 26
Λύση 3: Αλγόριθμος Gupta-Sproull Calculate pixel intensity by computing distance from pixel center to line using the midpoint line algorithm NE y p+1 Line to draw m D Θ v y p x p E x p+1 27
Λύση 4: Super-sampling Divide pixel up into sub-pixels : 2 2, 3 3, 4 4, etc. Sub-pixel is colored if inside line Pixel color is the average of its sub-pixel colors Easy to implement (in software and hardware) No antialiasing Antialiasing (2 2 super-sampling) 28
Λύση 5: Sum Foreground and Background Compute percent of pixel covered by line, p Line color is c l Background color is c b Pixel color is the sum of this percent multiplied by the line color, plus the percent of the pixel not covered by the line multiplied by the background color, i.e., color = p * c l + (1-p) * c b 29
Polygon Antialiasing To antialias a line, we treat it as a polygon (a rectangle) Antialiasing a polygon (or any shape primitive) is similar Some concerns: Corners: Complicate the coverage computation Micro-polygons: smaller than a pixel Super-sampling: There may still be polygons that slip between the cracks 30
Φαινόμενο ταύτισης - σύνοψη Τα παριστάμενα αντικείμενα είναι συνεχή σήματα, ενώ αντίθετα η οθόνη στην οποία απεικονίζονται αποτελείται από διακριτά σημεία (pixels). Θεωρούμε τα pixels ως σημεία δειγματοληψίας (sampling points) για την ψηφιακή αντιπαράσταση της συνεχούς εικόνας. Θεώρημα Nyquist: Η πιστή αναπαραγωγή ενός σήματος ή συχνότητα δειγματοληψίας, πρέπει να είναι υπερδιπλάσια της μεγαλύτερης: f s > 2 f max Διαφορετικά: παρατηρείται το φαινόμενο της ταύτισης. 31
Φαινόμενο ταύτισης (aliasing) Ο ρυθμός μεταβολής μιας απεικονιζόμενης μορφής πρέπει να έχει περίοδο μεγαλύτερη από 2 pixels για να μπορεί να αποδοθεί σωστά! 32
Αποτελέσματα ταύτισης 1. Τεθλασμένη εμφάνιση ευθυγράμμων τμημάτων και ακμών πολυγώνων 2. Λανθασμένη εμφάνιση επαναλαμβανόμενων λεπτομερειών ενός σχήματος π.χ. συρματόπλεγμα με απόσταση διαδοχικών συρμάτων μικρότερη από τη 2-πλάσια απόσταση μεταξύ 2 pixels. 3. Λανθασμένη εμφάνιση μικρών σχημάτων που μπορεί να εμφανίζονται ή να εξαφανίζονται ανάλογα με τη θέση τους π.χ. σε διαδοχικά καρέ! ταύτιση aliasing αντι-ταύτιση anti-aliasing Μέθοδοι αντι-ταύτισης: Pitteway&Watkinson, postfiltering, stochastic sampling, A-buffer, ) 33
Φαινόμενο ταύτισης (aliasing) Κύριες περιπτώσεις εμφάνισης aliasing: H τεθλασμένη εμφάνιση ακμών πολυγώνων και γραμμών Η λανθασμένη εμφάνιση επαναλαμβανόμενων λεπτομερειών (π.χ. υφή) 34
Αποτελέσματα ταύτισης 35
Αποτελέσματα ταύτισης 36
Αποτελέσματα ταύτισης 37
Γενικά Η τεχνική anti-aliasing απαιτεί σημαντική υπολογιστική ισχύ από τη GPU για την εφαρμογή της σημαντική μείωση στο frame rate! Εξαρτάται κατά πολύ από τη διαθέσιμη μνήμη και τις υπολογιστικές δυνατότητες της κάρτας γραφικών. Μπορεί να εφαρμοστεί σε διαφορετικά επίπεδα (2x, 4x, κ.ο.κ.). 38
Αντιμετώπιση ταύτισης (Γενική περίπτωση) Κατασκευαστικοί αλγόριθμοι για γραμμές: χρωματίζουν και γειτονικά pixels με λιγότερο χρώμα πρόβλημα με επικαλυπτόμενα σχήματα Low-pass post-filtering (supersampling) Pre-filtering πολυγώνων Low-pass pre-filtering για textures (mipmapping) 39
Αντιταύτιση με pre-filtering Μέθοδος αντιταύτισης με Προφιλτράρισμα (pre-filtering) Λαμβάνει υπόψη τις εντάσεις σε μια συγκεκριμένη περιοχή της εικόνας. Θεωρούν το pixel ως περιοχή και υπολογίζουν το χρώμα του pixel με βάση το overlap των αντικειμένων της σκηνής με την περιοχή ενός pixel. Οι τεχνικές αυτές υπολογίζουν τις αποχρώσεις του γκρι με βάση το πόσο καλύπτεται η περιοχή ενός pixel από ένα αντικείμενο. 40
Αντιταύτιση με pre-filtering Μέθοδος αντιταύτισης με Προφιλτράρισμα (pre-filtering) Πρακτικά: Εφαρμόζουν ένα low-pass filter Ένα low-pass filter επιτρέπει τις χαμηλές συχνότητες, αλλά but εξασθενεί (ή μειώνει) τις υψηλές συχνότητες Στη συνέχεια, δειγματοληπτούν. Εξαγωγή από το σήμα συχνοτήτων μεγαλύτερων ή ίσων με το μισό της συχνότητας δειγματοληψίας, πριν την εκτέλεσή της. 41
Αντιταύτιση με pre-filtering 42 42
Αντιταύτιση με pre-filtering 43 43
Αντιταύτιση με pre-filtering Μέθοδος αντιταύτισης με Προφιλτράρισμα (pre-filtering) 44
Αντιταύτιση με pre-filtering Αλγόριθμος Pitteway & Watkinson - παραλλαγή του αλγορίθμου Bresenham Δημιουργήθηκε για να λύσει το πρόβλημα aliasing των ακμών ενός γεμάτου πολυγώνου (filled polygon). Λύνει το πρόβλημα για τη μία πλευρά του πολυγώνου κι όχι για 2 ή και περισσότερες πλευρές. Παρέχει έναν απλό τρόπο για τον υπολογισμό της περιοχής ενός pixel που βρίσκεται στο εσωτερικό του πολύγωνου. Παρέχει σωστή απόχρωση οριακών pixel. 45
Αντιταύτιση με pre-filtering Αλγόριθμος Pitteway & Watkinson - παραλλαγή του αλγορίθμου Bresenham 46
Αντιταύτιση με pre-filtering Άλλες Μέθοδοι Αντιταύτισης με Προφιλτραρίσμα Αλγόριθμος αντιταύτισης Catmull: δεν λαμβάνει υπόψη τη σταδιακή μεταβολή της τιμής φωτισμού κάθε πολυγώνου, αλλά θεωρεί ότι κάθε πολύγωνο έχει σταθερή χρωματική απόχρωση σε όλη του την επιφάνεια. Αντιταύτιση A-buffer: Παρουσιάζει αδυναμία επεξεργασίας πολυγώνων που τέμνονται εντός του pixel, καθώς δεν είναι δυνατόν να ταξινομηθούν ως προς το βάθος (Ζ). Loren Carpenter, The A -buffer, an antialiased hidden surface method, ACM Siggraph Computer Graphics, vol. 18, no. 3, pp. 103 108, 1984 47
Αντιταύτιση με post-filtering Η πιο απλή μέθοδος για να μειώσουμε τα aliasing artifacts είναι η υπερδειγματοληψία (supersampling). 2 βήματα: αύξησε την ανάλυση των δειγμάτων Υπολόγισε τον μέσο όρο για να μειώσεις τα αποτελέσματα («average the results down ) 1. Create virtual image at higher resolution than the final image 2. Apply a low-pass filter 3. Resample filtered image 48
Αντιταύτιση με post-filtering Μέθοδος αντιταύτισης με Μεταφιλτράρισμα (post-filtering ή supersampling) Λειτουργεί με αύξηση του αριθμού των δειγμάτων. Δημιουργεί μία εικόνα με περισσότερα σημεία. Βρίσκει το χρωματικό μέσο όρο των σημείων που αντιστοιχούν σε κάθε πραγματικό pixel. Ουσιαστικά, δηλαδή, το aliasing μειώνεται με την αύξηση της συχνότητας δειγματοληψίας και κατόπιν υπολογίζοντας το μέσο όρο των νέων αποτελεσμάτων. Συνήθως εξαλείφει τις υψηλές συχνότητες που αποτελούν την αιτία των aliases. 49
Αντιταύτιση με post-filtering 50
Αντιταύτιση με post-filtering Μέθοδος Αντιταύτισης με Μεταφιλτραρίσμα Μειονεκτεί στο ότι δεν λαμβάνει υπόψη τα περιεχόμενα της εικόνας-είδωλο. Ενεργεί σε ένα ήδη ψηφιοποιημένο περιβάλλον με προκαθορισμένη συχνότητα δειγματοληψίας. Ποιο είναι το πρακτικό πρόβλημα? Απ.: οι ανάγκες αποθήκευσης αυξάνουν κατακόρυφα! Ποιο είναι το θεωρητικό πρόβλημα? Απ.: Δεν εξαλείφει το φαινόμενο αντιταύτισης!! Απλά μεταφέρει (shifts) το όριο του Nyquist υψηλότερα! 51
52 52
Ερωτήσεις - Απορίες 53