Η συμπίεση δεδομένων είναι η διαδικασία μείωσης του όγκου αρχείων διαφόρων ειδών, μέχρι και 99% από το αρχικό τους μέγεθος. Στόχος της συμπίεσης είναι η ταχύτερη μεταφορά μέσω δικτύων και η εξοικονόμηση αποθηκευτικού χώρου. Στον οδηγό θα δούμε τα είδη της συμπίεσης δεδομένων, τους πιο γνωστούς αλγόριθμους, και πώς τη χρησιμοποιούμε καθημερινά.
Προτάσεις συνεργασίας
Τα νέα άρθρα του PCsteps
Γίνε VIP μέλος στο PCSteps
Τι είναι η συμπίεση δεδομένων
Από τεχνικής άποψης, η συμπίεση δεδομένων είναι η εφαρμογή ενός αλγορίθμου σε ένα ή περισσότερα ψηφιακά αρχεία, με σκοπό να μειωθεί το μέγεθος των αρχείων.
Για τη μείωση του όγκου των δεδομένων, χρησιμοποιούνται ιδιαίτερα περίπλοκες τεχνικές και μαθηματικοί αλγόριθμοι. Τα συμπιεσμένα δεδομένα μπορούν να είναι είτε αυτόνομα αρχεία, όπως τα JPG, MP3, MP4, κλπ, ή συμπιεσμένοι φάκελοι (archive), όπως οι ZIP, και RAR.
Θα αναλύσουμε τα πιο σημαντικά είδη συμπιεσμένων αρχείων στη συνέχεια του οδηγού.
Απαραίτητη προϋπόθεση για τη συμπίεση δεδομένων είναι να μπορέσουμε να τα επαναφέρουμε σε μια μη-συμπιεσμένη μορφή. Η διαδικασία αυτή ονομάζεται αποσυμπίεση δεδομένων.
Που χρησιμεύει η συμπίεση δεδομένων
Η ανάγκη για τη συμπίεση δεδομένων προέκυψε αρκετά νωρίς στην ιστορία των οικιακών υπολογιστών. Οι δισκέτες 5,25 και 3,5 ιντσών είχαν αρκετά περιορισμένη χωρητικότητα. Ταυτόχρονα, οι πρώτοι οικιακοί σκληροί δίσκοι, στις αρχές της δεκαετίας του '80 είχαν εξαιρετικά υψηλό κόστος ανά Megabyte, και για αρκετά χρόνια ήταν απλησίαστοι για το μέσο χρήστη.
Με τον αποθηκευτικό χώρο να είναι τόσο περιορισμένος και να κοστίζει τόσο πολύ, η συμπίεση δεδομένων μείωνε σημαντικά τον όγκο των αρχείων, επιτρέποντας την αποθήκευση περισσότερων αρχείων στην ίδια δισκέτα ή τον ίδιο δίσκο.
Αντίστοιχα μεγάλη ήταν η σημασία που είχε η συμπίεση δεδομένων στη διακίνηση και ανταλλαγή αρχείων μέσω Internet.
Ένας από τους λόγους της επιτυχίας του Napster, όσοι το προλάβαμε, ήταν πως μπορούσαμε να κατεβάσουμε συμπιεσμένα αρχεία Mp3 των 3,5MB, όχι ασυμπίεστα αρχεία WAV των 40MB. Μην ξεχνάμε πως στα τέλη της δεκαετίας του '90 είχαμε ακόμα τις dial-up συνδέσεις, που κατέβαζαν με ρυθμό 4,5-5KB/s στην καλύτερη περίπτωση.
Η διαφορά ανάμεσα στα 3,5MB και τα 40MB ήταν αν θα μας έπαιρνε 12-13 λεπτά να κατεβάσουμε ένα κομμάτι, ή αν θα μας έπαιρνε 2,5 ώρες. Και αυτό με χρονοχρέωση, που σήμαινε πως η συμπίεση δεδομένων μας εξοικονομούσε και χρόνο και χρήματα.
Χρειάζεται σήμερα η συμπίεση δεδομένων;
Σήμερα, οι σκληροί δίσκοι έχουν πολλαπλάσια χωρητικότητα, σε ένα κλάσμα του κόστους.
Τη στιγμή που γράφονται αυτές οι γραμμές, μπορούμε να αγοράσουμε ένα σκληρό δίσκο του 1TB με περίπου 50 ευρώ, ενώ θα βρούμε μοντέλα μέχρι και 8TB, σε τιμές που είναι μεν σχετικά υψηλές, αλλά όχι απλησίαστες, αν χρειαζόμαστε τη χωρητικότητα.
Ουσιαστικά, ένας μέσος χρήστης χρειάζεται προσπάθεια – πχ να κατεβάζει πολλές ταινίες ή να εγκαθιστά πολλαπλά μεγάλου όγκου παιχνίδια παιχνίδια – για να γεμίσει ένα σκληρό δίσκο έστω και του 1TB.
Παρ' όλα αυτά, η συμπίεση δεδομένων εξακολουθεί να είναι επίκαιρη, κυρίως όσον αφορά τα δίκτυα και την ανταλλαγή δεδομένων.
Ενώ οι γραμμές ADSL και VDSL είναι ασύγκριτα ταχύτερες από το Dial-Up, η αύξηση στην ποιότητα των πολυμέσων – πχ με τις ταινίες Full HD 1080p – έφερε σημαντική αύξηση στον όγκο των αντίστοιχων αρχείων.
Χωρίς τη συμπίεση δεδομένων, μια ταινία 90 λεπτών σε ποιότητα Full HD 1080p θα καταλάμβανε χώρο σχεδόν 1 Terabyte. Με την ταχύτερη VDSL, που θεωρητικά κατεβάζει μέχρι με 5MB/s, θα χρειάζονταν 54 ώρες με την υψηλότερη ταχύτητα για να κατεβάσει αυτό τον όγκο των δεδομένων.
Όσο λοιπόν και αν αυξηθεί η χωρητικότητα των δίσκων ή η ταχύτητα των γραμμών, η συμπίεση δεδομένων συνεχίζει να είναι σημαντική για να κατεβάζουμε περισσότερα δεδομένα σε λιγότερο χρόνο, με όλο και καλύτερη ποιότητα, και να πιάνουν σημαντικά λιγότερο χώρο στους δίσκους μας.
Τι είναι η απωλεστική και η μη απωλεστική συμπίεση δεδομένων
Ενώ υπάρχουν αρκετές δεκάδες αλγορίθμων για τη συμπίεση δεδομένων, όλοι τους χωρίζονται σε δύο βασικές κατηγορίες: στους απωλεστικούς αλγόριθμους, και τους μη απωλεστικούς.
Στη μη απωλεστική συμπίεση δεδομένων, αν συμπιέσουμε ένα αρχείο, και μετά το αποσυμπιέσουμε, τα δεδομένα του παραμένουν ακριβώς τα ίδια. Δεν χάνεται τίποτα κατά τη διαδικασία.
Η μη απωλεστική συμπίεση είναι η μόνη μέθοδος που μπορεί να εφαρμοστεί σε αρχεία εφαρμογών, αρχεία κειμένου, ή οποιαδήποτε αρχεία με σημαντικά δεδομένα.
Σε αυτού του είδους τα αρχεία, η παραμικρή αλλοίωση είναι βέβαιο πως θα έχει αρνητικές συνέπειες. Σε ένα εκτελέσιμο αρχείο η αλλαγή ενός χαρακτήρα στον κώδικα μπορεί να κάνει το πρόγραμμα αδύνατο να εκτελεστεί. Οι αλγόριθμοι για αυτού του τύπου τη συμπίεση δίνουν μεγάλη βαρύτητα στη διατήρηση των δεδομένων.
Υπάρχουν όμως και αρκετοί αλγόριθμοι συμπίεσης που είναι απωλεστικοί, μεταξύ των οποίων οι πολύ δημοφιλείς JPEG, MPEG, και Mp3.
Αυτό σημαίνει πως κατά τη συμπίεση των δεδομένων, ο απωλεστικός αλγόριθμος “πετάει” ελεγχόμενα ένα κομμάτι της πληροφορίας του αρχείου, για να μειώσει περισσότερο τον όγκο του. Σαν αποτέλεσμα, μετά την αποσυμπίεση, ένα μέρος της πληροφορίας έχει χαθεί οριστικά.
Η απωλεστική συμπίεση χρησιμοποιείται αποκλειστικά σε αρχεία πολυμέσων, όπως εικόνες, βίντεο, και αρχεία ήχου. Στα πολυμέσα μπορούν να γίνουν αλλαγές στην εικόνα και τον ήχο που να μην είναι αντιληπτές από το ανθρώπινο μάτι ή το αυτί αντίστοιχα.
Για παράδειγμα, η πιο διαδεδομένη τεχνική για τη συμπίεση δεδομένων σε αρχεία φωτογραφιών ή βίντεο είναι η μείωση των συνολικών χρωμάτων της εικόνας.
Η μέθοδος αυτή βασίζεται στο γεγονός ότι το ανθρώπινο μάτι δεν έχει την δυνατότητα να αντιληφθεί όλα τα μήκη κύματος των χρωμάτων που μπορεί να παράγει η οθόνη. Κόβοντας λοιπόν συγκεκριμένες αποχρώσεις, πρακτικά έχουμε την ίδια ποιότητα με μικρότερο όγκο.
Το κύριο μειονέκτημα της μη απωλεστικής συμπίεσης έναντι της απωλεστικής είναι το γεγονός ότι η μηαπωλεστική συμπίεση δεν εξασφαλίζει την μείωση του όγκου του αρχείου για όλα τα είδη δεδομένων. Ενώ σε αρκετά είδη αρχείων μειώνει τον όγκο, σε άλλα μπορεί αντίθετα να τον αυξήσει.
Για την ακρίβεια, μπορεί να αποδειχτεί μαθηματικά πως για κάθε μη απωλεστικό αλγόριθμο συμπίεσης, θα υπάρχει τουλάχιστον ένα αρχείο που θα είναι μεγαλύτερο σε όγκο μετά τη συμπίεση.
Ταυτόχρονα, βέβαια, με την απωλεστική συμπίεση, η ποιότητα του αρχικού αρχείου χάνεται οριστικά, και δεν υπάρχει κανένας τρόπος να ανακτηθεί. Αν ένα Mp3 το μετατρέψουμε σε WAV, θα έχει ακριβώς την ίδια ποιότητα ήχου με το Mp3 από το οποίο προήλθε, δεν θα έχει ποτέ ξανά την ποιότητα του WAV πριν γίνει Mp3.
Οι πιο γνωστοί αλγόριθμοι απωλεστικής συμπίεσης δεδομένων
Αν έχετε δει έστω και μία φωτογραφία, έστω και ένα αρχείο βίντεο, ή έχετε ακούσει έστω και ένα τραγούδι στον υπολογιστή, το πιθανότερο είναι πως έχουν χρησιμοποιήσει έναν από τους παρακάτω απωλεστικούς αλγόριθμους για τη συμπίεση δεδομένων.
Συμπίεση δεδομένων εικόνας με το JPEG
Σήμερα, το πιο διαδεδομένο πρότυπο για απωλεστική συμπίεση δεδομένων στον τομέα των εικόνων είναι το ISO/IEC 10918-1, το οποίο είναι ευρέως γνωστό ως JPEG.
Το όνομα του προήλθε από το Joint Photographic Experts Group, μιας ομάδας μηχανικών εξειδικευμένων στο χώρο της ψηφιακής εικόνας. Η ομάδα δημιουργήθηκε το 1986, ενώ οι προδιαγραφές του προτύπου JPEG οριστικοποιήθηκαν το 1992 ως ITU-T Recommendation T.81 και το 1994 ως ISO/IEC 10918-1.
Το JPEG μπορεί να υποστηρίξει συμπίεση διαφόρων επιπέδων, η οποία εξαρτάται από τον όγκο του αρχείου που θέλουμε να μειώσουμε, αλλά και από τις αλλοιώσεις που είμαστε διατεθειμένοι να ανεχθούμε.
Με συμπίεση με λόγο 20 προς 1, δηλαδή ένα ασυμπίεστο αρχείο εικόνας 20MB γίνεται JPEG μεγέθους 1MB, συνήθως δεν υπάρχουν ορατές αλλοιώσεις στο απλό μάτι. Αν όμως αυξήσουμε τον λόγο συμπίεσης σε 75:1 θα γίνουν ορατές οι αλλοιώσεις, και όσο αυξάνεται η συμπίεση, τόσο μειώνεται η ποιότητα.
Οι αλλοιώσεις που μπορεί να υποστεί μια εικόνα μετά την διαδικασία της συμπίεσης είναι η παραμόρφωση των χρωμάτων, η αλλοίωση των άκρων της εικόνας, και η ανομοιομορφία μεταξύ των χρωματικών αποχρώσεων.
Στην παρακάτω εικόνα, φαίνεται από αριστερά προς τα δεξιά η διαφορά ανάμεσα στη χαμηλότερη και την υψηλότερη ποιότητα JPEG.
Συμπίεση δεδομένων ήχου με το Mp3
Η συμπίεση του ήχου είναι μια εξαιρετικά δημοφιλής διαδικασία, με δεδομένο ότι η πλειοψηφία των τραγουδιών που διαμοιράζονται στο διαδίκτυο βρίσκονται σε μορφή MP3.
Το Mp3, ή Mpeg 1 Layer III (3ο επίπεδο του προτύπου Mpeg1) όπως είναι η επίσημη ονομασία του, αποτελεί το πιο διαδεδομένο πρότυπο για συμπίεση δεδομένων ήχου, καθώς μειώνει σε μεγάλο βαθμό το αρχικό αρχείο διατηρώντας σε πολύ υψηλό επίπεδο την ποιότητα του ήχου.
Το πρότυπο αυτό χρησιμοποιεί μια ιδιαίτερα αποτελεσματική μέθοδο για να πραγματοποιήσει τα επιθυμητά αποτελέσματα. Μέσω της επιστήμης της ψυχοακουστικής, εντοπίζει κάποιες συχνότητες ήχου τις οποίες δεν “πιάνει” το ανθρώπινο αυτί ή καλύπτονται από άλλες συχνότητες σε ένα τραγούδι, και τις αφαιρεί.
Για να μάθετε περισσότερα για το πώς εφευρέθηκε το Mp3 και ποια ακριβώς είναι η διαδικασία που ακολουθεί για τη συμπίεση δεδομένων διατηρώντας υψηλά την ποιότητα, δείτε τον οδηγό μας:
Τι είναι το Mp3, Πώς λειτουργεί, και Πώς ΔημιουργήθηκεΌλοι έχουμε χρησιμοποιήσει αρχεία Mp3, στον υπολογιστή, το κινητό, το αυτοκίνητο, ή σε κάποιο Mp3 Player. Έχετε όμως αναρωτηθεί τι ακριβώς είναι το Mp3, και…
Συμπίεση δεδομένων βίντεο με τους αλγόριθμους MPEG
Η διαδικασία για να πραγματοποιηθεί η συμπίεση δεδομένων σε αρχεία βίντεο συνδυάζει στοιχεία από τους αλγορίθμους συμπίεσης εικόνας και ήχου. Δεν είναι περίεργο, αν σκεφτούμε ότι ένα βίντεο αποτελείται μια σειρά από μεμονωμένες εικόνες, γνωστές και ως καρέ, που συνοδεύονται από ήχο.
Οι διαδεδομένες μέθοδοι συμπίεσης δεδομένων βίντεο είναι οι κωδικοποιήσεις mpeg. Στις μέρες μας, η πιο δημοφιλής κωδικοποίηση είναι η MPEG 4 Part 14, που έχει επίσημη επέκταση .mp4, όμως θα τη βρούμε και σε άλλους τύπους αρχείων.
Η ονομασία mpeg προήλθε από την ομάδα που την σχεδίασε και χρησιμοποιείται για την συμπίεση και την μετάδοση ψηφιακών οπτικών και ηχητικών δεδομένων, Motion Pictures Experts Group, που είχε την ίδια λογική με το JPEG. H ομάδα MPEG δημιουργήθηκε το 1988, και το 2005 είχε περίπου 350 μέλη.
Το πρώτο πρότυπο για τη συμπίεση δεδομένων βίντεο που δημιούργησε η ομάδα ήταν το MPEG-1 το 1993, που χρησιμοποιήθηκε στο Video CD, που ποτέ δεν γνώρισε πολύ μεγάλη δημοτικότητα, καθώς και σε δορυφορική και καλωδιακή τηλεόραση.
Όπως προαναφέραμε, τμήμα του MPEG-1 είναι και το Mp3 για τον ήχο, καθώς και οι αλγόριθμοι Mp1 και Mp2 επίσης για τη συμπίεση ήχου, που πλέον δεν χρησιμοποιούνται παρά ελάχιστα.
Το MPEG-2, που θεσπίστηκε το 1995, είναι το πρότυπο για τη συμπίεση εικόνας και ήχου που εφαρμόζεται στο DVD Video. Επιπλέον αντικατέστησε το MPEG-1 στα περισσότερα είδη ψηφιακής, δορυφορικής, και καλωδιακής τηλεόρασης, ενώ χρησιμοποιήθηκε και στα πρώτα Blu-ray.
To MPEG-3 σχεδιάστηκε για την τηλεόραση υψηλής ευκρίνειας, αλλά τελικά συγχωνεύτηκε με το MPEG-2. Επισήμως δεν υπάρχει MPEG-3, και δεν πρέπει βεβαίως να το μπερδέψουμε με το MP3.
Το MPEG-4, που κυκλοφόρησε στην πρώτη μορφή του στα τέλη 1998, βελτίωσε τη συμπίεση σε σχέση με το MPEG-2, και αποτελεί σήμερα το κύριο πρότυπο συμπίεσης δεδομένων βίντεο. Οι κύριες εφαρμογές του είναι στην ψηφιακή τηλεόραση, στις ταινίες Blu-Ray, αλλά και στα απλά βίντεο.
To MPEG-4 είναι ένα πρότυπο που εξελίσσεται συνεχώς, και μέχρι στιγμής χωρίζεται σε 30 κομμάτια (parts). Όπως προαναφέραμε, το MPEG-4 Part 14 έχει επίσημη επέκταση .MP4, και οριστικοποιήθηκε το 2003. Το τελευταίο τμήμα, Part 30, οριστικοποιήθηκε το 2014. Το H.264, που είναι πιθανό να έχετε ακουστά, είναι το MPEG-4 Part 10.
Γενικά, στα αρχεία βίντεο είναι σχετικά μπερδεμένο το ζήτημα με τα πρότυπα, γιατί ορισμένα πρότυπα λειτουργούν σαν container file formats, που περιέχουν βίντεο, ήχο, υπότιτλους από άλλα πρότυπα.
Για παράδειγμα, το .MP4 είναι container file format και βασίζεται στο MPEG-4 Part 12 αλλά και το Quicktime της Apple. Tο επίσης δημοφιλές .MKV (Matroshka) είναι ένα πολύ ανοιχτό πρότυπο container file format, που μπορεί πρακτικά να περιέχει βίντεο και ήχο με οποιαδήποτε κωδικοποίηση, συμπεριλαμβανομένου του MPEG-4.
Οι πιο γνωστοί αλγόριθμοι μη απωλεστικής συμπίεσης δεδομένων
Ενώ έχουμε καθημερινά επαφή με αλγόριθμους απωλεστικής συμπίεσης μέσω των πολυμέσων, η επαφή μας με αλγόριθμους μη απωλεστικής συμπίεσης είναι σχετικά πιο περιορισμένη.
Συνήθως θα συναντήσουμε συμπιεσμένα αρχεία αυτού του τύπου σε εφαρμογές που κατεβάζουμε από το Internet, και χρειάζεται να τις αποσυμπιέσουμε για να ξεκινήσουμε την εγκατάσταση.
Συμπίεση δεδομένων για έγγραφα
Ένας από τους πιο παλαιούς και σχετικά εύκολους στην κατανόηση αλγόριθμους για τη συμπίεση δεδομένων είναι ο LZW, που προέρχεται από τα αρχικά των δημιουργών του Lempel-Ziv-Welch.
Η κωδικοποίηση αυτή βασίζεται στην ιδέα ότι σε ένα κείμενο υπάρχουν ακολουθίες χαρακτήρων που χρησιμοποιούνται παραπάνω από μια φορά.
Η συμπίεση αυτή αντικαθιστά τις ακολουθίες αυτές και στην θέση τους δημιουργεί μια αναφορά. Η αναφορά αυτή αποτελείται από δύο αριθμούς.
Ο πρώτος αριθμός αναφέρεται σε πόσους χαρακτήρες πρέπει να μετρήσουμε προς τα πίσω, μέχρι το σημείο όπου η προηγούμενη φράση ξεκινά. Ο δεύτερος αριθμός αναφέρεται στο μήκος της φράσης.
Οι αναφορές αυτές έχουν μικρότερο μέγεθος από τους χαρακτήρες που αντικαθιστούν και έτσι επιτυγχάνεται η συμπίεση δεδομένων και η σμίκρυνση του όγκου του αρχείου. Συνήθως το τελικό αρχείο έχει το ένα τέταρτο του όγκου του αρχικού.
Η βασική ιδέα για τον αλγόριθμο LZW περιγράφηκε για πρώτη φορά σε μια δημοσίευση του Welch το 1984, και ήταν μια βελτίωση πάνω στον αλγόριθμο LZ78 των Lembel και Ziv που δημοσιεύτηκε το 1978.
Ο αλγόριθμος αυτός χρησιμοποιείται εκτεταμένα στην εφαρμογή συμπίεσης compress του Unix, καθώς και στα αρχεία εικόνας .GIF.
Συμπίεση δεδομένων για εικόνες με το GIF
Το GIF προέρχεται από τα αρχικά της φράσης Graphics Interchange Format, και σε αρκετές διαδικτυακές κοινότητες υπάρχει διαμάχη σχετικά με την προφορά, για το αν προφέρεται Τζιφ ή Γκιφ.
Πάντως, ο δημιουργός του GIF, Steve Wilhite, δήλωσε δημοσίως το 2013 πως προφέρεται “Τζιφ”.
Τα κινούμενα αρχεία GIF είναι πολύ διαδεδομένα τα τελευταία χρόνια στο Internet, και σε προηγούμενο οδηγό είδαμε πώς να δημιουργήσουμε GIF από video στο YouTube.
Σαν πρότυπο, το GIF είναι ένα από τα παλαιότερα, και μπορεί να χρησιμοποιηθεί και για στατικές εικόνες. Η πρώτη του εμφάνιση έγινε το 1987 από την εταιρεία CompuServe. Χρησιμοποιεί τον αλγόριθμο LZW για τη συμπίεση δεδομένων χωρίς απώλεια στην ποιότητα. Η διαφορά είναι ότι αντί για ακολουθίες χαρακτήρων, ο αλγόριθμος καταγράφει ακολουθίες από pixel με τα ίδια χαρακτηριστικά.
Το πρόβλημα όμως είναι πως η ποιότητα του GIF είναι εκ σχεδιασμού χαμηλή, καθώς υποστηρίζει μόνο 8-bit χρωματική παλέτα, που μεταφράζεται σε 256 διαφορετικά χρώματα. Σαν αποτέλεσμα, είναι μειωμένη η χρησιμότητά του φωτογραφικά.
Συγκριτικά, το JPEG υποστηρίζει 24-bit χρώμα, ή αλλιώς 16,7 εκατομμύρια διαφορετικές αποχρώσεις.
Το GIF είναι πιο κατάλληλο για λογότυπα ή κινούμενα σχέδια με περιορισμένα χρώματα.
Η διαμάχη για την ευρεσιτεχνία και η δημιουργία του PNG
Στις αρχές του 1995 υπήρξε μια διαφωνία για την αδειοδότηση ανάμεσα στην CompuServer και την εταιρεία Unisys, η οποία είχε την την ευρεσιτεχνία για τον αλγόριθμο LZW.
Αυτό το γεγονός, σε συνδυασμό με τους περιορισμούς του GIF, οδήγησε μια ομάδα στο usenet newsgroup comp.graphics σε μια συζήτηση για ένα εναλλακτικό πρότυπο εικόνας.
Αρκετές προτάσεις που έγιναν στη συζήτηση κατέληξαν να ενσωματωθούν στις προδιαγραφές του PNG (Portable Network Graphics).
Ενώ το PNG δεν υποστηρίζει κίνηση, υποστηρίζει χρωματική παλέτα 24-bit RGB με 16,7 εκατομμύρια χρώματα, ενώ επίσης επιτρέπει διαφανές φόντο. Σήμερα, χρησιμοποιείται εκτεταμένα στο Internet και είναι ένας από τους πιο δημοφιλείς τύπους εικόνας μαζί με το JPEG.
Συμπίεση δεδομένων για εικόνες με το TIFF
Οι εικόνες TIFF είναι ιδιαίτερα γνωστές στους επαγγελματίες που χρησιμοποιούν προγράμματα όπως το Photoshop. Το όνομα προέρχεται από τη φράση Tagged Image File Format.
Το αρχείο δημιουργήθηκε στα μέσα της δεκαετίας του '80, σαν μία απόπειρα να βρεθεί ένας κοινός τύπος αρχείου για όλες τις διαφορετικές μάρκες σαρωτών (scanner).
Αρχικά υποστήριζε μόνο πολύ απλές ασπρόμαυρες εικόνες, που ήταν αυτές που υποστήριζαν οι scanner της εποχής. Καθώς η τεχνολογία της σάρωσης βελτιωνόταν, σταδιακά το TIFF υποστήριζε πλήρη κλίμακα του γκρι (Grayscale) και τελικά πραγματικό χρώμα 24-bit. Σήμερα είναι μαζί με τα JPEG και PNG στα πιο δημοφιλή φορμά που υποστηρίζουν εικόνες με μεγάλο χρωματικό βάθος.
Το TIFF δεν είναι συμπιεσμένο από προεπιλογή, υποστηρίζει όμως τη συμπίεση δεδομένων με τον μη απωλεστικό αλγόριθμο Lempel–Ziv–Welch, όπως το GIF.
Αλγόριθμοι συμπίεσης γενικής χρήσης
Η πιο συνηθισμένη μορφή που θα βρούμε αλγόριθμους μη απωλεστικής συμπίεσης είναι μέσα από τους συμπιεσμένους φακέλους, όπως είναι οι .ZIP, .7Z, και .RAR.
Αρχεία .ZIP
Η τεχνολογία zip δημιουργήθηκε από τον Phil Katz to 1989, και μπορεί να χρησιμοποιήσει διάφορους αλγόριθμους συμπίεσης. Συνήθως χρησιμοποιεί τον αλγόριθμο DEFLATE, που συνδυάζει τον LZ77, που είναι πρόγονος LZW, και την κωδικοποίηση Huffman, μια μαθηματική διαδικασία για μη απωλεστική συμπίεση.
Στους τύπους αρχείων που είδαμε παραπάνω, JPEG, MP3, MP4, κλπ, τα συμπιεσμένα δεδομένα περιέχονται στο ίδιο το αρχείο. Όμως τα αρχεία .zip είναι τύπου container, ουσιαστικά περιέχουν άλλα συμπιεσμένα αρχεία και φακέλους κάθε είδους.
Με αυτή τη μέθοδο έχουμε την δυνατότητα να συμπιέσουμε πολλά αρχεία σε ένα, με αποτέλεσμα την καλύτερη οργάνωση και διαχείριση.
Τα Windows υποστηρίζουν την τεχνολογία zip από το 1998, και δεν απαιτείται η εγκατάσταση κάποιου τρίτου προγράμματος για να πραγματοποιήσουμε συμπίεση και αποσυμπίεση τέτοιων αρχείων.
Μπορείτε να δείτε αναλυτικά τη συμπίεση δεδομένων με .ZIP στον οδηγό μας:
Αρχεία .RAR
Ενώ τα Windows δεν αναγνωρίζουν τα αρχεία .RAR, και χρειάζεται να κατεβάσουμε κάποια εξωτερική εφαρμογή για να τα αποσυμπιέσουμε, είναι εξαιρετικά διαδεδομένα μεταξύ των power users, σχεδόν όσο και τα .ZIP.
Όπως και τα αρχεία .ZIP, τα RAR είναι containers που μπορούν να περιέχουν συμπιεσμένα αρχεία και φακέλους. Το όνομα RAR (Roshal ARchive) προήλθε από το όνομα του δημιουργού αυτής της συμπίεσης, Eugene Roshal.
Η βασική διαφορά ανάμεσα στο .ZIP και το .RAR είναι οι αλγόριθμοι που χρησιμοποιούν. Οι αλγόριθμοι του RAR είναι πνευματική ιδιοκτησία του Alexander L. Roshal, που είναι ο μεγάλος αδερφός του δημιουργού.
Ένα σημαντικό πλεονέκτημα του RAR είναι πως μπορεί να κρυπτογραφήσει τα δεδομένα με κωδικό, που αν είναι αρκετά μεγάλος, πρακτικά είναι αδύνατον να σπάσει σε εύλογο χρονικό διάστημα.
Όπως και οι δύο προηγούμενες μέθοδοι για συμπίεση δεδομένων, έτσι κι αυτή διαφέρει στους αλγόριθμους τους οποίους χρησιμοποιεί.
Περαιτέρω εμβάθυνση στους αλγόριθμους αυτούς απαιτεί εξειδικευμένη γνώση μαθηματικών και δεν απευθύνεται στους απλούς χρήστες.
Αρχεία .7Z
Όπως και τα αρχεία zip, έτσι και τα αρχεία 7z αποτελούν containers για άλλα αρχεία και φακέλους, ενώ χρησιμοποιούν τους ίδιους αλγόριθμους, όπως τον DEFLAT, κάποιες άλλες παραλλαγές του LZ77, τον Bzip2 και τον PPMd.
Τα αρχεία της μορφή 7z δημιουργήθηκαν από τον Igor Pavlov – καμία συγγένεια με τον Ivan Pavlov και τα σκυλιά του – για την εφαρμογή 7-Zip Archiver το 1999.
Σε μελλοντικό οδηγό θα δούμε ποιο από τα τρία παραπάνω προγράμματα κάνει την καλύτερη συμπίεση, και ποιο είναι το πιο γρήγορο στη συμπίεση και αποσυμπίεση.
Σε κάθε περίπτωση, πάντως, δεν έχει νόημα να βάλουμε σε .ZIP, .RAR, ή 7Z αρχεία που είναι ήδη συμπιεσμένα, όπως αρχεία JPEG ή MP3. Δεν πρόκειται να συμπιεστούν περισσότερο, και το πιθανότερο είναι να καταλήξουμε με ένα αρχείο μεγαλύτερου μεγέθους.
Συμπίεση δεδομένων για Audio/Video
Τα Mp3 είναι ο αναμφισβήτητος βασιλιάς στο συμπιεσμένο ήχο. Όμως σταδιακά γίνονται όλο και πιο δημοφιλή ορισμένα πρότυπα μη απωλεστικών αλγορίθμων, που μειώνουν το μέγεθος του αρχείου χωρίς να επηρεάζουν με οποιοδήποτε τρόπο την ποιότητα του ήχου ή και της εικόνας.
FLAC
Το πιο διαδεδομένο πρότυπο για μη απωλεστική συμπίεση δεδομένων ήχου είναι το πρότυπο flac. Τα αρχικά FLAC προέρχονται από την φράση Free Lossless Audio Codec, η οποία σημαίνει ελεύθερη μη απωλεστική κωδικοποίηση ήχου.
Τα αρχεία FLAC είναι αποτέλεσμα του ομώνυμου opensource λογισμικού και σε αντίθεση με τα αρχεία mp3 δεν αφαιρούν καμία συχνότητα από το αρχείου ήχου.
Για να πραγματοποιήσει την συμπίεση δεδομένων, το FLAC χρησιμοποιεί αλγόριθμους πανομοιότυπους με αυτούς των αρχείων zip. Οι αλγόριθμοι αυτοί όμως επιτυγχάνουν υψηλότερη συμπίεση, χάρη στο γεγονός ότι είναι κατασκευασμένοι αποκλειστικά για αρχεία ήχου.
WMA
Τα αρχεία WMA κατασκευάστηκαν για τα Windows και χρησιμοποιούνται κυρίως από τον Windows Media Player. Κατασκευάστηκαν ως ανταγωνιστές των αρχείων mp3, αλλά δεν κατάφεραν να τα ξεπεράσουν σε δημοτικότητα.
Τα αρχεία WMA αποτελούνται από 3 εκδόσεις, ωστόσο αυτή που μας ενδιαφέρει στην μη απωλεστική συμπίεση δεδομένων είναι η έκδοση WMA Lossless.
Η έκδοση αυτή πραγματοποιεί την συμπίεση του ήχου μέσω της συμπίεση VBR, δηλαδή με συμπίεση μεταβλητού birate.
Πιο κατανοητά, η κωδικοποίηση αυτή πραγματοποιεί νέα δειγματοληψία, παίρνοντας περισσότερα δείγματα στα χρονικά σημεία που ο ήχος είναι πιο περίπλοκος και λιγότερα εκεί που υπάρχουν παύσεις ή πιο απλοί ήχοι. Έτσι επιτυγχάνεται η συμπίεση του αρχικού αρχείου.
WMV
Το κύριο πρότυπο για μη απωλεστική συμπίεση δεδομένων βίντεο είναι τα αρχεία WMV (Windows Media Video). Το πρότυπο αυτό βασίστηκε σε μια μη προτυποποιημένη έκδοση του mpeg-4, αλλά σήμερα θεωρείται ξεχωριστό πρότυπο.
Τα αρχεία αυτά μπορούν να περιέχουν αρχεία ήχου WMA και υποστηρίζουν την πλειοψηφία των αρχείων βίντεο. Πλεονέκτημα τους είναι η υψηλή συμπίεση που προσφέρουν, χωρίς απώλεια ποιότητας.
Συμπίεση NTFS
Όλα τα παραπάνω πρότυπα αφορούν μεμονωμένα αρχεία, ή έστω containers που περιέχουν αρχεία και φακέλους. Γιατί όμως να μην έχουμε συμπιεσμένο όλο το σκληρό μας δίσκο, ώστε να εξοικονομήσουμε χώρο σε όσο γίνεται περισσότερα;
Για να γίνει αυτό, θα πρέπει η συμπίεση των δεδομένων να γίνεται σε επίπεδο του συστήματος αρχείων. Το σύστημα αρχείων είναι το λογισμικό που οργανώνει τα αρχεία μας σε φυσικό επίπεδο στο δίσκο.
Από τα Windows XP και μετά, το προεπιλεγμένο σύστημα αρχείων σε οικιακό επίπεδο είναι το NTFS, το οποίο έχει τη δυνατότητα συμπίεσης δεδομένων. Για να δείτε αναλυτικά τα υπέρ και τα κατά της συμπίεσης NTFS, δείτε τον οδηγό μας:
Συμπίεση NTFS για Εξοικονόμηση Χώρου και ΤαχύτηταΟι περισσότεροι από εμάς έχουμε ακουστά τη συμπίεση δεδομένων, είτε όσον αφορά πρότυπα αρχείων όπως το .MP3, είτε με συμπιεσμένους φακέλους .ZIP και .RAR. Γνωρίζατε όμως…
Έχετε απορίες σχετικά με την συμπίεση δεδομένων;
Κλείνοντας, είναι σημαντικό να κατανοήσουμε τα μεγάλα πλεονεκτήματα που κατέχει η συμπίεση δεδομένων και τον σημαντικό ρόλο της στην βελτίωση των πολυμέσων. Αν έχετε κάποια απορία σχετικά με την συμπίεση δεδομένων, γράψτε μας στα σχόλια.