THMMY.gr

Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών => Ψηφιακή Επεξεργασία Εικόνας => Topic started by: mademlis on December 01, 2006, 17:26:09 pm



Title: 2η Εργασία 2006 - 2007
Post by: mademlis on December 01, 2006, 17:26:09 pm
Η 2η Σειρα ασκήσεων είναι διαθέσιμη στο eTHMMY

Υπάρχει η ακόλουθη ανακοίνωση από το site
---------------------------------------------------------------------------------

Η  δεύτερη  σειρά  ασκήσεων  είναι  διαθέσιμη  στο  υλικό  μαθήματος.

Η  υποβολή  των  εργασιών  θα  είναι  ηλεκτρονική,  στην  ενότητα  Εργασίες,  μέχρι  τις  22  Δεκεμβρίου.


ΕDIT Αναμένω σχόλια


Title: Re: 2η Εργασία 2006 - 2007
Post by: JAs0n-X on December 01, 2006, 21:04:26 pm
Σχολιο 1) Οποιος θελει να ασχοληθει με την εργασια μεσα στο Σαββατοκυριακο να την κατεβασει τωρα γιατι το εΤΗΜΜΥ θα ειναι down.

Σχολιο 2) ΘΕΛΟΥΜΕ ΠΑΡΑΤΑΣΗ ! :P


Title: Re: 2η Εργασία 2006 - 2007
Post by: lars on December 01, 2006, 21:41:09 pm
+1 για το (2) :)!!


Title: Re: 2η Εργασία 2006 - 2007
Post by: Καμένος on December 04, 2006, 12:38:16 pm
Σχολιο 1) Οποιος θελει να ασχοληθει με την εργασια μεσα στο Σαββατοκυριακο να την κατεβασει τωρα γιατι το εΤΗΜΜΥ θα ειναι down.

Σχολιο 2) ΘΕΛΟΥΜΕ ΠΑΡΑΤΑΣΗ ! :P

Τουλάχιστο μέχρι Δευτέρα... Εμείς που την κάνουμε σε C τα έχουμε βρεί λίγο δύσκολα στην αριθμητική...


Title: Re: 2η Εργασία 2006 - 2007
Post by: JAs0n-X on December 04, 2006, 13:13:17 pm
α εγω αναφερομουν στην 2η ! :P

Ασε πεφτουν ολα μαζι τωρα και . . .


Title: Re: 2η Εργασία 2006 - 2007
Post by: Καμένος on December 04, 2006, 14:08:39 pm
α εγω αναφερομουν στην 2η ! :P

Ασε πεφτουν ολα μαζι τωρα και . . .

Ρε σύ γίνεται ψιλοχαμός...

Μαδεμλή... λυπήσου μας!!! Δώσε μας ένα Σαββατοκύριακο ακόμα!!!


Title: Re: 2η Εργασία 2006 - 2007
Post by: chggr005 on December 04, 2006, 20:56:49 pm
Τελικά η εργασία πήρε -άτυπη- παράταση μέχρι την Δευτέρα...
Ευχαριστούμε!


Title: Re: 2η Εργασία 2006 - 2007
Post by: mitsos_84 on December 08, 2006, 19:45:50 pm
@ Mademlis
Σκεφτομαι και εγω με το φτωχο μου μυαλο...
Αφου η 2η εργασια ειναι που ειναι μεχρι τις 22 Δεκεμβριου(οταν και σταματαμε για τις γιορτες) γιατι να μην παρει παραταση για μεχρι να ξαναρχισουν τα μαθηματα(του χρονου);
 ^beg^ ^kaloe^ ^kaloe^


Title: Re: 2η Εργασία 2006 - 2007
Post by: JAs0n-X on December 08, 2006, 23:48:55 pm
Εγω παλια εχω απορια μιας και ξεκινησαμε σημερα την εργασια και δεν ελπιζουμε σε παραταση! :P

Οταν κβαντιζουμε το αποτελεσμα του DCT χρησιμοποιουμε την τυπικη αποκλιση για τα "ομολογα" οπως αναφερεται στοιχεια.

Την τυπικη αποκλιση δεν χρειαζεται να την ξερει ο δεκτης για να ανασυνταξει το σημα του DCT??

Επισης υπολογισουμε σε πιο επιπεδο κβαντισης αντιστοιχει καθε τιμη αφαιρουμε τη μεση τιμη σωστα?


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 09, 2006, 12:23:20 pm
@ Mademlis
Σκεφτομαι και εγω με το φτωχο μου μυαλο...
Αφου η 2η εργασια ειναι που ειναι μεχρι τις 22 Δεκεμβριου(οταν και σταματαμε για τις γιορτες) γιατι να μην παρει παραταση για μεχρι να ξαναρχισουν τα μαθηματα(του χρονου);
 ^beg^ ^kaloe^ ^kaloe^

Αυτό θα το δούμε την τελευταία εβδομάδα πριν τα Χριστούγεννα  ^kaloe^ ^kaloe^

Εγω παλια εχω απορια μιας και ξεκινησαμε σημερα την εργασια και δεν ελπιζουμε σε παραταση! :P

Οταν κβαντιζουμε το αποτελεσμα του DCT χρησιμοποιουμε την τυπικη αποκλιση για τα "ομολογα" οπως αναφερεται στοιχεια.

Την τυπικη αποκλιση δεν χρειαζεται να την ξερει ο δεκτης για να ανασυνταξει το σημα του DCT??

Επισης υπολογισουμε σε πιο επιπεδο κβαντισης αντιστοιχει καθε τιμη αφαιρουμε τη μεση τιμη σωστα?

Δεν ελπίζεις σε παράταση ε ? Καλά κάνεις.

Πάμε τώρα σοβαρά.
Ο δέκτης πρέπει να ξέρει και τυπική απόκλιση και μέση τιμη για να ανακατασκευάσει
Για να προχωρήσει η διαδικασία της κβάντισης
αφαιρούμε απο τον συντελεστή την κατάλληλη μέση τιμή,
και στη συνέχεια διαιρούμε με την τυπική απόκλιση.


Title: Re: 2η Εργασία 2006 - 2007
Post by: JAs0n-X on December 09, 2006, 15:07:36 pm
Καλα στα ορθογραφικα δινω ρεστα στο πιο πανω ποστ!!

Στο θεμα τωρα: αρα δηλαδη για καθε ομαδα ομολογων στοιχειων του πινακα του DCT στελνουμε και την τυπικη αποκλιση και την μεση τιμη. Δεν μας τρωει ομως bandwidth αυτη η διαδικασια? δλδ με τι ακριβεια θα τα στειλουμε?


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 09, 2006, 15:32:55 pm
Μας τρώει bandwidth, αλλά μιλάμε για 40 double τιμές (320 bytes, 2560 bits) ή float τιμές ( 160 Bytes, 1780 bits) για όλη την εικόνα στην περίπτωση των ομόλογων συντελεστών!


Title: Re: 2η Εργασία 2006 - 2007
Post by: JAs0n-X on December 09, 2006, 15:41:35 pm
Μηπως δεν καταλαβα κατι καλα τοτε!
Σχετικα με τους ομολογους:

τι ακριβως εννοει?? Στο συγκεκριμενο μπλοκ που εγω ψαχνω (και οχι στα υπολοιπα) ομολογους θεωρω τους ορους που θα κωδικοποιηθουν αργοτερα με ιδιο αριθμο bits. Δλδ για παραδειγμα στην πρωτη περιπτωση ομολογοι ειναι οι οροι C(1,2) C(1,3) Κλπ που κωδικοποιουνται με 6 μπιτ..απο κει υπολογισζω μια μεση τιμη και μια αποκλιση για το μπλοκ και τους ορους 6bit.
Αντιστοιχα για τους 4,2 ,1...
αντισοιχα για ολα τα μπλοκ

Αρα εχουμε 1024 μπλοκ οπου θα στειλω 4 τιμες για την αποκλιση και 4 για την μεση τιμη 8!
Αρα 8192 float τιμες!

Αρα ειμαι σιγουρος οτι κατι κανω λαθος!! :P


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 09, 2006, 20:42:54 pm
όχι όχι,
ομόλογοι είναι οι C(1,1) από ΌΛΑ τα block
Συνεπώς,
Έχω ν συντελεστές float για την μέση τιμή και άλλους τόσους για την τυπική απόκλιση
ΑΝΕΞΑΡΤΗΤΑ από τον αριθμό των block


Title: Re: 2η Εργασία 2006 - 2007
Post by: ckck20 on December 10, 2006, 02:52:37 am
Ωραία, έστω κάναμε το dct σε κάθε μπλοκ των 8χ8 και βρήκαμε και τα στατιστικά στοιχεία των ομόλογων συντελεστών. Μετά πως στο !@#$@#$ κβαντίζονται αυτά που βγάζουμε; Διαβάζω, διαβάζω και άκρη δε βγάζω!!! (Χμμ.. ωραία φράση, ταιριάζει απόλυτα στο τμήμα μας!)

Ένα παραδειγματάκι θα μας κατατοπίσει(όπως λέμε μια εικόνα χίλιες λέξεις).


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 10, 2006, 03:09:17 am
ΟΚ
Για κβάντιση στα 2 Bits (4 επίπεδα)

Εχω τον συντελεστή C()  αφαιρώ τη μέση τιμή και διαιρώ με την τυπική απόκλιση.

Στη συνέχεια κοιτάω στον πραγματικό άξονα.

Εδώ έχουμε:
t0 = -απειρο
t1 = -0.9816
t2 = 0
t3 = 0.9816
t4 = +απειρο

r0 = -1.5104
r1 = -0.4528
r2 = 0.4528
r3 = 1.5104

Τα σημεία t_i ορίζουν μια διαμέριση του πραγματικού άξονα στα ακόλουθα διαστήματα
S0 = (t0,t1]
S1 = (t1,t2]
S2 = (t2,t3]
S3 = (t3,t4)

Κάθε δείγμα στο S0 κβαντίζεται στο r0 και αποστέλεται το r0 στον αποκωδικοποιητή
Ομοίως και για τα υπόλοιπα.


Title: Re: 2η Εργασία 2006 - 2007
Post by: ckck20 on December 10, 2006, 12:47:33 pm
Ώραία! Τώρα μπορώ να πιάσω δουλειά. Ευχαριστώ


Title: Re: 2η Εργασία 2006 - 2007
Post by: JAs0n-X on December 10, 2006, 14:05:56 pm
όχι όχι,
ομόλογοι είναι οι C(1,1) από ΌΛΑ τα block
Συνεπώς,
Έχω ν συντελεστές float για την μέση τιμή και άλλους τόσους για την τυπική απόκλιση
ΑΝΕΞΑΡΤΗΤΑ από τον αριθμό των block

Understood !
Thanks! :)


Title: Re: 2η Εργασία 2006 - 2007
Post by: Lurpak on December 12, 2006, 13:56:04 pm
Να ρωτήσω και 'γω ο δύσμοιρος μερικά πραγματάκια:
ι) Στην ομοιόμορφη κβάντιση το L αν τα x(n) δεν είναι μόνο θετικά θα είναι το μέγιστο κατ' απόλυτη τιμή ή μόνο το θετικό μέγιστο;
ιι)Τα t,r που δίνονται λέει στην εργασία οτι είναι για κατανομές με μηδενική μέση τιμή, αν η μέση τιμή δεν είναι μηδενική θα ισχύει το τ(κ)<(χ(η)-μ)/σ<τ(κ+1) και μετά y(η)=σr(κ);
ιιι)Για τους "ομόλογους" συντελεστές ....καλύφθηκα.
iv) To MSE - ως "μέσο" σφάλμα - δεν πρέπει να έχει και στον παρονομαστή κάτι; πχ. το σύνολο των στοιχείων της εικόνας;


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 12, 2006, 14:23:03 pm
Αγαπητέ Δημήτρη,

Μια μια με τη σειρά

1) Ώπα, ξεφεύγουμε. Ειναι γνωστό απο τη θεωρία ότι ο  0 <= C(0,0) <= 4*255*64.
Αν τώρα έχουμε να κάνουμε μια ομοιόμορφη κβάντιση σε Ν επίπεδα του διαστήματος, [Α, Β], τότε χωρίζουμε το [Α, Β] σε Ν ίσα υποδιαστήματα και λαμβάνουμε σαν επίπεδο κβάντισης το μέσο του κάθε υποδιαστήματος
Δεν έχουμε να κοιτάξουμε τι ή που είναι αυτό το διαστημα

2) μετά ισχύει y = σr+μ, προφανώς

4) Αυτό που λες είναι σωστό. Χρειάζεται  /Ν1*Ν2


Title: Re: 2η Εργασία 2006 - 2007
Post by: Lurpak on December 12, 2006, 15:33:58 pm
1) Ώπα, ξεφεύγουμε. Ειναι γνωστό απο τη θεωρία ότι ο  0 <= C(0,0) <= 4*255*64.
Αν τώρα έχουμε να κάνουμε μια ομοιόμορφη κβάντιση σε Ν επίπεδα του διαστήματος, [Α, Β], τότε χωρίζουμε το [Α, Β] σε Ν ίσα υποδιαστήματα και λαμβάνουμε σαν επίπεδο κβάντισης το μέσο του κάθε υποδιαστήματος
Δεν έχουμε να κοιτάξουμε τι ή που είναι αυτό το διαστημα

Elementary dear Thanassis, απλά ένα μικρό προγραμματιστικό λαθάκι και μου πέταγε και αρνητικά στον C. Mea Culpa.


...πάνω στο ίδιο όμως, πρέπει να κάνουμε αναγωγή στο (0,L); δηλ. να μετασχηματίσουμε το εύρος τιμών με βάση το 0;


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 12, 2006, 17:02:15 pm
Γία να γίνω πιο αναλυτικός.

Η αρχή της κβάντισης (είτε ομοιόμορφης είτε μη ομοιόμορφης) ειναι η αντιστοίχιση ενός συμβόλου σε ένα διάστημα.
Στον αποκβαντισμό, αντιστοιχίζουμε μια τιμή στο κάθε σύμβολο

Έτσι, αν πχ έχουμε το διάστημα [10....26] και θέλουμε να το κβαντίσουμε στα 2 bits (4 διαστήματα) με βάση την ομοιόμορφη κατανομή, τότε έχουμε τα διαστήματα

Διάστημα   --> Συμβολο --> Αποκβαντισμένη τιμή
[10 .. 14) -- >     s0      -- > 12
[14 .. 18) -- >     s1      -- > 16
[18... 22) -- >     s2      -- > 20
[22 .. 26] -- >     s3      -- > 24

Με παρόμοιο τρόπο δουλεύει και ο τύπος που σας δόθηκε
το y[n] είναι η αποκβαντισμένη τιμή

Επεξεργασία:
Έτσι, κάθε τιμή στο διάστημα [10...14)  αντιστοιχίζεαι στην τιμή 12 κοκ


Title: Re: 2η Εργασία 2006 - 2007
Post by: ckck20 on December 12, 2006, 18:01:05 pm
Για να αρχίσει η λοταρία να παίζει...
Εγώ βγάζω για τον πρώτο πίνακα Β psnr=49.65 και για το δεύτερο B psnr=47.70
Bingo ή τζακ-ποτ;


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 12, 2006, 18:08:48 pm
Σχόλια για το αποτέλεσμα έχουμε ?


Title: Re: 2η Εργασία 2006 - 2007
Post by: ckck20 on December 12, 2006, 18:14:40 pm
Βασικά από μια πρώτη εντύπωση, η νέα εικόνα που προκύπτει δεν είναι και πολύ καλή σε ποιότητα. Βασικά και γω σχόλια από σένα περίμενα!


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 12, 2006, 18:15:31 pm
Γίνε λίγο πιο αναλυτικός.
Πες μας τι παρατηρείς.


Title: Re: 2η Εργασία 2006 - 2007
Post by: ckck20 on December 12, 2006, 18:21:15 pm
Η ποιότητα χάλασε ριζικά και σε σημεία διακρίνονται μπλοκ 8χ8. Φυσικά αν κβαντίσω και άλλες θέσεις των AC με 4-6bits τ΄τοτε η ποιότητα ανεβαίνει σημαντικά. Φυσικά όλα αυτά δεδομένου ότι τα psnr που βγάζω είναι σωστά, αλλιώς τίιποτα δεν ισχύει.


Title: deleted
Post by: BOBoMASTORAS on December 12, 2006, 20:59:20 pm
deleted


Title: Re: 2η Εργασία 2006 - 2007
Post by: Lurpak on December 12, 2006, 21:27:42 pm
Ο πρώτος πίνακας δίνει καλύτερα αποτελέσματα και λιγότερα εμφανή blocks , αν και στις δυο περιπτωσεις αν παρατηρήσεις την εικόνα μπορεις να διακρίνεις όλα τα block. Τα PSNR μου βγαίνουν γύρω στο 25-30. Για ποντάρετε τώρα που γυρίζει, πολλά βάζετε πολλά κερδίζετε....


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 12, 2006, 21:31:49 pm
Είστε όλοι σίγουροι οτι υπολογίζετε δεκαδικό λογάριθμο και όχι φυσικό ?


Title: deleted
Post by: BOBoMASTORAS on December 12, 2006, 21:41:10 pm
deleted


Title: Re: 2η Εργασία 2006 - 2007
Post by: Καμένος on December 12, 2006, 22:04:35 pm
Mr Θανάσης υπάρχει περίπτωση με τον δεύτερο πίνακα να βγαίνει 8,366 περίπου?


Title: Re: 2η Εργασία 2006 - 2007
Post by: Lurpak on December 12, 2006, 22:20:02 pm
Στο συμπληρωματικό φυλλάδιο στο ethmmy το μέσο τετραγωνικό σφάλμα δε θα έπρεπε να έχει ένα 1/Ν^2 από μπροστά???

Ναι. Το επιβεβαίωσε στην προηγούμενη σελίδα.


Title: Re: 2η Εργασία 2006 - 2007
Post by: ckck20 on December 12, 2006, 22:20:35 pm

Bingo κανείς;  :P


Title: deleted
Post by: BOBoMASTORAS on December 12, 2006, 23:26:56 pm
deleted


Title: Re: 2η Εργασία 2006 - 2007
Post by: ckck20 on December 13, 2006, 01:10:51 am
Στον 1ο πίνακα Β: psnr=28.92
Στο 2ο: psnr=28.69

Αυτή τη φορά είμαι ΣΙΓΟΥΡΟΣ!


Title: Re: 2η Εργασία 2006 - 2007
Post by: JAs0n-X on December 13, 2006, 21:05:58 pm
Στον 1ο πίνακα Β: psnr=28.92
Στο 2ο: psnr=28.69

Αυτή τη φορά είμαι ΣΙΓΟΥΡΟΣ!
Τωρα σιγουρευτηκαμε κ μεις!!


Title: Re: 2η Εργασία 2006 - 2007
Post by: Lurpak on December 13, 2006, 21:34:05 pm
Στον 1ο πίνακα Β: PSNR=27.76
Στον 2ο πίνακα Β: PSNR=30.63

...το 0.2 διαφορά που βρήκατε δεν είναι αρκετά μικρό;

BTW: Έχει κανείς καμιά ιδέα για το πως μπορώ να έχω ένα υπερκείμενο grid σε μια εικόνα;


Title: Re: 2η Εργασία 2006 - 2007
Post by: JAs0n-X on December 14, 2006, 00:16:31 am
και μενα πολυ μικρη διαφορα μου φαινεται !!

Ας μας διαφωτισει ο Θανασης καλυτερα!

Οσο για το BTW νομιζω εννοεις την εντολη subplot.

Εστω οτι θελεις ενα grid 2 x 2 .

γραφεις:
subplot(2,2,1)
imshow...
subplot(2,2,2)
plot...
subplot(2,2,3)
...

ο 3ος δεικτης δλδ ειναι ο αριθμος του κελιου απο τον πινακα που εκανες στον οποιο θα πλοταρεις!


Στην εργασια τωρα μιας και ελπιζω οτι τελειωσαμε αλλα εχω μερικες αποριες:

Οταν κβαντιζουμε ολους τους ορους εννοειται τους αφηνουμε ως εχουν σωστα?

δηλαδη δεν θα κατσω να βρω ο DC ορος 33700 κατι πως κωδικοποιειται στα 8 bit (πχ 230) , ο ορος 0.κατι πως κωδικοποιειται στα 4 bit (πχ 1100 = 12) ε?

Thanx


Title: Re: 2η Εργασία 2006 - 2007
Post by: Lurpak on December 14, 2006, 01:56:31 am
Jason ίσως δεν το εξήγησα σωστά, επειδή θέλω να συγκρίνω τις τελικές εικόνες έκανα μια μάσκα διαφορών μεταξύ της αρχικής εικόνας και των δυο τελικών, αλλά για να είναι πιο εύκολη η σύγκριση "με το μάτι" θα ήθελα πάνω από κάθε μάσκα να φαίνεται ένα grid, όπως κάνεις grid on στα plots. Το θέμα είναι στις εικόνες όταν κάνεις grid δεν φαίνεται ίσως επειδή το grid τυπώνεται πάνω στο επίπεδο xy οπότε η εικόνα είναι υπερκείμενη και το καλύπτει.


Title: Re: 2η Εργασία 2006 - 2007
Post by: JAs0n-X on December 14, 2006, 13:00:03 pm
sorry αλλο καταλαβα οπως ειδες...αυτο που λες δεν το ξερω.


ΥΓ. Ειχα ενα ασχημο μηνυμα απο τον συναδελφο μου και εχω ενα κακο προαισθημα τωρα για τα αποτελεσματα μας ! :P


Title: Re: 2η Εργασία 2006 - 2007
Post by: Kat on December 14, 2006, 13:34:24 pm
Jason ίσως δεν το εξήγησα σωστά, επειδή θέλω να συγκρίνω τις τελικές εικόνες έκανα μια μάσκα διαφορών μεταξύ της αρχικής εικόνας και των δυο τελικών, αλλά για να είναι πιο εύκολη η σύγκριση "με το μάτι" θα ήθελα πάνω από κάθε μάσκα να φαίνεται ένα grid, όπως κάνεις grid on στα plots. Το θέμα είναι στις εικόνες όταν κάνεις grid δεν φαίνεται ίσως επειδή το grid τυπώνεται πάνω στο επίπεδο xy οπότε η εικόνα είναι υπερκείμενη και το καλύπτει.

Χωρίς να ξέρω την εργασία καθόλου (πού πας ρε Καραμήτρο!), σε κάποιες περιπτώσεις, αν δοκιμάσεις να φτιάξεις μια RGB εικόνα, όπου η πρώτη εικόνα σου είναι το κόκκινο κανάλι, η δεύτερη το πράσινο και το μπλε κανάλι είναι κενό, βοηθάει.

(το έχω δοκιμάσει βέβαια μόνο σε άλλου τύπου εικόνες, αλλά ποτέ δεν ξέρεις.)


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 14, 2006, 14:09:01 pm
@JAs0n-X
Υπάρχουν πολλές παράμετροι, αλλά η αλήθεια είναι ότι δεν περίμενα τόσο μικρά PSNR.
Δεν έχω όμως άποψη για ακριβείς τιμές ακόμη.

@Kat
Μιλάμε για grayscale εικόνες, και όχι RGB


Title: Re: 2η Εργασία 2006 - 2007
Post by: dim on December 18, 2006, 21:16:25 pm
Για τους DC συντελεστές, το L είναι η μέγιστη τιμή που υπάρχει στα C(1,1) στη δικιά μας εικόνα;
ή είναι το θεωρητικό μέγιστο 4*255*8*8;

Δε θα πρέπει να στείλουμε και αυτό μαζί με την εικόνα;


Title: Re: 2η Εργασία 2006 - 2007
Post by: marauber on December 18, 2006, 21:29:16 pm
Το θεωρητικό μέγιστο.
Υποτίθεται ότι η υλοποίηση μας είναι ανεξάρτητη από την εικόνα που της δίνουμε σαν είσοδο (256x256 πάντα βέβαια).


Title: Re: 2η Εργασία 2006 - 2007
Post by: chggr005 on December 20, 2006, 00:06:22 am
Δύο απορίες:

1) Ο PSNR της δεύτερης εικόνας πρέπει να βγαίνει μικρότερος από αυτήν της πρώτης?
Λογικά όσο μεγαλύτερος ο PSNR τόσο πιο "καλή" θα δείχνει η εικόνα μας. Επειδή η δεύτερη εικόνα είναι λίγο (πολύ λίγο) χειρότερη από την πρώτη, λογικά θα πρέπει ο PSNR της να βγαίνει μικρότερος!

2) Εγώ αυτό που κάνω για κάθε pixel για να βρω το r που του αντιστοιχεί είναι να διατρέχω όλο τον πίνακα με τα t έως ότου εντοπίσω το διάστημα που με ενδιαφέρει και στην συνέχεια επιλέγω αναλόγως την τιμή του r. Αυτή η μέθοδος είναι λάθος? Κάποια παιδιά μου είπαν ότι πρέπει να το κάνουμε με μία διαφορετική μέθοδο γρήγορης αναζήτησης. Ισχύει?


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 20, 2006, 12:35:30 pm
Διαισθητικά, περιμένουμε μεγαλύτερο PSNR στην εικόνα που κωδικοποιούμε με ΠΕΡΙΣΣΟΤΕΡΑ ΒΙΤ. Αλλά αυτό, όπως καταλαβαίνεις είναι λιγάκι διασθητικό. Παίζει μεγάλο ρόλο το που θα είναι αυτά τα ΒΙΤ.

Τώρα για νούμερα, απλώς ποντάρετε......
 :P

Όσον αφορά την μέθοδο της γρήγορης αναζήτησης, γενικά ισχύει. Δλδ, μπορούμε να βρούμε έναν τρόπο να γίνεται πολύ γρήγορα αυτή η δουλειά. Αλλά στα πλαίσια της εργασίας, δεν υπάρχει πρόβλημα.



Title: Re: 2η Εργασία 2006 - 2007
Post by: JAs0n-X on December 20, 2006, 12:43:02 pm
Θαναση τα τελικα αποτελεσματα θα μας τα δωσεις τελικα?? :P

Ειχες πει για Σαββατοκυριακο 16-17 ! ;)



Title: Re: 2η Εργασία 2006 - 2007
Post by: Faidon on December 20, 2006, 15:14:48 pm
Να ρωτήσω: Εγώ έβαλα για πίνακα Β όλο 8άρια. Δηλαδή:

B=[8 8 8 8 8 8 8 8;
   8 8 8 8 8 8 8 8;
   8 8 8 8 8 8 8 8;
   8 8 8 8 8 8 8 8;
   8 8 8 8 8 8 8 8;
   8 8 8 8 8 8 8 8;
   8 8 8 8 8 8 8 8;
   8 8 8 8 8 8 8 8];

Μου βγάζει στο πρώτο pixel του κάθε τμήματος ένα ασπράκι. Το ίδιο κάνει και σε εσάς. Μου φάνηκε περίεργο και αγχώθηκα. Ας το δοκιμάσει κάποιος να μου πει αν βγάζει το ίδιο... :-\


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 20, 2006, 15:36:17 pm
Βρήκες τους κβαντιστές για ομοιόμορφη κατανομή στα 8 bits ?

:P


Title: Re: 2η Εργασία 2006 - 2007
Post by: Faidon on December 20, 2006, 18:08:34 pm
Το έψαξα. Προσπάθησα να βρω τον τύπο για τους κβαντισμένους συντελεστές. Μου φαίνεται όμως ότι πρέπει να είναι :

(L/255) * [ (255/L)*x(n) + 0.5 ]

Σαν παράδειγμα βάζω τους παρακάτω αριθμούς προς κβάντιση:

0                     10000                    35000                       4*255*64

Κανονικοποιώ ως προς το 1, διαιρώντας με το 4*255*64:

0                      0.1532                  0.5361                            1

Κανονικοποιώ ως προς 255, πολλαπλασιάζοντας με 255:

0                      39.066                 136.718                           255


Στη συνέχεια στρογγυλοποιώ. Δηλαδή προσθέτω 0.5 και κρατάω το ακέραιο μέρος.

Αν πολλαπλασιάζαμε με 256 τότε θα μπορούσε να προκύψει και ο κβαντισμένος αριθμός 256.
Αυτόν πως θα το συμβολίζαμε δυαδικά με 8bit;;


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 20, 2006, 18:13:51 pm
δεν κατάλαβες που το πάω....

Οι AC συντελεστές είναι και θετικοί και αρνητικοί
και δεν ακολουθούν ομοιόμορφη κατανομή,
αλλά κανονική......

Εκεί ακριβώς είναι το λάθος σου.
Με την δουλειά που έκανες, τα αποτελέσματα είναι απρόσμενα....

Δοκίμασε να κβαντίσεις όλα τα υπόλοιπα στα 6 bits που ξέρεις πως να το κάνεις και θα δεις ότι το αποτέλεσμα θα είναι πολύ καλό.


Title: Re: 2η Εργασία 2006 - 2007
Post by: Faidon on December 20, 2006, 18:21:28 pm
Ναι, εντάξει. Κατάλαβα ότι για τους υπόλοιπος όρους είναι δύσκολη η κβάντιση για ομοιόμορφη κατανομή. Χρειάζεται να χρησιμοποιήσουμε την round() ώστε να κρατήσουμε και τους αρνητικούς όρους. Η απορία μου όμως τώρα είναι για τον DC όρο και για το 256.
Δε θα έπρεπε λοιπόν στον τύπο για την κβάντιση με ομοιόμορφη κατανομή να πολλαπλασιάζουμε με 255 μετά τη διαίρεση με το μέγιστο L; Αφού με 8bit μπορούμε να απεικονίσουμε αριθμούς μόνο από 0 έως 255.


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 20, 2006, 18:25:53 pm
Α! Το λάθος είναι στο γεγονός, ότι δεν χρησιμοποιούμε τη round αλλά τη floor (οπότε κρατάμε το ακέραιο μέρος, και ποτέ δεν εμφανίζεται το 256.


Title: Re: 2η Εργασία 2006 - 2007
Post by: Faidon on December 20, 2006, 18:44:34 pm
Θα το εξηγήσω με εις άτοπο απαγωγή... Αν μας τύχει η μέγιστη τιμή που είναι x(n)=4*255*64:

Χρησιμοποιώντας τον τύπο με το 256 προκύπτει μέσα στην αγκύλη:

[ 256/(4*255*64) ] *4*255*64 +0.5 = 256.5

Οπότε το αποτέλεσμα της floor είναι 256. Αυτό πως θα το απεικονίσουμε με 8bit;

Ενώ αν είχαμε 255, τότε για το μέγιστο x(n)=4*255*64 έχουμε:

[ 255/(4*255*64) ] *4*255*64 +0.5 = 255.5

Οπότε το αποτέλεσμα της floor είναι 255, που όντως απεικονίζεται στο 1111 1111.

Δε θα πρέπει η κανονικοποίηση να γίνει στο διάστημα [0,255];


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 20, 2006, 18:56:24 pm
χμ....
Με προβληματίζεις....
Λοιπόν.
Πρώτα από όλα.
Πρέπει να ισχύει x < L με βάση τον τύπο.
Επιπλέον, από ότι φαίνεται, το 0.5 είναι λάθος. Πρέπει να χρειάζεται floor() και όχι round.
Αυτό σε κάθε περίπτωση όμως, είναι λεπτομέρια. Αφήνετε το δάσος και κοιτάτε το δάχτυλο.....


Title: Re: 2η Εργασία 2006 - 2007
Post by: Faidon on December 20, 2006, 19:26:49 pm
Αφήνετε το δάσος και κοιτάτε το δάχτυλο.....

Σε αυτό έχετε δίκιο...

Η απορία είναι εγκυκλοπαιδική. Ακόμα και αν x<L πάλι υπάρχει το ίδιο πρόβλημα. π.χ. για την τιμή x(n)=65279<4*255*64 το ίδιο πρόβλημα θα έχουμε. δηλαδή όταν θα πάμε να το κανονικοποιήσουμε θα μας βγει η τιμή 256 που δε μπορούμε να την απεικονίσουμε με 8bit.


Title: Re: 2η Εργασία 2006 - 2007
Post by: Tonia on December 20, 2006, 20:08:29 pm
Καλησπέρα και από μένα..

Ερώτηση για τον DCT. Στις σημειώσεις (σελ.54) αναφέρεται ότι μετά τον διακριτό μετασχηματισμό γίνεται στρογγυλοποίηση στον κοντινότερο ακέραιο. (Δεν εννοεί φυσικά την κβάντιση, ε?)

ʼρα, στις συναρτήσεις που θα δημιουργήσουμε για τον ευθή και αντίστροφο μετασχηματισμό, θα πρέπει να συμπεριλάβουμε και συνάρτηση στρογγυλοποίησης για την κάθε μία? :o


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 20, 2006, 20:55:21 pm
Μην μπερδεύεστε με τους κβαντιστές του προτύπου JPEG. Ειναι ΑΠΛΑ ΔΙΑΦΟΡΕΤΙΚΟΙ
Αυτό που κάνει στην σελίδα 54 αφορά την κβάντιση αυτών με βάση το πρότυπο. Στην άσκηση δίνονται διαφορετικοί κβαντιστές.

Είναι κατανοητό αυτό ?


Title: Re: 2η Εργασία 2006 - 2007
Post by: Tonia on December 20, 2006, 21:29:09 pm
Yes master!
^notworthy^


Title: Re: 2η Εργασία 2006 - 2007
Post by: kaplanis on December 21, 2006, 04:30:01 am
36.091 dB.. . . . ......
 ειναι Ο αριθμος ή απλα ένας αριθμος?
περιμενω επιβεβαιωση, αναφερομαι στον πρώτο πινακα


Title: Re: 2η Εργασία 2006 - 2007
Post by: chggr005 on December 21, 2006, 15:00:50 pm
Βασικά και μία άλλη απορία:
Όταν λέει στην εκφώνηση ότι 0 <= x(n) < L Πόσο πρέπει να πάρουμε το L?
Εγώ στον κώδικα που έφτιαξα το πήρα ως max(x(n)) + 1.
Αυτή η προσέγγιση είναι σωστή?

Όσο για το PSNR, εμένα μου βγήκε λίγο πάνω από 25. Είναι σωστό ή εντελώς off και να ξαναπροσπαθήσω?

Βασικά το πρόβλημα είναι ότι δεν έχουμε την αίσθηση μεγέθους ούτε ένα σημείο αναφοράς. Δηλαδή δεν μπορούμε να πούμε: Βγήκε 25, καλά είναι ή Βγήκε 25, μάλλον λάθος...


Title: Re: 2η Εργασία 2006 - 2007
Post by: Elsa on December 25, 2006, 00:09:32 am
 Πολυαγαπημένε μας Θανάση,

1) Στην πρώτη παρατήρηση στην εκφώνηση της άσκησης, προφανώς το y(n)
είναι η αποκβαντισμένη και όχι η κβαντισμένη τιμή όπως αναφέρει.
2)Στις περιπτώσεις που έχουμε μηδέν bits, οπότε και 2^0=1 επίπεδο κβάντισης
θα στέλνουμε τις μέσες τιμές των ομόλογων C(k1,k2) και όχι το μηδέν σωστά;
 

Ευχαριστώ


Title: Re: 2η Εργασία 2006 - 2007
Post by: Elsa on December 25, 2006, 15:50:38 pm
SOS
Οι τιμές στο αρχείο pdf για την κβάντιση σε 5 bit, συγκεκριμένα η τιμή r14
είναι -0,3314 και όχι -0,0331 σύμφωνα με το αρχείο quantizers.zip.
 Επομένως και το t13 και t14 είναι προφανώς λάθος ( απ' τον τύπο
tk=0.5(rk+r(k+1) προκύπτει ότι t13=-0,3991 και t14=-0.2648, τα άλλα είναι σωστά).


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 25, 2006, 16:46:13 pm
Προτού προχωρήσουμε,
ΧΡΟΝΙΑ ΠΟΛΛΑ ΣΕ ΟΛΟΥΣ.
ΚΑΛΑ ΧΡΙΣΤΟΥΓΕΝΝΑ ΜΕ ΥΓΕΙΑ, ΑΓΑΠΗ ΚΑΙ ΕΥΤΥΧΙΑ.

Πολυαγαπημένε μας Θανάση,
Με κάνεις να ντρέπομαι ^shy^, ακόμα κι αν με ειρωνέυεσαι.....

1) Στην πρώτη παρατήρηση στην εκφώνηση της άσκησης, προφανώς το y(n)
είναι η αποκβαντισμένη και όχι η κβαντισμένη τιμή όπως αναφέρει.
Ακριβώς

2)Στις περιπτώσεις που έχουμε μηδέν bits, οπότε και 2^0=1 επίπεδο κβάντισης
θα στέλνουμε τις μέσες τιμές των ομόλογων C(k1,k2) και όχι το μηδέν σωστά;
 
Ακριβώς
SOS
Οι τιμές στο αρχείο pdf για την κβάντιση σε 5 bit, συγκεκριμένα η τιμή r14
είναι -0,3314 και όχι -0,0331 σύμφωνα με το αρχείο quantizers.zip.
 Επομένως και το t13 και t14 είναι προφανώς λάθος ( απ' τον τύπο
tk=0.5(rk+r(k+1) προκύπτει ότι t13=-0,3991 και t14=-0.2648, τα άλλα είναι σωστά).
Είναι ο δαίμων του τυπογραφείου. Ευχαριστώ για την επισήμανση.



Title: Re: 2η Εργασία 2006 - 2007
Post by: Elsa on December 25, 2006, 23:55:26 pm
 Έχω για την πρώτη περίπτωση PSNR= 28.892844488648215 dB,
ενώ για την δεύτερη PSNR=28.647380994145159 dB.




Title: Re: 2η Εργασία 2006 - 2007
Post by: JAs0n-X on December 26, 2006, 21:35:41 pm

2)Στις περιπτώσεις που έχουμε μηδέν bits, οπότε και 2^0=1 επίπεδο κβάντισης
θα στέλνουμε τις μέσες τιμές των ομόλογων C(k1,k2) και όχι το μηδέν σωστά;
 

Ευχαριστώ


Τι μας γραφεις Χριστουγεννιατικα!!   ^redface^ ^angryhot^ ^banghead^ ^banghead^ ^banghead^

Γιατι μια χαρα δεν ειναι να στελνουμε το 0??? :P :P

Επισης μπορει να θυμισει καποιος ποια ειναι η προθεσμια για την 2η εργασια?


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 27, 2006, 15:28:39 pm

2)Στις περιπτώσεις που έχουμε μηδέν bits, οπότε και 2^0=1 επίπεδο κβάντισης
θα στέλνουμε τις μέσες τιμές των ομόλογων C(k1,k2) και όχι το μηδέν σωστά;
 

Ευχαριστώ


Τι μας γραφεις Χριστουγεννιατικα!!   ^redface^ ^angryhot^ ^banghead^ ^banghead^ ^banghead^

Γιατι μια χαρα δεν ειναι να στελνουμε το 0??? :P :P

Επισης μπορει να θυμισει καποιος ποια ειναι η προθεσμια για την 2η εργασια?

NAI και με τα μηδενικά δεν υπάρχει πρόβλημα. Ούτως ή άλλως είναι η θεωρητική μέση τιμή των AC συντελεστών.
Απλά με τον τρόπο αυτό, ΙΣΩΣ βγεί καλύτερο αποτέλεσμα.

Η προθεσμία την είχαμε επεκτείνει την Πέμπτη 12 Ιανουαρίου, αλλά καλύτερα να τελειώνετε νωρίτερα, γιατί η 18η Ιανουαρίου (της 3ης σειράς), δεν είναι διαπραγματεύσιμη.


Title: Re: 2η Εργασία 2006 - 2007
Post by: dim on December 27, 2006, 21:07:48 pm
xronia polla kai apo mena!

Arxika kai emeis stelname to 0, kai meta apo afta pou grapsate, diorthosame ton kwdika, kai briskoume tis idies times..

Na alla ksoume to arxeio pou anebasame sto e-thmmy, i oxi?

Αν και δεν ξέρω κατά πόσο είναι εφικτή η αλλαγή αρχείου, αν θυμάμαι καλά από πέρισυ, από τις δομές, δεν γίνεται..
Νομίζω ο Ψωμόπουλος μας το είχε πει..

PS

Σόρυ για τα greeklish, τα πολλά χριστουγενιάτικα γιαπράκια πειράζουν τον εγκέφαλο..


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 27, 2006, 21:12:27 pm
Για την εργασία δεν παίζει ρόλο!


Title: Re: 2η Εργασία 2006 - 2007
Post by: Aurelius on December 28, 2006, 13:06:35 pm
Να ρωτησω κατι και εγω;

Τις μεσες τιμες τις βρισκεις διατρεχωντας ολα τα τετραγωνακια C και για καθε ομολογο στοιιχιο υπολογιαζωντας αυτο που θελεις. ογικα, θα βγαινουν μεγαλες τυπικες αποκλισεις, μεγαλυτερες και απο τις μεσες τιμες, μιας και τα τετραγωνακια της εικονας(και αρα και τα ομολογα στοιχεια) ειναι συνολικα ασχετα μεταξυ τους. Σωστα;

Η 1 ερωτηση:

Γιατι οταν θελουμε να κβαντισουμε τα C, πρεπει να διαιρουμε με την τυπικη αποκλιση; Δηλαδη, οπως λεει σωστα στην εκφωνηση, στην παρατηρηση 2, 2 τετραγωνακι, θελουμε μηδεν μεση τιμη και τυπικη αποκλιση σ2. Για αυτο αφαιρουμε απο τους πινακες C την μεση τιμη. Αν διαρεσουμε με την τυπικη αποκλιση,η νεα μεταβλητη θα εχει κανονικοποιημενη κατανομη, δηλαδη μεση τιμη 0 και τυπικη αποκλιση 1. Αυτο θελουμε(σ=1) ή τυπικη αποκλιση, αυτη που εχουν καθε φορα τα ομολογα στοιχεια;

Επισης, πες οτι εχουμε κβαντισει τους συντελεστες. Μετα πρεπει να αποκβαντισουμε για να βγαλουμε την εικονα. Θα πω τι εκανα και πειτε μου αν ειναι λαθος(ή μαλλον που υπαρχει λαθος, γιαι η ΛΕΝΑ μου βγηκε, αλλα μοιαζει με νεκροζωντανη!!!!)

Για να κβαντισουμε ομοιομορφα, συμφωνα με τον τυπο, περναμε την τιμη του συντελεστη, προσθεταμε το 0.5*L/256(οπου L το 4*8*8*256) και μετα παιρνουμε την floor.  Ετσι προκυπτουν οι κβατνισμενοι συντελεστες. Για να τους αποκβαντισουμε, κανουμε το αντιστροφο. Αφαιρουμε απο την κβαντισμενη τιμη το 0.5*L/256. Ετσι εχουμε παλι ενα x`(n), που ειναι μετα την επεξεργασια η νεα τιμη του dc ορου.

Για να κβαντισουμε γκαουσιανα, διαιρουμε την τιμη του συνελεστη με το αντιστοιχο σ του. Το αποτελεσμα βρισκουμε σε ποιο διαστημα των t βρισκεται και μετα αφου το βρουμε στο ti, ti+1, πολλαπλασιαζουμε το ri*σ του στοιχειου και αυτη ειναι και καλα η κβαντισμενη τιμη. Για να αποκβαντισουμε, παιρνουμε την κβαντισμενη τιμη, την διαιρουμε με το σ που αντισοιχει στην θεση αυτη του κβαντισμενου C(i,j) και το αποτελεσμα που βρισκουμε, υπολογιζουμε σε ποιο ζευγος ri, ri+1 αντιστοιχει. Παιρνουμε την μεση τιμη τους(δηλαση το ti) και αυτο ειναι ισο με το x(n)/σ. Αρα πολλαπλασιαζουμε με το σ και ετσι εχουμε την θεωρητικη (μετα απο επεξεργασια) αρχικη μας τιμη.

Αφου βγαλουμε ετσι ολους τους συντελεστες του C, τους τραβαμε και εναν αντιστροφο μετασχηματισμο dct, για να παμε απο τα C στα χ της εικονας.

Ετσι γινεται η δουλεια;


Title: Re: 2η Εργασία 2006 - 2007
Post by: Aurelius on December 28, 2006, 14:21:16 pm
Και για να το εξηγησω πιο καλα, αν το σ γινει ισο με 1, πως θα γινει η κβαντιση βασει της σχεσης

y(n)= σ rk ;;;;


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 28, 2006, 14:39:06 pm
Στρατή, μου φαίνεται πως έχουμε ΞΕστρατήσει,

1ον) ΑΦΟΥ κάνω DCT, υπολογίζω τη μέση τιμή και τη τυπική απόκλιση από όλα τα C_i(m,n) για i=0....1023  Σωστά ως εδώ ?
[Υπόψιν ότι για τον υπολογισμό της τυπικής απόκλισης, απαιτείται προηγουμένως να ΑΦΑΙΡΕΘΕΙ η μέση τιμή]

2ον) Αφου αφαιρέσω τη μέση τιμή και διαιρέσω με την τυπική απόκλιση (ΤΟ σ ΟΧΙ ΤΟ σ^2), τότε, κβαντίζω την τιμή που βρήκα, ανάλογα στο t_k, t_k+1 που ανήκει στο αντίστοιχο r_k (ή r_k+1, ανάλογα με την θεώρηση)

3ον) ΑΠΟΚΒΑΝΤΙΖΩ στην τιμή y = σ * r_k + μ όπου μ η μέση τιμή

4ον) Aντιστρέφω τον μετασχηματισμό συνημιτόνου...


Title: Re: 2η Εργασία 2006 - 2007
Post by: Faidon on December 28, 2006, 15:40:39 pm
Και για να το εξηγησω πιο καλα, αν το σ γινει ισο με 1, πως θα γινει η κβαντιση βασει της σχεσης

y(n)= σ rk ;;;;

Αυτή που λες είναι η αποκβάντιση και είναι y(n)= σ rk + μ, όπως λέει και ο Μαδεμλής.

Τα σ και μ είναι τα αρχικά που υπολόγισες, όχι του κανονικοποιημένου σήματος.

Η κβάντιση έγινε όταν επέλεξες το rk.


Title: Re: 2η Εργασία 2006 - 2007
Post by: Aurelius on December 28, 2006, 20:11:58 pm
Μονο λιγακι ξεστρατησα... :D

Δεν ειπα εγω οτι η κβαντιση αρχικα. Το αντιθετο. Απλα μπερδευτηκα με το σ.

Τωρα το καταλαβα... Δεν ηξερα, ή μαλλον το ειχα ξεχασει, οτι οι συντελεστες που μας δινεις ειναι κανονικης κατανομης.
2ον) Αφου αφαιρέσω τη μέση τιμή και διαιρέσω με την τυπική απόκλιση (ΤΟ σ ΟΧΙ ΤΟ σ^2), τότε, κβαντίζω την τιμή που βρήκα, ανάλογα στο t_k, t_k+1 που ανήκει στο αντίστοιχο r_k (ή r_k+1, ανάλογα με την θεώρηση)

3ον) ΑΠΟΚΒΑΝΤΙΖΩ στην τιμή y = σ * r_k + μ όπου μ η μέση τιμη

Για την ακριβεια, μετα την κανονικοποιηση, οταν το σ ειναι ισο με 1, οι αποκβαντισμενοι συντελεστες ειναι ισοι με το αντισοιχο r_i στο οποιο ανηκει. Δηλαδη, πανω κατω το ιδιο πραγμα λεγαμε. Τελος παντων, μαλλον δεν καταλαβατε τι εγραψα στην προηγουμενη προταση, αλλα εγω καταλαβα τι γραψατε εσεις  :P :P :P.

Ασχετο παντως, αλλα αυτες οι εργασεις ειναι απο τις πιο πορωτικες!!!


Title: Re: 2η Εργασία 2006 - 2007
Post by: Aurelius on December 28, 2006, 20:21:12 pm
Τα r_i που θα ειναι και τα νουμερα της κβαντισης, κατα την κβαντοποιηση δεν στρογγυλοποιουνται, επειδη και καλα ειναι η κβαντιση των συντελεστων του C, o οποιος αποτελειται απο ακεραιους. Σωστα;


Title: Re: 2η Εργασία 2006 - 2007
Post by: snake5 on December 29, 2006, 01:05:27 am
νομίζω ότι είσαι σωστός Aurelius γιατί κ μένα που βγαίνουν δεκαδικοί οι κβαντισμένοι συντελεστές,όχι ακέραιοι..

Δε μου λέτε,PSNR της πρώτης -23.509 και της δεύτερης -23.450 είναι καλά,να τ αφήσω ή να βάλω κάνα άλλο????Α,αν μπορείτε πείτε και λίγο πως σας βγαίνουν οι εικόνες ποιοτικά.Εμένα μου βγαίνουν και οι δύο με 'στίγματα',σα να χει περάσει από πάνω μία υφή και έχει γίνει ψιλοανάγλυφη η εικόνα(και στις δύο περιπτώσεις).

Γεια χαρά


Title: Re: 2η Εργασία 2006 - 2007
Post by: Aurelius on December 29, 2006, 01:20:54 am
Αρνητικα βγαινουν τα PSNR;

Οι συντελεστες προφανως θα ειναι δεκαδικοι, απο την στιγμη που ειναι οι τιμες r_i. Αν τις κβαντιζαμε, τοτε ολα τα νουμερα θα εβγαιναν το ιδιο, κατι που ειναι λαθος σαφεστατα. Εμενα μου βγηκε το PSNR γυρω στο 38. H φωτογραφια βγηκε καπως παραξενη, φαινεται η ΛΕΝΑ κανονικα, αλλα σαν να φαινονται τα τετραγωνακια 8χ8 το ενα ξεχωριστα με το αλλο, οπως κανουν στα δελτια ειδησεων για να αποκρυψουν προσωπα. Δεν νομιζω να ειναι αυτο το σωστο, αλλα εχει πλακα και ετσι :P.

Μπορειτε αν γινεται να επιβεβαιωσετε για τις μεσες τιμες και τις τυπικες αποκλισεις; Οι τυπικες αποκλισεις δεν βγαινουν που μεγαλες σε μερικα, σε σχεση με την μεση τιμη;

Παντως για την ομοιομορφη κβαντιση, απλα προσθετουμε το 0.5*L/256. Σωστα;

Παντως τα σωστα νουμερα ποια ειναι; Απ οτι καταλαβα γυρω στο 28;


Title: Re: 2η Εργασία 2006 - 2007
Post by: Faidon on December 29, 2006, 15:18:38 pm
νομίζω ότι είσαι σωστός Aurelius γιατί κ μένα που βγαίνουν δεκαδικοί οι κβαντισμένοι συντελεστές,όχι ακέραιοι..

Δε μου λέτε,PSNR της πρώτης -23.509 και της δεύτερης -23.450 είναι καλά,να τ αφήσω ή να βάλω κάνα άλλο????Α,αν μπορείτε πείτε και λίγο πως σας βγαίνουν οι εικόνες ποιοτικά.Εμένα μου βγαίνουν και οι δύο με 'στίγματα',σα να χει περάσει από πάνω μία υφή και έχει γίνει ψιλοανάγλυφη η εικόνα(και στις δύο περιπτώσεις).

Γεια χαρά

Έχεις πρόβλημα... Η εικόνα δεν αλλάζει πολύ. Αν την παρατηρήσεις ξεχωρίζεις κουτάκια, αλλά σε γενικές γραμμές καλή είναι οπτικά!
Και τα αρνητικά PSNR!!! Τρέλα!  :D

H φωτογραφια βγηκε καπως παραξενη, φαινεται η ΛΕΝΑ κανονικα, αλλα σαν να φαινονται τα τετραγωνακια 8χ8 το ενα ξεχωριστα με το αλλο, οπως κανουν στα δελτια ειδησεων για να αποκρυψουν προσωπα. Δεν νομιζω να ειναι αυτο το σωστο, αλλα εχει πλακα και ετσι :P.

Όταν φαίνονται έντονα τα κουτάκια, νομίζω έχεις πρόβλημα με τους ac συντελεστές.
Ο τύπος για την κβάντιση των dc συντελεστών υπάρχει στην εκφώνηση. Τώρα δεν την έχω, αλλά σωστός ήταν.


Title: Re: 2η Εργασία 2006 - 2007
Post by: mademlis on December 29, 2006, 22:06:55 pm
νομίζω ότι είσαι σωστός Aurelius γιατί κ μένα που βγαίνουν δεκαδικοί οι κβαντισμένοι συντελεστές,όχι ακέραιοι..

Δε μου λέτε,PSNR της πρώτης -23.509 και της δεύτερης -23.450 είναι καλά,να τ αφήσω ή να βάλω κάνα άλλο????Α,αν μπορείτε πείτε και λίγο πως σας βγαίνουν οι εικόνες ποιοτικά.Εμένα μου βγαίνουν και οι δύο με 'στίγματα',σα να χει περάσει από πάνω μία υφή και έχει γίνει ψιλοανάγλυφη η εικόνα(και στις δύο περιπτώσεις).

Γεια χαρά

Αν μου στείλεις εργασία με εικόνα που να καταλαβαίνεις ότι είναι η Lenna και το PSNR είναι αρνητικό,
τότε, ΕΧΕΙΣ ΚΑΝΕΙ ΜΕΓΑΛΗ .......!

Πιο συγκεκριμένα. PSNR = 20log( |PS|/|N|)
Όπου PS το σήμα και Ν το σφάλμα [θόρυβος]
Έστω
PSNR < 0
log(PS/N) < 0
(PS/N)  <1
PS < N

Δηλαδή ο θόρυβος ΕΧΕΙ μεγαλύτερη ένταση από το ΣΗΜΑ.

ΑΝ η εικόνα ΒΛΕΠΕΤΑΙ, τότε έχεις κάνει λάθος στον υπολογισμό του PSNR!


Title: Re: 2η Εργασία 2006 - 2007
Post by: Mxiro on December 30, 2006, 00:46:18 am
Θανάση, σε τι στιλ θα είναι το report που θα γράψουμε για την εργασία αυτή; (sorry έχασα τα τελευταία μαθήματα, δεν ξέρω αν υπόθηκε κάτι σε αυτά)

I mean, εκτός από το σχολιασμό του κώδικα, και λίγα λογάκια για το PSNR, υπάρχει κάτι άλλο να γράψουμε; Στην πρώτη σειρά ασκήσεων είχαμε να σχολιάσουμε τα αποτελέσματα θεωρητικά κτλ, εδώ -αν δεν κάνω λάθος- δεν υπάρχει κάτι αντίστοιχο, έτσι;

Επισυνάπτω και τις φωτογραφίες, αν κάποιος ενδιαφέρεται.
Η αριστερή είναι η original, η μεσαία η πρώτη lossy με PSNR 27.1671 και η δεξιά η δεύτερη lossy με PSNR 27.1089.

Πόσο βαριέμαι να γράψω report...μετά από τόσες ώρες debugging... :S

Edit:
Είχα κάνει ένα μικρολαθάκι στην κβάντιση, οι τελικές τιμές των PSNR είναι 28.93286569643102 και 28.70007115833750 αντίστοιχα.


Title: Re: 2η Εργασία 2006 - 2007
Post by: Roukounas on December 30, 2006, 23:28:05 pm
Γεια...
Υπάρχει περίπτωση να είναι σωστό το ότι εμείς βγάζουμε ίδιο ακριβώς PSNR(24.0994) και στις δύο περιπτώσεις;
Οι εικόνες ωστόσο είναι διαφορετικές με την πρώτη ελαφρώς καλύτερη.
Ε;
Και χρόνια πολλά...


Title: Re: 2η Εργασία 2006 - 2007
Post by: chggr005 on December 31, 2006, 02:35:31 am
Γεια...
Υπάρχει περίπτωση να είναι σωστό το ότι εμείς βγάζουμε ίδιο ακριβώς PSNR(24.0994) και στις δύο περιπτώσεις;
Οι εικόνες ωστόσο είναι διαφορετικές με την πρώτη ελαφρώς καλύτερη.
Ε;
Και χρόνια πολλά...
Χρόνια πολλά!

Εφόσον όπως λες η δεύτερη εικόνα φαίνεται καλύτερα από την πρώτη, θα πρέπει να δίνει διαφορετικό PSNR. Νομίζω ότι έχετε κάνει κάπου λάθος στον κώδικα...


Title: Re: 2η Εργασία 2006 - 2007
Post by: Aurelius on December 31, 2006, 02:53:42 am
Ειναι οσο να ναι λιγο παραξενο, με διαφορετικα ποσοστο κβαντισης ουσιαστικα να βγαινει το ιδιο αποτελεσμα.


Title: Re: 2η Εργασία 2006 - 2007
Post by: Aurelius on December 31, 2006, 04:01:32 am
Τελικα καταφερα και βρηκα τι εφταιγε και μου εβγαιναν τετραγωνακια. Πληροφοριακα, για να το ξερουε και σαν τεχνικη:
Αν κραταμε μονο το dc ορο και αυτο αποκωδικοποιυμε, τοτε βγαινουν τα τετραγωνακια που αποκρυπτουν καποιο σημειο της εικονας. Εγω ειχα ξεχασει οτι ειχα ορισει τους συντελεστες σαν int και επειδη τα σ ηταν πιο μεγαλα, οταν τα διαιρουσα μηδενιζοταν ολα εκτος απο τον dc ορο, ο οποιος δεν χρειαζοταν να διαιρεθει...

Τωρα μια ερωτηση. Στην ουσια οταν κωδικοποιουμε, στελνουμε το r_i το οποιο αντιστοιχει. Αρα στο block που στελνουμε το r_i.  Αρα στην αποκωδικοποιηση, δεν μπορουμε πολυ απλα για καθε στοιχειο, να πολλαπλασιαζουμε την κβαντισμενη τιμη που το αντιστοιχει με το σ και να προσθετουμε την μεση τιμη, αντι να διαιρουμε την τιμη με το σ, να βρισκουμε σε ποιο διαστημα t_i, t_i+1 βρισκεται, για να παρουμε μετα παλι το r_i και να το πολλαπλασιασουμε επι το σ;


Title: Re: 2η Εργασία 2006 - 2007
Post by: Faidon on December 31, 2006, 19:55:19 pm
Τωρα μια ερωτηση. Στην ουσια οταν κωδικοποιουμε, στελνουμε το r_i το οποιο αντιστοιχει. Αρα στο block που στελνουμε το r_i.  Αρα στην αποκωδικοποιηση, δεν μπορουμε πολυ απλα για καθε στοιχειο, να πολλαπλασιαζουμε την κβαντισμενη τιμη που το αντιστοιχει με το σ και να προσθετουμε την μεση τιμη, αντι να διαιρουμε την τιμη με το σ, να βρισκουμε σε ποιο διαστημα t_i, t_i+1 βρισκεται, για να παρουμε μετα παλι το r_i και να το πολλαπλασιασουμε επι το σ;

Μα αυτό κάνουμε...

Στην αποκωδικοποίηση πολλαπλασιάζουμε την κβαντισμένη τιμή ( ri ) με το σ και προσθέτουμε την μέση τιμή.


Title: Re: 2η Εργασία 2006 - 2007
Post by: Aurelius on January 02, 2007, 01:30:11 am
Ναι το ξερω οτι αυτο κανουμε. Απλα, οπως το γραφει, αυτο που καταλαβαινω ειναι οτι πρωτα πρεπει να βρουμε τον λογο χ/σ, να βρουμε σε ποιο διαστημα των t ανηκει και μετα να βρουμε το αντιστοιχο r και να το πολλαπλασιασουμε με το σ. Ενω κατ ευθειαν εχουμε το r, αφου στην ουσια αυτο στελνουμε.


Title: Re: 2η Εργασία 2006 - 2007
Post by: Faidon on January 02, 2007, 13:41:13 pm
Διαιρείς με το σ και βρίσκεις το r, οπότε έχεις τελειώσει την κωδικοποίηση. Το αποθηκεύεις και το στέλνεις (μαζί με τη μέση τιμή και την τυπική απόκλιση).

Μετά κάνεις την αποκωδικοποίηση (πολλαπλασιάζοντας με το σ) για να συγκρίνεις την εικόνα που δέχεται ο δέκτης σε σχέση με αυτήν που είχες πριν την κωδικοποίηση.


Title: Re: 2η Εργασία 2006 - 2007
Post by: Aurelius on January 02, 2007, 14:36:51 pm
Αυτο λεω και εγω...


Title: Re: 2η Εργασία 2006 - 2007
Post by: Faidon on January 02, 2007, 15:56:13 pm
Που είναι το πρόβλημα τότε;

Τη διαίρεση την κάνεις για την κωδικοποίηση (κανονικοποίηση + κβάντιση).

Τον πολλαπλασιασμό τον κάνεις για την αποκωδικοποίηση (αποκανονικοποίηση + αποκβάντιση).

Εννοείς ότι δεν το διασαφηνίζει (που τη βρήκα; :D ) στην εκφώνηση της εργασίας;


Title: Re: 2η Εργασία 2006 - 2007
Post by: Aurelius on January 02, 2007, 18:12:18 pm
Εννοω οτι στην εκφωνηση της εργασιας λεει οτι πρεπει να τα κανεις(με τις σχεσεις που παραθετει) και τα δυο για την αποκωδικοποιηση... Τελοʽπαντων< δεν εχει νοημα πλεον


Title: Re: 2η Εργασία 2006 - 2007
Post by: Faidon on January 02, 2007, 18:29:29 pm
Εμ και εσύ!..
Την ασάφεια στην εκφώνηση πρέπει πάντα να την περιμένεις! Καραδοκεί!!

Εγώ νόμιζα ότι η απορία σου ήταν πιο ουσιαστική! Με απογοήτευσες, Aurelius...

:P


Title: Re: 2η Εργασία 2006 - 2007
Post by: Aurelius on January 02, 2007, 19:37:02 pm
Κοιτα στην αρχη(οταν πρωτοδιαβασα την εκφωνηση) απλα μπερδευτηκα. Για να μην κανω αρλουμπες(εστω και στην πιο μικρη πιθανοτητα), το ρωτησα ωστε να σιγουρευτω.