λογισμικό

Γνώση Υπολογιστών >> λογισμικό >  >> Συμπίεση δεδομένων

Πώς ένα αρχείο ZIP υπολογιστή με πολλές πληροφορίες;

Ένας υπολογιστής φερμουάρ ένα αρχείο (ή μια συλλογή αρχείων) που περιέχει πολλές πληροφορίες χρησιμοποιώντας αλγόριθμους συμπίεσης χωρίς απώλειες . Αυτοί οι αλγόριθμοι λειτουργούν προσδιορίζοντας και αφαιρώντας την απόλυση στα δεδομένα χωρίς να χάσουν καμία από τις αρχικές πληροφορίες. Όταν αποσυνδέετε το αρχείο, τα αρχικά δεδομένα ανακατασκευάζονται τέλεια.

Ακολουθεί μια ανάλυση της διαδικασίας:

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

2. Μετασχηματισμός δεδομένων: Μόλις εντοπιστεί ο πλεονασμός, ο αλγόριθμος μετατρέπει τα δεδομένα σε μια πιο συμπαγής αναπαράσταση. Αυτό συχνά περιλαμβάνει τεχνικές όπως:

* κωδικοποίηση μήκους run-length (RLE): Αντικαθιστά τις επαναλαμβανόμενες ακολουθίες χαρακτήρων ή bytes με έναν αριθμό και το επαναλαμβανόμενο στοιχείο. Για παράδειγμα, το "AAABBBCC" γίνεται "3A3B2C".

* κωδικοποίηση Huffman: Εκχωρεί μικρότερους κωδικούς σε πιο συχνή στοιχεία δεδομένων και μεγαλύτερους κωδικούς σε λιγότερο συχνές. Αυτό μειώνει το συνολικό μέγεθος των δεδομένων.

* κωδικοποίηση λεξικού (LZ77, LZ78, Lempel-Ziv): Δημιουργεί ένα λεξικό προηγουμένως συναντημένων ακολουθιών δεδομένων. Αντί να αποθηκεύει επανειλημμένα την ακολουθία, ο αλγόριθμος αναφέρει την καταχώρηση της ακολουθίας στο λεξικό, μειώνοντας σημαντικά τον πλεονασμό. Πρόκειται για ένα βασικό συστατικό πολλών δημοφιλών αλγορίθμων συμπίεσης όπως το Iverate (που χρησιμοποιείται στο ZIP).

* Μετασχηματισμός Burrows-Wheeler (BWT): Ανακατασκευάζει τα δεδομένα για τη δημιουργία μεγάλων διαδρομών παρόμοιων χαρακτήρων, διευκολύνοντας τις άλλες τεχνικές συμπίεσης να λειτουργούν αποτελεσματικά. Αυτό χρησιμοποιείται σε αλγόριθμους όπως το BZIP2.

3. κωδικοποίηση δεδομένων: Στη συνέχεια, τα μετασχηματισμένα δεδομένα κωδικοποιούνται σε δυαδική μορφή, που συχνά περιλαμβάνει μια κεφαλίδα που περιέχει μεταδεδομένα όπως τα αρχικά ονόματα αρχείων, τα μεγέθη, τα χρονικά σήματα και η μέθοδος συμπίεσης που χρησιμοποιείται.

4. Αποθήκευση: Τα συμπιεσμένα δεδομένα, συμπεριλαμβανομένης της κεφαλίδας, γράφονται στο αρχείο zip.

Γιατί είναι αποτελεσματικό με μεγάλα αρχεία;

Όσο περισσότερα δεδομένα υπάρχουν, τόσο πιο πιθανό είναι να περιέχουν πλεονασμό. Οι αλγόριθμοι συμπίεσης είναι ιδιαίτερα αποτελεσματικοί στην εκμετάλλευση αυτού του πλεονασμού. Ένα μεγάλο αρχείο είναι πιθανό να έχει πολλά επαναλαμβανόμενα πρότυπα ή προβλέψιμες ακολουθίες, επιτρέποντας σημαντικές μειώσεις μεγέθους. Για παράδειγμα, ένα μεγάλο αρχείο κειμένου που περιέχει μια επαναλαμβανόμενη φράση θα συμπιέσει πολύ πιο αποτελεσματικά από ένα σύντομο, μοναδικό αρχείο κειμένου.

Εν ολίγοις, το φερμουάρ ενός αρχείου δεν συρρικνώνεται μαγικά το περιεχόμενο * * Περιεχόμενο *, απλώς κάνει μια πιο * αποτελεσματική * αναπαράσταση αυτών των πληροφοριών αφαιρώντας τον πλεονασμό. Όσο μεγαλύτερη απόλυση, τόσο μεγαλύτερη είναι η αναλογία συμπίεσης.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα