Περίληψη |
Τη τελευταία δεκαετία έχει γίνει αρκετή έρευνα σχετικά με την καταγραφή και την αναπαραγωγή εικονικού ήχου. Ωστόσο, δεν υπάρχει ένα πλήρες τηλεπικοινωνιακό σύστημα που να υποστηρίζει τη λειτουργία εικονικού ήχου σε πραγματικό χρόνο. Στην εργασία αυτή, υαλοποιούμε το ImmACS, ένα ολοκληρωμένο τηλεπικοινωνιακό σύστημα το οποίο επιτρέπει τη καταγραφή και την αναπαραγωγή εικονικού ήχου υψηλής ευκρίνειας σε πραγματικό χρόνο. Το σύστημα μας βασίζεται σε μια εύρωστη τεχνική με χαμηλό υπολογιστικό κόστος, που χρησιμοποιεί μία κυκλική συστοιχία μικροφώνων για την καταγραφή του ήχου, και ακουστικά ή ηχεία για την αναπαραγωγή. Οι κυκλικές συστοιχίες μικροφώνων δεν έχουν τις εγγενείς ασάφειες των γραμμικών συστοιχιών και προσφέρουν εκτιμήσεις στο πλήρες κυκλικό εύρος [0°, 360°) στο δισδιάστατο χώρο. Το μοντέλο επικοινωνίας υποστηρίζει πολλαπλούς, ταυτόχρονα ενεργούς χρήστες, που μπορούν να στέλνουν και να λαμβάνουν εικονικό ήχο. Για την διανομή των ροών πληροφορίας χρειάζεται η μεσολάβηση ενός διακομιστή. Η ροή εικονικού ήχου αποτελείται από ένα κανάλι, συνοδευόμενο από χωρικά δεδομένα, τα οποία εισάγουμε στο κάθε πακέτο ως επιπρόσθετη πληροφορία. Υποστηρίζεται επίσης προαιρετικά και η επικοινωνία μέσω βίντεο.
Υλοποιούμε το Immacssip, το λογισμικό του χρήστη, τροποποιώντας το Baresip, μια εφαρμογή ανοιχτού κώδικα για VoIP κλήσεις. Υλοποιούμε όλες τις λειτουργίες για τον εικονικό ήχο στη βιβλιοθήκη Libimmacs, την οποία σχεδιάσαμε για ευελι¬ξία και μέγιστη απόδοση σε πραγματικό χρόνο. Ενσωματώνουμε την βιβλιοθήκη στο Baresip και τροποποιούμε την διεπαφή του ανάλογα. Επιπρόσθετα, αλλάζουμε το Baresip ώστε να μπορεί να λαμβάνει πολλαπλές ροές δεδομένων ανά κλήση, ώστε να είναι δυνατή η διαχείρηση της ροής του κάθε χρήστη ξεχωριστά. Τέλος, υλοποιο¬ύμε την αποκωδικοποίηση των ροών παράλληλα, για να αυξήσουμε την απόδοση στα συστήματα πολλαπλών επεξεργαστών.
Ο Bareserver είναι ο διακομιστής του ImmACS και βασίζεται επίσης στο Baresip. Ο κάθε χρήστης συνδέεται στο διακομιστή άμεσα, εκμεταλευόμενος την ήδη υπάρχου¬σα υποστήριξη του Baresip για αυτό. Ωστόσο, απενεργοποιήσαμε την αποστολή των τοπικών ροών στο διακομιστή, και τον τροποποίησαμε ώστε μόνο να μεταβιβάζει τα πακέτα μεταξύ των χρηστών που είναι συνδεδεμένοι στον ίδιο λογαριασμό. Τα πακέτα αναμεταδίδονται απείραχτα, χωρίς να υλοποιείται κάποια μετατροπή ή μίξη, καθιστών¬τας τη παρουσία του διακομιστή ανεπαίσθητη στην όλη επικοινωνία. Επιπρόσθετα, παραλληλοποιούμε την αναμετάδοση των πακέτων για να πετύχουμε μεγαλύτερη α¬πόδοση στα συστήματα πολλαπλών επεξεργαστών.
Διευκολύνουμε την διαχείρηση των ροών ήχου, υλοποιώντας το ImmACS Con¬trol, μια ευέλικτη γραφική διεπαφή. Η διεπαφή είναι μια αυτόνομη εφαρμογή και επι¬κοινωνεί με τη κύρια εφαρμογή μέσω δικτύου. Επιτρέπει την παρακολούθηση και την προσαρμογή, σε πραγματικό χρόνο, της κατεύθυνσης και της έντασης των ηχητικών πηγών. Όλη η επεξεργασία σήματος πραγματοποιείται στη εφαρμογή χρήστη, ενώ η διεπαφή προσφέρει μόνο μετα-δεδομένα που περιγράφουν τα ηχητικά φίλτρα.
Τέλος, για να απλοποιήσουμε τις δοκιμές του συστήματος, επιτρέπουμε την φόρ¬τωση και την αναπαραγωγή ήχου από και προς αρχεία στο δίσκο σε πραγματικό χρόνo.
Έτσι μπορεί εύκολα να στηθεί ένα πλήρως ελεγχόμενο πειραματικό περιβάλλον, χω¬ρίς να χρειάζεται κάποια εξωτερική συσκευή. Στη ίδια βάση, προσφέρουμε μια ειδική λειτουργία όπου ο διακομιστής αναμεταδίδει τα πακέτα πίσω στους αποστολείς τους.
|