Πίνακας περιεχομένων:
Ορισμός - Τι σημαίνει Huffman Coding;
Η κωδικοποίηση Huffman είναι ένας αλγόριθμος κωδικοποίησης δεδομένων χωρίς απώλειες. Η διαδικασία πίσω από το σχέδιό της περιλαμβάνει τη διαλογή αριθμητικών τιμών από ένα σετ με τη σειρά της συχνότητάς τους. Οι λιγότερο συχνές αριθμοί εξαλείφονται σταδιακά μέσω του δένδρου Huffman, το οποίο προσθέτει τις δύο κατώτερες συχνότητες από τη λίστα που έχει ταξινομηθεί σε κάθε νέο κλάδο. Το άθροισμα τοποθετείται στη συνέχεια πάνω από τις δύο εξαλειμένες χαμηλότερες τιμές συχνότητας και τις αντικαθιστά στη νέα ταξινομημένη λίστα . Κάθε φορά που δημιουργείται ένας νέος κλάδος, μετακινεί τη γενική κατεύθυνση του δέντρου είτε προς τα δεξιά (για υψηλότερες τιμές) είτε προς τα αριστερά (για χαμηλότερες τιμές). Όταν εξαντληθεί ο ταξινομημένος κατάλογος και το δέντρο είναι πλήρες, η τελική τιμή είναι μηδέν αν το δέντρο τελείωσε σε έναν αριστερό αριθμό ή είναι ένα εάν τελείωσε στα δεξιά. Αυτή είναι μια μέθοδος μείωσης του σύνθετου κώδικα σε απλούστερες ακολουθίες και είναι κοινή στην κωδικοποίηση βίντεο.
Η Techopedia εξηγεί τον Huffman Coding
Η συμπίεση δεδομένων έχει ένα ιστορικό που προηγείται της φυσικής υπολογιστικής. Ο κώδικας Morse, για παράδειγμα, συμπιέζει τις πληροφορίες δίνοντας μικρότερους κωδικούς σε χαρακτήρες που είναι στατιστικά συνηθισμένοι στην αγγλική γλώσσα (όπως τα γράμματα "e" και "t"). Η κωδικοποίηση του Huffman ήρθε ως αποτέλεσμα ενός έργου τάξης στο MIT από τον μαθητή του, τον David Huffman.
Το 1951, ο Huffman πήρε μια τάξη υπό τον Robert Fano, ο οποίος (με τη βοήθεια ενός μηχανικού και μαθηματικού με το όνομα Claude Shannon) εφευρέθηκε ένα σχέδιο απόδοσης γνωστό ως Shannon-Fano. Όταν ο Fano έδωσε στην τάξη του τη δυνατότητα είτε να γράψει ένα εξάμηνο ή να πάρει μια τελική εξέταση, ο Huffman επέλεξε τον όρο χαρτί, ο οποίος επεδίωκε να βρει μια αποτελεσματική δυαδική μέθοδο κωδικοποίησης. Αυτό είχε ως αποτέλεσμα την κωδικοποίηση Huffman, η οποία από τη δεκαετία του 1970 είχε γίνει ένας σημαντικός αλγόριθμος ψηφιακής κωδικοποίησης.
