Αποδέσμευση του rav1e 0.5, του κωδικοποιητή AV1

Πραγματοποιήθηκε η κυκλοφορία του rav1e 0.5.0, ενός κωδικοποιητή για τη μορφή κωδικοποίησης βίντεο AV1. Το προϊόν αναπτύχθηκε από τις κοινότητες Mozilla και Xiph και διαφέρει από την υλοποίηση αναφοράς libaom, γραμμένη σε C/C++, αυξάνοντας την ταχύτητα κωδικοποίησης και αυξημένη προσοχή στην ασφάλεια (η απόδοση συμπίεσης εξακολουθεί να υστερεί). Το προϊόν είναι γραμμένο στη γλώσσα προγραμματισμού Rust με βελτιστοποιήσεις συναρμολόγησης (72.2% - assembler, 27.5% - Rust), ο κώδικας διανέμεται με την άδεια BSD. Οι έτοιμες εκδόσεις προετοιμάζονται για Windows και macOS (οι εκδόσεις για Linux παραλείπονται προσωρινά λόγω προβλημάτων με το σύστημα συνεχούς ενοποίησης).

Το rav1e υποστηρίζει όλες τις βασικές λειτουργίες του AV1, συμπεριλαμβανομένης της υποστήριξης για intra-και inter-frames, 64x64 superblocks, 4:2:0, 4:2:2 και 4:4:4 chroma subsampling. , 8-, 10- και 12 -Κωδικοποίηση βάθους χρώματος bit, βελτιστοποίηση παραμόρφωσης RDO (Rate-distortion optimization), διάφορες λειτουργίες πρόβλεψης αλλαγών μεταξύ καρέ και ανίχνευσης μετασχηματισμών, έλεγχος ρυθμού bit και ανίχνευση περικοπής σκηνής.

Η μορφή AV1 είναι αισθητά μπροστά από τα H.264 και VP9 όσον αφορά τις δυνατότητες συμπίεσης, αλλά λόγω της πολυπλοκότητας των αλγορίθμων που τα υλοποιούν, απαιτεί πολύ περισσότερο χρόνο για την κωδικοποίηση (στην ταχύτητα κωδικοποίησης, το libaom είναι εκατοντάδες φορές πίσω από το libvpx- vp9, και χιλιάδες φορές πίσω από το x264). Ο κωδικοποιητής rav1e προσφέρει 11 επίπεδα απόδοσης, τα υψηλότερα από τα οποία παρέχουν ταχύτητες κωδικοποίησης σχεδόν σε πραγματικό χρόνο. Ο κωδικοποιητής είναι διαθέσιμος τόσο ως βοηθητικό πρόγραμμα γραμμής εντολών όσο και ως βιβλιοθήκη.

Η νέα έκδοση περιέχει τις ακόλουθες αλλαγές:

  • Σημαντική επιτάχυνση του κωδικοποιητή.
    Αποδέσμευση του rav1e 0.5, του κωδικοποιητή AV1
  • Διορθώθηκε ένα σφάλμα που προκάλεσε τη διακοπή λειτουργίας του κωδικοποιητή σε συγκεκριμένα μεγέθη βίντεο.
  • Χρησιμοποιώντας οδηγίες AVX2 για να επιταχύνετε σημαντικά την εκτίμηση Wiener για 13 bit ανά κανάλι (έως και 16 φορές). Ομοίως, προστέθηκε η χρήση οδηγιών SIMD, οι οποίες κατέστησαν δυνατή την επιτάχυνση των υπολογισμών έως και 7 φορές υπό παρόμοιες συνθήκες.
  • Πολλές μικρές διορθώσεις και βελτιστοποιήσεις για πλατφόρμες x86, arm32 και arm64.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο