Συμπιεσμένος
Ηχος: Χρησιμοποιώντας τo ΜP3 και άλλoυς Perceptual
Codecs |
1. Eισαγωγή: Γιατί θέλουμε να συμπιέσουμε
τον ψηφιακό ήχο; 2. Οι
πρώτες προσπάθειες: PASC, ATRAC, MPEG-1 Layer
II/ΙΙΙ 3. MPEG-1 Layer III (MP3): Οι τεχνικές
κωδικοποίησης κατά MP3 και MP3Plus 4. Aλλοι Codecs: MPEG-2 AAC, MPEG-4 AAC,
WMA, Ogg Vorbis, FLAC 5.
Στην Πράξη: Κωδικοποίηση/Δημιουργία αρχείων ΜP3
(Ripping/Encoding) 6.
Στην Πράξη: Aναπαραγωγή αρχείων MP3 (Playback) 7. Links |
|
AAC Ο Codec ΑΑC
(Αdvanced Audio Codec) παρουσιάστηκε για πρώτη φορά το 1997 και
χρησιμοποιεί, όπως και ο MP3 το ψυχοακουστικό μοντέλο της
επικάλυψης. Στον τομέα της επεξεργασίας χρησιμοποιεί επίσης
τον MDCT αλλά χωρίς την τράπεζα φίλτρων, καθώς επίσης και την
κωδικοποίηση Huffman. Οι διαφορές του με τον MP3
βρίσκονται σε δύο διαφορετικά εργαλεία: Το Linear Predictive
Coding, μια μαθηματική διαδικασία πρόβλεψης της εξέλιξης
του σήματος στο πεδίο της συχνότητας, εξαγωγής ενός σφάλματος (στα
σημεία που η πρόβλεψη δεν συμφωνεί με τις πραγματικές τιμές) και
κωδικοποίησης του σφάλματος αυτού, τεχνική η οποία αρχικά
χρησιμοποιήθηκε σε συστήματα μετάδοσης φωνής όπως η κινητή τηλεφωνία
GSM, και την Χρονικά Μεταβαλόμενη Μορφοποίηση Θορύβου
(Temporal Noise Shaping, TNS) η οποία με βάση την μορφή του
σήματος στο πεδίο της συχνότητας, μεταβάλει την κατανομή του θορύβου
κβάντισης που προκύπτει από την κωδικοποίηση με τον βέλτιστο τρόπο,
έτσι ώστε αυτή να παραμένει πάντοτε κάτω από την στάθμη του
κατωφλίου ακουστότητας (όπως αυτό ορίζεται κάθε στιγμή με βάση τις
καμπύλες Fletcher/Munson. Ο codec ΑΑC προσφέρει καλύτερη
απόδοση από τον MP3, (96kbps AAC αντιστοιχούν στην ποιότητα των
128kbps ΜP3) μπορεί να δεχτεί προς κωδικοποίηση σήματα μέχρι 96kHz,
και προσφέρει καλύτερη διαχείριση των σημάτων στην περίπτωση
που επιλογή η τεχνική Joint Stereo. Το 2003 παρουσιάστηκε η
έκδοση του AAC συμβατή με τις προδιαγραφές MPEG-4. Ο Codec
έγινε γνωστός ως MPEG-4 AAC και λίγο αργότερα
διάσημος, όταν η Apple αποφάσισε να τον χρησιμοποιήσει για το
iTunes. Η πλέον διαδεδομένη εκδοχή του είναι η HE
AAC (Ηigh Efficiency ΑΑC) πιο γνωστή και με το εμπορικό
όνομα aacPlus (της Coding Technologies). Η
έκδοση v1 του codec είναι ένα συνδυασμός AAC και
SBR ενώ η έκδοση v2 περιλαμβάνει και την τεχνική
Parametric Stereo η οποία μεταφέρει κωδικοποιημένη
την βασική πληροφορία του σήματος σε ένα κανάλι και μία σειρά από
παραμέτρους που περιγράφουν την στερεοφωνική εικόνα σε ένα κανάλι με
bitrate 3kbps (side channel). Oι παράμετροι του PS είναι η Panorama
(PAN) η οποία αφορά στις διαφορές μεταξύ των δύο καναλιών (L,R) και
η Stereo Ambience (SA) η οποία αφορά στις αντηχήσεις της
στερεοφωνικής εικόνας. Mία άλλη εκδοχή του MPEG-2 AAC είναι το
AAC SSR (Scalable Sample Rate) το οποίο ανέπτυξε η
Sony, πλησιάζει αρκετά το ATRAC-3 και έχει γίνει αποδεκτό από την
προδιαγραφή MPEG-4. Το AAC SSR που χρησιμοποιεί τον συνδυασμό
τράπεζας φίλτρων τεσσάρων περιοχών και MDCT, έχει την φήμη ότι είναι
καλό σε χαμηλά bitrates (που φθάνουν τα 24kbps). |
|
To διάγραμμα βαθμίδων του κωδικοποιητή
AAC (πηγή: Fraunhofer IIS) |
|
O τρόπος λειτουργίας της τεχνικής
Parametric Stereo (πηγή: Coding
Technologies) | |
WMA Με δεδομένη την
τάση μεταφοράς, αποθήκευσης και χρήσης ακουστικού υλικού υπό την
μορφή απωλεστικώς συμπιεσμένων αρχείων μέσω ηλεκτρονικών
υπολογιστών, ο μεγαλύτερος κατασκευαστής λειτουργικών συστημάτων δεν
μπορούσε, βεβαίως να μείνει έξω από το παιχνίδι. Ο codec
WMA (Windows Media Audio) είναι ο proprietary codec
των Windows ο οποίος χρησμοποιείται από την αντίστοιχη εφαρμογή
(Windows Media Player) και αρχικώς προσέφερε παρόμοιες δυνατότητες
με τον MP3, αλλά σε πολλές περιπτώσεις με καλύτερη ποιότητα. Ως
προιόν της Μicrosoft δίνει ιδιαίτερη έμφαση στην ψηφιακή διαχείριση
των πνευματικών δικαιωμάτων (DRM) και συνοδεύεται από τις γνωστές
μονομανίες και ιδιαιτερότητες των προιόντων της εταιρίας -που
συνήθως εκνευρίζουν του σκληροπυρηνικούς χρήστες... Με την πρόσφατη
έκδοσή του (9.1) είναι συμβατός με την προδιαγραφή ΜPEG-4
προσφέροντας την δυνατότητα και για μή-απωλεστική συμπίεση καθώς και
για πολυκαναλικό ήχο. |
Οgg Vorbis Ο codec
Οgg Vorbis έχει αναπτυχθεί γύρω από το πρότυπο αρχείων
Ogg (του xiph.org) και βασίζεται στην open source
εφαρμογή απωλεστικής συμπίεσης με την ονομασία
Vorbis. (η περίεργη αυτή σύνθετη ονομασία αντανακλά
τη δομή του συστήματος: Format αρχείου [Οgg] - κωδικοποίηση
[Vorbis], υπάρχει και η εκδοχή Ogg Flac, μη απωλεστικού codec). O
Ogg Vorbis χρησιμοποιεί ΜDCT για τον μετασχηματισμό του σήματος από
το πεδίο του χρόνου στο πεδίο της συχνότητας και μία εναλλακτική
μέθοδο επεξεργασίας του φάσματος, κατά την οποία, κωδικοποιήται με
λίγα ψηφία το φάσμα βάσης του οποίου η κατανομή είναι σχετικώς ομαλή
(floor encoding) και με περισσότερα ψηφία το
απομένον φάσμα του οποίου η δομή και η χρονική εξέλιξη είναι
περισσότερο πολύπλοκη (residue encoding). Ο
Οgg Vorbis χρησιμοποιεί επίσης εντροπική κωδικοποίηση και
υποστηρίζει μεταβλητό bitrate ανάλογα με τις ανάγκες του
σήματος. Το πλεονέκτημα του συγκεκριμένου codec ότι προσφέρει
καλή ποιότητα και είναι ελεύθερος δικαιωμάτων, μπορεί δηλαδή να
χρησιμοποιηθεί από κατασκευαστές συσκευών και χρήστες χωρίς κόστος,
ενώ το γεγονός ότι όλοι έχουν πρόσβαση στον πηγαίο κώδικά επιτρέπει
την συλλογική του ανάπτυξη. |
|
Το διάγραμμα
βαθμίδων του κωδικοποιητή Ogg Vorbis. Η κωδικοποίηση του
φάσμταος βάσης και του απομένοντος φάσματος, καθώς επίσης και
η εντροπική κωδικοποίηση χρησιμοποιούν παραμέτρους που
μεταφέρονται μαζί με το σήμα
(codebooks) | |
MP3 Surround To MP3
Surround παρουσιάστηκε από το Fraunhofer IIS to 2004 και αποτελεί
μία επέκταση του MP3. Βασίζεται στην τεχνολογία
Binaural Cue Coding της Agere η οποία επιτρέπει την
μείξη σημάτων από πολλά κανάλια σε δύο (downmix) για την δημιουργία
ενός σήματος συμβατού με τον απλό MP3 codec ενώ κωδικοποιεί μία
σειρά από παραμέτρους που περιγράφουν πλήρως το ηχητικό πεδίο
surround (side channel), τις οποίες επίσης θέτει στην διάθεση του
codec ο οποίος, αν είναι MP3 Surround, μπορεί να τις αξιοποιήσει και
να δημιουργήσει και πάλι το πολυκαναλικό σήμα. Οι παράμετροι αυτοί
είναι οι χρονικές διαφορές μεταξύ των καναλιών (Inter-Channel Time
Difference -ICTD), οι διαφορές στάθμης μεταξύ των
καναλιών (Inter-Channel Level Difference
-ICLD), και η συσχέτιση μεταξύ των καναλιών
(Inter-Channel Coherence -ΙCC). |
Tελευταίος, Αλλα όχι Εσχατος: Ο
FLAC Ο FLAC (Free Lossless Audio Codec) είναι ίσως ο
σημαντικότερος μη απωλεστικός codec στον οποίο έχει
εύκολη πρόσβαση τόσο ο χρήστης όσο και οι κατασκευαστές. Είναι open
source, και δίνει ιδιαίτερη έμφαση στην ενσωμάτωση
μεταδεδομένων (metadata, δηλαδή πληροφορίες που αφορούν στο
περιεχόμενο του υπό κωδικοποίηση σήματος, ώστε να είναι στην
συνέχεια εύκολη η αρχειοθέτηση, η αναζήτηση και η ανάκτησή του,
γεγονός που τον κάνει ιδιαίτερα συμπαθή codec στους σχεδιαστές
μεγάλων audio servers). Ο FLAC χρησιμοποιεί
μεταβλητό μήκος block (της ομάδας των δεδομένων που
επεξεργάζεται σε κάθε χρονική στιγμή) από 16 έως 65535 δείγματα, μία
προχωρημένη τεχνική διαχείρισης των καναλιών που
προσομοιάζει το Joint Stereo αλλά μπορεί να λειτουργήσει σε
τέσσερεις ρυθμούς (Μid/Side, Left/Side, Right/Side, Independent,
ανάλογα με την μορφή και τις ανάγκες του σήματος), καθώς επίσης και
μία πολύ πιο ευέλικτη τεχνική πρόβλεψης σε σχέση με
τον ΑAC η οποία περιλαμβάνει μηδενική πρόβλεψη/συμπίεση
(Verbatim, όταν δεν υπάρχει σήμα), σταθερή πρόβλεψη (Constant, για
σταθερές τιμές σήματος, όπως το dc), σταθερή LPC (παρόμοια με αυτήν
που χρησιμοποιήται από τον AAC) και LPC με την χρήση ψηφιακού
φίλτρου FIR 32ης τάξης. Οπως και στην περίπτωση του AAC
ο codec κωδικοποιεί το σφάλμα (error, residue) που
απομένει όταν από τις πραγματικές τιμές του σήματος αφαιρέσουμε
αυτές που προκύπτουν από την πρόβλεψη. Αφού ο τρόπος της
πρόβλεψης είναι σταθερός και γνωστός από το player, το μόνο που
χρειάζεται είναι να γνωρίζουμε τις διαφορές αυτές. |
|
Στην τεχνική
LPC (Linear Prediction Coding) η τιμή του σήματος μπορεί να
προβλεφθεί με βάση τις τιμές p προηγούμενων
δειγμάτων... |
|
...και η
διαφορά της τιμής που προβλέπεται με την πραγματική τιμή του
σήματος e(n) είναι το σφάλμα το οποίο και
κωδικοποιήται. | |
| |