Τι είναι ένα αρχείο WEBP;
Το WebP, που εισήχθη από την Google, είναι μια σύγχρονη μορφή αρχείου εικόνας ιστού ράστερ που βασίζεται σε συμπίεση χωρίς απώλειες και απώλειες. Παρέχει την ίδια ποιότητα εικόνας ενώ μειώνει σημαντικά το μέγεθος της εικόνας. Δεδομένου ότι οι περισσότερες ιστοσελίδες χρησιμοποιούν εικόνες ως αποτελεσματική αναπαράσταση δεδομένων, η χρήση εικόνων WebP σε ιστοσελίδες έχει ως αποτέλεσμα την ταχύτερη φόρτωση των ιστοσελίδων. Σύμφωνα με την Google, οι εικόνες χωρίς απώλειες WebP είναι 26% μικρότερες σε μέγεθος σε σύγκριση με PNGs, ενώ οι εικόνες με απώλειες WebP είναι 25-34% μικρότερες από τις συγκρίσιμες εικόνες JPEG. Οι εικόνες συγκρίνονται με βάση το δείκτη δομικής ομοιότητας (SSIM) μεταξύ του WebP και άλλων μορφών αρχείων εικόνας. Το WebP είναι ένα αδελφό έργο της μορφής κοντέινερ πολυμέσων WebM.
Επισκόπηση δυνατοτήτων WebP
Οι εικόνες WebP χρησιμοποιούν τη διαδικασία συμπίεσης που βασίζεται στην πρόβλεψη των εικονοστοιχείων από τα περιβάλλοντα μπλοκ τους, με αποτέλεσμα τα εικονοστοιχεία να χρησιμοποιούνται πολλές φορές σε ένα μόνο αρχείο. Υποστηρίζει κινούμενες εικόνες και αναμένεται να υποστηρίξει περισσότερες δυνατότητες στο μέλλον. Η Google έχει διαθέσει τον πηγαίο κώδικα online για τον κωδικοποιητή και τον αποκωδικοποιητή της, ώστε να χρησιμοποιείται όπου απαιτείται. Η εικόνα WebP παρέχει υποστήριξη για:
- ** Συμπίεση με απώλειες:** Η συμπίεση με απώλειες βασίζεται στην κωδικοποίηση πλαισίου κλειδιού VP8. Το VP8 είναι μια μορφή συμπίεσης βίντεο που δημιουργήθηκε από την On2 Technologies ως διάδοχος των μορφών VP6 και VP7.
- Συμπίεση χωρίς απώλειες: Η μορφή συμπίεσης χωρίς απώλειες έχει αναπτυχθεί από την ομάδα WebP.
- Διαφάνεια: Το κανάλι άλφα 8-bit είναι χρήσιμο για γραφικές εικόνες. Το κανάλι Alpha μπορεί να χρησιμοποιηθεί μαζί με το RGB με απώλειες, μια δυνατότητα που προς το παρόν δεν είναι διαθέσιμη με καμία άλλη μορφή.
- Κινούμενα σχέδια: Υποστηρίζει κινούμενες εικόνες αληθινού χρώματος.
- Μεταδεδομένα: Μπορεί να έχει μεταδεδομένα EXIF και XMP (χρησιμοποιούνται για παράδειγμα από κάμερες).
- Προφίλ χρώματος: Μπορεί να έχει ενσωματωμένο προφίλ ICC.
Η συμπίεση WebP με απώλεια χρησιμοποιεί προγνωστική κωδικοποίηση για την κωδικοποίηση μιας εικόνας, την ίδια μέθοδο που χρησιμοποιείται από τον κωδικοποιητή βίντεο VP8 για τη συμπίεση βασικών καρέ σε βίντεο. Η προγνωστική κωδικοποίηση χρησιμοποιεί τις τιμές σε γειτονικά μπλοκ pixel για να προβλέψει τις τιμές σε ένα μπλοκ και στη συνέχεια κωδικοποιεί μόνο τη διαφορά.
Η συμπίεση WebP χωρίς απώλειες χρησιμοποιεί θραύσματα εικόνας που έχετε ήδη δει προκειμένου να ανακατασκευάσει ακριβώς νέα pixel. Μπορεί επίσης να χρησιμοποιήσει μια τοπική παλέτα εάν δεν βρεθεί ενδιαφέρουσα αντιστοιχία.
Μορφή αρχείου
Η μορφή αρχείου WebP βασίζεται στη μορφή εγγράφου RIFF (μορφή αρχείου ανταλλαγής πόρων). Το κοντέινερ WebP παρέχει υποστήριξη για περισσότερες και περισσότερες λειτουργίες από το να περιέχει μόνο μία εικόνα κωδικοποιημένη ως πλαίσιο κλειδιού VP8. Το βασικό στοιχείο ενός αρχείου RIFF είναι ένα κομμάτι που αποτελείται από:
Πεδίο | Περιγραφή |
---|---|
Chunk FourCC: 32 bit | Κωδικός τεσσάρων χαρακτήρων ASCII που χρησιμοποιείται για την αναγνώριση τμημάτων |
Μέγεθος κομματιού: 32 bit (uint32) | Το μέγεθος του κομματιού δεν περιλαμβάνει αυτό το πεδίο, το αναγνωριστικό κομματιού ή το padding |
Ωφέλιμο φορτίο κομματιού: byte μεγέθους κομματιού | Το ωφέλιμο φορτίο δεδομένων. Εάν το μέγεθος τεμαχίου είναι περιττό, προστίθεται ένα μόνο byte συμπλήρωσης ~-~- που θα πρέπει να είναι 0 ~-~- |
ChunkHeader (‘ABCD’) | Χρησιμοποιείται για την περιγραφή της κεφαλίδας FourCC και Chunk Size μεμονωμένων τμημάτων, όπου το ‘ABCD’ είναι το FourCC για το τμήμα. Το μέγεθος αυτού του στοιχείου είναι 8 byte. |
Κεφαλίδα WebP
Μια κεφαλίδα αρχείου WebP έχει ως εξής:
- Κεφαλίδα RIFF - 32 bit που αντιπροσωπεύουν τους χαρακτήρες ASCII ‘R’ ‘I’ ‘F’ ‘F’
- Μέγεθος αρχείου - 32 bit (uint32) που αντιπροσωπεύουν το μέγεθος του αρχείου σε byte ξεκινώντας από τη μετατόπιση 8. Η μέγιστη τιμή αυτού του πεδίου είναι 2^32 μείον 10 byte και επομένως το μέγεθος ολόκληρου του αρχείου είναι το πολύ 4GiB μείον 2 byte .
- ‘WEBP’ - 32 bit που αντιπροσωπεύουν τους χαρακτήρες ASCII ‘W’ ‘E’ ‘B’ ‘P’
Μορφή αρχείου με απώλεια
Οι εικόνες WebP χρησιμοποιούν τη μορφή αρχείου με απώλειες εάν η εικόνα βασίζεται σε κωδικοποίηση με απώλειες και δεν απαιτεί προηγμένες/εκτεταμένες λειτουργίες όπως διαφάνεια, κίνηση, άλφα κ.λπ. Οι εικόνες με απώλεια είναι μικρότερες και υποστηρίζονται και από παλαιότερες εφαρμογές.
Το αρχείο WebP, σε αυτήν την περίπτωση, αποτελείται από:
- Κεφαλίδα αρχείου WebP 12 byte
- Κομμάτι VP8
Ο Οδηγός μορφής και αποκωδικοποίησης δεδομένων VP8 απεικονίζει τις προδιαγραφές μορφής ροής bit VP8.
Μορφή αρχείου χωρίς απώλειες
Αυτή η διάταξη χρησιμοποιείται όταν η εικόνα βασίζεται σε κωδικοποίηση χωρίς απώλεια και δεν χρειάζονται οι προηγμένες δυνατότητες που παρέχονται από την εξωτερική μορφή. Ωστόσο, παλαιότερες εφαρμογές ενδέχεται να μην μπορούν να διαβάσουν τέτοια αρχεία.
Το αρχείο WebP, σε αυτήν την περίπτωση, αποτελείται από:
- Κεφαλίδα αρχείου WebP 12 byte
- Κομμάτι VP8L