1.13 ΕΤΙΚΕΤΕΣ ΣΥΜΠΙΕΣΗΣ (DATA COMPRESSION)


Η συμπίεση των δεδομένων είναι σχεδόν απαραίτητη όταν δουλεύουμε με μεγάλες εικόνες. Το πρωτόκολο TIFF υποστηρίζει αρκετούς αλγόριθμους συμπίεσης δεδομένων. Εκτός από τους αλγόριθμους αυτούς όμως, έχουν αναπτυχθεί και χρησιμοποιούνται αρκετοί ιδιωτικοί αλγόριθμοι, πολλοί από τους οποίους φυλάγονται μυστικοί από τους δημιουργούς τους. Περισσότερες πληροφορίες για τους αλγόριθμους συμπίεσης θα βρείτε σε επόμενη ενότητα.


**1. ΕΤΙΚΕΤΑ " ΣΥΜΠΙΕΣΗ ΔΕΔΟΜΕΝΩΝ " **


ΟΝΟΜΑ ΕΤΙΚΕΤΑΣ : Compression
ΑΡΙΘΜΟΣ ΕΤΙΚΕΤΑΣ : 259 ( 103 h )
ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ : Short
ΑΡΙΘΜΟΣ ΔΕΔΟΜΕΝΩΝ : 1
ΕΥΡΟΣ ΤΙΜΩΝ : 0 .. 65535


Η ετικέτα αυτή μας πληροφορεί για τον αλγόριθμο με τον οποίο συμπιέστηκαν τα δεδομένα της εικόνας. Εδώ θα πρέπει να σημειώσουμε ότι συμπιέζονται μόνο τα δεδομένα της εικόνας και όχι τα υπόλοιπα τμήματα του αρχείου TIFF ( Επικεφαλίδα, κατάλογοι ). Οι τιμές με τις οποίες συναντάται συνήθως η ετικέτα αυτή σχολιάζονται πιο κάτω :

ΤΙΜΗ "1": Δεν έχουμε συμπίεση των δεδομένων. Τα δεδομένα           συμπυκνώνονται σε ΒΥΤΕ σύμφωνα με τις απαιτήσεις των           ετικετών "ΤΡΟΠΟΣ ΟΡΓΑΝΩΣΗΣ ΣΕ ΒΥΤΕ" (FillOrder) και           "ΤΡΟΠΟΣ ΦΥΛΑΞΗΣ ΧΡΩΜΑΤΩΝ" (PlanarConfiguration). Στο           τέλος κάθε σειράς της εικόνας, συμπληρώνουμε           αυθαίρετα (τυχαία) δεδομένα μέχρι να φτάσουμε στα           όρια του τελευταίου ΒΥΤΕ. Αν ο αριθμός των ΒΙΤ ανά           δείγμα είναι μεγαλύτερος από 8, τότε τα δεδομένα           αποθηκεύονται ανά 16 ή 32 ΒΙΤ. Αν τα ΒΙΤ ανά δείγμα           είναι περισσότερα από 8 και λιγότερα ή ίσα με 16           τότε τα δεδομένα αποθηκεύονται ανά 2 ΒΥΤΕ. Αν τα ΒΙΤ           ανά δείγμα είναι περισσότερα από 16 και λιγότερα ή ίσα           με 32 τότε τα δεδομένα αποθηκεύονται ανά 4 ΒΥΤΕ. Η           διάταξη των ΒΥΤΕ αυτών εξαρτάται από το αν           μορφοποιούμε τα δεδομένα σύμφωνα με τα πρώτυπα της           INTEL ή της MOTOROLA. Οταν δεν χρησιμοποιούμε τεχνικές           συμπίεσης δεδομένων, δεν είναι υποχρεωτικό να           στριμώχνουμε τα δεδομένα συμπληρώνοντας τα κενά ΒΙΤ           όταν σχηματίζουμε τα ΒΥΤΕ (όπως καθορίζει η ετικέτα           "ΤΡΟΠΟΣ ΟΡΓΑΝΩΣΗΣ ΣΕ ΒΥΤΕ"). Το πιο πάνω είναι           δυνατόν να επιτευχθεί δίνοντας τις κατάλληλες τιμές           στις ετικέτες "BΙΤ ΑΝΑ ΔΕΙΓΜΑ", "ΕΛΑΧΙΣΤΗ ΤΙΜΗ           ΔΕΙΓΜΑΤΟΣ", "ΜΕΓΙΣΤΗ ΤΙΜΗ ΔΕΙΓΜΑΤΟΣ". Για παράδειγα,           έστω ότι έχουμε μία εικόνα που χρειάζεται 6 ΒΙΤ ανά           δείγμα για να περιγραφεί. Για να μην στριμώξουμε τα           δεδομένα αρκεί να δώσουμε στις πιο πάνω ετικέτες τις           εξής τιμές: "ΒΙΤ ΑΝΑ ΔΕΙΓΜΑ" = 8 (παρά το ότι η           πραγματική τιμή είναι 6), "ΕΛΑΧΙΣΤΗ ΤΙΜΗ ΔΕΙΓΜΑΤΟΣ" =           0, "ΜΕΓΙΣΤΗ ΤΙΜΗ ΔΕΙΓΜΑΤΟΣ" = 64 ( 2^6 = 64 ).

Αρα πρέπει να διαβάζουμε με προσοχή τις πιο πάνω ετικέτες, ώστε να είμαστε σε θέση να ξέρουμε τον τρόπο με τον οποίο αποθηκεύονται τα δεδομένα.


TIMH "2": Συμπίεση δεδομένων με τον τροποποιημένο αλγόριθμο           CCITT/3 1-D. Ο αλγόριθμος αυτός είναι όμοιος με τον           CCITT/3 1-D, με τη διαφορά ότι δεν χρησιμoποιούνται           χαρακτήρες τερματισμού και ότι κάθε σειρά στοιχείων           εικόνας συμπιέζεται ανεξάρτητα.

Ακολουθούν δύο τιμές που χρησιμοποιούνται κατά κανόνα όταν θέλουμε να μεταφέρουμε την εικόνα με FAX. Οι τιμές αυτές καλό θα ήταν να μην χρησιμοποιούνται όταν θέλουμε συμβατότητα με επιτραπέζια εκδοτικά συστήματα.


ΤΙΜΗ "3": Συμπίεση με τον αλγόριθμο CCITT GROUP 3. Με τον           αλγόριθμο αυτό τα δεδομένα αποθηκεύονται σαν ΒΥΤΕ και           όχι σαν 16 ΒΙΤ και χρησιμοποιούνται χαρακτήρες           τερματισμού για να είναι δυνατή η μεταφορά μέσω FAX.           Τέλος, οι γραμμές εικόνας που δεν είναι ταυτόχρονα και           αρχή λουρίδας δεδομένων, δεν είναι απαραίτητο να           ξεκινούν από την αρχή ενός ΒΥΤΕ από την στιγμή που           χρησιμοποιούνται χαρακτήρες τερματισμού.

ΤΙΜΗ "4": Συμπίεση με τον αλγόριθμο CCITT GROUP 4. Ο αλγόριθμος           αυτός είναι παρόμοιος με τον πιο πάνω.

ΤΙΜΗ "5": Συμπίεση με τον αλγόριθμο LZW. Ο αλγόριθμος αυτός           χρησιμοποιείται για την συμπίεση εικόνων με αποχρώσεις           του γκρι και για συμπίεση έγχρωμων εικόνων.

Οι τιμές που δίνουν οι περισσότεροι ιδιωτικοί αλγόριθμοι στην ετικέτα αυτή βρίσκονται μεταξύ του 32768 και 65535. Αν η τιμή που θα διαβάσουμε δεν ξέρουμε σε ποιoν αλγόριθμο αντιστοιχεί, τότε θα πρέπει να απορρίψουμε το συγκεκριμένο αρχείο. Παρακάτω αναφέρουμε δύο ιδιωτικούς αλγόριθμους συμπίεσης που έγιναν γνωστοί.

ΤΙΜΗ "32771": Εχουμε και εδώ συμπίεση των δεδομένων που μοιάζει               με αυτή που έχουμε για την τιμή "1", με τη               διαφορά ότι κάθε καινούργια σειρά της εικόνας               ξεκινάει όχι από τα όρια του επόμενου ΒΥΤΕ,               αλλά από τα όρια του μεθ' επόμενου.

ΤΙΜΗ "32773": Εχουμε συμπίεση με τον αλγόριθμο PackBits,               περισσότερες πληροφορίες για τον οποίο μπορούμε               να βρούμε σε επόμενες ενότητες.


**2. ΕΤΙΚΕΤΑ " ΠΛΗΡΟΦΟΡΙΕΣ ΑΛΓΟΡΙΘΜΟΥ CCITT GROUP 3 " **


OΝΟΜΑ ΕΤΙΚΕΤΑΣ : Group3Options
ΑΡΙΘΜΟΣ ΕΤΙΚΕΤΑΣ : 292 ( 124 h )
ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ : Long
ΑΡΙΘΜΟΣ ΔΕΔΟΜΕΝΩΝ : 1


Μπορούμε να θεωρήσουμε την ετικέτα αυτή σαν έναν 32 ΒΙΤ καταχωρητή, σε όλα τα αχρησιμοποίητα ΒΙΤ του οποίου θέτουμε τιμή "0". Σαν ΒΙΤ νούμερο 0 θεωρούμε το ΒΙΤ χαμηλότερης τάξης. Οι περισσότερες εφαρμογές που ασχολούνται με αρχεία TIFF δεν χρησιμοποιούν την ετικέτα αυτή, αλλά θεωρούν εξ' ορισμού ότι όλα τα ΒΙΤ έχουν τιμή "0". Ακολουθούν οι πληροφορίες που παρέχει κάθε ΒΙΤ :

ΒΙΤ 0 : Εχει τιμή "0" για τη συνηθισμένη μονοδιάστατη         κωδικοποίηση. Εχει την τιμή "1" όταν χρησιμοποιούμε         κωδικοποίηση δύο διαστάσεων. Περισσότερες πληροφορίες         για τους αλγόριθμους αυτούς θα πρέπει να         αναζητηθούν στα ειδικά έντυπα που αναφέρονται στα         πρωτόκολα CCITT.

BIT 1 : Εχει τιμή "1" μόνο όταν είμαστε σε κατάσταση         αποσυμπίεσης

ΒΙΤ 2 : Εχει τιμή "1" μόνο όταν προσθέτουμε ΒΙΤ πριν από τον         κωδικό EOL (End Of Line), έτσι ώστε ο κωδικός αυτός να         τελειώνει πάντα στα όρια κάποιου ΒΥΤΕ.


**3. ΕΤΙΚΕΤΑ " ΠΛΗΡΟΦΟΡΙΕΣ ΑΛΓΟΡΙΘΜΟΥ CCITT GROUP 4 "**


ΟΝΟΜΑ ΕΤΙΚΕΤΑΣ : Group4Options
ΑΡΙΘΜΟΣ ΕΤΙΚΕΤΑΣ : 293 ( 125 h )
ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ : Long
ΑΡΙΘΜΟΣ ΔΕΔΟΜΕΝΩΝ : 1


Μπορούμε να θεωρήσουμε την ετικέτα αυτή σαν έναν 32 ΒΙΤ καταχωρητή, σε όλα τα αχρησιμοποίητα ΒΙΤ του οποίου θέτουμε τιμή "0". Σαν ΒΙΤ νούμερο 0 θεωρούμε το ΒΙΤ χαμηλότερης τάξης. Οι περισσότερες εφαρμογές που ασχολούνται με αρχεία TIFF δεν χρησιμοποιούν την ετικέτα αυτή, αλλά θεωρούν εξ' ορισμού ότι όλα τα ΒΙΤ έχουν τιμή "0". Στον αλγόριθμο αυτό δηλαδή, όταν έχουμε δισδιάστατη κωδικοποίηση, κάθε λουρίδα δεδομένων κωδικοποιείται σαν ξεχωριστή εικόνα. Ακολουθούν οι πληροφορίες που παρέχει κάθε ΒΙΤ.

ΒΙΤ "0" : Δεν χρησιμοποιείται.

ΒΙΤ "1" : Εχει τιμή "1" μόνο όταν είμαστε σε κατάσταση          αποσυμπίεσης


**4. ΕΤΙΚΕΤΑ " ΠΡΟΒΛΕΨΗ "**


ΟΝΟΜΑ ΕΤΙΚΕΤΑΣ : Predictor
ΑΡΙΘΜΟΣ ΕΤΙΚΕΤΑΣ : 317 ( 13D h )
ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ : Short
ΑΡΙΘΜΟΣ ΔΕΔΟΜΕΝΩΝ : 1
ΕΥΡΟΣ ΤΙΜΩΝ : 0 .. 65535


Η ετικέτα αυτή χρησιμοποιείται μόνο αν τα δεδομένα της εικόνας συμπιέζονται με τον αλγόριθμο LZW ( πράγμα που σημαίνει ότι η ετικέτα " ΣΥΜΠΙΕΣΗ " θα έχει τιμή "5" ). Αν η τιμή της ετικέτας είναι "1", τότε δεν χρησιμοποιείται σχέδιο πρόβλεψης πριν την κωδικοποίηση.