การเปิดตัว rav1e 0.3 ซึ่งเป็นตัวเข้ารหัส AV1 ใน Rust

ไปยังสถานที่ ปัญหา rav1e 0.3ซึ่งเป็นตัวเข้ารหัสรูปแบบการเข้ารหัสวิดีโอประสิทธิภาพสูง AV1พัฒนาโดยชุมชน Xiph และ Mozilla ตัวเข้ารหัสเขียนด้วยภาษา Rust และแตกต่างจากตัวเข้ารหัส libaom อ้างอิงโดยการเพิ่มความเร็วการเข้ารหัสอย่างมีนัยสำคัญและเพิ่มความสนใจในเรื่องความปลอดภัย รหัสโครงการ จัดจำหน่ายโดย ภายใต้ใบอนุญาต BSD

รองรับคุณสมบัติ AV1 ที่สำคัญทั้งหมด รวมถึงการสนับสนุนด้วย
เฟรมที่เข้ารหัสภายในและภายนอก (ภายใน- и ฝัง-frames), ซูเปอร์บล็อก 64x64, การสุ่มตัวอย่างโครมา 4:2:0, 4:2:2 และ 4:4:4, การเข้ารหัสความลึกของสี 8, 10 และ 12 บิต, การบิดเบือนการเพิ่มประสิทธิภาพ RDO (การเพิ่มประสิทธิภาพอัตราความผิดเพี้ยน) โหมดต่างๆ สำหรับการทำนายการเปลี่ยนแปลงของอินเตอร์เฟรมและการระบุการเปลี่ยนแปลง การควบคุมอัตราการไหล และการตรวจจับการตัดฉาก

รูปแบบ AV1 เห็นได้ชัดเจน เหนือกว่า H.264 และ VP9 ในแง่ของความสามารถในการบีบอัด แต่เนื่องจากความซับซ้อนของอัลกอริทึมที่นำไปใช้งาน ต้อง มีเวลาในการเข้ารหัสมากขึ้นอย่างมาก (ในความเร็วการเข้ารหัส libaom อยู่หลัง libvpx-vp9 หลายร้อยเท่า และตามหลัง x264 หลายพันเท่า)
ตัวเข้ารหัส rav1e นำเสนอระดับประสิทธิภาพ 11 ระดับ ซึ่งระดับสูงสุดจะให้ความเร็วการเข้ารหัสที่ใกล้เคียงเรียลไทม์ ตัวเข้ารหัสสามารถใช้ได้ทั้งในรูปแบบยูทิลิตีบรรทัดคำสั่งและไลบรารี

ในเวอร์ชันใหม่:

  • เสนอโหมดการเข้ารหัสที่เร็วขึ้น ความเร็ว 10;
  • ขนาดของแอสเซมบลีไบนารีลดลง (บนแพลตฟอร์ม x86_64/Linux ไลบรารีใช้เวลาประมาณ 3MB)
  • เวลาในการประกอบลดลงประมาณ 14%
  • เพิ่มตัวกรองแบบมัลติเธรดสำหรับการลบสิ่งที่บล็อกออกจากวิดีโอ (การดีบล็อก)
  • สำหรับสถาปัตยกรรม x86_64 มีการเพิ่มประสิทธิภาพเพิ่มเติมโดยใช้คำสั่ง SIMD และการใช้เวกเตอร์อัตโนมัติได้ขยายออกไป
  • จำนวนการดำเนินการจัดสรรหน่วยความจำลดลง 1/6;
  • ใน RDO (การเพิ่มประสิทธิภาพอัตราความผิดเพี้ยน) ตรรกะในการระงับการบิดเบือนภายในเฟรมได้รับการปรับปรุง
  • การดำเนินการบางอย่างถูกย้ายจากการใช้เลขคณิตทศนิยมไปเป็นการคำนวณจำนวนเต็ม
  • คุณภาพการเข้ารหัสที่ระดับความเร็วที่สองได้รับการปรับปรุง 1-2%
  • เพิ่ม ตัวกรองการทำนายทิศทางการเคลื่อนไหวใหม่ (ขอบภายใน);
  • เพิ่มตัวเลือก "-S" (--switch-frame-interval) เพื่อกำหนดช่วงเวลาการสลับระหว่างเฟรม
  • เพิ่มการรองรับการสร้างสำหรับแพลตฟอร์ม wasm32-wasi (อินเทอร์เฟซระบบ WebAssembly).

ที่มา: opennet.ru

เพิ่มความคิดเห็น