ΠΑΡΑΡΤΗΜΑ Β
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.