3.4.6 Χρήσιμοι μετασχηματισμοί για αλγόριθμους συμπίεσης
Τα δεδομένα εισόδου μπορούν να μετασχηματιστούν με αρκετούς τρόπους προκειμένου να γίνει πιο εύκολη η εφαρμογή των τεχνικών συμπίεσης. Ο πιο συνηθισμένος μετασχηματισμός στις σημερινές τεχνικές είναι ο Διακριτός Συνημιτονικός Μετασχηματισμός (Discrete Cosine Transform). Αυτός είναι μια παραλλαγή του διακριτού μετασχηματισμού Fourier.
Όπως έχει αναφερθεί, κάθε σήμα είτε είναι ήχος είτε είναι βίντεο μπορεί να θεωρηθεί μια περιοδική κυματομορφή. Αν σκεφτούμε ότι μια ακολουθία ήχων είναι διαμόρφωση ενός ηχητικού κύματος, αντίστοιχα η σάρωση μιας εικόνας από την κάμερα αποδίδει ένα κύμα το οποίο έχει περιοδική μορφή στο πεδίο του χρόνου. Είναι δυνατόν να μετασχηματίσουμε το αρχικό σήμα από το πεδίο του χρόνου σε μία συνάρτηση Fourier, η οποία θα είναι το άθροισμα ενός αριθμού περιόδων, και η κάθε μία περίοδος θα είναι μια συγκεκριμένη συχνότητα ή μήκος κύματος. Μπορούμε να θεωρήσουμε αυτούς τους συντελεστές σαν την συμβολή σε έναν αριθμό καθαρών ημιτονοειδών συχνοτήτων (γνωστό και ως πυκνότητα φάσματος), που συνδυαζόμενοι αποδίδουν το πραγματικό σήμα.
![]()
![]()
Η ημιτονική κυματομορφή φαίνεται στο παρακάτω σχήμα.
![]()
Στην επόμενη γραφική παράσταση παρουσιάζεται ένα σετ ημιτονικών κυματομορφών (x,2x,3x κ.ο.κ.)
![]()
![]()
Μπορεί να φανταστεί κανείς τις αρμονικές να σαρώνουν ένα τυπικό σήμα ήχου όπως αυτό που φαίνεται στην εικόνα που ακολουθεί και να εξάγουν ένα φάσμα όπως αυτό που φαίνεται στο παρακάτω σχήμα ή ένα σετ συντελεστών που απεικονίζουν την συμβολή της κάθε συχνότητας στο συγκεκριμένο τμήμα του σήματος.
![]()
![]()
![]()
Οι τεχνικές συμπίεσης φωνής εκμεταλλεύονται τις ιδιότητες των σημάτων φωνής. Στο πεδίο του χρόνου μπορούμε να δούμε ότι υπάρχει μεγάλη ομοιότητα μεταξύ δειγμάτων συνεχόμενης ομιλίας. Αυτό σημαίνει ότι ένα σύστημα το οποίο μόνο στέλνει διαφορές μεταξύ δειγματοληπτικών τιμών θα πετύχει μια μερική συμπίεση (η τεχνική DPCM κατορθώνει και γλυτώνει 1bit σε σχέση με το καθαρό PCM πρωτόκολλο).
Μπορούμε να δούμε ότι υπάρχουν πολύ περισσότερες τιμές σε δείγματα χαμηλής έντασης από ότι στα δείγματα με υψηλή ένταση. Αυτό σημαίνει ότι θα μπορούσαμε να χρησιμοποιήσουμε περισσότερα bit για να αναπαραστήσουμε τις χαμηλές τιμές από ότι για να αναπαραστήσουμε τις υψηλές. Μπορούμε να χρησιμοποιήσουμε την τεχνική ADPCM (Adaptive Differential Pulse Code Modulation) η οποία επιτυγχάνει μέχρι και 50% την συμπίεση σε σχέση με την απλή PCM χωρίς καμία προφανή απώλεια στην ποιότητα του ήχου, και είναι και σχετικά φτηνή στην εφαρμογή της.
Μια πιο έξυπνη τεχνική συμπίεσης στηρίζεται σε δύο παράγοντες: μία εκτίμηση του “μοντέλου” της ομιλίας και του “μοντέλου” του ακροατή. Τέτοιες τεχνικές συνήθως αναγνωρίζουν την ομιλία και παράγουν ένα σετ φίλτρων τα οποία εκπέμπονται στον δέκτη (ακροατή) και χρησιμοποιούνται για να επανακατασκευάσουν τον ήχο στην πλευρά του δέκτη χρησιμοποιώντας πηγή μίας μόνο συχνότητας και ένα offset “λευκού” θορύβου. Παραδείγματα CODEC που βασίζονται σε αυτή την τεχνική είναι τα LPC και τα CELP. Αν στα παραπάνω προσθέσουμε και ένα μοντέλο το οποίο μας δείχνει το πως αντιλαμβάνονται οι άνθρωποι τον ήχο μας οδηγεί σε μία πιο ακριβή αλλά σαφώς πολύ αποδοτική μέθοδο συμπίεσης σαν αυτή που χρησιμοποιείται στα CODEC που βασίζονται στην MPEG τεχνική.
Στο πεδίο των διακριτών συνημίτονων μπορούμε να αντικαταστήσουμε το sin(ωt) + jcos(ωt) απλά με το cos(t), και τα ολοκληρώματα γίνονται αθροίσματα. Ο χρόνος t απλά παραπέμπει σε ένα σημείο στο συνολικό ψηφιακό δείγμα (για μια εικόνα). Φυσικά μία εικόνα είναι δύο διαστάσεων πράγμα που σημαίνει ότι πρέπει να κάνουμε τις μετατροπές για δύο χωρικές συντεταγμένες, αντί για μία χρονική συντεταγμένη.
Έτσι λοιπόν προκειμένου να μετατρέψουμε ένα μπλοκ δεδομένων εικόνας της τάξης 8x8 pixels στο πεδίο της συχνότητας εφαρμόζουμε το εξής:
![]()
Ας δούμε όμως πως δουλεύει αυτή η σχέση στην πράξη. Στο παρακάτω σχήμα μπορούμε να δούμε ορισμένες τεχνητές εικόνες και τους μετασχηματισμούς τους.
Στον μετασχηματισμό, μπορούμε να δούμε πως φαίνεται η εικόνα που δώσαμε ως είσοδο. Για παράδειγμα η κάτω αριστερή γωνία του DCT αντιπροσωπεύει την DC συνισταμένη, ενώ οι γωνίες αντιπροσωπεύουν πληροφορία για τις οριζόντιες, κάθετες και λοιπές συχνότητες.
Τέλος σκόπιμο είναι να επισημάνουμε ότι υπάρχει ένας αριθμός γνωστών τεχνικών για την βελτιστοποίηση των συνημιτονικών μετασχηματισμών και των μετασχηματισμών Fourier, που βασίζονται στον κερματισμό στο πεδίο του χρόνου. Αυτές οι τεχνικές ουσιαστικά προέρχονται από το γεγονός ότι υπάρχει μεγάλη συμμετρία στον μετασχηματισμό και η σχέση x=2, i=1, μας δίνει την ίδια τιμή συνημίτονου με την σχέση x=1, i=2.
![]()
![]()