Το JFIF σημαίνει JPEG File Interchange Format και το JPEG σημαίνει Joint Photographic Experts Group. Το JFIF είναι η μορφή αρχείου που αποθηκεύει τα δεδομένα εικόνας JPEG, ώστε να μπορούν να τα ανοίγουν διαφορετικά προγράμματα και υπολογιστές.
Η έκδοση JFIF είναι ένα πεδίο μεταδεδομένων μέσα σε ένα αρχείο JPEG. Σας δείχνει ποια έκδοση της προδιαγραφής JFIF ακολουθεί το αρχείο, για παράδειγμα 1.01 ή 1.02. Το πεδίο αυτό υπάρχει σε αρχεία JPG, επειδή το JFIF είναι μορφή μόνο για εικόνες JPEG.
Τι προσθέτει το JFIF σε μια εικόνα JPEG
Το πρότυπο JPEG ορίζει πώς συμπιέζονται τα δεδομένα εικόνας. Ένα αρχείο JFIF είναι ένα κανονικό αρχείο JPEG με ένα επιπλέον μπλοκ δεδομένων, που ονομάζεται τμήμα APP0. Αυτό το μπλοκ έρχεται αμέσως μετά το δείκτη που ξεκινά την εικόνα.
Τα δεδομένα στο τμήμα APP0 ξεκινούν με το κείμενο JFIF. Το τμήμα αποθηκεύει πληροφορίες που δεν περιέχονται στα συμπιεσμένα δεδομένα εικόνας:
- Την έκδοση JFIF
- Τη βασική και κάθετη πυκνότητα εικονοστοιχείων, με μια μονάδα ανάλυσης σε ίντσες, εκατοστά ή χωρίς μονάδα
- Τη λόγο διαστάσεων εικονοστοιχείου, τον οποίο ένα πρόγραμμα υπολογίζει από τις 2 τιμές πυκνότητας
- Μια προαιρετική μικρή προεπισκόπηση της εικόνας, που ονομάζεται thumbnail
Το JFIF ορίζει επίσης το χρωματικό μοντέλο. Μια εικόνα JFIF έχει 1 κανάλι μόνο με φωτεινότητα ή 3 κανάλια στον χρωματικό χώρο YCbCr.
Ποια αρχεία το φέρουν
Ο τύπος MIME image/jpeg ορίστηκε για εικόνες JPEG σε μορφή JFIF. Οι καταλήξεις αρχείων .jpg, .jpeg, .jpe, .jif και .jfif ανήκουν όλες σε αυτή τη μορφή. Έτσι, ένα αρχείο του οποίου το όνομα τελειώνει σε .jfif περιέχει τον ίδιο τύπο εικόνας με ένα αρχείο .jpg.
Οι ψηφιακές κάμερες συνήθως αποθηκεύουν φωτογραφίες JPEG σε μορφή Exif. Το Exif αποθηκεύει τα μεταδεδομένα του κυρίως σε ένα τμήμα APP1 και αυτό το τμήμα πρέπει επίσης να έρχεται αμέσως μετά την αρχή της εικόνας. Επειδή και τα δύο τμήματα πρέπει να είναι πρώτα, ένα αρχείο δεν μπορεί να ακολουθεί JFIF και Exif ταυτόχρονα.
Ορισμένα προγράμματα εξακολουθούν να γράφουν ένα τμήμα JFIF πριν από το τμήμα Exif. Σε ένα τέτοιο αρχείο, θα δείτε και μια έκδοση JFIF και μια έκδοση Exif.
Πώς φαίνονται οι τιμές
Η έκδοση JFIF αποθηκεύεται σε 2 bytes. Το πρώτο byte κρατά την κύρια έκδοση και το δεύτερο byte την δευτερεύουσα έκδοση. Η έκδοση 1.02 αποθηκεύεται ως τα bytes 01 και 02.
Το ExifTool εμφανίζει το πεδίο ως JFIFVersion. Εκτυπώνει τον κύριο αριθμό, μια τελεία και έναν δευτερεύοντα αριθμό με 2 ψηφία. Τα μητρώα μορφών καταγράφουν 3 εκδόσεις του JFIF:
1.00: μια πρώιμη έκδοση της προδιαγραφής1.01: η έκδοση πριν από την 1.021.02: η έκδοση της 1ης Σεπτεμβρίου 1992
Από πού προέρχεται η τιμή
Το πρόγραμμα που αποθηκεύει το αρχείο JPEG γράφει το τμήμα APP0 και τον αριθμό έκδοσης σε αυτό. Η ITU δημοσίευσε το JFIF ως Σύσταση T.871 το 2011 και οι ISO και IEC δημοσιεύουν το ίδιο κείμενο ως ISO/IEC 10918-5. Αυτό το πρότυπο βασίζεται στην έκδοση 1.02 και τα αρχεία που το ακολουθούν πρέπει να αποθηκεύουν την τιμή 1.02.
Τα προγράμματα που βασίζονται στη βιβλιοθήκη libjpeg γράφουν 1.01 από προεπιλογή. Η τεκμηρίωσή της αναφέρει ότι πρέπει να οριστεί 1.02 όταν ένα πρόγραμμα προσθέτει ένα τμήμα επέκτασης από την έκδοση 1.02. Έτσι, ένα αρχείο που αποθηκεύεται σήμερα μπορεί να εμφανίζει 1.01 ή 1.02.
Γιατί έχει σημασία για το αρχείο σας
Η έκδοση δείχνει σε ένα πρόγραμμα αν μπορεί να διαβάσει τα δεδομένα JFIF. Η προδιαγραφή αναφέρει ότι ένα αρχείο συνήθως μπορεί να αποκωδικοποιηθεί όταν η κύρια έκδοσή του ταιριάζει με την κύρια έκδοση που υποστηρίζει το πρόγραμμα.
Η έκδοση δείχνει επίσης ποια thumbnails μπορεί να περιέχει το αρχείο. Ένα τμήμα επέκτασης που ονομάζεται JFXX επιτρέπεται μόνο στην έκδοση 1.02 και μεταγενέστερες. Το τμήμα JFXX μπορεί να περιέχει ένα thumbnail συμπιεσμένο με JPEG ή ένα ασυμπίεστο thumbnail.
Ένα αρχείο JPEG χωρίς έκδοση JFIF δεν έχει τμήμα JFIF. Αυτό είναι φυσιολογικό για φωτογραφίες που αποθηκεύει η κάμερα σε μορφή Exif.