Δεδομένα Εικόνας

 

Τα  ΤΙFF  αρχεία  περιλαμβάνουν μόνο  raster  δεδομένα. Όπως έχουμε δει τα  raster  δεδομένα σ’ ένα  TIFF  αρχείο δεν εμφανίζονται πάντα αμέσως μετά την επικεφαλίδα εικόνας (image header), όπως με τα περισσότερα άλλα  formats. Αντίθετα, μπορούν να βρίσκονται σχεδόν οπουδήποτε μέσα σ’ ένα TIFF αρχείο. Και επειδή το μεγαλύτερο μέρος της δουλειάς που εκτελείται από ένα πρόγραμμα που διαβάζει και γράφει TIFF  αρχεία είναι η δημιουργία και ο χειρισμός των δεδομένων εικόνας, για την κατανόηση του τρόπου που τα δεδομένα  εικόνας αποθηκεύονται μέσα  σ’ ένα  TIFF  αρχείο, είναι απαραίτητο, να γνωρίσουμε τις έννοιες των  strips και των  tiles  (τα  tiles  χρησιμοποιούνται  στις  TIFF  6.0  εικόνες ) :

Ένα  strip είναι  μια ιδιαίτερη συλλογή από μια ή περισσότερες συνεχείς γραμμές από raster δεδομένα εικόνας. Διαιρώντας τα δεδομένα εικόνας σε ζώνες (strips) κάνει την είσοδο/ έξοδο με ενδιάμεση μνήμη  (buffer storage), την άμεση προσπέλαση και την εναλλαγή των δεδομένων εικόνας πολύ πιο εύκολες. Αυτή η έννοια υπάρχει σε αρκετά άλλα  formats  αρχείου εικόνας.

Τρεις ετικέτες είναι απαραίτητες για να ορίσουν τα strips των raster δεδομένων μέσα σ` ένα TIFF αρχείο. Αυτές οι τρεις ετικέτες είναι οι RowsPerStrip, StripOffsets και StripByteCounts.

Τα strips είναι ένα αντικείμενο μιας-διάστασης και έχει μόνο ένα μήκος. Ένα tile μπορεί να θεωρηθεί ως ένα δισδιάστατο strip, το οποίο έχει πλάτος και μήκος παρόμοιο με ένα raster. Στην πραγματικότητα μπορούμε να σκεφτούμε κάθε tile σε μια εικόνα ως ένα μικρό raster που περιέχει ένα κομμάτι ενός μεγαλύτερου raster.Αυτό που χρειάζεται να κάνουμε είναι να ταιριάξουμε τα tiles  μαζί στις σωστές τους θέσεις για να πάρουμε την εικόνα.

Διαιρώντας μια εικόνα σε ορθογώνια  tiles παρά σε οριζόντια strips έχουμε το μεγάλο πλεονέκτημα σε πολύ μεγάλες και υψηλής ακρίβειας εικόνες. Πολλές εφαρμογές δεν μπορούν να χειριστούν εικόνες πολύ μεγάλου μεγέθους εξαιτίας των μεγάλων απαιτήσεων σε μνήμη, κατά την αποσυμπίεση και τον χειρισμό ακόμα και μερικών εκατοντάδων γραμμών δεδομένων εικόνας. Ακόμα κι αν θέλουμε να εμφανίσουμε ένα πολύ μικρό μέρος της εικόνας θα πρέπει να αποσυμπιέσουμε ολόκληρο το strip και να το διατηρήσουμε στην μνήμη. Αν τα δεδομένα εικόνας είναι οργανωμένα σε tiles, θα μπορούσαμε να αποσυμπιέσουμε μόνο τα titles που περιέχουν το κομμάτι της εικόνας που επιθυμούμε.

Όταν χρησιμοποιούμε Tiles αντί για strips, οι ετικέτες που είναι απαραίτητες είναι οι εξής: TileWidth,TileLength,TileOffset και TileByCounts.

Συμπίεση

 

Το TIFF υποστηρίζει ίσως τους περισσότερους τύπους συμπίεσης δεδομένων από κάθε άλλο format αρχείο εικόνας. Είναι επίσης αρκετά πιθανόν να χρησιμοποιηθεί ένα μη-υποστηριζόμενο σχήμα συμπίεσης, απλώς προσθέτοντας τις απαιτούμενες οριζόμενες - από τον χρήστη ετικέτες. Το TIFF 4.0 υποστηρίζει μόνο RunLength Eencoding (RLE) και CCITT T.4 και T.6 συμπίεση.Αυτά τα συμπιεστικά σχήματα είναι τυπικά μόνο για χρήση με 8-bit color, και gray-scale και 1-bit ασπρόμαυρες εικόνες, αντιστοίχως. Το TIFF5.0 πρόσθετα υποστηρίζει LZW συμπίεση, τυπικά για έγχρωμες εικόνες, και το TIFF 6.0 υποστηρίζει την JPEG μέθοδο συμπίεσης για χρήση με continuous-tone color και gray-scale εικόνες.

Το TIFF χρησιμοποιεί και το PackBits RLE συμπιεστικό σχήμα που βρίσκεται στην εργαλειοθήκη της Macintosh. Ο PackBits είναι ένας απλός και αποτελεσματικός αλγόριθμος για συμπίεση δεδομένων και είναι εύκολος να εφαρμοστεί.

 

 

Προβλήματα TIFF 6.0 και JPEG

 

Το TIFF 6.0 πρόσθεσε το JPEG στην λίστα των TIFF συμπιεστικών σχημάτων. Δυστυχώς, η προσέγγιση που έγινε από τον προσδιορισμό TIFF 6.0 είναι πολύ φτωχή στον σχεδιασμό. Ένας νέος σχεδιασμός επεξεργάζεται στην TIFF Advisory Committee. Αναμένεται λοιπόν, η κυκλοφορία του νέου σχεδιασμού να παρέχει πολύ καλύτερα αποτελέσματα σε ότι αφορά την εφαρμογή JPEG στο ΤΙFF.