Πως λειτουργεί το πρότυπο εικόνων JPEG
Κάθε μέρα, ερχόμαστε σε επαφή με δεκάδες, αν όχι εκατοντάδες, εικόνες JPEG. Είναι το αόρατο θεμέλιο του διαδικτύου. Από τις φωτογραφίες των διακοπών σας μέχρι τα memes που βλέπετε στα social media, το JPEG είναι παντού.
Έχετε αναρωτηθεί ποτέ τι ακριβώς είναι αυτό το αρχείο με την κατάληξη .jpg (ή .jpeg) και πώς καταφέρνει να «στριμώχνει» μια τεράστια φωτογραφία σε ένα τόσο μικρό αρχείο, διατηρώντας την ποιότητά της σχεδόν αναλλοίωτη.

Η απάντηση δεν κρύβεται μόνο στα μαθηματικά, αλλά και στην ψυχολογία. Το JPEG δεν είναι απλώς ένα format αρχείου· είναι μια έξυπνη φιλοσοφία που εκμεταλλεύεται τις αδυναμίες της ανθρώπινης όρασης.
Τι σημαίνει «Συμπίεση με Απώλειες» (Lossy);
Αυτή είναι η καρδιά του JPEG. Σε αντίθεση με format όπως το PNG ή το BMP που είναι lossless (χωρίς απώλειες) και διατηρούν κάθε pixel ακριβώς όπως ήταν, το JPEG είναι lossy (με απώλειες).
Αυτό σημαίνει ότι κατά τη διαδικασία αποθήκευσης, απορρίπτει στρατηγικά κάποιες πληροφορίες — πληροφορίες που το μάτι μας, πιθανότατα, δεν θα παρατηρούσε ποτέ ότι λείπουν. Είναι ένας έξυπνος συμβιβασμός: θυσιάζουμε λίγη απόλυτη ακρίβεια, που δεν βλέπουμε, για να κερδίσουμε τεράστιο χώρο στο δίσκο.

Και μια γρήγορη απάντηση σε μια αιώνια ερώτηση: το .jpg και το .jpeg είναι ακριβώς το ίδιο πράγμα. Η κατάληξη με τα τρία γράμματα (.jpg) είναι απλώς ένα κατάλοιπο από τα παλιά συστήματα αρχείων των Windows που απαιτούσαν επεκτάσεις τριών γραμμάτων.
Πώς Λειτουργεί η Μαγεία; Η Ανατομία του JPEG
Η δημιουργία ενός αρχείου JPEG δεν είναι ένα απλό βήμα. Είναι μια γραμμή παραγωγής, μια σειρά από έξυπνες τεχνικές που εφαρμόζονται η μία μετά την άλλη.

Βήμα 1: Η Ανθρώπινη Αντίληψη (YCbCr)
Το πρώτο βήμα είναι να σταματήσουμε να σκεφτόμαστε την εικόνα ως συλλογή από Κόκκινα, Πράσινα και Μπλε pixels (RGB). Το ανθρώπινο μάτι είναι πολύ πιο ευαίσθητο στις αλλαγές της φωτεινότητας (Luma) παρά στις αλλαγές του χρώματος (Chroma).
Το JPEG το ξέρει αυτό. Έτσι, μετατρέπει την εικόνα από το μοντέλο RGB στο μοντέλο YCbCr:
- Y: Είναι η φωτεινότητα (Luminance) – πόσο φωτεινό ή σκοτεινό είναι ένα pixel.
- Cb & Cr: Είναι η πληροφορία του χρώματος (Chrominance).
Αυτός ο διαχωρισμός είναι κρίσιμος, γιατί μας επιτρέπει να «πειράξουμε» το χρώμα, αρκεί να μην πειράξουμε τη φωτεινότητα, και το μάτι μας θα το καταλάβει.
Βήμα 2: Υποδειγματοληψία Χρώματος (Chroma Sub-sampling)
Εδώ ξεκινά η πρώτη «απώλεια». Αφού ξέρουμε ότι το μάτι μας δεν δίνει τόση σημασία στο χρώμα, γιατί να αποθηκεύουμε πλήρη χρωματική πληροφορία για κάθε pixel;

Η υποδειγματοληψία χρώματος είναι μια τεχνική όπου, για ένα μπλοκ pixel (π.χ. 2×2), κρατάμε την πληροφορία φωτεινότητας (Y) για όλα τα 4 pixel, αλλά κρατάμε την πληροφορία χρώματος (Cb/Cr) μόνο για ένα από αυτά (ή έναν μέσο όρο) και την εφαρμόζουμε σε ολόκληρο το μπλοκ.
Αυτό από μόνο του μπορεί να μειώσει το μέγεθος των δεδομένων του χρώματος στο μισό ή και στο ένα τέταρτο, χωρίς να το παρατηρήσει κανείς!
Βήμα 3: Ο Μετασχηματισμός (Discrete Cosine Transform – DCT)
Εδώ τα πράγματα γίνονται λίγο πιο «μαθηματικά», αλλά η ιδέα είναι απλή.
Η εικόνα χωρίζεται σε μικρά μπλοκ 8×8 pixel. Το DCT είναι ένας μαθηματικός μετασχηματισμός που αλλάζει τον τρόπο που βλέπουμε αυτά τα 64 pixel. Αντί να τα βλέπει ως μεμονωμένες τιμές (χωρική περιοχή), τα μετατρέπει σε μια συλλογή από συχνότητες (περιοχή συχνοτήτων).
- Χαμηλές συχνότητες: Αντιπροσωπεύουν τις ομαλές αλλαγές στο χρώμα και τον τόνο (π.χ. ένας γαλάζιος ουρανός). Αυτά είναι το σημαντικό μέρος της εικόνας.
- Υψηλές συχνότητες: Αντιπροσωπεύουν τις απότομες αλλαγές, τις λεπτές λεπτομέρειες και τον «θόρυβο» (π.χ. η υφή ενός υφάσματος). Αυτά είναι το λιγότερο σημαντικό μέρος.
Βήμα 4: Κβαντοποίηση (Quantization) – Εδώ Γίνεται η Συμπίεση
Αυτό είναι το κυρίως βήμα της απώλειας και ο πυρήνας της συμπίεσης.
Αφού το DCT έχει διαχωρίσει τις σημαντικές (χαμηλές) από τις ασήμαντες (υψηλές) συχνότητες, η κβαντοποίηση έρχεται και «τσεκουρώνει» τις τιμές. Χρησιμοποιώντας έναν «πίνακα κβαντοποίησης», διαιρεί τους αριθμούς που προέκυψαν από το DCT.
- Οι τιμές των χαμηλών συχνοτήτων (σημαντικές) διαιρούνται με μικρούς αριθμούς, οπότε αλλάζουν ελάχιστα.
- Οι τιμές των υψηλών συχνοτήτων (ασήμαντες) διαιρούνται με πολύ μεγάλους αριθμούς.
Το αποτέλεσμα; Πολλές από τις τιμές των υψηλών συχνοτήτων στρογγυλοποιούνται και γίνονται μηδέν!
Αυτό το βήμα είναι που ελέγχετε εσείς με τη ρύθμιση “Quality” (Ποιότητα) στο Photoshop ή το GIMP.
- Υψηλή Ποιότητα (π.χ. 90-100): Οι διαιρέτες είναι μικροί. Λιγότερα μηδενικά, καλύτερη ποιότητα, μεγαλύτερο αρχείο.
- Χαμηλή Ποιότητα (π.χ. 10): Οι διαιρέτες είναι τεράστιοι. Περισσότερα μηδενικά, χειρότερη ποιότητα (τα γνωστά “artifacts”), απίστευτα μικρό αρχείο.
Βήμα 5: Κωδικοποίηση (Lossless)
Έχουμε πλέον έναν πίνακα 8×8 γεμάτο αριθμούς, αλλά οι περισσότεροι από αυτούς (ειδικά στις “γωνίες”) είναι μηδενικά. Τώρα, απλώς πρέπει να αποθηκεύσουμε αυτούς τους αριθμούς αποδοτικά.
- Σάρωση Zig-Zag: Ο αλγόριθμος «διαβάζει» τον πίνακα 8×8 σε ζιγκ-ζαγκ, φέρνοντας όλες τις σημαντικές τιμές στην αρχή και μαζεύοντας όλα τα μηδενικά στο τέλος.
- Run-Length Encoding (RLE): Αντί να γράψει “0, 0, 0, 0, 0”, ο αλγόριθμος απλά γράφει “(0, 5)” (πέντε μηδενικά στη σειρά). Αυτό συμπιέζει τις μεγάλες σειρές μηδενικών.
- Huffman Encoding: Τέλος, εφαρμόζεται ένας κλασικός αλγόριθμος συμπίεσης (όπως αυτός που χρησιμοποιείται στα αρχεία .zip) που δίνει μικρότερους κωδικούς στους αριθμούς που εμφανίζονται συχνότερα.
Και κάπως έτσι, έχουμε ένα αρχείο JPEG! Η αποσυμπίεση είναι απλώς η αντίστροφη διαδικασία όλων αυτών των βημάτων.
Γιατί το JPEG Επιβιώνει Ακόμα;
Το JPEG σχεδιάστηκε στις αρχές της δεκαετίας του ’90, μια εποχή με αργούς υπολογιστές και πιο αργό internet. Δημιουργήθηκε από ανάγκη.
Σήμερα, έχουμε νεότερα, πιο αποδοτικά format όπως το WebP και το AVIF, που προσφέρουν ακόμα καλύτερη συμπίεση στην ίδια ποιότητα. Κι όμως, σύμφωνα με στατιστικές, το JPEG εξακολουθεί να χρησιμοποιείται σε πάνω από το 70% όλων των ιστοσελίδων.
Ο λόγος; Είναι καθολικά συμβατό. Κάθε συσκευή, κάθε πρόγραμμα περιήγησης, κάθε πρόγραμμα επεξεργασίας εικόνας, εδώ και 30 χρόνια, ξέρει να διαβάζει και να γράφει JPEG. Αυτή η κληρονομιά και η καθολική αποδοχή του δίνουν μια τεράστια αντοχή στον χρόνο.
Το JPEG είναι μια από τις σιωπηλές ιδιοφυΐες του ψηφιακού μας κόσμου. Είναι η τέλεια ισορροπία μεταξύ μαθηματικής ακρίβειας και βιολογικής ατέλειας, ένα format που κατάλαβε πώς βλέπουμε τον κόσμο και το εκμεταλλεύτηκε στο έπακρο.












