ΠΑΡΑΡΤΗΜΑ   Β

TIFF

 

Γενικά Ιστορικά

TIFF είναι ακρωνύμιο του Tag Image File Format. O προσδιορισμός TIFF αρχικά κυκλοφόρησε το 1986 από την Albus Corporation ως μια στάνταρ μέθοδος αποθήκευσης ασπρόμαυρων εικόνων, που έχουν δημιουργηθεί από σαρωτές και από εφαρμογές desktop publishing. Αυτή η πρώτη δημόσια κυκλοφορία ήταν στην πραγματικότητα η τρίτη βελτιωμένη έκδοση του TIFF, έτσι αυτή η πρώτη κυκλοφορία μπορεί να θεωρηθεί ως η TIFF 3.0 έκδοση.

Η πρώτη ευρέως χρησιμοποιούμενη έκδοση η TIFF 4.00, κυκλοφόρησε  τον Απρίλιο 1987. Στο TIFF 4.0 προστέθηκε η υποστήριξη για ασυμπίεστες RGB εικόνες με χρώμα και γρήγορα την ακολούθησε η κυκλοφορία του TIFF 5.0, τον Αύγουστο 1988. Το TIFF 5.0 ήταν η πρώτη βελτιωμένη έκδοση που πρόσθεσε την ικανότητα να αποθηκεύει εικόνες με χρώματα παλέτας και υποστήριξε  τον LZW αλγόριθμο συμπίεσης. Το TIFF 6.0 κυκλοφόρησε τον Ιούνιο 1992 και πρόσθεσε υποστήριξη για CMYK και YCbCr έγχρωμες εικόνες και την JPEG μέθοδο συμπίεσης.

Σήμερα το TIFF είναι ένα στάνταρ format αρχείων που βρίσκεται στα περισσότερα paint, imaging και desktop publishing προγράμματα και είναι ένα format που προέρχεται από το Microsoft Windows GUI (graphics User Interface). Η επεκτάσιμη φύση του TIFF επιτρέποντας αποθήκευση πολλαπλών raster εικόνων, οποιουδήποτε βάθους pixel, το κάνει ιδανικό για τις περισσότερες ανάγκες αποθήκευση εικόνων.

Το TIFF έχει κερδίσει μία φήμη για δύναμη και ευκαμψία, αλλά θεωρείται το ίδιο περίπλοκο και μυστηριώδες. Στο σχεδιασμό του το TIFF προσπαθεί να είναι πολύ επεκτάσιμο και να εξασφαλίζει πολλά χαρακτηριστικά που ο προγραμματιστής μπορεί να χρειάζεται σε ένα format αρχείου. Επειδή το TIFF είναι πολύ επεκτάσιμο και έχει αρκετές ικανότητες πέρα από αυτές των άλλων  format αρχείων  εικόνας, αυτό το format είναι περίπλοκο format για να το κατανοήσεις και να το χρησιμοποιήσεις.

 

Προβλήματα - Αιτίες

Αρκετά προβλήματα έχουν αναφερθεί κατά τη μεταφορά ενός TIFF αρχείου από μία εφαρμογή σε μία άλλη ή κατά την εμφάνιση κάποιων TIFF αρχείων εικόνας. Αυτά τα προβλήματα σχεδόν πάντα οφείλονται στα ίδια τα TIFF αρχεία εικόνας. Τα αρχεία χαρακτηρίζονται ως «κακά» επειδή έχουν ‘κακοποιηθεί’ κατά την διάρκεια κάποιας μεταφοράς δεδομένων στο αρχείο ή επειδή παράχθηκαν από μία εφαρμογή που δεν γνώριζε πως να γραφεί σωστά ένα αρχείο TIFF.  Ωστόσο, τα περισσότερα από τα αρχεία που δεν μπορούν να διαβαστούν σωστά δεν είναι πραγματικά «κακά» και το σφάλμα συνήθως είναι μη υπαρκτό.

Για παράδειγμα αν μία εφαρμογή χρησιμοποιεί μόνο ασπρόμαυρες εικόνες, σίγουρα δεν χρειάζεται να υποστηρίζει διάβασμα και γράψιμο για έγχρωμα και gray-scale TIFF αρχεία εικόνας. Σ’ αυτή την περίπτωση, η εφαρμογή πρέπει απλά και φιλικά, να αρνηθεί να διαβάσει μη ασπρόμαυρα TIFF αρχεία εικόνας και να αναφέρει τον λόγο που δεν το κάνει. Ενεργώντας μ’ αυτό τον τρόπο, η εφαρμογή θα αποτρέψει τις προσπάθειες του χρήστη να διαβάσει αυτές τις εικόνες με την συγκεκριμένη εφαρμογή.

Μερικές εφαρμογές που διαβάζουν TIFF αρχεία εικόνας -ή οποιαδήποτε άλλα αρχεία εικόνας- μπορεί να επιστρέψουν ένα ασαφές λάθος στον κώδικα, δηλώνοντας ότι το ίδιο το TIFF αρχείο είναι κακό (όχι ότι η εφαρμογή δεν μπορεί να χρησιμοποιήσει τα δεδομένα εικόνας που το TIFF αρχείο περιέχει). Τέτοια συμβάντα οφείλονται στον σχεδιαστή της εφαρμογής που δεν εξασφάλισε τον χρήστη με φιλικά πληροφοριακά μηνύματα.

Μία τεράστια πηγή προβλημάτων των προγραμμάτων ανάγνωσης TIFF αρχείων είναι η ανικανότητα να διαβαστούν τα δεδομένα, σύμφωνα πάντα με το σχήμα ταξινόμησης των bytes. Τα bytes σε μία 16-bit και σε μία 32-bit λέξη δεδομένων αποθηκεύονται με διαφορετική σειρά στην αρχιτεκτονική little-endian (όπως η Intel iAPX86),από τις μηχανές με big-endian (όπως η Motorola MC68000A). Διαβάζοντας δεδομένα big-endian χρησιμοποιώντας την αρχιτεκτονική little-endian δίνει ως αποτέλεσμα κάτι περισσότερο από σκουπίδια.

Επίσης αξίζει να σημειωθεί ότι τα προγράμματα ανάγνωσης δεν υποστηρίζουν  πάντα τον αλγόριθμο κωδικοποίησης που χρησιμοποιείται για την συμπίεση των δεδομένων εικόνας. Τα περισσότερα προγράμματα χειρίζονται ασυμπίεστα όσο και RLE συμπιεσμένα δεδομένα, αλλά δεν υποστηρίζουν CCITT T.4 και T.6 συμπίεση. Είναι επίσης εκπληκτικό πόσα πολλά προγράμματα ανάγνωσης υποστηρίζουν το διάβασμα έγχρωμων TIFF αρχείων, τα οποία είναι είτε αποθηκευμένα ακατέργαστα είτε RLE συμπιεσμένα δεδομένα, αλλά δεν  υποστηρίζουν την αποσυμπίεση των LZW κωδικοποιημένων δεδομένων.

Τα περισσότερα άλλα προβλήματα των προγραμμάτων ανάγνωσης TIFF αρχείων είναι αρκετά μικρά, αλλά μοιραία. Τέτοια προβλήματα συνήθως περιλαμβάνουν αποτυχία στην σωστή μετάφραση των δεδομένων ετικέτας (tag), μη υποστήριξη για color-mapped εικόνες, ή ανικανότητα να διαβάσουν μια raster γραμμή σάρωσης που περιλαμβάνει ένα περιττό αριθμό bytes.