THMMY.gr

Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών => Συστήματα Πολυμέσων => Topic started by: Argirios on December 27, 2018, 02:22:22 am



Title: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on December 27, 2018, 02:22:22 am
Τόπικ για την εργασία του μαθήματος.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on December 29, 2018, 19:42:51 pm
Στο level 1 πόση ώρα παίρνει εσάς για να το κωδικοποιήσει και να το αποκωδικοποιήσει? Εμένα θέλει μερικά λεπτά για 100 frames.  :o


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: transparent_Man on December 29, 2018, 20:48:27 pm
Στο level 1 πόση ώρα παίρνει εσάς για να το κωδικοποιήσει και να το αποκωδικοποιήσει? Εμένα θέλει μερικά λεπτά για 100 frames.  :o

Nομίζω πως είναι λογικό. Εξαρτάται βέβαια και από την ram σου.

Να κάνω μία ερώτηση και εγώ. Τον τύπο του 1ου frame για την μονάδα ssc τον ορίζουμε εμείς τυχαία;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on December 29, 2018, 20:55:40 pm
Έτσι είχε πει ναι, να το βάλουμε long ή short. Το μόνο που αλλάζει σε εμένα είναι το 2ο frame, τα άλλα είναι πάντα ίδια άσχετα με το πρώτο.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: arisss on December 30, 2018, 02:21:57 am
Έτσι είχε πει ναι, να το βάλουμε long ή short. Το μόνο που αλλάζει σε εμένα είναι το 2ο frame, τα άλλα είναι πάντα ίδια άσχετα με το πρώτο.

Και μενα επισης μονο το 2ο αλλαζει και τα αλλα ολα OLS. Παιζει να γραφει κατι λαθος στην εκφωνηση κλασσικα?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on December 30, 2018, 02:30:57 am
Και μενα επισης μονο το 2ο αλλαζει και τα αλλα ολα OLS. Παιζει να γραφει κατι λαθος στην εκφωνηση κλασσικα?
Και εμένα σχεδόν όλα OLS είναι αλλά έχει και 5-6 ESH(+τα LPS LSS) στα 100 frames. Το έκανα χωριστά για το κάθε κανάλι και μετά με τον πίνακα 1 της εκφώνησης για να βρω το κοινό αλλά δε ξέρω αν το θέλει έτσι.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on December 30, 2018, 19:21:22 pm
Έχετε καταλάβει πως κάνουμε το decoding σωστά? Πώς συνδυάζουμε τα επικαλυπτόμενα frames?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: arisss on December 31, 2018, 21:03:17 pm
το current frame i για το  ssc γιατι το χρειαζεσαι? μονο prevFrameType και το i+1 δεν θες για να αποφασισεις για το frame i?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on December 31, 2018, 21:09:33 pm
ούτε εγώ το χρησιμοποίησα κάπου απ'ότι θυμάμαι
sent from mTHMMY (https://play.google.com/store/apps/details?id=gr.thmmy.mthmmy) 


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: arisss on December 31, 2018, 21:28:05 pm
Τελεια αρα ουτε αυτο φταιε που τα παιρνω ολα OLS :P


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 02, 2019, 18:19:55 pm
Τελεια αρα ουτε αυτο φταιε που τα παιρνω ολα OLS :P

και εγώ έχω αυτό το θέμα.λογικά φταίει ένα από τα δυο:

1)Το φιλτράρισμα πρέπει να γίνει στο πεδίο του χρόνου.Μας δίνει τη συνάρτηση μεταφοράς σε μετασχηματισμό z και πρέπει να την μετατρέψουμε σε διαφορική για να αποκτήσουν νόημα οι τιμές των samples του αρχείου ήχου. Από ό,τι είδα, τα αθροίσματα sl και dsl είναι πάντα πολύ μικρότερα από τα όρια που δίνει αν κάνεις απλά filter(αριθμητής,παρονομαστής,είσοδος). Περισσότερα εδώ :https://www.mathworks.com/help/signal/ug/filter-implementation-and-analysis.html (https://www.mathworks.com/help/signal/ug/filter-implementation-and-analysis.html)

2)Δεν κάνουμε σωστά την κατηγοριοποίηση (το πιο πιθανό). Αν ακολουθήσεις βήμα βήμα τις οδηγίες από το pdf δεν υπάρχει περίπτωση να σου τύχει το αριστερό κανάλι OLS και το δεξί κανάλι Long Stop όπως σου λέει στον πίνακα. Επίσης δεν μπορεί να τύχει αριστερό κανάλι ESS και δεξί κανάλι OLS κλπ. Άρα μάλλον κάτι μας λείπει από τα δεδομένα που μας δίνει ή εγώ δεν καταλαβαίνω κάτι σωστά.

Όποιος έχει περάσει αυτό το σημείο ας δώσει τα φώτα του.

Update : Κατάφερα να αλλάζει η κατηγοριοποίηση σε μερικά frames (περίπου 10 για το wav που μας δίνει). Παρ'όλα αυτά,ακόμα έχω το πρόβλημα για το πως υλοποιούνται μερικές περιπτώσεις του πίνακα.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: malamasn on January 03, 2019, 14:28:08 pm
Ξερει κανεις πως αποφασίζουμε ποιο winType (KBD ή SIN) θα έχει κάθε frame; Στην εκφωνηση γραφει οτι χρησιμοποιούμε σε όλη την κωδικοποίηση μόνο ένα απ' τα δύο, αλλά δεν λέει με ποιον τρόπο επιλέγουμε ποιο. Μπορεί κάποιος να βοηθήσει;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: sioulaik on January 03, 2019, 17:55:08 pm
Γενικα ρε παιδια να ρωτησω κατι. Απο που διαβαζουμε ουσιαστικα για να κανουμε την εργασια? Απο τις σημειωσεις που εχει ανεβασμενες η απο κανα βιβλιο?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 03, 2019, 18:16:29 pm
Ξερει κανεις πως αποφασίζουμε ποιο winType (KBD ή SIN) θα έχει κάθε frame; Στην εκφωνηση γραφει οτι χρησιμοποιούμε σε όλη την κωδικοποίηση μόνο ένα απ' τα δύο, αλλά δεν λέει με ποιον τρόπο επιλέγουμε ποιο. Μπορεί κάποιος να βοηθήσει;

λογικά διαλέγεις εσύ το winType,αφού δεν ασχολούμαστε με μη συμμετρικά παράθυρα

Γενικα ρε παιδια να ρωτησω κατι. Απο που διαβαζουμε ουσιαστικα για να κανουμε την εργασια? Απο τις σημειωσεις που εχει ανεβασμενες η απο κανα βιβλιο?


άνοιξε το pdf της εκφώνησης και διάβασε


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: fibonacci on January 03, 2019, 19:34:04 pm
εν τέλει βρέθηκε καμιά πρόταση όσον αφορά την εκτίμηση του τύπου του παραθύρου του επόμενου frame ; μας δίνει συνθήκες μόνο για τον χαρακτηρισμό του επόμενου frame ως EIGHT_SHORT_SEQUENCE όμως δεν βγαίνει κάποιοιος τρόπος για την κάλυψη όλων των περιπτώσεων που μπορεί να τύχουν για τον απο κοινού χαρακτηριμό και των 2 καναλιών . συγκεκριμένα δεν μπορούμε να αναγνωρίοσυμε την περίπτωση που τα 2 κανάλια είναι LSS και LPS . Σε όλες τις υπόλοιπες περιπτώσεις μπορούμε να βγάλουμε το συυμπέρασμα ότι αν το το ένα κανάλι είναι ΕΗS τότε και το κοινό θα είναι EHS , αλλιώς δεν είναι EHS.



Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 04, 2019, 15:36:49 pm
1)Το φιλτράρισμα πρέπει να γίνει στο πεδίο του χρόνου.Μας δίνει τη συνάρτηση μεταφοράς σε μετασχηματισμό z και πρέπει να την μετατρέψουμε σε διαφορική για να αποκτήσουν νόημα οι τιμές των samples του αρχείου ήχου. Από ό,τι είδα, τα αθροίσματα sl και dsl είναι πάντα πολύ μικρότερα από τα όρια που δίνει αν κάνεις απλά filter(αριθμητής,παρονομαστής,είσοδος). Περισσότερα εδώ :https://www.mathworks.com/help/signal/ug/filter-implementation-and-analysis.html (https://www.mathworks.com/help/signal/ug/filter-implementation-and-analysis.html)
Δοκίμασα αυτό που λες αλλά βγαίνει το ίδιο ακριβώς αυτό που θα βάλεις στο φίλτρο, τα coefficients που βάζεις στο φίλτρο είναι τα ίδια όταν το μετατρέπεις σε διαφορική. Εκτός αν κάνω εγώ κάτι λαθος.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 04, 2019, 16:03:23 pm
Δοκίμασα αυτό που λες αλλά βγαίνει το ίδιο ακριβώς αυτό που θα βάλεις στο φίλτρο, τα coefficients που βάζεις στο φίλτρο είναι τα ίδια όταν το μετατρέπεις σε διαφορική. Εκτός αν κάνω εγώ κάτι λαθος.
Μάλλον το ίδιο είναι τελικά στην περίπτωση αυτή.                                                                               


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: reservoir dog on January 04, 2019, 19:11:23 pm
Mια απλη ερωτηση. Η διαιρεση σε frames του αρχικου σηματος και η εφαρμογη του MDCT αν καταλαβα καλά γινεται πριν απο το segmentation contorl.  Αυτο σημαινει οτι θα υλοποιηθει πριν δηλωσουμε τη συναρτηση frameType() ? Σορυ για το ενδεχομενο χαζης ερωτησης αλλα ειναι λιγο χαωτικη η εργασια.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 05, 2019, 02:54:07 am
Mια απλη ερωτηση. Η διαιρεση σε frames του αρχικου σηματος και η εφαρμογη του MDCT αν καταλαβα καλά γινεται πριν απο το segmentation contorl.  Αυτο σημαινει οτι θα υλοποιηθει πριν δηλωσουμε τη συναρτηση frameType() ? Σορυ για το ενδεχομενο χαζης ερωτησης αλλα ειναι λιγο χαωτικη η εργασια.

Όχι,εγώ κατάλαβα ότι διαιρείς σε frames και καλεις τη συνάρτηση SSC, γιατί μετά θέλεις τα frameTypes για τη συνάρτηση filterbank. Οπότε δηλώνεις ότι σου ζητάει στο λέβελ 1 με τη σειρά που τα δίνει στο pdf της εκφώνησης.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 05, 2019, 03:00:54 am
Τα frames που χρησιμοποιούμε σε όλη τη διάρκεια της κωδικοποίησης είναι επικαλυπτόμενα σωστά? Δηλαδή πρώτα τα χωρίζουμε σε επικαλυπτόμενα και μετά ξεκινάει η κωδικοποίηση, πχ το πρώτο frame και το δεύτερο που θα μπουν στο SSC θα εχουν 1024 κοινά σημεία και ούτω καθεξής, έτσι δεν είναι?

Όχι,εγώ κατάλαβα ότι διαιρείς σε frames και καλεις τη συνάρτηση SSC, γιατί μετά θέλεις τα frameTypes για τη συνάρτηση filterbank. Οπότε δηλώνεις ότι σου ζητάει στο λέβελ 1 με τη σειρά που τα δίνει στο pdf της εκφώνησης.
Και εγώ αυτό κατάλαβα.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 05, 2019, 03:24:22 am
Τα frames που χρησιμοποιούμε σε όλη τη διάρκεια της κωδικοποίησης είναι επικαλυπτόμενα σωστά? Δηλαδή πρώτα τα χωρίζουμε σε επικαλυπτόμενα και μετά ξεκινάει η κωδικοποίηση, πχ το πρώτο frame και το δεύτερο που θα μπουν στο SSC θα εχουν 1024 κοινά σημεία και ούτω καθεξής, έτσι δεν είναι?

Ναι,σε όλη την πρώτη άσκηση είναι επικαλυπτόμενα τα frames.

Και εγώ αυτό κατάλαβα.

Τώρα που είδα και τα επόμενα βήματα,με προβληματίζει λίγο η συνάρτηση demoAAC1 που δίνει το SNR και έχει σαν όρισμα μόνο τα ονόματα των αρχείων ήχου (κωδικοποιημένο+αποκωδικοποιημένο wav). Μήπως δηλαδή μέσα σε αυτή τη συνάρτηση πρέπει να υλοποιείται όλο το πρώτο λέβελ?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 05, 2019, 03:29:34 am
Τώρα που είδα και τα επόμενα βήματα,με προβληματίζει λίγο η συνάρτηση demoAAC1 που δίνει το SNR και έχει σαν όρισμα μόνο τα ονόματα των αρχείων ήχου (κωδικοποιημένο+αποκωδικοποιημένο wav). Μήπως δηλαδή μέσα σε αυτή τη συνάρτηση πρέπει να υλοποιείται όλο το πρώτο λέβελ?
Δε το έχω καταφέρει ακόμα αυτό αλλά αυτό που κατάλαβα ότι θέλει είναι να έχουμε το αρχικό wav και αυτό που παράχθηκε μετά την κωδικοποίηση+αποκωδικοποίηση και με κάποιο τρόπο να βρούμε το θόρυβο στο δεύτερο για να υπολογίσουμε το SNR.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: reservoir dog on January 05, 2019, 15:13:14 pm
Όχι,εγώ κατάλαβα ότι διαιρείς σε frames και καλεις τη συνάρτηση SSC, γιατί μετά θέλεις τα frameTypes για τη συνάρτηση filterbank. Οπότε δηλώνεις ότι σου ζητάει στο λέβελ 1 με τη σειρά που τα δίνει στο pdf της εκφώνησης.

Ναι σορυ το διαβασα λαθος. Εννοω πρωτα διαιρουμε σε frames και μετα καλουμε την SSC


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 05, 2019, 15:35:38 pm
Δε το έχω καταφέρει ακόμα αυτό αλλά αυτό που κατάλαβα ότι θέλει είναι να έχουμε το αρχικό wav και αυτό που παράχθηκε μετά την κωδικοποίηση+αποκωδικοποίηση και με κάποιο τρόπο να βρούμε το θόρυβο στο δεύτερο για να υπολογίσουμε το SNR.

Από ethmmy:
   
Quote
Δείγμα ήχου για πειραματισμό


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

Level 1
=======
Coding: time ellapsed is 0.46249 seconds
Decoding: time ellapsed is 0.45712 seconds
Channel 1 SNR: 307.0132 dB
Channel 2 SNR: 307.0708 dB

Πέρα από το γεγονός ότι η κωδικοποίηση λόγω της συνάρτησης kaiser δεν παίζει να διαρκεί κάτω από δευτερόλεπτο (σε εμένα η filterbank θέλει 45 λεπτά να τελειώσει  :D ), στο τέλος ο θόρυβος που θέλουμε να υπολογίσουμε μήπως είναι η διαφορά κωδικοποιημένο wav - αποκωδικοποιημένο wav?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: laplacianee on January 05, 2019, 17:31:59 pm
To SNR με ποιον τύπο το υπολογίζουμε?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 05, 2019, 17:56:50 pm
To SNR με ποιον τύπο το υπολογίζουμε?

με τη συνάρτηση snr(x,y) της ματλαμπ,όπου y ο θόρυβος


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: laplacianee on January 05, 2019, 18:50:32 pm
με τη συνάρτηση snr(x,y) της ματλαμπ,όπου y ο θόρυβος

αν στο x έχω το σήμα όπως βγαίνει από το iAACoder1, ως θόρυβο τι χρησιμοποιώ?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: vag178 on January 05, 2019, 20:10:06 pm
Στο iFilterbank παίρνουμε IMDCT για το frameF και μετά πολλαπλασιάζουμε με το παράθυρο (ίδιο με αυτό από το filterbank);
Το frameT χρειάζεται στο SSC τελικά;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: laplacianee on January 05, 2019, 20:39:54 pm
Το frameT χρειάζεται στο SSC τελικά;

όχι


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 05, 2019, 20:45:19 pm
Στο iFilterbank παίρνουμε IMDCT για το frameF και μετά πολλαπλασιάζουμε με το παράθυρο (ίδιο με αυτό από το filterbank);
ναι
αν στο x έχω το σήμα όπως βγαίνει από το iAACoder1, ως θόρυβο τι χρησιμοποιώ?

εγώ κατάλαβα ότι είναι η διαφορά κωδικοποιημένο wav - αποκωδικοποιημένο wav ή το ανάποδο,αφού η συμπίεση του αρχείου ήχου σου εισάγει θόρυβο κατά κάποιο τρόπο.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: vag178 on January 05, 2019, 21:15:19 pm
ναι


Δηλαδή ακόμα και EIGHT_SHORT_SEQUENCE να είναι παίρνουμε IMDCT για όλο το frameF;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 05, 2019, 21:33:04 pm
Δηλαδή ακόμα και EIGHT_SHORT_SEQUENCE να είναι παίρνουμε IMDCT για όλο το frameF;

ε ναι,για να καταλήξεις σε frame 2048x2.Δεν ξέρω όμως αν πρέπει πρώτα να κάνεις και reverse buffer τα 8 subframes που δημιουργήθηκαν στην περίπτωση που έχεις eight short.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 06, 2019, 00:40:38 am
σε εμένα η filterbank θέλει 45 λεπτά να τελειώσει  :D
όντως???  :o
εμένα θέλει 5 λεπτά για όλο το αρχείο, και το pc μου είναι 10 χρόνων

Δηλαδή ακόμα και EIGHT_SHORT_SEQUENCE να είναι παίρνουμε IMDCT για όλο το frameF;
εγώ έκανα imdct για κάθε subframe και μετά τα ένωσα, αφού αυτό που δέχεται είναι 8 υποπίνακες όχι ολόκληρο το frame

Δευτέρα θα γίνει μάθημα ξέρει κανείς? Να τον ρωτήσουμε.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 06, 2019, 01:09:40 am
όντως???  :o
εμένα θέλει 5 λεπτά για όλο το αρχείο, και το pc μου είναι 10 χρόνων

δεν είναι θέμα pc,απλά αν του δώσω αρχικά winType 'KBD' κάνει άπειρη ώρα να υπολογίσει τα αθροίσματα της kaiser() μέσα στις for.

εκτός και αν έχω κάνει κάποιο ακραίο λάθος σε αυτό το σημείο


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 06, 2019, 01:16:24 am
Χρησιμοποιείς την sum() για τα αθροίσματα ή τα κάνεις όλα με for?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 06, 2019, 01:20:54 am
Χρησιμοποιείς την sum() για τα αθροίσματα ή τα κάνεις όλα με for?

π.χ. ένα κομμάτι του κώδικα είναι αυτό:

Quote
for k=0:1024
    denom = sum(kaiser(k,4));
end
for i=1:1024
            for n=0:i
                numb = sum(kaiser(n,4));
            end
           
            for n=0:(1024-i)
                numb2 = sum(kaiser(n,4));
            end
         
            Wkbdleft(i) = sqrt(numb / denom); 
            Wkbdright(i) = sqrt(numb2 / denom);
           
        end


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 06, 2019, 01:25:10 am
Quote
for n=0:i
                numb = sum(kaiser(n,4));
end
εδώ πχ κάνεις άπειρες φορές ακριβώς το ίδιο πράγμα και δε τα αποθηκεύεις πουθενά, το τελευταίο loop χρειάζεσαι μόνο για n=i
αυτό εδώ για παράδειγμα sum(kaiser(1024,4)) φτιάχνει ένα παράθειρο kaiser 1024 σημείων και τα προσθέτει


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 06, 2019, 01:37:12 am
εδώ πχ κάνεις άπειρες φορές ακριβώς το ίδιο πράγμα και δε τα αποθηκεύεις πουθενά, το τελευταίο loop χρειάζεσαι μόνο για n=i
αυτό εδώ για παράδειγμα sum(kaiser(1024,4)) φτιάχνει ένα παράθειρο kaiser 1024 σημείων και τα προσθέτει

έτσι δεν το ορίζει όμως στην εκφώνηση;

(https://wikimedia.org/api/rest_v1/media/math/render/svg/7a02d54901b9077e11bfd1d893ad57a2f14bf503)

όπου Μ=Ν/2=1024.

η kaiser από μόνη της δεν δίνει παράθυρο.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 06, 2019, 01:43:16 am
Η kaiser() της matlab δίνει ολόκληρο το παράθυρο όχι ένα σημείο. Αυτό που βάζεις σαν ορίσματα είναι πόσα σημεία θες και το a.
Αλλά ακόμα και να έδινε ένα σημείο, αυτό εδώ
Quote
for n=0:i
                numb = sum(kaiser(n,4));
end
σε κάθε loop αποθηκεύει κάτι καινούργιο στο numb, δηλαδή το μόνο που μένει στην τελική είναι για n=i.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 06, 2019, 01:55:01 am
Η kaiser() της matlab δίνει ολόκληρο το παράθυρο όχι ένα σημείο. Αυτό που βάζεις σαν ορίσματα είναι πόσα σημεία θες και το a.
Αλλά ακόμα και να έδινε ένα σημείο, αυτό εδώσε κάθε loop αποθηκεύει κάτι καινούργιο στο numb, δηλαδή το μόνο που μένει στην τελική είναι για n=i.

ωραίος,ευχαριστώ για τη διευκρίνηση.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: allstarabey on January 06, 2019, 03:14:47 am
 1) τα frames πόσα σας βγήκαν σε αριθμο?(για επιβεβαίωση)

 2)τελικα για την ssc χρησιμοποίησατε κάπου το current_frame?

 3)στη ssc στο βήμα 2 πρέπει να κανω πάλι split το frame όπως στο σχήμα και να βρω αυτά που ζητάει ουσιαστικά?



Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 06, 2019, 03:25:21 am
1) τα frames πόσα σας βγήκαν σε αριθμο?(για επιβεβαίωση)
 2)τελικα για την ssc χρησιμοποίησατε κάπου το current_frame?
 3)στη ssc στο βήμα 2 πρέπει να κανω πάλι split το frame όπως στο σχήμα και να βρω αυτά που ζητάει ουσιαστικά?
1) 271
2) όχι
3) εγώ έτσι το έκανα


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: allstarabey on January 06, 2019, 04:11:46 am
1) 271
2) όχι
3) εγώ έτσι το έκανα

Code:
k=0; %pointer for allframes matrix    
   for  i=1:step:samples
      for  j=i:1:(i+2048)
        for m =1:1:2048   
           if  j < size(music_file,1)  %&check for the boundaries
               current_frame(m,:)= music_file(j,:);
           end   
        end           
      end
      allframes(k,:,:)= current_frame;
      k=k+1;
      %increase the number of frames
   end

μου βγηκαν έτσι 277 step = 1024


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 06, 2019, 04:28:41 am
Ναί βασικά κάπου εκεί βγαίνουν, εγώ το σταμάτησα στα 280.000 samples.

εδιτ: Τώρα μου βγαίνουν 275 άμα τα βάλω όλα.

------
Η πρώτη προσπάθεια σκέτος θόρυβος  :D


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: vag178 on January 06, 2019, 18:52:55 pm
Στο τελευταίο frame άμα περισσεύουν δείγματα συμπληρώνουμε με κάτι ή τα αφήνουμε ή κάτι άλλο;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 06, 2019, 19:11:05 pm
Νομίζω είχε πει το αφήνουμε όλο το frame απέξω άμα δεν είναι γεμάτο.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 06, 2019, 19:13:57 pm
Για όποιον ενδιαφέρεται, υπάρχει και έτοιμη συνάρτηση στο ματλαμπ για τη δημιουργία των frames και έχει και την επιλογή για overlap.

https://www.mathworks.com/help/signal/ref/buffer.html (https://www.mathworks.com/help/signal/ref/buffer.html)


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: vag178 on January 06, 2019, 19:21:26 pm
Στο τελευταίο frame παίρνουμε τυχαίο είδος αφού δεν έχουμε το επόμενο frame για το SSC;

Στην AACoder1 πως βρίσκουμε το winType;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 06, 2019, 19:30:36 pm
Άν το προτελευταίο είναι LPS ή LSS το επόμενο θα είναι OLS ή ESH αντίστοιχα. Αλλιώς στην τύχη μάλλον απλά να ταιριάζει με το προηγούμενο. Εγώ το έβαλα ίδιο με το προτρλευταίο στην δεύτερη περίπτωση.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 06, 2019, 19:52:10 pm
Κατάλαβε κανείς τι εννοεί στην iAACoder1 για το x?

Quote
x : Όταν υπάρχει (nargout == 1) στη μεταβλητή x τοποθετείται η αποκωδικοποιημένη ακολουθία δειγμάτων.

Εμείς θέλουμε η iAACoder1 να επιστρέφει έναν πίνακα 2048x(συνολικό αριθμό frames) για να υπολογίσουμε μετά το SNR. Αν ζητήσει όμως από τη συνάρτηση να επιστραφεί μόνο μια μεταβλητή,θα πρέπει να εκτυπώνεται η ακολουθία δειγμάτων χωρίς να είναι χωρισμένη σε frames?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 07, 2019, 06:12:40 am
Το SNR κατάλαβε κανείς πως το βρίσκουμε? Πως θα βρούμε το θόρυβο?
Έχω δοκιμάσει να αφαιρέσω τα σήματα στο πεδίο του χρόνου, να αφαιρέσω τους μετασχηματισμούς fourier τους, αλλά δε δουλεύει τίποτα από τα δύο.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: laplacianee on January 07, 2019, 16:15:54 pm
Το SNR κατάλαβε κανείς πως το βρίσκουμε? Πως θα βρούμε το θόρυβο?
Έχω δοκιμάσει να αφαιρέσω τα σήματα στο πεδίο του χρόνου, να αφαιρέσω τους μετασχηματισμούς fourier τους, αλλά δε δουλεύει τίποτα από τα δύο.

εγώ προς το παρόν χρησιμοποιώ τον τύπο 2.22 των σημειώσεων, με b=64 (ο αριθμός των bits για double στο matlab), αλλά δεν ξέρω κατά πόσο είναι σωστό.. :/


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 07, 2019, 16:39:42 pm
εγώ προς το παρόν χρησιμοποιώ τον τύπο 2.22 των σημειώσεων, με b=64 (ο αριθμός των bits για double στο matlab), αλλά δεν ξέρω κατά πόσο είναι σωστό.. :/
Το σχ είναι η διακύμανση του σήματος, σωστά?
Το δοκίμασα με αυτόν τον τύπο και μου βγάζει κάτι SNR 370 που δε παίζει γιατί το αρχείο μου έχει πολύ θόρυβο, εκτός αν έβαλα κάτι λάθος στον τύπο.

Βρήκα αυτό εδώ σε μιά γωνιά του ιντερνετ, μπορεί να είναι και εντελώς λάθος.
SNR = 10 * log10( sum(P(original signal)) / sum (P(original) - P(reconstructed)))
P είναι τα samples στο τετράγωνο


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: malamasn on January 08, 2019, 13:49:08 pm
Ξερουμε πως γινεται η ανασυνθεση των frames τον αποκωδικοποιητη; Γιατι καθε frame ειναι μεν 2048 δειγματα αλλα εχει και 50% επικαλυψη. Αρα το a(3).chr.frameF  πχ και το a(4).chl.frameF αντιστοιχουν στα ιδια δειγματα του πραγματικου σηματος. Αλλα στο x που επιστρεφει η iAACoder πως τα αποθηκευουμε;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 08, 2019, 13:54:10 pm
Είχα ρωτήσει το ίδιο στον κ. Ντελόπουλο και μου απάντησε αυτό αλλά πάλι δε κατάλαβα.
Quote
Η περιγραφή της διαδικασία βρίσκεται στην ενότητα 2.2 της εκφώνησης. Ειδικότερα,

"η διαδικασία εϕαρμογής των παραθύρων περιγράϕεται αναλυτικά στις σελίδες 127-132 του μέρους ANNEX A του προτύπου (αρχείο w2203tfa). Φροντίστε ωστόσο να αγνοήσετε τις περιπτώσεις όπου
έχουμε εναλλαγές παραθύρων (από KBD σε SIN και το αντίστροϕο), όπως αναϕέρθηκε παραπάνω. Το-
νίζουμε ότι εϕαρμόζεται το ίδιο παράθυρο στο πεδίο του χρόνου τόσο πριν την εϕαρμογή του MDCT όσο
και μετά την εϕαρμογή του IMDCT."


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 08, 2019, 17:25:57 pm
Ξερουμε πως γινεται η ανασυνθεση των frames τον αποκωδικοποιητη; Γιατι καθε frame ειναι μεν 2048 δειγματα αλλα εχει και 50% επικαλυψη. Αρα το a(3).chr.frameF  πχ και το a(4).chl.frameF αντιστοιχουν στα ιδια δειγματα του πραγματικου σηματος. Αλλα στο x που επιστρεφει η iAACoder πως τα αποθηκευουμε;

πρέπει να το κάνεις εσύ.δηλαδή,η iFilterbank θα σου επιστρέψει τελικά τον πίνακα 2048x277 και μέσα στην iAACoder1 θα πρέπει να κρατήσεις τα samples του πραγματικού σήματος (εν τέλει είναι τα στοιχεία στις γραμμές 1025:2048 του πίνακα χωρίς τα μηδενικά).στο τέλος θα έχεις έναν πίνακα μεγέθους (TotalSamples αρχικού wav)x2 και θα κάνεις audiowrite με όνομα αρχείου fNameOut.

από ό,τι καταλαβαίνω,θα πρέπει να κάνεις την ίδια διαδικασία και για τα κομμάτια που είναι eight short,γιατί και εκεί έχεις δημιουργήσει frames με 50% overlap.

επίσης ας τον ρωτήσει κάποιος για το SNR ποιον τύπο χρησιμοποιούμε.η διαφορά αποκωδικοποιημένο - κωδικοποιημένο δεν δίνει τελικά noise (αν το ακούσετε στο ματλαμπ περιέχει και κομμάτια του πραγματικού σήματος),ενώ ο τύπος 2.24 από τις σημειώσεις δίνει SNR πολύ μεγάλο (περίπου 370 db όπως είπαν και άλλοι πιο πάνω).

(Τα wav στο μάτλαμπ έχουν 16 bits per sample, οπότε η επιλογή b=64 στον τύπο του SNR παίζει να είναι και λάθος)


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 08, 2019, 18:14:18 pm
πρέπει να το κάνεις εσύ.δηλαδή,η iFilterbank θα σου επιστρέψει τελικά τον πίνακα 2048x277 και μέσα στην iAACoder1 θα πρέπει να κρατήσεις τα samples του πραγματικού σήματος (εν τέλει είναι τα στοιχεία στις γραμμές 1025:2048 του πίνακα χωρίς τα μηδενικά).στο τέλος θα έχεις έναν πίνακα μεγέθους (TotalSamples αρχικού wav)x2
Πώς προκύπτει αυτό? Όταν το κάνεις audiowrite ακούγεται ίδιο σαν το αρχικό χωρίς θόρυβο?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 08, 2019, 19:01:02 pm
Πώς προκύπτει αυτό? Όταν το κάνεις audiowrite ακούγεται ίδιο σαν το αρχικό χωρίς θόρυβο?

δες τον αρχικό πίνακα και θα καταλάβεις.όταν δημιουργείς 2048 frames με επικάλυψη 50% σημαίνει ότι τα τελευταία 1024 στοιχεία της πρώτης στήλης είναι ίδια με τα πρώτα 1024 στοιχεία της δεύτερης στήλης κτλ. Άρα για να συνθέσεις και πάλι τον πίνακα με τα samples στην IAACoder1, πρέπει να βγάλεις τα samples που επαναλαμβάνονται και να καταλήξεις σε έναν πίνακα ίδιων διαστάσεων με αυτόν του αρχικού wav.

Η audiowrite στο τέλος θα γράψει αυτόν τον πίνακα που προέκυψε σε ένα αρχείο wav 48000 Hz.

πιο πάνω ανέφερα ότι αν ονομάσεις noise τον πίνακα y(αρχικο wav) - y (αποκωδικοποιημένο wav) και κάνεις sound(noise,Fs) θα ακούσεις ότι δεν μένει ο θόρυβος,αλλά και κομμάτι του αρχικού wav.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 08, 2019, 19:10:10 pm
δες τον αρχικό πίνακα και θα καταλάβεις.όταν δημιουργείς 2048 frames με επικάλυψη 50% σημαίνει ότι τα τελευταία 1024 στοιχεία της πρώτης στήλης είναι ίδια με τα πρώτα 1024 στοιχεία της δεύτερης στήλης κτλ. Άρα για να συνθέσεις και πάλι τον πίνακα με τα samples στην IAACoder1, πρέπει να βγάλεις τα samples που επαναλαμβάνονται και να καταλήξεις σε έναν πίνακα ίδιων διαστάσεων με αυτόν του αρχικού wav.
Ίσως να είναι σε εμένα το πρόβλημα, κεγώ στην αρχή αυτό που λες περίμενα να γίνει. Αλλά όταν κάνω την αποκωδικοποίηση τα επικαλυπτόμενα samples δεν ταυτίζονται όπως ήταν στην αρχή, αν και έχω τσεκάρει τον κώδικα 5-6 φορές και δε βρίσκω κάτι λάθος.

Quote
πιο πάνω ανέφερα ότι αν ονομάσεις noise τον πίνακα y(αρχικο wav) - y (αποκωδικοποιημένο wav) και κάνεις sound(noise,Fs) θα ακούσεις ότι δεν μένει ο θόρυβος,αλλά και κομμάτι του αρχικού wav.
Ναι τελικά δε δουλεύει αυτό το δοκίμασα και εγώ.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 08, 2019, 19:20:27 pm
Ίσως να είναι σε εμένα το πρόβλημα, κεγώ στην αρχή αυτό που λες περίμενα να γίνει. Αλλά όταν κάνω την αποκωδικοποίηση τα επικαλυπτόμενα samples δεν ταυτίζονται όπως ήταν στην αρχή, αν και έχω τσεκάρει τον κώδικα 5-6 φορές και δε βρίσκω κάτι λάθος.

είναι επειδή τα πολλαπλασιάζεις με το παράθυρο και αλλάζουν οι τιμές τους.δοκίμασε να το κάνεις γνωρίζοντας ποια ακριβώς στοιχεία θέλεις να κρατήσεις.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 08, 2019, 19:39:21 pm
καλή ιδέα!!


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 08, 2019, 21:18:14 pm
καλή ιδέα!!

άκυρο,δεν δουλεύει ούτε αυτό,επειδή όταν δημιουργούμε τα subframes πετάμε τελείως τα 448*2 samples του αρχικού wav.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 09, 2019, 16:05:38 pm
Τελικά είπε αυτά που επικαλύπτονται τα προσθέτουμε όπου επικαλύπτονται για να βγει το αρχικό σήμα μετά την αποκωδικοποίηση.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 09, 2019, 16:39:04 pm
Τελικά είπε αυτά που επικαλύπτονται τα προσθέτουμε όπου επικαλύπτονται για να βγει το αρχικό σήμα μετά την αποκωδικοποίηση.

για εξήγησε λίγο γιατί δεν κατάλαβα


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 09, 2019, 17:09:05 pm
Άμα προσθέσεις τα samples στα σημεία που πρέπει να έχει επικάλυψη θα βγούνε ίδια με αυτά που είχες πριν κάνεις την κωδικοποίηση.

Το πρώτο frame πχ θα είναι τα 1:1024 του πρώτου και τα 1025:2048 του αθροισμένα με τα  1:1024 του δεύτερου frame. Το δεύτερο θα είναι τα 1:1024 του τρίτου αθροισμένα με τα 1025:2048 του δεύτερου και τα 1025:2048 του τρίτου αθροισμένα με τα 1:1024 του τέταρτου και ούτω καθεξής. Δε ξέρω αν το εξηγώ καλά.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 09, 2019, 17:40:19 pm
Άμα προσθέσεις τα samples στα σημεία που πρέπει να έχει επικάλυψη θα βγούνε ίδια με αυτά που είχες πριν κάνεις την κωδικοποίηση.

Το πρώτο frame πχ θα είναι τα 1:1024 του πρώτου και τα 1025:2048 του αθροισμένα με τα  1:1024 του δεύτερου frame. Το δεύτερο θα είναι τα 1:1024 του τρίτου αθροισμένα με τα 1025:2048 του δεύτερου και τα 1025:2048 του τρίτου αθροισμένα με τα 1:1024 του τέταρτου και ούτω καθεξής. Δε ξέρω αν το εξηγώ καλά.

επιτέλους ρε φίλε,μας έκαψε το κεφάλι τόσο καιρό.
για το snr είπε τπτ;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: malamasn on January 09, 2019, 17:59:43 pm
+1 για snr, εχουμε καποιο νεο;
Επισης, το ενδεικτικο snr που γραφει στο ethmmy, ειναι σωστό; Κανονικά δεν πρέπει όσο βελτιώνεις το σύστημα να αυξάνεται; Δηλαδη να μειωνεται ο θορυβος; Αυτος γραφει 330 db στο 1ο επιπεδο, που απο μονο του είναι τεραστιο, και στα επομενα μειωνεται ραγδαια. Υπαρχει καποιος που το χει τρεξει ολο το 1ο επιπεδο, και αν ναι ποσο περιπου snr βγαζετε;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 09, 2019, 18:01:48 pm
Είπε ότι είναι 10log10s^2/σε^2) όπου s το αρχικό σήμα και ε το αρχικό μείων το αποκωδικοποιημένο. Δηλαδή ο θόρυβος είναι η διαφορά των σημάτων όπως δοκιμάσαμε στην αρχή, απλά δε το κατασκευάζαμε σωστά μάλλον γι'αυτό δεν έβγαινε καλά.

Εγώ στο πρώτο επίπεδο βγάζω 18 dB. Απ'ότι είπε ο Ντελόπουλος είναι πολύ χαμηλό αλλά εγώ όταν το ακούω ακούγεται ακριβώς ίδιο με το αρχικό. Το θέμα είναι ότι με τον τρόπο που υπολογίζουμε το SNR άμα έχεις πχ λάθος τα short window όπως εγώ σου ρίχνει πάρα πολύ το SNR>


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 09, 2019, 18:05:36 pm
Είπε ότι είναι 10log10s^2-σε^2) όπου s το αρχικό σήμα και ε το αρχικό μείων το αποκωδικοποιημένο. Δηλαδή ο θόρυβος είναι η διαφορά των σημάτων όπως δοκιμάσαμε στην αρχή, απλά δε το κατασκευάζαμε σωστά μάλλον γι'αυτό δεν έβγαινε καλά.

Εγώ στο πρώτο επίπεδο βγάζω 18 dB. Απ'ότι είπε ο Ντελόπουλος είναι πολύ χαμηλό αλλά εγώ όταν το ακούω ακούγεται ακριβώς ίδιο με το αρχικό. Το θέμα είναι ότι με τον τρόπο που υπολογίζουμε το SNR άμα έχεις πχ λάθος τα short window όπως εγώ σου ρίχνει πάρα πολύ το SNR>

ναι αλλά το αποκωδικοποιημένο δεν έχει πλέον το ίδιο μέγεθος με το αρχικό


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 09, 2019, 18:07:09 pm
+1 για snr, εχουμε καποιο νεο;
Επισης, το ενδεικτικο snr που γραφει στο ethmmy, ειναι σωστό; Κανονικά δεν πρέπει όσο βελτιώνεις το σύστημα να αυξάνεται; Δηλαδη να μειωνεται ο θορυβος; Αυτος γραφει 330 db στο 1ο επιπεδο, που απο μονο του είναι τεραστιο, και στα επομενα μειωνεται ραγδαια. Υπαρχει καποιος που το χει τρεξει ολο το 1ο επιπεδο, και αν ναι ποσο περιπου snr βγαζετε;

μετά μειώνεται λόγω του ψυχοακουστικού μοντέλου (από το ΤΝS και μετά) που εισάγει θόρυβο σε μπάντες συχνοτήτων.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 09, 2019, 18:15:13 pm
ναι αλλά το αποκωδικοποιημένο δεν έχει πλέον το ίδιο μέγεθος με το αρχικό
Ναι ισχύει, εγώ το έκοψα το αρχικό να είναι ίσο με το άλλο όταν μέτρησα το SNR.

Έχει καταφέρει κανείς να τρέξει το AACoder1 σε λιγότερο από ένα λεπτό? Του Ντελόπουλου το κάνει σε μισό δευτερόλεπτο...
Εμένα παίρνει 250 millisecond περίπου για κάθε frame στο MDCT.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: malamasn on January 09, 2019, 20:34:07 pm
Εγω εχω 10 sec για καθε frame  :( . Ειμαι ο μονος;;;  :???: Τι λετε να φταιει;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 09, 2019, 20:45:04 pm
Εμένα ένα κομμάτι που το έκανε να αργεί πολύ ήταν ο υπολογσμός των παραθύρων KBD επειδή τα υπολόγιζα μέσα στο filterbank και τα υπολόγιζε από την αρχή για κάθε frame. Τώρα τα υπολογίζιω σε άλλη συνάρτηση και τα αποθηκεύω σε global μεταβλητή. Από εκεί και πέρα δε ξέρω γιατί σου παίρνει τόσο, ίσως να έχεις πολλά for loop ενώ μπορείς να το κάνεις αλλιώς στη matlab.

Ο Ντελόπουλος πάντως είπε ότι αμα παίρνει άπειρη ώρα να γίνει θα θεωρήσει ότι δε δουλεύει, γι'αυτό ρωτάω.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 10, 2019, 00:08:40 am
πάντως εγώ με τον τύπο 10log10(σs^2-σε^2) βγάζω αρνητικό SNR,γιατί η διακύμανση του θορύβου είναι πολύ μεγάλη σε σχέση με αυτή του πραγματικού σήματος.και σε μένα το αποκωδικοποιημένο wav είναι σχεδόν ολόιδιο με το αρχικό.

σορυ τελικά είναι / στον τύπο και όχι -,αλλά και πάλι βγαίνει γύρω στα 11 dB και σε μενα.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: malamasn on January 10, 2019, 01:27:44 am
Και γω βγαζω αρνητικο snr και στο 1ο και στο 2ο λεβελ. Χρησιμοποιω sin παραθυρο βεβαια, οποτε δεν ξερω ποιο ειναι το βελτιστο


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: papoudaa on January 10, 2019, 03:00:39 am
Καλησπέρα για τον υπολογισμό του MDCT  μήπως χρειάζεται να χρησιμοποιήσουμε FFT για πιο γρήγορη υλοποίηση;;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: vag178 on January 10, 2019, 05:44:59 am
Στο TNS που λέει:
Quote
3. Κβαντίζει τους παραπάνω συντελεστές με 4 bits χρησιμοποιώντας ομοιόμορϕο συμμετρικό κβαντιστή βήματος 0.1.
εννοεί να στρογγυλοποιήσουμε το α στο πρώτο δεκαδικό ψηφίο;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 10, 2019, 07:46:06 am
πάντως εγώ με τον τύπο 10log10(σs^2-σε^2) βγάζω αρνητικό SNR,γιατί η διακύμανση του θορύβου είναι πολύ μεγάλη σε σχέση με αυτή του πραγματικού σήματος.και σε μένα το αποκωδικοποιημένο wav είναι σχεδόν ολόιδιο με το αρχικό.

σορυ τελικά είναι / στον τύπο και όχι -,αλλά και πάλι βγαίνει γύρω στα 11 dB και σε μενα.
Ωχ σόρρυ εγώ το έγραψα λάθος.
Δοκιμάστε να κάνετε plot το αρχικό και το τελικό σήμα για να δείτε που είναι το λάθος. Εμένα απ'ότι φαίνεται γίνονται λάθος τα short frames, όλο το σήμα είναι σχεδόν ίδιο με το αρχικό και τα short frames καμία σχέση.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 10, 2019, 17:57:05 pm
συνημμένο το διάγραμμα.
το τελικό φαίνεται να παίρνει την ίδια μορφή με το αρχικό,αλλά υπάρχουν διαφορές στα peaks.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 10, 2019, 18:14:02 pm
Κάπου έχεις ξεχάσει κάτι μάλλον, νομίζω έχεις μεγάλη απόκλιση.
Εμένα στα 18 dB SNR είναι αυτό κάτω.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Loukos18 on January 10, 2019, 20:04:29 pm
παιδια τα παραθυρα με τα οποια πολλαπλασιαζουμε τα δειγματα του frame πριν τον mdct ειναι ακριβως τα ιδια με τα παραθυρα με τα οποια τα πολλαπλασιαζουμε μετα τον IMDCT?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: reservoir dog on January 10, 2019, 20:04:55 pm
To sl^2 που πρεπει να υπολογισουμε τι ειναι? To αθροισμα των τετραγωνων των δειγματων ή το variance των δειγματων?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 10, 2019, 20:33:40 pm
To sl^2 που πρεπει να υπολογισουμε τι ειναι? To αθροισμα των τετραγωνων των δειγματων ή το variance των δειγματων?
Απ'ότι κατάλαβα το άθροισμα των τετραγώνων των δειγμάτων. Γενικά στα σήματα έτσι υπολογίζουμε την ενέργεια αφού.


παιδια τα παραθυρα με τα οποια πολλαπλασιαζουμε τα δειγματα του frame πριν τον mdct ειναι ακριβως τα ιδια με τα παραθυρα με τα οποια τα πολλαπλασιαζουμε μετα τον IMDCT?
ναί


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: reservoir dog on January 10, 2019, 20:36:02 pm
Απ'ότι κατάλαβα το άθροισμα των τετραγώνων των δειγμάτων. Γενικά στα σήματα έτσι υπολογίζουμε την ενέργεια αφού.

ναί

Δεν μου βγαζει κανενα ds^2 > 10 παναθεμα το


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: vag178 on January 10, 2019, 21:55:54 pm
Λογικά για να πάρεις σωστό SNR θα πρέπει να βγάλεις τα πρώτα και τελευταία 1024 δείγματα γιατί δεν υπάρχει επικάλυψη για να γίνουν ίδια με το αρχικό.
Μετά το μπορείς να πάρεις SNR = snr(audioIn, noise), όπου noise = audioIn - audioDecoded.

Στο TNS που θέλει κβαντισμό τους συντελεστές του φίλτρου με 4bits παίρνουμε 4 για το πραγματικό μέρος και 4 για το φανταστικό;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 10, 2019, 22:00:05 pm
Στο TNS που θέλει κβαντισμό τους συντελεστές του φίλτρου με 4bits παίρνουμε 4 για το πραγματικό μέρος και 4 για το φανταστικό;
Έχει έναν αλγόριθμο στην σελίδα 138 του αρχείου w2203tfa.pdf που μας έδωσε, εγώ με αυτό το κάνω.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 13, 2019, 14:06:24 pm
Με email είπε να τις στείλουμε τις εργασίες?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: christina_ on January 14, 2019, 12:36:24 pm
O imdct4.m απο την ιστοσελιδα που μας εδωσα σας δινει καλα αποτελεσματα; εμενα μου εμφανίζει μια περιοδικοτητα που δεν υπαρχει στο αρχικο...  :/


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: vag178 on January 16, 2019, 19:58:03 pm
Στην AACoder3 θα ξεκινήσουμε από το 3ο frame γιατί δεν έχουμε για τα πρώτα 2 frames τις τιμές των frameTprev1 και frameTprev2 ή θα δώσουμε κάποια άλλη τιμή;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Ydraylikos on January 16, 2019, 21:19:20 pm
Παιδιά καλησπέρα, έχω ολοκληρώσει την διαδικασία για το level 1 αλλά έχω 2 απορίες.
1) Η διαδικασία κωδικοποίησης-αποκωδικοποίησης παίρνει 1 λεπτό (30 δεύτερα για το κάθε βήμα). Τα 29 από τα 30 σε κάθε βήμα αφορούν την mdct και imdct αντίστοιχα (χρησιμοποίησα αυτές που προτείνει στο ethmmy). Υπάρχει κάποιος τρόπος να γίνει γρηγορότερος ο μετασχηματισμός;
2) Η kaiser από μόνη της δείχνει να δημιουργεί ένα συμμετρικό παράθυρο παρόμοιο με αυτό που δημιουργεί η sinusoid  ( https://www.mathworks.com/help/signal/ref/kaiser.html (https://www.mathworks.com/help/signal/ref/kaiser.html) ). Είναι σίγουρο ότι πρέπει να γίνει η διαδικασία που περιγράφει στο pdf;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 16, 2019, 21:33:36 pm
Παιδιά καλησπέρα, έχω ολοκληρώσει την διαδικασία για το level 1 αλλά έχω 2 απορίες.
1) Η διαδικασία κωδικοποίησης-αποκωδικοποίησης παίρνει 1 λεπτό (30 δεύτερα για το κάθε βήμα). Τα 29 από τα 30 σε κάθε βήμα αφορούν την mdct και imdct αντίστοιχα (χρησιμοποίησα αυτές που προτείνει στο ethmmy). Υπάρχει κάποιος τρόπος να γίνει γρηγορότερος ο μετασχηματισμός;
2) Η kaiser από μόνη της δείχνει να δημιουργεί ένα συμμετρικό παράθυρο παρόμοιο με αυτό που δημιουργεί η sinusoid  ( https://www.mathworks.com/help/signal/ref/kaiser.html (https://www.mathworks.com/help/signal/ref/kaiser.html) ). Είναι σίγουρο ότι πρέπει να γίνει η διαδικασία που περιγράφει στο pdf;

1)χρησιμοποιησε τις mdct4() και imdct4() αντίστοιχα.

2)πρόσεξε το indexing της kaiser,κατά τα άλλα μια χαρά περιγράφει τη διαδικασία στο πδφ


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: allstarabey on January 18, 2019, 01:09:20 am
τους πινακες για κάθε παραθυρο Ols ,ess,lps,lss,
του εκανα Persistent Μεταβλητες
αλλα μονο η filterbank κανει 5 δευτερα για καθε frame
λογικα με την I filterbank θα παρει 10 συνολικα.

λετε να φταιει ο τροπος υπολογισμου του παραθυρου ή κάτι άλλο?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 18, 2019, 01:16:54 am
Ίσως ναι, εμένα τον περισσότερο χρόνο στο filterbank για κάθε frame τον τρώει στον υπολογισμό του kaiser window, θέλει περίπου μισό δευτερόλεπτο. Aν και το έβγαλα εκτός filterbank τελικά με global μεταβλητές για να μην το υπολογίζει κάθε φορά το οποίο μπορεί να είναι λάθος γιατί δε δουλεύει αυτόνομα η filterbank, με persistent που το κάνεις εσύ φαίνεται πιο σωστό αλλά σιγουρέψου ότι υλοποίησες σωστά τις persistent και δεν τις ξαναυπολογίζει σε κάθε frame. Δοκίμασε γενικά να αντικαταστήσεις τις for όπου γίνεται με πιο γρήγορες μεθόδους, 5 δευτερόλεπτα για κάθε frame είναι πάρα πολύ.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: allstarabey on January 18, 2019, 01:33:57 am
Ίσως ναι, εμένα τον περισσότερο χρόνο στο filterbank για κάθε frame τον τρώει στον υπολογισμό του kaiser window, θέλει περίπου μισό δευτερόλεπτο. Aν και το έβγαλα εκτός filterbank τελικά με global μεταβλητές για να μην το υπολογίζει κάθε φορά το οποίο μπορεί να είναι λάθος γιατί δε δουλεύει αυτόνομα η filterbank, με persistent που το κάνεις εσύ φαίνεται πιο σωστό αλλά σιγουρέψου ότι υλοποίησες σωστά τις persistent και δεν τις ξαναυπολογίζει σε κάθε frame. Δοκίμασε γενικά να αντικαταστήσεις τις for όπου γίνεται με πιο γρήγορες μεθόδους, 5 δευτερόλεπτα για κάθε frame είναι πάρα πολύ.
εχοντας υπολογισει z = w * current_frame
αργεί μετά οταν πάει να κανει υπολογισμο του mdct

Code:
           a=2*pi/2048;
           n_o = (2048/2 + 1)/2; 
           x_1 = zeros ( 1024 ,1);
           x_2 = zeros ( 1024 ,1);
           X_frame= zeros(1024,2);
           toc
           fprintf('\n transformation mdct_step_2\n')
           tic;
            % sums for each k


           for k =1:1:1024       
                 temp_1=zeros ( 2048,1);
                 temp_2=zeros ( 2048,1);
                 for n=1:1:2048
                         temp_1= z(:,1) .* cos( a *(n + n_o)*(k+1/2));
                         temp_2= z(:,2) .* cos( a *(n + n_o)*(k+1/2));
                 end
                  x_1(k)= 2* sum(temp_1);
                  x_2(k)= 2* sum(temp_2);
           end


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 18, 2019, 01:47:48 am
Δεν έχεις βάλει δείκτη μέσα στην loop για τα temp, υπολογίζεις κάθε φορά δύο πίνακες 2048x1 για άλλο n κάθε φορά, και το κάνεις αυτό 2048 φορές.
Δοκίμασε αυτό νομίζω το ίδιο θα βγάλει με το αν βάλεις δείκτες. (μπορεί να θέλει n' αντί για n στις temp άμα σου βγάζει σφάλμα)
Code:
    for k =1:1:1024        
                 temp_1=zeros ( 2048,1);
                 temp_2=zeros ( 2048,1);
                 n=1:2048;
                 temp_1= z(:,1) .* cos( a *(n + n_o)*(k+1/2));
                 temp_2= z(:,2) .* cos( a *(n + n_o)*(k+1/2));
                  x_1(k)= 2* sum(temp_1);
                  x_2(k)= 2* sum(temp_2);
           end


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: allstarabey on January 18, 2019, 02:16:54 am
Ουπς! Ευχαριστώ!


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: vag178 on January 18, 2019, 04:00:05 am
Δεν έχεις βάλει δείκτη μέσα στην loop για τα temp, υπολογίζεις κάθε φορά δύο πίνακες 2048x1 για άλλο n κάθε φορά, και το κάνεις αυτό 2048 φορές.
Δοκίμασε αυτό νομίζω το ίδιο θα βγάλει με το αν βάλεις δείκτες. (μπορεί να θέλει n' αντί για n στις temp άμα σου βγάζει σφάλμα)
Code:
    for k =1:1:1024        
                 temp_1=zeros ( 2048,1);
                 temp_2=zeros ( 2048,1);
                 n=1:2048;
                 temp_1= z(:,1) .* cos( a *(n + n_o)*(k+1/2));
                 temp_2= z(:,2) .* cos( a *(n + n_o)*(k+1/2));
                  x_1(k)= 2* sum(temp_1);
                  x_2(k)= 2* sum(temp_2);
           end

Τo k = 0:1024-1 και n = 0:2048-1.
Καλύτερα άμα έχεις χρόνο να το κάνεις με FFT ή DCT (έχει ένα link στο ethmmy στην εκφώνηση για τον πως) και θα έχει τεράστια διαφορά.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 18, 2019, 04:38:12 am
Τo k = 0:1024-1 και n = 0:2048-1.
Καλύτερα άμα έχεις χρόνο να το κάνεις με FFT ή DCT (έχει ένα link στο ethmmy στην εκφώνηση για τον πως) και θα έχει τεράστια διαφορά.
Ναί το είχα δει αφού το είχα κάνει και βαριέμαι να το αλλάξω. Ένα λεπτό παίρνει το πρώτο λέβελ καλά είναι. :P


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: allstarabey on January 19, 2019, 02:22:01 am
Τo k = 0:1024-1 και n = 0:2048-1.
Καλύτερα άμα έχεις χρόνο να το κάνεις με FFT ή DCT (έχει ένα link στο ethmmy στην εκφώνηση για τον πως) και θα έχει τεράστια διαφορά.
Τελικά η filterbank με mdct4 κάνει μόλις 0.30 δευτερόλεπτα συνολικά για όλα τα frames.
Υπερβολικά καλό?
 Χωρίς αυτή με τη διόρθωση συνολικά θέλει 22 seconds.

 



Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: transparent_Man on January 19, 2019, 18:32:11 pm
Καλησπέρα,

Για το ssc της 1ης μοναδας

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

1) Έχει σημασία αν φιλτράρουμε τα δείγματα πριν καλέσουμε την ssc η αν τα φιλτράρουμε μέσα σε αυτήν;

2) Για τις περιπτώσεις 1 και 2, δλδ αν το frame(i-1) είναι OLS ή ESH αντίστοιχα:

Εγω χρησιμοποίησα τον πίνακα για την τελική απόφαση για τον τύπου του επόμενου frame καθε φορά. Δηλαδή , έβρισκα τι τύπου είναι το Left channel του frame(i+1) (του επόμενου frame δλδ), τι τύπου ειναι το Right Channel του frame(i+1)  και έβγαζα μία απόφαση για τον κοινό τύπου του frame(i+1)  (αν προκειται να είναι ESH η όχι) .
Έπειτα κατηγοροποιούσα το frame(i) βάσει της εκφώνησης. Το πρόβλημα μου είναι οτι εκτος από τα 2 πρώτα frames όλα τα αλλα προκύπτουν ESH. Ξέρεις κανείς, γιατί συμβαίνει αυτό;

3) Αν ισχύουν οι συνθήκες με τα sl και dsl, το frame(i+1) θα είναι ESH.  Αν όχι, τι τύπου θα είναι;




Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: allstarabey on January 19, 2019, 19:01:32 pm


2) Για τις περιπτώσεις 1 και 2, δλδ αν το frame(i-1) είναι OLS ή ESH αντίστοιχα:

Εγω χρησιμοποίησα τον πίνακα για την τελική απόφαση για τον τύπου του επόμενου frame καθε φορά. Δηλαδή , έβρισκα τι τύπου είναι το Left channel του frame(i+1) (του επόμενου frame δλδ), τι τύπου ειναι το Right Channel του frame(i+1)  και έβγαζα μία απόφαση για τον κοινό τύπου του frame(i+1)  (αν προκειται να είναι ESH η όχι) .
Έπειτα κατηγοροποιούσα το frame(i) βάσει της εκφώνησης. Το πρόβλημα μου είναι οτι εκτος από τα 2 πρώτα frames όλα τα αλλα προκύπτουν ESH. Ξέρεις κανείς, γιατί συμβαίνει αυτό;
εγω καταλαβα οτι o Πινακας αναφερεται στο τρεχον frame συνεπώς στο frame(i)
Δηλαδη συμφωνα με τις περιπτωσεις 1,2,3 βαζεις συμπερασμα για το frame(i+1) για αριστερο ,δεξι κανάλι και μετα συμφωνα με το πινακα βγαζεις συμπερασμα για το τρεχον frame.
εμενα μου βγαινουν σχεδον όλα OLS.
Quote
3) Αν ισχύουν οι συνθήκες με τα sl και dsl, το frame(i+1) θα είναι ESH.  Αν όχι, τι τύπου θα είναι;
  
εξαρταται τι ηταν πριν ,ουσιαστικα παο τις περιπτωσεις 1,2,3 προκυπτουν νομιζα 6 περιπτωσεις.Ειναι ενας μινι γριφος.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 19, 2019, 19:02:25 pm
1) Έχει σημασία αν φιλτράρουμε τα δείγματα πριν καλέσουμε την ssc η αν τα φιλτράρουμε μέσα σε αυτήν;

Εγώ θα ακολουθούσα την εκφώνιση ακριβώς. Αλλά αν τα φιλτράρεις πιο πριν πρόσεξε μην χαλάσεις τα δείγματα, η SSC δεν επιστρέφει πίσω φιλτραρισμένα δείγματα, απλά τα χρησιμοποιεί, τα δείγματα μετά το SSC πρέπει να είναι ίδια με πριν.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: allstarabey on January 19, 2019, 19:05:00 pm
 για την ανακατασκευή ταυ σήματος.
Θα πάμε όπως ανέβηκε πριν που προσθέτουμε τα δείγματα που επαναλαμβανονται  :-\?
απορία:
δεν υπάρχει πρόβλημα πχ στα eight short που κάποια τα έχουμε πετάξει έξω και κρατήσαμε τα κεντρικά?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 20, 2019, 03:17:21 am
Έχω και εγώ το ίδιο απορία μήπως το διορθώσω και γίνει καλύτερη η αποκωδικοποίηση. Εγώ αυτά που έχουμε πετάξει τα έβαλα μηδενικά ώστε το frame να γίνει πάλι 2048x1 και συνέχισα κανονικά σαν να μην ήταν short όταν τα ένωσα στο τέλος αλλά έχει μερικές αποκλίσεις απ'ότι φαίνεται. Άμα το έχει κάνει κάποιος άλλος αλλιώς ας πεί plx.  ;)


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: transparent_Man on January 20, 2019, 04:33:59 am
Nα κάνω μια ακόμη, ισως χαζη, ερώτηση πάλι για το ssc

Λέει να υπολογίσουμε το αθροισμα  sl^2  των τετραγώνων των δειγμάτων για κάθε μία απο τις 8 περιοχες και έπειτα το dsl^2 μέσω αυτου.
Φαντάζομαι οτι το sl^2 αναφέρεται ακριβώς στο "τετραγωνο του δείγματος" και ότι το συνολικό αθροισμα είναι το αθροισμα αυτών(των 128 δειγμάτων για καθε περιοχη).


Οι συνθήκες:
sl^2> 10^(-3) και dsl^2>10

Σημαίνουν οτι θα παρουμε τα συνολικά αθροίσματα  στο τετράγωνο ή όχι;
Πρέπει να το μπερδεψα καπως...


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: vag178 on January 20, 2019, 18:06:04 pm
Nα κάνω μια ακόμη, ισως χαζη, ερώτηση πάλι για το ssc

Λέει να υπολογίσουμε το αθροισμα  sl^2  των τετραγώνων των δειγμάτων για κάθε μία απο τις 8 περιοχες και έπειτα το dsl^2 μέσω αυτου.
Φαντάζομαι οτι το sl^2 αναφέρεται ακριβώς στο "τετραγωνο του δείγματος" και ότι το συνολικό αθροισμα είναι το αθροισμα αυτών(των 128 δειγμάτων για καθε περιοχη).


Οι συνθήκες:
sl^2> 10^(-3) και dsl^2>10

Σημαίνουν οτι θα παρουμε τα συνολικά αθροίσματα  στο τετράγωνο ή όχι;
Πρέπει να το μπερδεψα καπως...

Είναι το άθροισμα των τετραγώνων των δειγμάτων sum( s_l^2 ).
Γενικά ανοίγεις και τα pdf από το πρότυπο γιατί έχει πολλά λάθη και ανακρίβειες η εργασία.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: vag178 on January 20, 2019, 18:17:03 pm
Έχω και εγώ το ίδιο απορία μήπως το διορθώσω και γίνει καλύτερη η αποκωδικοποίηση. Εγώ αυτά που έχουμε πετάξει τα έβαλα μηδενικά ώστε το frame να γίνει πάλι 2048x1 και συνέχισα κανονικά σαν να μην ήταν short όταν τα ένωσα στο τέλος αλλά έχει μερικές αποκλίσεις απ'ότι φαίνεται. Άμα το έχει κάνει κάποιος άλλος αλλιώς ας πεί plx.  ;)

Χρησιμοποιείς τα ίδια παράθυρα με την filterbank στην iFilterbank. Αφού έχεις επικάλυψη 1024 δείγματα δεν υπάρχει θέμα και θα έπρεπε να βρίσκεις το ίδιο σήμα. Ο τύπος για το δεξί παράθυρο KBD είναι λάθος (έτσι πιστεύω) και θα έπρεπε να είναι το άνω άθροισμα από 0 έως Ν - n - 1.

Το SNR θα πρέπει να είναι 3 ψηφίο.

Για debugging μπορείς να βάλεις όλα τα παράθυρα OLS για να δεις αν έχεις λάθος στα άλλα 3 (ESH, LSS, LPS) και θα πρέπει να βγαίνει το ίδιο σήμα, ή μπορείς να χρησιμοποιήσεις SIN παράθυρα (που υπολογίζονται πιο εύκολα) για να δεις αν έχεις λάθος στα KBD.  


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 20, 2019, 18:28:35 pm
Χρησιμοποιείς τα ίδια παράθυρα με την filterbank στην iFilterbank. Αφού έχεις επικάλυψη 1024 δείγματα δεν υπάρχει θέμα και θα έπρεπε να βρίσκεις το ίδιο σήμα. Ο τύπος για το δεξί παράθυρο KBD είναι λάθος (έτσι πιστεύω) και θα έπρεπε να είναι το άνω άθροισμα από 0 έως Ν - n - 1.

Όταν κάνεις το iFilterbank για τα short, έχεις 128x8 και τελικά βγαίνουν 256x8, αυτά δε τα προσθέτεις όπου επικαλύπτονται? Δηλαδή στο τέλος δε θα έχεις 2048 όταν τα προσθέσεις, αλλά μόνο τα κεντρικά που επιλέξαμε αρχικά, τα άλλα έχουν χαθεί.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: vag178 on January 20, 2019, 18:37:48 pm
Όταν κάνεις το iFilterbank για τα short, έχεις 128x8 και τελικά βγαίνουν 256x8, αυτά δε τα προσθέτεις όπου επικαλύπτονται? Δηλαδή στο τέλος δε θα έχεις 2048 όταν τα προσθέσεις, αλλά μόνο τα κεντρικά που επιλέξαμε αρχικά, τα άλλα έχουν χαθεί.

Ναι.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Apostolof on January 21, 2019, 18:48:29 pm
Θέτοντας το πρώτο frame OLS, βρίσκω 3 LSS, 3 ESH, 3 LPS και 266 OLS. Τόσα βγάζετε και εσείς;

εδιτ: μάλλον 4 LSS, 4 ESH, 4 LPS και 263 OLS.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 21, 2019, 18:55:24 pm
Εγώ βγάζω 11 ESH/LPS/LSS και 242 OLS. 275 συνολικά


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: polizois on January 22, 2019, 15:07:20 pm
Kάποιος που να έχει ασχοληθεί με TNS και ITNS?

Αφού κάνουμε την γραμμική πρόβλεψη με το αντίστροφο φίλτρο στην ITNS, πως μπορούμε να αντιστρέψουμε την κανονικοποίηση(βήμα 1 του TNS), ώστε να πάρουμε τους αρχικούς MDCT συντελεστές?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 22, 2019, 15:26:52 pm
Kάποιος που να έχει ασχοληθεί με TNS και ITNS?

Αφού κάνουμε την γραμμική πρόβλεψη με το αντίστροφο φίλτρο στην ITNS, πως μπορούμε να αντιστρέψουμε την κανονικοποίηση(βήμα 1 του TNS), ώστε να πάρουμε τους αρχικούς MDCT συντελεστές?

στο πδφ οριζει την itns έτσι: frameFout = iTNS(frameFin, frameType, TNScoeffs)
που σημαινει οτι η αντιστροφη τνς θα σου επιστρέφει τους κανονικοποιημένους mdct και όχι τους αρχικούς (τους έχει σαν όρισμα)
αν είναι να επιστρέφεις στους αρχικούς mdct,για ποιο λόγο να κάνεις noise shaping?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 22, 2019, 16:06:35 pm
Kάποιος που να έχει ασχοληθεί με TNS και ITNS?

Αφού κάνουμε την γραμμική πρόβλεψη με το αντίστροφο φίλτρο στην ITNS, πως μπορούμε να αντιστρέψουμε την κανονικοποίηση(βήμα 1 του TNS), ώστε να πάρουμε τους αρχικούς MDCT συντελεστές?
Τα βήματα 1-3 είναι για να βρείς τους συντελεστές a. Το φίλτρο που δημιουργείς εφαρμόζεται στους αρχικούς MDCT όχι στους κανονικοποιημένους.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: polizois on January 22, 2019, 16:21:28 pm
στο πδφ οριζει την itns έτσι: frameFout = iTNS(frameFin, frameType, TNScoeffs)
που σημαινει οτι η αντιστροφη τνς θα σου επιστρέφει τους κανονικοποιημένους mdct και όχι τους αρχικούς (τους έχει σαν όρισμα)
αν είναι να επιστρέφεις στους αρχικούς mdct,για ποιο λόγο να κάνεις noise shaping?
Πέρα απο το οτι δεν πολυκαταλαβαίνω την διαδικασία, είχα διαβάσει και λάθος την περιγραφή.
Τα παρακάτω ισχύουν, ή δεν το έχω πιάσει καθόλου?

Η TNS εφαρφμόζει το φίλτρο στους αρχικούς MDCT συντελεστες (και όχι στους κανονικοποιμένους) και εξάζει τους φιλτραρισμένους σαν frameFout.
Αυτούς τους συντελεστες παίρνει η iTNS σαν frameFin, τους περνάει απο το αντίστροφο φίλτρο και τους εξάγει σαν frameFout.(άρα καταλήγουμε στους αρχικούς MDCT)


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: polizois on January 22, 2019, 16:23:06 pm
Τα βήματα 1-3 είναι για να βρείς τους συντελεστές a. Το φίλτρο που δημιουργείς εφαρμόζεται στους αρχικούς MDCT όχι στους κανονικοποιημένους.
Όντως...δεν το είχα προσέξει


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 22, 2019, 16:24:08 pm
Όντως...δεν το είχα προσέξει
Και εγώ το ίδιο λάθος έκανα και προσπαθούσα να τους αποκανονικοποιήσω μετά, με πήρε 2 μέρες να το καταλάβω.  :P


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 22, 2019, 17:14:47 pm
για το δεύτερο επίπεδο,εγώ δεν έχω καταλάβει το εξής:

στην εκφώνηση λέει ότι το βήμα 3 κβαντίζει τους παραπάνω συντελεστές (προφανώς εννοεί τους α) και πρέπει εμείς να φτιάξουμε ένα δικό μας κβαντιστή, ενώ στο πρότυπο υπάρχει ένας ψευδοκώδικας, ο οποίος κβαντίζει τους συντελεστές ανάκλασης r και από αυτούς μετά βρίσκεις τους lpc α. τι από τα 2 πρέπει να κάνουμε εμείς;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Apostolof on January 22, 2019, 18:50:15 pm
Το SNR θα πρέπει να είναι 3 ψηφίο.

Για debugging μπορείς να βάλεις όλα τα παράθυρα OLS για να δεις αν έχεις λάθος στα άλλα 3 (ESH, LSS, LPS) και θα πρέπει να βγαίνει το ίδιο σήμα, ή μπορείς να χρησιμοποιήσεις SIN παράθυρα (που υπολογίζονται πιο εύκολα) για να δεις αν έχεις λάθος στα KBD. 

Εσύ κατάφερες να βγάλεις 3ψήφιο SNR; Αν ναι, μπορείς να ανεβάσεις ένα plot του e που έχεις; plot(originalAudioData(1:length(decodedAudio), 1) - decodedAudio(1:end, 1))

Στη συνάρτηση TNS η παράμετρος frameFin και η έξοδος θα είναι 1024X1 όπως λέει, θα έχει δηλαδή μόνο το ένα κανάλι, ή έχει κάνει κάποιο λάθος; Μέχρι εκείνο το σημείο βάζουμε παντού και τα δύο κανάλια σε ένα πίνακα.

Εδιτ: τα sin παράθυρα πρέπει να είναι μη μηδενικά στην αρχή/τέλος (όπως στο συνημμένο) ή έχω κάτι λάθος;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: fibonacci on January 23, 2019, 01:20:38 am
2 μιικρές απορίες για το 2ο level όποιος έχει όρεξη. έστειλα και mail στον ντελό αλλά καμία ανταπόκριση.

-- Από την εκφώνηση που μας δώσατε mm-hw-2018.v.1.0.pdf κατανοώ ότι στο βήμα 2 της διαδικασίας βγαίνουν άμεσα από την κανονική εξίσωση οι συντελεστές α ( 1x5 ), τους οποίους ίσως μπορούμε να πάρουμε και απευθείας από τη συνάρτηση της matlab lpc(). Στη συνέχεια θα τους κβαντίσουμε (πιθανότατα με κάποιο κβαντιστή δικής μας δημιουργίας) ώστε να αντιστοιχιστούν σε ακέραιες τιμές 4 bits.
   Από την άλλη, στο πρότυπο w2203tfa.pdf (σελ. 137-138) περιγράφεται μια διαφορετική διαδικασία κατά την οποία κβαντίζονται πρώτα οι συντελεστές ανάκλασης r, από τους οποίους παίρνουμε τους τελικούς συντελεστές α (μάλλον κβαντισμένους ???).

   Ποια από τις δύο διαδικασίες πρέπει να ακολουθήσουμε; Και αν πρέπει να ακολουθήσουμε την εκδοχή του προτύπου, πως μπορούμε να υπολογίσουμε το κέρδος πρόβλεψης (gp) που χρησιμοποιείται για να κρίνουμε αν χρειάζεται να εκτελέσουμε τον TNS ή όχι.



-- Τέλος, όσον αφορά της ΣΜ του φίλτρου Htns(z), όπως λέτε στην εκφώνηση, χρησιμοποιούνται οι τελικοί κβαντισμένοι συντελεστές α. Στην περίπτωση που η αντίστροφη ΣΜ δεν είναι ευσταθής και αντιστρέψουμε τους πόλους που βρίσκονται εκτός του μοναδιαίου κύκλου, τότε θα πρέπει να αλλάξουν αντίστοιχα οι βέλτιστοι κβαντισμένοι συντελεστές α, έτσι ώστε η ΣΜ να δίνει τους κατάλληλους ευσταθείς πόλους. Σε αυτή, λοιπόν, την περίπτωση θα πρέπει να ξανακβαντίσουμε τους συντελεστές α που θα προκύψουν από τη ΣΜ των νέων πόλων ;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: vag178 on January 23, 2019, 12:48:33 pm
Εσύ κατάφερες να βγάλεις 3ψήφιο SNR; Αν ναι, μπορείς να ανεβάσεις ένα plot του e που έχεις; plot(originalAudioData(1:length(decodedAudio), 1) - decodedAudio(1:end, 1))

Στη συνάρτηση TNS η παράμετρος frameFin και η έξοδος θα είναι 1024X1 όπως λέει, θα έχει δηλαδή μόνο το ένα κανάλι, ή έχει κάνει κάποιο λάθος; Μέχρι εκείνο το σημείο βάζουμε παντού και τα δύο κανάλια σε ένα πίνακα.

Εδιτ: τα sin παράθυρα πρέπει να είναι μη μηδενικά στην αρχή/τέλος (όπως στο συνημμένο) ή έχω κάτι λάθος;

Το SNR όπως είχα γράψει και πιο πάνω το υπολόγιζα για όσα παράθυρα είχα επικάλυψη δηλαδή από 1025 έως length(decodedAudio) - 1024.
Έβγαλα SNR στα πρώτα 2 level +- 1 από όσο έλεγε στην εκφώνιση.
Τώρα δεν μπορώ να ανεβάσω plot άλλα εκτός από τα άκρα (πρώτα και τελευταία 1024 δείγμα) το σφάλμα ήταν τάξης αν θυμάμε καλά 10^-12 μπορεί και λιγότερο.

Τα παράθυρα πρέπει να είναι συμετρικά και leftWindow(i)^2 + rightWindow(i)^2 = 1, i = 1 ... 1024 ή 128.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mytilisks on January 24, 2019, 01:51:48 am
Μερικές απορίες στο level 1

1) την συνάρτηση kaiser του matlab την καλώ έτσι: kaiser(N/2+1,a*pi)
σωστά?
2)μετά τον imdct, τα si,n που βρίσκω απο τον τύπο που δίνεται στο pdf, τα πολλαπλασιάζω με τις τιμές των παραθύρων όπως τις είχα βρεί πρίν ή με τoν αντίστροφο αυτών των τιμών, πχ έστω frame(n)= s(n)*1/w(n)?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Apostolof on January 24, 2019, 12:18:48 pm
Το SNR όπως είχα γράψει και πιο πάνω το υπολόγιζα για όσα παράθυρα είχα επικάλυψη δηλαδή από 1025 έως length(decodedAudio) - 1024.
Έβγαλα SNR στα πρώτα 2 level +- 1 από όσο έλεγε στην εκφώνιση.
Τώρα δεν μπορώ να ανεβάσω plot άλλα εκτός από τα άκρα (πρώτα και τελευταία 1024 δείγμα) το σφάλμα ήταν τάξης αν θυμάμε καλά 10^-12 μπορεί και λιγότερο.

Τα παράθυρα πρέπει να είναι συμετρικά και leftWindow(i)^2 + rightWindow(i)^2 = 1, i = 1 ... 1024 ή 128.

Thanks! Βρήκα ένα λαθάκι που είχα. Πάλι το σφάλμα μου είναι πολύ μεγαλύτερο σε τάξη, 10-3, ακόμα και στα OLS παράθυρα άρα μάλλον κάτι άλλο κάνω λάθος.

Μερικές απορίες στο level 1

1) την συνάρτηση kaiser του matlab την καλώ έτσι: kaiser(N/2+1,a*pi)
σωστά?
2)μετά τον imdct, τα si,n που βρίσκω απο τον τύπο που δίνεται στο pdf, τα πολλαπλασιάζω με τις τιμές των παραθύρων όπως τις είχα βρεί πρίν ή με τoν αντίστροφο αυτών των τιμών, πχ έστω frame(n)= s(n)*1/w(n)?


1) Χωρίς το +1, μέχρι N/2 (δηλαδή 1024 ή 128)
2) Χωρίς αντιστροφή.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: allstarabey on January 24, 2019, 15:38:10 pm
plot(originalAudioData(1:length(decodedAudio), 1) - decodedAudio(1:end, 1))

οταν κανω Plot το error ,το σχημα ειναι αυτο.

εχω μόνο 2 ESS.
καποια ιδέα?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Apostolof on January 24, 2019, 16:36:22 pm
plot(originalAudioData(1:length(decodedAudio), 1) - decodedAudio(1:end, 1))

οταν κανω Plot το error ,το σχημα ειναι αυτο.

εχω μόνο 2 ESS.
καποια ιδέα?

Στα ESH και εμένα έχει πιο πολύ θόρυβο, αλλά όχι τόσο. Δες μήπως ξέχασες στην iFilterbank να πολλαπλασιάσεις κάθε sub-frame με το window.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 24, 2019, 18:20:45 pm
Εμένα νομίζω μου βγαίνει ίδιο με του apostolof αν εξαιρέσεις τα short frames.
48dB SNR.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: vag178 on January 24, 2019, 19:13:14 pm
Thanks! Βρήκα ένα λαθάκι που είχα. Πάλι το σφάλμα μου είναι πολύ μεγαλύτερο σε τάξη, 10-3, ακόμα και στα OLS παράθυρα άρα μάλλον κάτι άλλο κάνω λάθος.

1) Χωρίς το +1, μέχρι N/2 (δηλαδή 1024 ή 128)
2) Χωρίς αντιστροφή.

Με το +1!!!


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: vag178 on January 24, 2019, 19:20:33 pm
plot(originalAudioData(1:length(decodedAudio), 1) - decodedAudio(1:end, 1))

οταν κανω Plot το error ,το σχημα ειναι αυτο.

εχω μόνο 2 ESS.
καποια ιδέα?

Βάλε όλα τα παράθυρα OLS και δες άμα βγαίνει καλό. Νομίζω από το σχήμα ότι έχει κάνει λάθος στα ESH και δεν τα υπολογίζεις σωστά.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: vag178 on January 24, 2019, 19:43:18 pm
Ανεβάζω και τα δικά μου αποτελέσματα.

Για το lenel 1 και για το δείγματα βρίσκω:
[1, length(decoded)]: SNR = 34
[1025, length(decoded) - 1024]: SNR = 300


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Apostolof on January 24, 2019, 19:51:48 pm
Με το +1!!!

Πωωω, δίκιο έχεις ρε. Δεύτερη φορά που την παθαίνω με το indexing :-\
Εντάξει έφτιαξε τώρα. Το SNR εκτοξεύτηκε στο 400 μόλις έβαλα το +1 :D

edit: @mytilisks sorry για την παραπληροφόρηση


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: allstarabey on January 24, 2019, 19:54:22 pm
με όλα OLS βγαίνει αυτό!
Οπότε κάπου εδω συνειδητοποιώ ότι εχω κανει σημαντικο λάθος.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 24, 2019, 20:13:04 pm
Με το +1!!!
^notworthy^ ^notworthy^ ^notworthy^ ^notworthy^
τώρα έχω SNR infinite στα OLS!!! εκτός αν έκανα παπαριά  :D


Το πρώτο frame πως το κάνατε? Μου χαλάει το SNR επειδή δεν έχει κάτι να το επικαλύψεις πιο πριν.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: vag178 on January 24, 2019, 20:26:54 pm
^notworthy^ ^notworthy^ ^notworthy^ ^notworthy^
τώρα έχω SNR infinite στα OLS!!! εκτός αν έκανα παπαριά  :D


Το πρώτο frame πως το κάνατε? Μου χαλάει το SNR επειδή δεν έχει κάτι να το επικαλύψεις πιο πριν.

Εγώ το έβαλα OLS, αλλά είναι λογικό να γίνεται στα 2 ακριανά (1024 δείγματα από τα 2048) γ' αυτό πιστεύω δεν χρειάζονται στον υπολογισμό του SNR.
Το SNR το βρίσκεις με snr(audio, audio-decodedAudio) ή κάπως αλλιώς και βγαίνει inf;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 24, 2019, 20:30:04 pm
Εγώ το έβαλα OLS, αλλά είναι λογικό να γίνεται στα 2 ακριανά (1024 δείγματα από τα 2048) γ' αυτό πιστεύω δεν χρειάζονται στον υπολογισμό του SNR.
Το SNR το βρίσκεις με snr(audio, audio-decodedAudio) ή κάπως αλλιώς και βγαίνει inf;
Με τη συνάρτηση snr(audio, audio-decodedAudio) της matlab που λες. Αλλά μόνο για όλα OLS ή όλα ESH μου βγαίνει inf, αν μπούνε μέσα και LPS και LSS χαλάει.
εδιτ: είχα ξεχάσει ένα +1 σε ένα LPS, τώρα βγαίνει κανονικά Infinite.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Apostolof on January 26, 2019, 14:53:54 pm
για το δεύτερο επίπεδο,εγώ δεν έχω καταλάβει το εξής:

στην εκφώνηση λέει ότι το βήμα 3 κβαντίζει τους παραπάνω συντελεστές (προφανώς εννοεί τους α) και πρέπει εμείς να φτιάξουμε ένα δικό μας κβαντιστή, ενώ στο πρότυπο υπάρχει ένας ψευδοκώδικας, ο οποίος κβαντίζει τους συντελεστές ανάκλασης r και από αυτούς μετά βρίσκεις τους lpc α. τι από τα 2 πρέπει να κάνουμε εμείς;

2 μιικρές απορίες για το 2ο level όποιος έχει όρεξη. έστειλα και mail στον ντελό αλλά καμία ανταπόκριση.

-- Από την εκφώνηση που μας δώσατε mm-hw-2018.v.1.0.pdf κατανοώ ότι στο βήμα 2 της διαδικασίας βγαίνουν άμεσα από την κανονική εξίσωση οι συντελεστές α ( 1x5 ), τους οποίους ίσως μπορούμε να πάρουμε και απευθείας από τη συνάρτηση της matlab lpc(). Στη συνέχεια θα τους κβαντίσουμε (πιθανότατα με κάποιο κβαντιστή δικής μας δημιουργίας) ώστε να αντιστοιχιστούν σε ακέραιες τιμές 4 bits.
   Από την άλλη, στο πρότυπο w2203tfa.pdf (σελ. 137-138) περιγράφεται μια διαφορετική διαδικασία κατά την οποία κβαντίζονται πρώτα οι συντελεστές ανάκλασης r, από τους οποίους παίρνουμε τους τελικούς συντελεστές α (μάλλον κβαντισμένους ???).

   Ποια από τις δύο διαδικασίες πρέπει να ακολουθήσουμε; Και αν πρέπει να ακολουθήσουμε την εκδοχή του προτύπου, πως μπορούμε να υπολογίσουμε το κέρδος πρόβλεψης (gp) που χρησιμοποιείται για να κρίνουμε αν χρειάζεται να εκτελέσουμε τον TNS ή όχι.



-- Τέλος, όσον αφορά της ΣΜ του φίλτρου Htns(z), όπως λέτε στην εκφώνηση, χρησιμοποιούνται οι τελικοί κβαντισμένοι συντελεστές α. Στην περίπτωση που η αντίστροφη ΣΜ δεν είναι ευσταθής και αντιστρέψουμε τους πόλους που βρίσκονται εκτός του μοναδιαίου κύκλου, τότε θα πρέπει να αλλάξουν αντίστοιχα οι βέλτιστοι κβαντισμένοι συντελεστές α, έτσι ώστε η ΣΜ να δίνει τους κατάλληλους ευσταθείς πόλους. Σε αυτή, λοιπόν, την περίπτωση θα πρέπει να ξανακβαντίσουμε τους συντελεστές α που θα προκύψουν από τη ΣΜ των νέων πόλων ;

Ξέρουμε τίποτα για αυτά;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: fibonacci on January 28, 2019, 23:39:01 pm
H απάντηση που πήρα εγώ από τον ντελόπουλο για αυτά είναι η εξής :

-- Για το πρώτο ερώτημα:  θα ακολουθήσετε την απλουστευμένη εκδοχή που περιγράφεται στην εκφώνηση.

-- Για το δεύτερο ερώτημα:  Καλή ερώτηση. Δεν θα σου την απαντήσω ευθέως όμως γιατί δεν θέλω να επιβάλω μια λύση. Ωστόσο πρέπει να πετύχεις ταυτόχρονα δύο στόχους: (α) μετάδοση κβαντισμένων συντελεστών, (β) εγγυημένα ευσταθή ανακατασκευή με βάση αυτούς τους συντελεστές και καμμία άλλη πληροφορία.

Επίσης, από ότι κατάλαβα, από κάτι ακόμα που μου είπε, στην αντίστροφη διαδικασία του TNS θέλει οι κβαντισμέσοι συντελεστές TNS πρώτα να αποκβαντιστούν και έπειτα να φιλτράρουμε τους MDCT συντελεστές με την inverse Htns για να πάρουμε τους αρχικούς MDCT. Για μένα αυτό δεν βγάζει νόημα, και μου απάντησε ότι κάτι δεν έχω νιώσει και ότι πρέπει να διαβάσω προσεκτικά την εκφώνηση και το πρότυπο για το σχετικό κομμάτι. Αν έχει βγάλει κάποιος άκρη ας πει.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: polizois on January 30, 2019, 21:26:53 pm
Με τη συνάρτηση snr(audio, audio-decodedAudio) της matlab που λες. Αλλά μόνο για όλα OLS ή όλα ESH μου βγαίνει inf, αν μπούνε μέσα και LPS και LSS χαλάει.
εδιτ: είχα ξεχάσει ένα +1 σε ένα LPS, τώρα βγαίνει κανονικά Infinite.

Και γω infinite το βγάζω.
Και νομίζω είναι λογικό αφού σε όλη τη διαδικασία δεν υπάρχει κάπου απώλεια πληροφορίας.Άρα γιατί να μην μπορούμε να αποκωδικοποιήσουμε με μηδενικό σφάλμα?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 30, 2019, 21:32:19 pm
Και γω infinite το βγάζω.
Και νομίζω είναι λογικό αφού σε όλη τη διαδικασία δεν υπάρχει κάπου απώλεια πληροφορίας.Άρα γιατί να μην μπορούμε να αποκωδικοποιήσουμε με μηδενικό σφάλμα?


από ετημμυ

Quote
Επισυνάπτεται ένα δείγμα ήχου για πειραματισμό. Με την πρότυπη υλοποίηση μας επιτυγχάνουμε τα ακόλουθα (με παράθυρα KBD). Οι χρόνοι εκτέλεσης είναι ενδεικτικοί των απαιτούμενων υπολογισμών σε κάθε επίπεδο.

Level 1
=======
Coding: time ellapsed is 0.46249 seconds
Decoding: time ellapsed is 0.45712 seconds
Channel 1 SNR: 307.0132 dB
Channel 2 SNR: 307.0708 dB

χρησιμοποίησε τον τύπο που έχει στις σημειώσεις του για τον υπολογισμό του snr


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Kthulu on January 30, 2019, 22:28:00 pm
Για την SSC, το attackvalue (ds2) του 1ου από τα 8 υποπαράθυρα τι τιμή παίρνει; Ή απλά δεν το λαμβάνουμε υπόψη μας στον έλεγχο ;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: polizois on January 30, 2019, 23:23:45 pm
από ετημμυ

χρησιμοποίησε τον τύπο που έχει στις σημειώσεις του για τον υπολογισμό του snr

Ξέρουμε σελίδα?
Μόνο έναν τύπο για SNR βρήκα, αλλά αναφέρεται σε σφάλμα αποκβαντισμού


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: polizois on January 30, 2019, 23:24:46 pm
Για την SSC, το attackvalue (ds2) του 1ου από τα 8 υποπαράθυρα τι τιμή παίρνει; Ή απλά δεν το λαμβάνουμε υπόψη μας στον έλεγχο ;

Εγώ δεν το έλαβα υπόψη


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on January 30, 2019, 23:49:26 pm
Ξέρουμε σελίδα?
Μόνο έναν τύπο για SNR βρήκα, αλλά αναφέρεται σε σφάλμα αποκβαντισμού

SNR = 10 log (σx^2 / σε^2)

τύπος 2.22 σελ.22

όπου σε η διακύμανση του θορύβου


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 31, 2019, 00:03:42 am
SNR = 10 log (σx^2 / σε^2)

τύπος 2.22 σελ.22

όπου σε η διακύμανση του θορύβου
Εμένα και έτσι άπειρο μου βγαίνει, υπάρχει ένα σφάλμα της τάξης 10^-16 με 10^-17 αλλά δε το μετράει δε ξέρω γιατί.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: polizois on January 31, 2019, 00:17:09 am
SNR = 10 log (σx^2 / σε^2)

τύπος 2.22 σελ.22

όπου σε η διακύμανση του θορύβου

Θενξ. Το έχω δοκιμάσει αλλά με μηδενικό θόρυβο βγαίνει απειρο (αν θορυβος = original - decoded).
Δεν μπορώ να καταλάβω που θα έπρεπε να εισάγεται το σφάλμα, αφού δεν υπάρχει κάποια απώλεια πληροφορίας/στογγυλοποίηση/πρόβλεψη.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on January 31, 2019, 00:24:29 am
Θενξ. Το έχω δοκιμάσει αλλά με μηδενικό θόρυβο βγαίνει απειρο (αν θορυβος = original - decoded).
Δεν μπορώ να καταλάβω που θα έπρεπε να εισάγεται το σφάλμα, αφού δεν υπάρχει κάποια απώλεια πληροφορίας/στογγυλοποίηση/πρόβλεψη.
Mάλλον όταν αποθηκεύεις στο wav χάνει την ακρίβεια του γι'αυτό βγαίνει άπειρο. Εγώ τώρα που την ακολουθία την παίρνω κάνοντας το iAACoder μέσα στο demoAAC και όχι διαβάζοντας το αποκωδικοποιημένο αρχείο βγάζει snr 300 και όχι άπειρο.
Γίνεται να βάλεις να έχει και 64 bits ανά sample στο audiowrite για να βγάζει σωστό snr με χρήση του wav αλλά το wav γίνεται 4 φορές μεγαλύτερο.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mytilisks on February 01, 2019, 18:24:42 pm
Για το level 2 ξέρει κανείς πώς εφαρμόζω το φίλτρο Htns στο σήμα?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Apostolof on February 01, 2019, 18:29:02 pm
Για το level 2 ξέρει κανείς πώς εφαρμόζω το φίλτρο Htns στο σήμα?

Χρησιμοποίησε την filter (https://www.mathworks.com/help/matlab/ref/filter.html).


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on February 02, 2019, 02:16:51 am
Χρησιμοποίησε την filter (https://www.mathworks.com/help/matlab/ref/filter.html).

και το φιλτράρισμα στο λεβελ 1 πως το έκανε?  :P


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Apostolof on February 02, 2019, 13:17:58 pm
και το φιλτράρισμα στο λεβελ 1 πως το έκανε?  :P

¯\_(ツ)_/¯
Κάποιοι φίλοι πάντως στο level 1 κάναν το φιλτράρισμα με μία εξίσωση διαφορών που βρήκαν στο ιντερνετι.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: fibonacci on February 02, 2019, 15:48:55 pm
Γνωρίζουμε κάτι συγκεκριμένο για παράταση της ημερομηνίας παράδοσης ; Στο τελευταίο μάθηαμ είχε πει ότι θα δοθεί κάποια παράταση αλλά δεν είπε τίποτα συγκεκριμένο και μέχρι τώρα δεν έχει βγει κάποια ανακοίνωση .


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: chamezos on February 02, 2019, 18:26:09 pm
Καλησπέρα παιδιά, στο level 3 στην εκφώνηση δίνει έναν τύπο για το παράθυρο Hanning (εκφώνηση εργασίας, σελ 10, βήμα 2). Αυτός ο τύπος οδηγεί σε μή συμμετρικά παράθυρα, παρόμοια με τα LEFT SIN WINDOWS. Η MATLAB έχει συνάρτηση Ηann η οπόια χρησιμοποιεί ενα λίγο διαφορετικό τύπο που οδηγεί σε συμμετρικά παράθυρα. Εμείς θα πρέπει να χρησιμοποιήσουμε συμμετρικά ή μη παράθυρα?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Kthulu on February 02, 2019, 19:30:53 pm
Στη συνάρτηση filterbank στο Level 1, για frame τύπου ESH η έξοδος frameF πρεπει να βγαίνει όπως στην εικόνα που επισυνάπτω;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: feugatos_# on February 02, 2019, 19:44:22 pm
στο πδφ οριζει την itns έτσι: frameFout = iTNS(frameFin, frameType, TNScoeffs)
που σημαινει οτι η αντιστροφη τνς θα σου επιστρέφει τους κανονικοποιημένους mdct και όχι τους αρχικούς (τους έχει σαν όρισμα)
αν είναι να επιστρέφεις στους αρχικούς mdct,για ποιο λόγο να κάνεις noise shaping?
Πιθανότατα είναι λάθος στην εκφώνηση και κανονικά θέλει να παίρνει σαν όρισμα το frameFout και να δίνει σαν έξοδο το frameFin, αλλιώς δεν βγάζει νόημα...


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on February 02, 2019, 22:59:28 pm
Πιθανότατα είναι λάθος στην εκφώνηση και κανονικά θέλει να παίρνει σαν όρισμα το frameFout και να δίνει σαν έξοδο το frameFin, αλλιώς δεν βγάζει νόημα...

ναι ισχύει αυτό.το frameFin της iTNS είναι οι συντελεστές mdct αφού έχουν περαστεί από το φίλτρο ΗTNS και η έξοδος frameFout είναι το frameFin περασμένο από το φίλτρο 1 / ΗTNS, δλδ. οι αρχικοί συντελεστές.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Apostolof on February 03, 2019, 20:21:44 pm
Καλησπέρα παιδιά, στο level 3 στην εκφώνηση δίνει έναν τύπο για το παράθυρο Hanning (εκφώνηση εργασίας, σελ 10, βήμα 2). Αυτός ο τύπος οδηγεί σε μή συμμετρικά παράθυρα, παρόμοια με τα LEFT SIN WINDOWS. Η MATLAB έχει συνάρτηση Ηann η οπόια χρησιμοποιεί ενα λίγο διαφορετικό τύπο που οδηγεί σε συμμετρικά παράθυρα. Εμείς θα πρέπει να χρησιμοποιήσουμε συμμετρικά ή μη παράθυρα?

Νομίζω ότι η εκφώνηση έχει λάθος, το N δεν είναι το μήκος του παραθύρου (2048 ή 256) αλλά το μισό από αυτό. Στο αντίστοιχο σημείο στο πρότυπο, w2203tfa σελ. 95, γράφει:
Quote
For long FFT iblen = 1024, for short FFT iblen = 128.

Με αυτό το N, το παράθυρο βγαίνει συμμετρικό. Η συνάρτηση του Matlab βγάζει λίγο διαφορετικά νούμερα.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on February 03, 2019, 20:26:29 pm
Τί dB βγάζεις με τη διόρθωση? Εγώ με αυτά της εκφώνισης βγάζω 7.5 περίπου αλλά έχει αρκετή απόκλιση σχηματικά.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Apostolof on February 03, 2019, 20:37:35 pm
Τί dB βγάζεις με τη διόρθωση? Εγώ με αυτά της εκφώνισης βγάζω 7.5 περίπου αλλά έχει αρκετή απόκλιση σχηματικά.

Τώρα ξεκίνησα το level 3, ακόμα στο βήμα 2 είμαι :-\


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Kthulu on February 04, 2019, 13:04:40 pm
Στην iFilterbank πως θα ανακατασκευάσουμε το frameT στην περίπτωση του ESH ,θα βάλουμε τα 256 x 8 σε σειρά; ? Επίσης, και filterbank και στην iFilterbank Πολλαπλασιάζουμε με τους συντελεστές W ; Το λογικό δε θα ήταν να διαιρεούμε με το W στην iFilterBank?
Στην AACoder1 το WinType το βαζουμε οπως θελουμε εμείς αυθαίρετα;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: dimvasdim on February 04, 2019, 21:48:43 pm
Είπε τίποτα στο μάθημα ο Ντελόπουλος αν μπορούμε να παραδώσουμε εργασία τώρα και να δώσουμε γραπτά τον Σεπτέμβριο;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on February 04, 2019, 23:32:45 pm
Στην iFilterbank πως θα ανακατασκευάσουμε το frameT στην περίπτωση του ESH ,θα βάλουμε τα 256 x 8 σε σειρά; ? Επίσης, και filterbank και στην iFilterbank Πολλαπλασιάζουμε με τους συντελεστές W ; Το λογικό δε θα ήταν να διαιρεούμε με το W στην iFilterBank?
Στην AACoder1 το WinType το βαζουμε οπως θελουμε εμείς αυθαίρετα;
Τα short frames θα τα προσθέσεις όπου επικαλύπτονται όπως κάνεις και τα long frames, και την ακολουθία που θα σχηματιστεί θα τη βάλεις στη θέσει που πρέπει, τα πριν και μετά είναι κενά ή 0 ή ότι σε βολεύει.
Πολλαπλασιάζεις με το ίδιο παράθηρο W στην αποκωδικοποίηση όχι με το αντίστροφο, έτσι βγαίνει.
Τα wintype νομίζω θέλει να υλοποιήσουμε και τα δύο, απλά στον κωδικοποιητή θα χρησιμοποιείς ένα κάθε φορά, ή KBD για όλα ή SIN για όλα, όποιο θες μάλλον.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Apostolof on February 04, 2019, 23:54:17 pm
Με ποιο τύπο παραθύρων βγάζετε καλύτερο SNR; Με SIN βγάζω όσο λέει στο ethmmy αλλά με KBD είναι πιο χαμηλό, ~6dB πιο κάτω.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on February 05, 2019, 00:06:27 am
Με ποιο τύπο παραθύρων βγάζετε καλύτερο SNR; Με SIN βγάζω όσο λέει στο ethmmy αλλά με KBD είναι πιο χαμηλό, ~6dB πιο κάτω.
Κεγώ το ίδιο.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: feugatos_# on February 05, 2019, 01:32:47 am
Με ποιο τύπο παραθύρων βγάζετε καλύτερο SNR; Με SIN βγάζω όσο λέει στο ethmmy αλλά με KBD είναι πιο χαμηλό, ~6dB πιο κάτω.
Κι εγώ ακριβώς το ίδιο.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: fibonacci on February 05, 2019, 13:34:10 pm
Στο Level 2 τι μορφή έχουν οι τιμές των TNScoeffs ? Εγώ για παράδειγμα κρατάω για κάθε συντελεστής α ένα διάνυσμα 4bit και τελικά έναν πίνακα 4x4x8 για ESH και 4 x4 για Long frame και στην iTNS αντιστοιχώ κάθε 4bit στην αντίστοιχη βαθμίδα αποκβαντισμού πριν φιλτράρω με την αντίστροφη Ηtns. Βέβαια, στην εκφώνηση θέλει τους πίνακες TNScoeffs  να είναι διαστάσεων 4χ8 και 4χ1.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: nikoscha on February 07, 2019, 17:06:47 pm
Καλησπέρα παιδια , γνωρίζει καποιος που παραδίδουμε την εργασία;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on February 07, 2019, 20:37:36 pm
Καλησπέρα παιδια , γνωρίζει καποιος που παραδίδουμε την εργασία;
Τον είχα ρωτήσει και λέει στο ethmmy, απλά δε το έχει ανοίξει ακόμα.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: dimvasdim on February 08, 2019, 00:41:48 am
Στο λέβελ 2 που ζητάει να κάνουμε τον κβαντιστή με 4 bits πως είναι δυνατόν να πετύχουμε βήμα 0,1; Από όσο καταλαβαίνω τα 3 bits του κβαντιστή θα είναι ο αριθμός και το άλλο bit αποθηκεύει το πρόσημο. Έτσι από θεωρία με 3 bits μπορώ  να έχω διακριτική ικανότητα 1/2^3 επομένως 0,125 άρα συνολικά με 4 bits μπορώ να αναπαραστήσω τους εξής αριθμούς: -1, -0.875, -0.750, -0.625, -0.5, -0.375, -0.250, -0.125, 0,  0.125, 0.250, 0.375, 0.5, 0.625, 0.750, 0.875. Έχω φάει πόση ώρα πάνω σε αυτό και έχω καταλήξει στο ότι ή δεν γίνεται αυτό που ζητάει ή το βήμα 0,1 δεν σημαίνει ότι οι τιμές μας θα είναι πολλαπλάσια του 0,1. Μήπως έχει διευκρινίσει κανείς τι ακριβώς πρέπει να κάνουμε σε αυτό το σημείο; Χρησιμοποίησα τις συναρτήσεις της matlab dsp.UniformEncoder και dsp.UniformDecoder για να κάνω τον απαιτούμενο κβαντιστή αλλά αντιμετωπίζω το πρόβλημα που προείπα. Επίσης είδα ότι ο μεγαλύτερος συντελεστής που υπάρχει γενικά στα α είναι 1.42 που κάνει την κατάσταση ακόμα χειρότερη...  :-\ :-\ :-\


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on February 08, 2019, 01:43:25 am
Στο λέβελ 2 που ζητάει να κάνουμε τον κβαντιστή με 4 bits πως είναι δυνατόν να πετύχουμε βήμα 0,1; Από όσο καταλαβαίνω τα 3 bits του κβαντιστή θα είναι ο αριθμός και το άλλο bit αποθηκεύει το πρόσημο. Έτσι από θεωρία με 3 bits μπορώ  να έχω διακριτική ικανότητα 1/2^3 επομένως 0,125 άρα συνολικά με 4 bits μπορώ να αναπαραστήσω τους εξής αριθμούς: -1, -0.875, -0.750, -0.625, -0.5, -0.375, -0.250, -0.125, 0,  0.125, 0.250, 0.375, 0.5, 0.625, 0.750, 0.875. Έχω φάει πόση ώρα πάνω σε αυτό και έχω καταλήξει στο ότι ή δεν γίνεται αυτό που ζητάει ή το βήμα 0,1 δεν σημαίνει ότι οι τιμές μας θα είναι πολλαπλάσια του 0,1. Μήπως έχει διευκρινίσει κανείς τι ακριβώς πρέπει να κάνουμε σε αυτό το σημείο; Χρησιμοποίησα τις συναρτήσεις της matlab dsp.UniformEncoder και dsp.UniformDecoder για να κάνω τον απαιτούμενο κβαντιστή αλλά αντιμετωπίζω το πρόβλημα που προείπα. Επίσης είδα ότι ο μεγαλύτερος συντελεστής που υπάρχει γενικά στα α είναι 1.42 που κάνει την κατάσταση ακόμα χειρότερη...  :-\ :-\ :-\

πάρτο από την αρχή.θέλεις κβαντιστή με 4 bits, άρα θα έχεις 2^4=16 επίπεδα κβάντισης με βήμα 0.1 που σου δίνει από την εκφώνηση. το κάθε επίπεδο κβάντισης θα αναπαριστάται από μια ακολουθία 4 bit, την οποία διαλέγεις εσύ χωρίς να σε νοιάζει το πρόσημο κτλ. στη συνέχεια αντιστοιχίζεις κάθε lp συντελεστή a  στο κατάλληλο επίπεδο κβάντισης με βάση την τιμή του και σε μια τιμή εξόδου του κβαντιστή (δεκαδική τιμή,τσέκαρε παραδείγματα κβαντιστών στο ιντερνετ για να δεις πως προκύπτει αυτή η τιμή εξόδου από το βήμα που έχεις).

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


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: vag178 on February 08, 2019, 18:24:56 pm
Επειδή στο matlab δε μπορούμε να αποθηκεύσουμε 1bit ή 4bit για το struct στο 3 level θα πούμε στο τέλος θεωρητικά πόσο χώρο πιάνει το πρόγραμμα ή θα πρέπει να κάνουμε κάποιο κόλπο για να βρούμε την ίδια συμπίεση;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: transparent_Man on February 08, 2019, 23:16:15 pm
Για τα filterbanks, για winType διαλέγουμε αυθαίρετα αν θα παρουμε "KBD" η "sin"?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: geormich on February 08, 2019, 23:22:16 pm
Καλό ερώτημα..Και γω το ίδιο αναρωτιέμαι....
Μάλλον όμως αυθαίρετα το παίρνεις..Αλλιώς σκέφτηκα έναν τρόπο για το πώς προκύπτει(πολύ πολύπλοκο)αλλά δεν νομίζω ότι ζητάει αυτό....Όποιος θέλει το ανεβάζω όμως..(Σου λέει έναν τύπο KBD ή SIN και δεν το σπας....)


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: transparent_Man on February 09, 2019, 18:51:56 pm
Καλό ερώτημα..Και γω το ίδιο αναρωτιέμαι....
Μάλλον όμως αυθαίρετα το παίρνεις..Αλλιώς σκέφτηκα έναν τρόπο για το πώς προκύπτει(πολύ πολύπλοκο)αλλά δεν νομίζω ότι ζητάει αυτό....Όποιος θέλει το ανεβάζω όμως..(Σου λέει έναν τύπο KBD ή SIN και δεν το σπας....)

Kαι εγώ σε αυτό καταλήγω. Εχεις καμια ιδέα για το πως να φτιαξω το παραθυρο για τα ESH;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Kthulu on February 09, 2019, 19:07:55 pm
Στο level 2 στο TNS για να κβαντίσουμε τους συντελεστές  με 4 bits και με βήμα 0.1, θα ορίσουμε τα διαστήματα διαμέρισης ως εξής (-oo , -0.7] ,(-0.7 , -0.6] ,.... ,(0.6 , 0.7], (0.7 , +oo)  ;;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Haarp on February 09, 2019, 19:43:59 pm
Στο level 2 στο TNS για να κβαντίσουμε τους συντελεστές  με 4 bits και με βήμα 0.1, θα ορίσουμε τα διαστήματα διαμέρισης ως εξής (-oo , -0.7] ,(-0.7 , -0.6] ,.... ,(0.6 , 0.7], (0.7 , +oo)  ;;
Κι εμένα έτσι μου φαίνεται σωστό, με τη διαφορά πως σύμφωνα και με τη θεωρία το κλειστό διάστημα είναι απ'την αριστερή μεριά.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: malamasn on February 09, 2019, 23:33:22 pm
Στο level 3 μου βγαζει ενα error επειδη λεει το codebook ειναι 0. Ξερει κανεις πως το αντιμετωπιζουμε αυτο; Στο προτυπο λεει οτι μπορει να ειναι 0 αλλα η decode Huffman δνε μπορει να το δεχθει. Any ideas?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: allstarabey on February 10, 2019, 03:15:47 am
για το level-1

τρέχοντας για το Level 1 για παράθυρα sin
προκύπτει SNR = 12 db ιδιαιτερα χαμηλό,ενώ αντίστοιχα για ολα τα παραθυρα Ols Παίρνω SNR 307 db

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



Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Kthulu on February 10, 2019, 03:23:17 am
Έχεις υπολογίσει σωστά τα ημιτονοειδή παράθυρα; Εγώ έκανα λάθος και τα υπολόγιζα με n= 1: 128, ενώ πρέπει n = 0:127 . Από 40 dB πήγε κατευθείαν στα 307


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: allstarabey on February 10, 2019, 03:49:19 am
Έχεις υπολογίσει σωστά τα ημιτονοειδή παράθυρα; Εγώ έκανα λάθος και τα υπολόγιζα με n= 1: 128, ενώ πρέπει n = 0:127 . Από 40 dB πήγε κατευθείαν στα 307
νομιζω πως ναι
στα ανεβαζω για ενα τσεκ


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Kthulu on February 10, 2019, 15:40:02 pm
Κι εγώ έτσι το βγάζω


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Kthulu on February 10, 2019, 17:21:37 pm
Στο level 3 στο κομμάτι του ψυχοακουστικού μοντέλου στην περίπτωση ESH θα χρειαστούμε τα subframes του προηγούμενου frame. Αν όμως αυτό δεν είναι ESH τι κάνουμε; χωρίζουμε σε subframes μέσα στη συνάρτηση;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on February 13, 2019, 23:48:25 pm
Στο level 3 στο κομμάτι του ψυχοακουστικού μοντέλου στην περίπτωση ESH θα χρειαστούμε τα subframes του προηγούμενου frame. Αν όμως αυτό δεν είναι ESH τι κάνουμε; χωρίζουμε σε subframes μέσα στη συνάρτηση;

έχει κάποιος απάντηση για αυτο;

προφανώς τα προηγούμενα frames από ένα ESH θα είναι long, η ερώτηση είναι αν θα κρατάμε τα προηγούμενα ESH από αυτό ή αν θα πρέπει να χωρίσουμε τα προηγούμενα long frames σε 256x8 subframes για να συνεχίσουμε.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Cern O' Bill on February 14, 2019, 13:18:45 pm
level1 : εγώ βγάλω τα errors της εικόνας (input - iMDCT) και τα SNR μου είναι <14.2 dB (χρησιμοποιώ SNRl = snr(y(:,1),y(:,1)-iMDCT(:,1))). Αν παίξω το iMDCT με fs θα μου βγάλει το ίδιο με το .wav της εισόδου. Έχετε καμία ιδέα γιατί βγάζω τόσο χαμηλό SNR? (τα διαγράμματα είναι με KBD)


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: reservoir dog on February 15, 2019, 07:59:36 am
Πώς εξασφαλίζουμε πως μετά τον imdct θα πολλαπλασιαστουν τα frames με τον ιδιο συντελεστη? Δημιουργουμε νεα windows?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: manoulia on February 16, 2019, 15:44:05 pm
Γενικά πειράζει αν έχουμε χαμηλό SNR (45 db) αν ο ήχος ακούγεται ακριβώς ίδιος;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: allstarabey on February 16, 2019, 19:15:16 pm
level1 : εγώ βγάλω τα errors της εικόνας (input - iMDCT) και τα SNR μου είναι <14.2 dB (χρησιμοποιώ SNRl = snr(y(:,1),y(:,1)-iMDCT(:,1))). Αν παίξω το iMDCT με fs θα μου βγάλει το ίδιο με το .wav της εισόδου. Έχετε καμία ιδέα γιατί βγάζω τόσο χαμηλό SNR? (τα διαγράμματα είναι με KBD)

Έχεις λογικά λάθος στα ESH
Οταν βρεις ενα τετοιου τύπου ακόλουθα σταδιακά τι κάνει για να το βρεις.
Λογικά κάνεις λάθος σε κάποιο πολλασιασμο με πίνακες.
Ομοιοπαθης εδω
Αντι για subframe(k,:) έγραφα subframe(k)
Ηταν αριθμός οπότε δεν πετούσε error. :(


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: allstarabey on February 16, 2019, 19:16:32 pm
Πώς εξασφαλίζουμε πως μετά τον imdct θα πολλαπλασιαστουν τα frames με τον ιδιο συντελεστη? Δημιουργουμε νεα windows?
[/quote 
Εινακ τα ίδια παράθυρα με πριν είτε τα ξανά υπολογίζεις εοτε τα κάνεις να ειναι global την πρωτη φορά.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: allstarabey on February 16, 2019, 19:18:33 pm
Γενικά πειράζει αν έχουμε χαμηλό SNR (45 db) αν ο ήχος ακούγεται ακριβώς ίδιος;

Αν έχεις τόσο χαμηλό snr δεν είναι ο ίδιος ήχος


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: dimvasdim on February 16, 2019, 20:04:07 pm
Στο level 3 στην συνάρτηση psycho είχε κανείς άλλος θέμα με τον δείκτη τονικότητας δηλαδή το tb να έχει τιμές εκτός του διαστήματος (0, 1);


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on February 16, 2019, 20:07:13 pm
Στο level 3 στην συνάρτηση psycho είχε κανείς άλλος θέμα με τον δείκτη τονικότητας δηλαδή το tb να έχει τιμές εκτός του διαστήματος (0, 1);

εγώ έχω ακόμα αυτό το θέμα. παίρνω τιμές στο (-1,1).


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: dimvasdim on February 16, 2019, 20:24:11 pm
Μήπως εν τέλει εννοεί να κρατήσουμε μόνο τις τιμές που είναι σε αυτά τα όρια και να μηδενίσουμε τις αρνητικές τιμές;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Apostolof on February 16, 2019, 20:26:08 pm
Νομίζω εννοεί ότι εσύ το περιορίζεις σε αυτό το εύρος.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on February 16, 2019, 20:41:39 pm
Το bitrate του συμπιεσμένου αρχείου πως το υπολογίσατε?


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on February 16, 2019, 20:57:50 pm
Το bitrate του συμπιεσμένου αρχείου πως το υπολογίσατε?

χρησιμοποίησε την audioinfo(). σου δίνει ένα struct, το οποίο περιέχει τα συνολικά samples και τη διάρκεια του αρχείου. βρες από τα samples τα συνολικά bits και διαίρεσε τα με τη διάρκεια του αρχείου.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on February 16, 2019, 21:01:58 pm
χρησιμοποίησε την audioinfo(). σου δίνει ένα struct, το οποίο περιέχει τα συνολικά samples και τη διάρκεια του αρχείου. βρες από τα samples τα συνολικά bits και διαίρεσε τα με τη διάρκεια του αρχείου.
πως θα το χρησιμοποιήσεις αυτό για το .mat που έχεις αποθηκεύσει το αρχείο??


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Apostolof on February 16, 2019, 21:06:00 pm
Το bitrate του συμπιεσμένου αρχείου πως το υπολογίσατε?

Υπολογίζω το συνολικό μέγεθος του συμπιεσμένου, βάζοντας 4 bits για κάθε TNS coefficient, 2 bits για το window type κλπ. Μετά το διαιρώ με τη διάρκεια.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: ytsejam on February 16, 2019, 21:18:46 pm
Η kaiser της Matlab ορίζεται με Ν/2 ενώ στην εκφώνηση αναφέρεται με Ν/4. Ποια από τις δύο εκδοχές παίρνουμε??


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on February 16, 2019, 21:31:23 pm
πως θα το χρησιμοποιήσεις αυτό για το .mat που έχεις αποθηκεύσει το αρχείο??

το .mat είναι το κωδικοποιημένο, αν εννοείς το fnameAACoded.mat που θέλει να δημιουργείς.
το bitrate αναφέρεται στο αποκωδικοποιημένο.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on February 16, 2019, 21:38:27 pm
Η kaiser της Matlab ορίζεται με Ν/2 ενώ στην εκφώνηση αναφέρεται με Ν/4. Ποια από τις δύο εκδοχές παίρνουμε??
Το ίδιο είναι, αυτή στην εκφώνιση έχει Ν/2 όριο γι'αυτό είναι έτσι. Πάρε την έτοιμη της matlab kaiser(), δε χρειάζεται να βρεις το κάθε σημείο του παραθύρου με τον τύπο.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on February 16, 2019, 21:58:43 pm
επίσης 2 πράγματα για το τρίτο λέβελ:

1) στην psycho(), όταν εισάγουμε το πρώτο frame, τι δηλώνουμε ως prevframeT1 και prevframeT2? δοκίμασα να βάλω το πρώτο frame ως prevframeT1 και prevframeT2, αλλά απειρίζονται κάποιοι υπολογισμοί μέσα στην psycho(). από την άλλη,αν ξεκινήσουμε από το τρίτο frame (άρα προηγούμενο θα είναι το δεύτερο frame και πιο προηγούμενο το πρώτο frame) , δεν θα κωδικοποιούμε καν τα πρώτα 2 frames.

2)όταν από ένα long frame φτάνουμε σε ένα short frame (και το αντίστροφο), ποιο παράθυρο θα εφαρμόσουμε στο προηγούμενο frame? για παράδειγμα, αν το τρέχον frame είναι short, θα μετατρέψουμε το προηγούμενο long frame σε 256x8 subframes και θα του εφαρμόσουμε παράθυρο με Ν=256  ή θα του εφαρμόσουμε παράθυρο με Ν=2048?

(αντίστοιχα όταν το τρέχον είναι long και το προηγούμενο short, θα μετατρέπουμε το short σε 2048x1 και θα περνάει από Hann 2048 ή 256?)


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Apostolof on February 16, 2019, 22:02:27 pm
επίσης 2 πράγματα για το τρίτο λέβελ:

1) στην psycho(), όταν εισάγουμε το πρώτο frame, τι δηλώνουμε ως prevframeT1 και prevframeT2? δοκίμασα να βάλω το πρώτο frame ως prevframeT1 και prevframeT2, αλλά απειρίζονται κάποιοι υπολογισμοί μέσα στην psycho(). από την άλλη,αν ξεκινήσουμε από το τρίτο frame (άρα προηγούμενο θα είναι το δεύτερο frame και πιο προηγούμενο το πρώτο frame) , δεν θα κωδικοποιούμε καν τα πρώτα 2 frames.

2)όταν από ένα long frame φτάνουμε σε ένα short frame (και το αντίστροφο), ποιο παράθυρο θα εφαρμόσουμε στο προηγούμενο frame? για παράδειγμα, αν το τρέχον frame είναι short, θα μετατρέψουμε το προηγούμενο long frame σε 256x8 subframes και θα του εφαρμόσουμε παράθυρο με Ν=256  ή θα του εφαρμόσουμε παράθυρο με Ν=2048?

(αντίστοιχα όταν το τρέχον είναι long και το προηγούμενο short, θα μετατρέπουμε το short σε 2048x1 και θα περνάει από Hann 2048 ή 256?)

Για το 1, βάζω μηδενικά.
Το 2 τώρα που το λες είναι καλή απορία. Δε το είχα σκεφτεί καν.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: mpraskafoutas on February 16, 2019, 22:04:05 pm
Για το 1, βάζω μηδενικά.
Το 2 τώρα που το λες είναι καλή απορία. Δε το είχα σκεφτεί καν.

και με μηδενικά δεν απειρίζονται πράγματα;βάλε breakpoints μέσα στην psycho και θα δεις ότι κάποιες μεταβλητές είναι NaN και Inf,τουλάχιστον για το πρώτο frame σίγουρα.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Apostolof on February 16, 2019, 22:13:05 pm
και με μηδενικά δεν απειρίζονται πράγματα;βάλε breakpoints μέσα στην psycho και θα δεις ότι κάποιες μεταβλητές είναι NaN και Inf,τουλάχιστον για το πρώτο frame σίγουρα.

Δε βγάζω πουθενά Nan, ούτε Inf. Τσέκαρε τις πράξεις σου.

Τις mdct και imdct που παίρνουμε από το site, τις έχετε σε ξεχωριστά αρχεία-συναρτήσεις ή τις έχετε βάλει μέσα στα αρχεία όπου χρειάζονται;


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: Argirios on February 17, 2019, 00:15:50 am
Δε βγάζω πουθενά Nan, ούτε Inf. Τσέκαρε τις πράξεις σου.

Τις mdct και imdct που παίρνουμε από το site, τις έχετε σε ξεχωριστά αρχεία-συναρτήσεις ή τις έχετε βάλει μέσα στα αρχεία όπου χρειάζονται;
Εγώ σε ξεχωριστά τις έβαλα όπως τις είχε στο σάιτ.


Title: Re: [Πολυμέσα] Εργασία 2018/2019
Post by: marios9895 on February 17, 2019, 03:26:47 am
Ξερει κανεις πάνω κάτω τι πρέπει να βάλουμε στο report?