Τεχνολογία Υπολογιστικών Συστημάτων & Λειτουργικά Συστήματα - Βιβλίο Μαθητή
Μέθοδοι Συμπίεσης Δεδομένων Τμήματα του Υπολογιστή Επιστροφή στην αρχική σελίδα του μαθήματος

Μάθημα

2.4

Ψηφιακή Παράσταση Ήχου,
Εικόνας, Video

 

Σκοπός του μαθήματος αυτού είναι να εξηγήσει τις μεθόδους και τα σύγχρονα πρότυπα κωδικοποίησης και ψηφιακής αναπαράστασης σύνθετων μορφών ψηφιακών δεδομένων όπως ήχοι, εικόνες και video. Σκοπός του μαθήματος

Όταν ολοκληρώσεις το μάθημα αυτό, θα μπορείς:

  • Να περιγράφεις τα πρότυπα κωδικοποίησης ήχου
  • Να αναφέρεις τις μορφές αποθήκευσης ψηφιακής εικόνας
  • Να απαριθμείς τι τεχνικές κωδικοποίησης video υπάρχουν
Τι θα μάθεις;
 
 
Εικόνα

Ψηφιακή Παράσταση Ήχου

Η ψηφιοποίηση του αναλογικού ήχου γίνεται με την περιοδική λήψη δειγμάτων από το αναλογικό σήμα πολλές φορές το δευτερόλεπτο, η οποία λέγεται δειγματοληψία (sampling). Ο αριθμός των δειγμάτων που παίρνουμε ανά δευτερόλεπτο, ώστε ο ψηφιακός ήχος να έχει την ίδια ποιότητα με τον αναλογικό, καθορίζεται από τη μέγιστη συχνότητα που εμφανίζει ο αναλογικός ήχος μας. Ο αριθμός αυτός πρέπει να είναι τουλάχιστο ίσος με το διπλάσιο της μέγιστης συχνότητας του ήχου, σύμφωνα με το θεώρημα του Shannon. Το ανθρώπινο αυτί αντιλαμβάνεται ήχους συχνοτήτων από 20Hz έως 20ΚHz. Έτσι, για να έχουμε πιστή αναπαραγωγή του αναλογικού ήχου χρειάζονται πάνω από 40.000 δείγματα ανά δευτερόλεπτο.

Το πλήθος των δειγμάτων ή αλλιώς ο ρυθμός (rate) ή συχνότητα δειγματοληψίας (sampling frequency), δεν είναι το μόνο στοιχείο που καθορίζει την κωδικοποίηση του ψηφιακού ήχου. Το κάθε δείγμα αντικατοπτρίζει την ένταση του ήχου για τη στιγμή της δειγματοληψίας στην οποία αντιστοιχεί. Στον αναλογικό ήχο, οποιαδήποτε τιμή έντασης είναι επιτρεπτή. Στον ψηφιακό ήχο όμως, το πλήθος των bits (number of bits), που χρησιμοποιούμε για την αποθήκευση του κάθε δείγματος, καθορίζει και τον αριθμό των διαφορετικών τιμών εντάσεως που μπορεί να εμφανιστεί. Συνεπώς, κοντινές, αλλά διαφορετικές τιμές αναλογικής έντασης αντιστοιχούν στην ίδια ψηφιακή τιμή. Το φαινόμενο αυτό λέγεται κβαντισμός (quantization) των σταθμών έντασης του ήχου. Είναι φανερό ότι όσο πιο πολλά bits χρησιμοποιούμε για την αποθήκευση του κάθε δείγματος, τόσο πιο πιστή αναπαράσταση του αναλογικού ήχου πετυχαίνουμε. Αυτός ο τρόπος κωδικοποίησης λέγεται παλμοκωδική κωδικοποίηση (Pulse Code Modulation).

Εικόνα

Ήχος σε ποιότητα CD χρειάζεται δείγματα των 16 bits (2 bytes) και ρυθμό δειγματοληψίας 44,1 KΗz (χιλιάδες δείγματα ανά δευτερόλεπτο) για κάθε κανάλι. Έτσι για ψηφιακό στερεοφωνικό ήχο (2 κανάλια ήχου) ποιότητας CD έχουμε 176.400 bytes/δευτερόλεπτο· ένα τραγούδι διάρκειας πέντε λεπτών καταλαμβάνει περίπου 50MB.

Αν οι ανάγκες μας σε ποιότητα ήχου είναι μεγάλες, τότε η παλμοκωδική κωδικοποίηση έχει πολύ μεγάλες αποθηκευτικές απαιτήσεις. Σε συνήθεις εφαρμογές πολυμέσων δεν έχουμε απαιτήσεις στερεοφωνικού ήχου ή ακουστικών συχνοτήτων άνω των 4-5KHz (συχνότητα δειγματοληψίας 11ΚHz) και αφιερώνουμε 1 byte για κάθε δείγμα. Έτσι για το παραπάνω τραγούδι των 5 λεπτών χρειαζόμαστε το 1/16 των 50ΜΒ.

Το επόμενο βήμα για να μειώσουμε περισσότερο το μέγεθος των ηχητικών δεδομένων είναι να μην κωδικοποιούμε ξεχωριστά το κάθε δείγμα δίνοντας του π.χ. 8 bits. Είναι πιο οικονομικό να βρίσκουμε τη διαφορά του κάθε δείγματος με το προηγούμενο και να κωδικοποιούμε αυτήν. Επειδή ο αριθμός των δειγμάτων ανά δευτερόλεπτο είναι μεγάλος, η πιθανότητα δυο διαδοχικά δείγματα να έχουν κοντινές τιμές έντασης είναι μεγάλη, άρα έχουμε να κωδικοποιήσουμε μικρές διαφορές και δεσμεύουμε λίγα bits, συνήθως 2-3 αντί των 8. H κωδικοποίηση αυτή λέγεται διαφορική παλμοκωδική (Differential Pulse Code Modulation). Μια παραλλαγή της μεθόδου αυτής που επιτρέπει την ύπαρξη μεγαλύτερων διαφορών λέγεται προσαρμοστική-διαφορική παλμοκωδική (Adaptive Differential Pulse Code Modulation) και χρησιμοποιείται στα αρχεία .wav των Windows.

 

Όλες αυτές οι τεχνικές αντιμετωπίζουν το ηχητικό σήμα σαν μαθηματική κυματομορφή, αγνοώντας τις ιδιαιτερότητες του ανθρώπινου αυτιού. Έτσι, όλες οι συχνότητες αντιμετωπίζονται ισοδύναμα. Στην πράξη όμως το ανθρώπινο αυτί είναι περισσότερο ευαίσθητο σε κάποια ζώνη συχνοτήτων από κάποια άλλη. Νέες τεχνικές κωδικοποίησης που βασίζονται σε αυτή την απλή παρατήρηση, επιτυγχάνουν πολύ μεγαλύτερα ποσοστά συμπίεσης, χωρίς να υπάρχει ιδιαίτερη απώλεια σε ποιότητα ήχου. Το πρότυπο MPEG-3 (Μotion Picture Expert Group) πετυχαίνει συμπίεση έως και 12 φορές ως προς την αρχική μορφή χωρίς εμφανείς απώλειες στην ποιότητα. Τα αρχεία .mp3 είναι κωδικοποιημένα με το πρότυπο αυτό. Αν όμως δεχθούμε συμβιβασμούς στην ακουστική ποιότητα, π.χ. για μονοφωνικό ήχο ποιότητας τηλεφωνικής μετάδοσης, τότε επιτυγχάνεται συμπίεση μέχρι και 100 φορές.

Ψηφιακή Παράσταση Εικόνας

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

Στο διπλανό σχήμα βλέπουμε μία ασπρόμαυρη ψηφιακή εικόνα. Η εικόνα του σχήματος αποτελείται από 256 γραμμές και 256 στήλες, περιέχει δηλαδή 65.536 διαφορετικά εικονοστοιχεία. Επειδή η φωτογραφία είναι ασπρόμαυρη, κάθε εικονοστοιχείο κωδικοποιείται με ένα bit: το 0 συμβολίζει το μαύρο χρώμα και το 1 το άσπρο. Έτσι, για την αποθήκευση αυτής της φωτογραφίας στον υπολογιστή χρειαζόμαστε 65.536 bits ή ισοδύναμα 8.192 bytes.
 Εικόνα

Για έγχρωμες εικόνες, κάθε εικονοστοιχείο απαιτεί περισσότερα από 1 bit για την αναπαράσταση του αντίστοιχου χρώματος. Για παράδειγμα, αν έχουμε 16 διαφορετικά χρώματα και κάθε χρώμα εμφανίζει 16 αποχρώσεις, τότε χρειαζόμαστε 16×16=256 διαφορετικές τιμές. Όλες αυτές μπορούμε να τις αναπαραστήσουμε με ένα byte (8 bits). Aν, για παράδειγμα, έχουμε μια εικόνα μεγέθους 640×480, δηλαδή 307.200 εικονοστοιχεία και για καθένα χρησιμοποιούμε 3 bytes=24bit για την αναπαράσταση του χρώματος, τότε χρειαζόμαστε 921.600 bytes. Τα αρχεία που περιέχουν την εικόνα ασυμπίεστη, ονομάζονται χαρτογραφικά (bitmap, BMP).

To μέγεθος των ασυμπίεστων εικόνων αυξάνει δραματικά με την αύξηση των διαστάσεων της ή του βάθους χρώματος (δηλ. τον αριθμό των bytes για την αναπαράσταση των διαφορετικών χρωμάτων). Η χρησιμοποίηση της μεθόδου συμπίεσης RLE σε εικόνες που είναι σκίτσα ή σχεδιαγράμματα, κυρίως με αποχρώσεις του γκρι, οδηγεί σε σημαντική μείωση του όγκου τους. Η RLE μέθοδος είναι πολύ αποτελεσματική για εικόνες με συνεχόμενες περιοχές εικονοστοιχείων που έχουν το ίδιο χρώμα, καθώς τα αντικαθιστά με ένα κωδικό και το πλήθος τους (βλέπε κεφάλαιο 2.3). Tα αρχεία αυτά είναι τα PCX αλλά και πολλές μορφές TIFF.

Η συμπίεση LZW εφαρμόζεται σε περισσότερο σύνθετες εικόνες, όπως π.χ. έγχρωμες φωτογραφίες. Εκεί, υπάρχει μεγάλη ποικιλία χρωμάτων, που όμως επαναλαμβάνονται πολλές φορές τα ίδια, άρα, όπως είδαμε στο κεφάλαιο 2.3, η κωδικοποίηση τους με λιγότερα bit φέρνει μεγάλα ποσοστά συμπίεσης. Tέτοια συμπίεση υπάρχει στα αρχεία GIF.

Tέλος, αντίθετα με τις προηγούμενες μεθόδους αναπαράστασης που χρησιμοποιούσαν μη απωλεστικούς αλγόριθμους συμπίεσης, υπάρχει μια ευρύτατα διαδεδομένη μέθοδος για εικόνες, που επιτυγχάνει συμπίεση μέχρι και 100-200 φορές σε ορισμένες περιπτώσεις, με μικρή απώλεια της ποιότητας. Η κωδικοποίηση αυτή λέγεται κωδικοποίηση JPEG (Joint Photographic Expert Group). Βασίζεται στην εφαρμογή μιας σειράς πολύπλοκων μαθηματικών μετασχηματισμών στην εικόνα. Για τη συμπίεση ή την αποσυμπίεση από JPEG χρειάζεται αρκετή υπολογιστική ισχύς, κάτι που παλαιότερα ήταν ιδιαίτερα χρονοβόρα. Σήμερα, που υπάρχουν ισχυροί επεξεργαστές, η κωδικοποίηση JPEG δεν είναι πια πρόβλημα, και έχει το πλεονέκτημα της δυνατότητας επιλογής του ποσοστού συμπίεσης που θέλουμε να επιτύχουμε, με αντίστοιχη επιβάρυνση στην ποιότητα της εικόνας. Συνήθως συμπιέσεις 10 έως και 20 φορές, οδηγούν σε εικόνες με μη ορατή διαφορά από την αρχική.

 
 

Αντίθετα με την παραπάνω μορφή ψηφιακής αναπαράστασης εικόνας όπου υπάρχει κωδικοποίηση της κάθε εικονοστοιχείου με συγκεκριμένο αριθμό bits, η διανυσματική αναπαράσταση βασίζεται στα γεωμετρικά χαρακτηριστικά των σχημάτων που απεικονίζουν την εικόνα. Έτσι αν π.χ. έιχαμε να αναπαρταστήσουμε ένα τρίγωνο, τότε η διανυσματική αναπαράσταση περιλαμβάνει την αποθήκευση των καρτεσιανών συντεταγμένων των τριών κορυφών. Κάθε κορυφή θεωρείται εικονοστοιχείο και αποθηκεύτεται όπως πριν. Όμως τώρα έχουμε τρία σημεία που ορίζουν όλο το σχήμα. Η διανυσματική μορφή παράγεται κυρίως από προγράμματα σχεδίασης (CAD – Computer Aided Design). O υπολογιστής σχεδιάζει τα γεωμετρικά σχήματα με βάση τις συντεταγμένες που διαβάζει από τέτοια αρχεία

Ψηφιακή Παράσταση Video

Τα τελευταία χρόνια η εξέλιξη στις μεθόδους συμπίεσης έχει επιτρέψει την αναπαραγωγή κινούμενης εικόνας ή video μέσω των υπολογιστών χαμηλού κόστους. Η κινούμενη εικόνα είναι πιο σύνθετη από την απλή εικόνα ή τον ήχο, καθώς περιέχει εικόνα και ήχο που συγχρονίζονται. Η αρχή πάνω στην οποία στηρίζεται η αναπαραγωγή video είναι ίδια με αυτή του κινηματογράφου. Σε κάθε δευτερόλεπτο εναλλάσσονται αρκετές εικόνες με ταχύτητα και μικροδιαφορές μεταξύ τους, δίνοντας στον άνθρωπο την ψευδαίσθηση της κίνησης. Το ανθρώπινο μάτι δεν μπορεί να αντιληφθεί εύκολα αλλαγές με ρυθμό πάνω από 20 εικόνες/δευτερόλεπτο και επομένως νομίζει πως βλέπει μια συνεχόμενη σκηνή. Στον κινηματογράφο έχουμε 24 εικόνες (ή καρέ όπως λέγονται) ανά δευτερόλεπτο, ενώ στην τηλεόραση κυμαίνονται από 25 καρέ/δευτερόλεπτο (σύστημα PAL στην Ευρώπη) εως και 30 καρέ/δευτερόλεπτο (NTSC στην Αμερική).

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

 

Αν μια εικόνα διαστάσεων 640×480 εικονοστοιχείων με 24 bits χρώματος για κάθε εικονοστοιχείο, έχει κανονικό μέγεθος 920 ΚΒ, τότε για ένα δευτερόλεπτο video με ρυθμό 25 εικόνων ανά δευτερόλεπτο θα χρειαζόμασταν 24ΜΒ περίπου. Για μια ταινία 90 λεπτών θα χρειαζόμασταν 24MB/sec × 60sec/min × 90min περίπου 3500 GB!!
Εικόνα
Για να συμπιεστεί το video, η κάθε ακίνητη εικόνα συμπιέζεται με κάποιο απωλεστικό αλγόριθμο συμπίεσης εικόνας, συνήθως τον JPEG. Αυτό όμως δεν αρκεί καθώς έστω και υποδεκαπλασιασμός του μεγέθους της ακίνητης εικόνας, θα είχε στο παραπάνω παράδειγμα αντίστοιχη μείωση στην τιμή των 350GB που εξακολουθεί να είναι τεράστιο.

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

Στην πράξη τα σχήματα κωδικοποίησης είναι αρκετά πιο σύνθετα από την παραπάνω περιγραφή. Η διαδικασία εύρεσης των διαφορών λέγεται αλγόριθμος εκτίμησης κίνησης (motion estimation algorithm). Έχουμε δύο διαδοχικά πλαίσια που ονομάζουμε προηγούμενο και τρέχον. Τα δύο πλαίσια διαιρούνται σε στοιχειώδεις μικρές τετραγωνικές περιοχές (blocks). H κάθε περιοχή του τρέχοντος πλαισίου αναζητείται στο προηγούμενο. Όταν βρεθεί, αντί να κωδικοποιήσουμε την περιοχή με κάποιο αλγόριθμο κωδικοποίησης εικόνας, κωδικοποιούμε το διάνυσμα που δείχνει τις συντεταγμένες του σημείου μετατόπισης, άρα σημαντικά λιγότερη πληροφορία και επομένως επιτυγχάνουμε μεγάλη συμπίεση.

Το πιο διαδεδομένο πρότυπο συμπίεσης για κινούμενη εικόνα είναι το MPEG-2. Για να κωδικοποιήσουμε ένα video σύμφωνα με το πρότυπο αυτό, διαιρούμε το συνολικό αριθμό των 25 ή 30 ή περισσοτέρων πλαισίων το δευτερόλεπτο σε κατηγορίες.

 
Εικόνα

Η ψηφιακή αναπαράσταση σύνθετων μορφών δεδομένων που χρησιμοποιούνται κυρίως σε εφαρμογές πολυμέσων γίνεται με την κωδικοποίησή τους σε μορφές που προσφέρουν αρκετή συμπίεση, ώστε να ελαττωθεί το μεγάλο τους μέγεθος. Ο αναλογικός ήχος υπόκειται σε δειγματοληψία και κβαντοποιείται σε ψηφιακές τιμές. Ο ψηφιακός πλέον ήχος κωδικοποιείται με μεθόδους όπως η παλμοκωδική ή η διαφορική παλμοκωδική ή η μέθοδος MPEG-Layer III (.mp3).

H ψηφιακή αναπαράσταση της εικόνας βασίζεται στην ανάλυσή της σε εικονοστοιχεία. Το κάθε εικονοστοιχείο καταλαμβάνει χώρο ανάλογο του πλήθους των χρωμάτων που χρησιμοποιούνται για την εικόνα. Υπάρχουν τεχνικές κωδικοποίησης που οδηγούν σε απωλεστική συμπίεση (π.χ. JPEG), χωρίς όμως ορατές διαφορές στην εμφάνιση της εικόνας.

Το video αποτελείται από μια σειρά εικόνων που εναλλάσσονται γρήγορα στο χρόνο, ώστε να δημιουργούν την ψευδαίσθηση της κίνησης. Η αναπαράσταση της κινούμενης εικόνας βασίζεται στην κωδικοποίηση των διαφορετικών πλαισίων- εικόνων που αποτελούν το video με τεχνικές αναπαράστασης εικόνων και στην απαλοιφή των κοινών σημείων μεταξύ διαδοχικών πλαισίων, που επαναλαμβάνονται, σχεδόν τα ίδια, πολλές φορές το δευτερόλεπτο.

Εικόνα
Αλγόριθμος Εκτίμησης Κίνησης
Motion Estimation Algorithm
Δειγματοληψία Sampling
Διαφορική Παλμοκωδική Κωδικοποίηση Differential Pulse Code Modulation
Εικόνα ή Πλαίσιο ή Καρέ Frame
Κβαντισμός Quantization
Κωδικοποιήσεις BMP- Bitmap
GIF - Graphics Interchange Format
JPEG - Joint Picture Expert Group
MPEG - Motion Picture Expert Group
Παλμοκωδική Κωδικοποίηση Pulse Code Modulation
Προσαρμοστική - Διαφορική
Παλμοκωδική Κωδικοποίηση
Adaptive Differential Pulse Code
Modulation
Ρυθμός Rate
Συχνότητα Δειγματοληψίας Sampling Frequency
Εικονοστοιχείο Pixel

Ερωτήσεις

  • Τι λέγεται δειγματοληψία;
  • Από τι εξαρτάται η ποιότητα του ψηφιακού ήχου;
  • Τι εννοούμε με τον όρο «κβαντισμό»;
  • Τι λέγεται παλμοκωδική κωδικοποίηση;
  • Τι λέγεται διαφορική παλμοκωδική κωδικοποίηση;
  • Πώς παριστάνεται ο ήχος ψηφιακά;
  • Πώς παριστάνεται η κινούμενη εικόνα;

 

 

 

Τι
μάθαμε
σε
αυτό
το
κεφάλαιο

  • Όλα τα δεδομένα παριστάνονται στον υπολογιστή σαν ακολουθίες από 0 και 1.
  • Ένα αριθμητικό σύστημα με βάση β παριστάνει κάθε αριθμό ως άθροισμα δυνάμεων του αριθμού β..
  • Ο πιο συνηθισμένος τρόπος παράστασης των αρνητικών ακεραίων αριθμών είναι η παράσταση συμπληρώματος του 2. Για την παράσταση των πραγματικών αριθμών χρησιμοποιείται συνήθως η παράσταση κινητής υποδιαστολής
  • Οι χαρακτήρες παριστάνονται σαν ακολουθίες από 8 ή 16 δυαδικά ψηφία, σύμφωνα με ένα πρότυπο κωδικοποίησης.
  • Oι αλγόριθμοι συμπίεσης χρησιμοποιούνται για την μείωση του μεγέθους που καταλαμβάνουν τα δεδομένα τα οποία είναι αποθηκευμένα στους υπολογιστές.
  • Ο αναλογικός ήχος δειγματοληπτείται και κβαντοποιείται σε ψηφιακές τιμές.
  • H ψηφιακή αναπαράσταση της εικόνας βασίζεται στην ανάλυσή της σε εικονοστοιχεία.
  • Το video αποτελείται από μια σειρά εικόνων που εναλλάσσονται γρήγορα στο χρόνο, ώστε να δημιουργούν την ψευδαίσθηση της κίνησης.
Βιβλιογραφία – Πηγές
  • Παπακωσταντίνου Γ., Π. Τσανάκα, Γ. Φραγκάκη, Αρχιτεκτονική Υπολογιστών, Συμμετρία, 1987.
  • Hayes J., Computer Architecture and Organization, McGraw-Hill, 1988.
  • Patterson D., Hennessy J. Computer Organization & Design, The Hardware/Software Interface, Morgan Kaufmann, 1994.