Πώς λειτουργεί η συμπίεση JPEG

Μια απλή ανάλυση των βημάτων πίσω από την αποδοτική συμπίεση εικόνας

24. January 2025 από Bianca Palmer

Πώς λειτουργεί η συμπίεση JPEG

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

Τι είναι το JPEG;

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

Για να έχετε μια εικόνα, μια ασυμπίεστη εικόνα υψηλής ποιότητας μπορεί να φτάνει τα 46 MB. Μετά τη συμπίεση σε JPEG, η ίδια εικόνα μπορεί να μειωθεί μόλις στα 4,1 MB. Πώς όμως το καταφέρνει αυτό διατηρώντας τη φωτεινότητα και την οξύτητα της εικόνας;

Η απάντηση βρίσκεται στη compression process, διαδικασία συμπίεσης, η οποία εκμεταλλεύεται τον τρόπο που λειτουργούν τα μάτια μας και αφαιρεί περιττά δεδομένα.

Τι κάνει το JPEG;

Με απλά λόγια, το JPEG αναλύει την εικόνα και αφαιρεί στοιχεία που τα μάτια μας δεν μπορούν να διακρίνουν εύκολα. Όταν συμπιέζετε μια εικόνα με JPEG, μπορείτε να ελέγχετε πόση συμπίεση εφαρμόζεται. Ρυθμίζοντας την παράμετρο "quality" μπορείτε να αποφασίσετε πόσο χώρο θέλετε να εξοικονομήσετε. Καθώς η ποιότητα μειώνεται από 100% σε 0%, το μέγεθος του αρχείου μειώνεται αντίστοιχα.

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

Τα βήματα της συμπίεσης JPEG

Η συμπίεση JPEG Η συμπίεση JPEG δεν είναι ένα μόνο κόλπο· είναι μια σειρά από έξυπνα βήματα που έχουν σχεδιαστεί για να μειώνουν το μέγεθος της εικόνας. Ας δούμε τα πέντε βασικά βήματα που κάνουν το JPEG τόσο αποδοτικό.

Βήμα 1: Μετατροπή χρωματικού χώρου

Οι εικόνες αποτελούνται από εικονοστοιχεία (pixels) και κάθε pixel έχει κόκκινο, πράσινο και μπλε (RGB) συστατικό που συνδυάζονται για να δημιουργήσουν χρώματα. Το JPEG ξεκινά μετατρέποντας αυτές τις τιμές RGB σε έναν διαφορετικό χρωματικό χώρο:

  • Λαμπρότητα (Luminance): Αντιπροσωπεύει τη φωτεινότητα ενός pixel και είναι σημαντική για τον συνολικό κοντράστ της εικόνας.
  • Χρωματικότητα (Chrominance): Αντιπροσωπεύει τις πληροφορίες χρώματος, συμπεριλαμβανομένων της απόχρωσης και του κορεσμού.

Αυτή η μετατροπή αξιοποιεί το γεγονός ότι το ανθρώπινο μάτι είναι πιο ευαίσθητο στη φωτεινότητα (luminance) παρά στο χρώμα (chrominance). Διαχωρίζοντας τη φωτεινότητα από το χρώμα, το JPEG επιτρέπει στοχευμένη μείωση δεδομένων σε επόμενα βήματα, διατηρώντας τα κρίσιμα οπτικά στοιχεία.

Αν και σε αυτό το βήμα δεν χάνεται δεδομένο, προετοιμάζει το έδαφος για αποδοτική συμπίεση.

Βήμα 2: Downsampling χρωματικότητας / Chroma Subsampling

Chroma Subsampling είναι ένα είναι μια τεχνική που εφαρμόζεται μετά τη μετατροπή χρωματικού χώρου. Θυμάστε που είπαμε ότι τα μάτια μας δεν είναι τόσο καλά στο να βλέπουν τα χρώματα (chrominance) σε σύγκριση με τη φωτεινότητα (luminance);

Το JPEG αξιοποιεί αυτό το γεγονός μειώνοντας την ποσότητα δεδομένων χρώματος. Συρρικνώνει τα μπλε και κόκκινα κανάλια χρωματικότητας με το να τα κάνει μέσο όρο σε μπλοκ των τεσσάρων pixels. Έτσι τα δεδομένα χρώματος γίνονται πολύ μικρότερα, ενώ η λαμπρότητα (φωτεινότητα) παραμένει αμετάβλητη. Σε αυτό το σημείο, η εικόνα είναι ήδη κατά το ήμισυ συμπιεσμένη!

Βήμα 3: Διακριτός Μετασχηματισμός Συνημίτονου (DCT)

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

Η DCT χωρίζει την εικόνα σε μπλοκ 8x8 και μετατρέπει κάθε μπλοκ σε μια συλλογή τιμών συχνοτήτων. Οι υψηλότερες συχνότητες, που αντιπροσωπεύουν γρήγορες αλλαγές στις τιμές των pixel, όπως άκρα ή θόρυβος, είναι συχνά λιγότερο ορατές στο ανθρώπινο μάτι και μπορούν να απλοποιηθούν ή να αφαιρεθούν.

Βήμα 4: Κβαντοποίηση

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

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

Βήμα 5: Κωδικοποίηση Run Length και Huffman

Μετά την κβαντοποίηση, τα δεδομένα εξακολουθούν να μην είναι αρκετά συμπαγή για αποδοτική αποθήκευση. Εδώ είναι που η Run Length Encoding (RLE) και Κωδικοποίηση Huffman μπαίνουν στο παιχνίδι.

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

These two μέθοδοι κωδικοποίησης συνεργάζονται για να μειώσουν δραστικά το μέγεθος του αρχείου χωρίς να θυσιάζουν πολύ από την ποιότητα της εικόνας!

Επιπλέον σημειώσεις

Παρόλο που το JPEG είναι μια εξαιρετικά αποδοτική μορφή, υπάρχουν μερικά σημαντικά σημεία που πρέπει να ληφθούν υπόψη:

  • Επίπεδο συμπίεσης: Το JPEG επιτρέπει στους χρήστες να επιλέξουν το επίπεδο συμπίεσης, αλλά η υψηλότερη συμπίεση μειώνει το μέγεθος του αρχείου και μπορεί να προκαλέσει ορατά τεχνουργήματα όπως θαμπά άκρα ή εικονοστοιχειοποίηση. Αυτό οφείλεται στο ότι οι τιμές του πίνακα κβαντοποίησης είναι πολύ υψηλές, γεγονός που οδηγεί στην προσθήκη περισσότερων μηδενικών, κάνοντας το αρχείο μικρότερο αλλά σε βάρος της ποιότητας της εικόνας.
  • Απώλεια δεδομένων υψηλής συχνότητας: Η κβαντοποίηση μειώνει την ακρίβεια των δεδομένων υψηλής συχνότητας (λεπτομέρειες όπως κοφτερά άκρα), γι' αυτό το JPEG είναι ιδανικό για ομαλές υφές αλλά δυσκολεύεται με κοφτές γραμμές και διανυσματικά γραφικά.
  • Όχι ιδανικό για διανυσματικά γραφικά: Το JPEG δεν είναι η καλύτερη επιλογή για συμπίεση διανυσματικών γραφικών, καθώς μπορεί να προκαλέσει ορατά τεχνουργήματα στα όρια σχημάτων ή γραμμών.

Παρά αυτούς τους περιορισμούς, το JPEG παραμένει η πιο δημοφιλής μορφή εικόνας, εν μέρει επειδή είναι παλιά, καλά κατανοητή και χωρίς δικαιώματα χρήσης. Ωστόσο, νεότερες μορφές όπως WebP ή HEIF προσφέρουν ακόμη καλύτερα ποσοστά συμπίεσης χωρίς να μειώνεται η ποιότητα, καθιστώντας τις ελκυστικές εναλλακτικές σε ορισμένα πλαίσια.

Συμπερασματικά

Ο αλγόριθμος συμπίεσης JPEG είναι ένα αξιοσημείωτο επίτευγμα στη διαχείριση δεδομένων εικόνας. Χωρίζοντας τις εικόνες σε μικρότερα μπλοκ, εφαρμόζοντας διάφορους μαθηματικούς μετασχηματισμούς και χρησιμοποιώντας αποδοτικές τεχνικές κωδικοποίησης όπως Run Length και Huffman Encoding, μας επιτρέπει να αποθηκεύουμε εικόνες υψηλής ποιότητας σε πολύ μικρότερα μεγέθη αρχείων.

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

Διαθέσιμο σε Chrome
50,000+
Firefox
1,500+
Zapier Make