Κινούμενο PNG (.apng)
W3C ΤυπικόΤο APNG επεκτείνει το PNG με κινούμενη εικόνα πολλών καρέ και μια στατική εικόνα· προγράμματα χωρίς υποστήριξη APNG ενδέχεται να εμφανίζουν μόνο τη στατική εικόνα.
Μετατροπή APNG σε GIF
Δωρεάν μετατροπέας από APNG σε GIF εντός του προγράμματος περιήγησης. Μετατρέψτε αρχεία άμεσα στη συσκευή σας.
Επιθεώρηση & Μεταδεδομένα
Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία APNG ελέγχοντας την αρχική δυαδική ακολουθία byte:
Υπογραφή κεφαλίδας σε επίπεδο byte (Magic Bytes)
Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία APNG ελέγχοντας την αρχική δυαδική ακολουθία byte:
ΔΕΚΑΕΞΑΔΙΚΗ ΥΠΟΓΡΑΦΗ (OFFSET 0):
89 50 4E 47 0D 0A 1A 0AΑΝΑΠΑΡΑΣΤΑΣΗ ASCII: ‰PNG....
Τυποποίηση: W3C Community Group Report (2021) / Mozilla Extension
Τεχνικές Προδιαγραφές
| Αρχιτεκτονική Περιέκτη | Ροή τμημάτων PNG με τμήματα acTL (έλεγχος κίνησης), fcTL (έλεγχος καρέ) και fdAT (δεδομένα καρέ) |
| Συμπίεση | Deflate (zlib), συρόμενο παράθυρο LZ77 με προσαρμοστικό φιλτράρισμα 2D σε κάθε καρέ |
| Σειρά byte (endianness) | Μεγάλης διάταξης (Big-Endian, διάταξη byte δικτύου) |
| Χρωματικοί Χώροι | sRGB, Display P3, Embedded ICC Profile (iCCP) |
| Κανάλια & Δομή | RGBA (8 bit ή 16 bit ανά κανάλι Πραγματικό χρώμα + άλφα 8 bit) |
| Μέγιστες Διαστάσεις | 2,147,483,647 x 2,147,483,647 εικονοστοιχεία (όριο 31 bit του PNG) |
| Διαφάνεια | Πλήρες κανάλι διαφάνειας άλφα 8 bit (256 επίπεδα ομαλής ημιδιαφάνειας) |
| Ροή δεδομένων και προοδευτική φόρτωση | Τα αρχεία APNG περιλαμβάνουν στατική εικόνα· οι αποκωδικοποιητές που αγνοούν τα τμήματα κίνησης μπορεί να την εμφανίσουν ως ακίνητη εικόνα. |
Τεχνικός Πίνακας Σύγκρισης: APNG έναντι Ανταγωνιστών
| Τεχνικό χαρακτηριστικό | APNG (Τρέχον) | GIF | WEBP | AVIF |
|---|---|---|---|---|
| Βάθος Χρώματος | RGB 24-bit (16.7M χρώματα) | Με ευρετήριο 8-bit (256 χρώματα) | RGB 24-bit (16.7M χρώματα) | HDR 10-bit / 12-bit |
| Διαφάνεια Άλφα | Ομαλή διαφάνεια άλφα 8-bit (256 επίπεδα) | Δυαδική μάσκα ενεργού/ανενεργού 1-bit | Ομαλή διαφάνεια άλφα 8-bit | Ομαλή διαφάνεια άλφα 8-bit / 10-bit |
| Συμβατότητα προς τα Πίσω | Ορισμένα προγράμματα προβολής PNG μπορούν να εμφανίσουν τη στατική εικόνα· η κίνηση απαιτεί υποστήριξη APNG. | Η υποστήριξη διαφέρει ανά πρόγραμμα περιήγησης. | Κανένα σε παλαιότερα προγράμματα προβολής | Κανένα σε παλαιότερα προγράμματα προβολής |
| Αποτελεσματικότητα Συμπίεσης | Deflate (μέτρια) | LZW (κακή) | Καρέ κλειδιά/διαφοράς VP8 (υψηλή) | Με πρόβλεψη μεταξύ καρέ AV1 (εξαιρετικά υψηλή) |
Συνήθεις τρόποι καταστροφής δεδομένων και οδηγός ανάκτησης δεκαεξαδικών δεδομένων
Η κινούμενη εικόνα αναπαράγει μόνο το πρώτο καρέ και δεν επαναλαμβάνεται ούτε προχωρά στο επόμενο.
Βασική Αιτία: Λείπει ή είναι κατεστραμμένο το τμήμα (chunk) 'acTL' (Animation Control) που βρίσκεται πριν από το πρώτο τμήμα IDAT.
Ανάκτηση: Επανασυσκευάστε τα καρέ χρησιμοποιώντας το apngasm ή το File2File.app Animation Converter για την αναδόμηση έγκυρων τμημάτων ελέγχου κινουμένων σχεδίων.
Ανάλυση ασφάλειας και διανύσματα επίθεσης στον αναλυτή
Οι αναλυτές (parsers) APNG επεξεργάζονται επαναλαμβανόμενα τμήματα ελέγχου καρέ όπου οι κακοσχηματισμένες διαστάσεις μπορούν να προκαλέσουν υπερχείλιση ακεραίων (integer overflow) ή εξάντληση μνήμης σωρού (heap exhaustion).
Γνωστά διανύσματα επίθεσης
- Υπερχείλιση ακεραίων στον υπολογισμό μετατόπισης καρέ (x_offset / y_offset) που οδηγεί σε σύνθεση καρέ εκτός ορίων.
- Ασυμφωνία στο πλάτος/ύψος καρέ που οδηγεί σε υπέρβαση ανάγνωσης μνήμης (buffer over-read) κατά την ανάμιξη καρέ.
- Άπειροι βρόχοι αποσυμπίεσης κινούμενης εικόνας που εξαντλούν την CPU σε υπηρεσίες δημιουργίας μικρογραφιών backend.
Βέλτιστες αμυντικές πρακτικές: Επικυρώστε τα συνολικά όρια του κινούμενου καμβά και περιορίστε τους μέγιστους επιτρεπόμενους αριθμούς πλαισίων πριν από τη μετατροπή σε ράστερ.
Ιστορική Αναδρομή & Ορόσημα
Κύρια Πλεονεκτήματα
- Πλήρες χρώμα RGB 24-bit συν διαφάνεια άλφα 8-bit, εξαλείφοντας εντελώς τα τεχνουργήματα με οδοντωτές ακμές της διαφάνειας GIF 1-bit.
- Τα αρχεία APNG περιλαμβάνουν στατική εικόνα· οι αποκωδικοποιητές που αγνοούν τα τμήματα κίνησης μπορεί να την εμφανίσουν ως ακίνητη εικόνα.
- Πολλά σύγχρονα προγράμματα περιήγησης υποστηρίζουν αναπαραγωγή APNG· η διαθεσιμότητα εξαρτάται από το πρόγραμμα και την έκδοσή του.
Τεχνικοί Περιορισμοί & Μειονεκτήματα
- Μεγαλύτερα μεγέθη αρχείων από τα σύγχρονα μορφότυπα κινουμένων σχεδίων που βασίζονται σε βίντεο, όπως το WebM ή το MP4.
- Υψηλότερη πολυπλοκότητα κωδικοποίησης και χρήση CPU κατά τη δημιουργία σε σύγκριση με το παλαιότερο GIF.
- Έλλειψη πρόβλεψης διανυσμάτων κίνησης μεταξύ των καρέ που βρίσκεται σε εξειδικευμένους κωδικοποιητές βίντεο.
Ενδιαφέροντα Τεχνικά Στοιχεία
- Η επίσημη Ομάδα Ανάπτυξης PNG απέρριψε το APNG το 2007, προτιμώντας την ξεχωριστή μορφή MNG, η οποία τελικά δεν υιοθετήθηκε ευρέως.
- Η Apple χρησιμοποίησε το APNG για κινούμενα αυτοκόλλητα στο iOS 10 Messages App Store, οδηγώντας σε μαζική υιοθέτηση από κινητά.
- Εάν ανοίξετε ένα αρχείο APNG σε ένα αρχαίο πρόγραμμα προβολής εικόνων από τη δεκαετία του 1990, απλώς εμφανίζει το πρώτο καρέ χωρίς να παρουσιάσει σφάλμα.
Συχνές Τεχνικές Ερωτήσεις
Γιατί το APNG είναι καλύτερο από το GIF;
Το APNG υποστηρίζει 16,7 εκατομμύρια χρώματα και 256 επίπεδα ομαλής διαφάνειας alpha, ενώ το GIF περιορίζεται σε 256 χρώματα και σκληρή διαφάνεια 1-bit.
Υποστηρίζουν τα σύγχρονα προγράμματα περιήγησης το APNG;
Πολλά σύγχρονα προγράμματα περιήγησης υποστηρίζουν αναπαραγωγή APNG· η διαθεσιμότητα εξαρτάται από το πρόγραμμα και την έκδοσή του.
Μπορώ να μετατρέψω ένα APNG σε τυπικό GIF ή MP4;
Ναι. Το File2File.app μπορεί να μετατρέψει κινούμενες εικόνες APNG σε ελαφριά αρχεία GIF, MP4 ή WebM απευθείας στο πρόγραμμα περιήγησής σας.
Σχετικά ζεύγη μετατροπής για APNG
Η μετατροπή APNG σε GIF μπορεί να βοηθήσει αν η εφαρμογή υποστηρίζει GIF αλλά όχι APNG. Το GIF περιορίζει τα καρέ σε 256 χρώματα και η αναπαραγωγή εξαρτάται από την εφαρμογή.
Η μετατροπή ενός Animated GIF σε αρχείο APNG αναβαθμίζει μια παλιά κινούμενη εικόνα raster 256 χρωμάτων σε μια σύγχρονη ακολουθία αληθινού χρώματος με ομαλή διαφάνεια.
Τοποθετήστε το πρώτο καρέ ενός APNG σε μονοσέλιδο PDF για ένα φύλλο προδιαγραφών. Το PDF είναι στατικό· τα επόμενα καρέ και ο χρονισμός αναπαραγωγής τους παραλείπονται.