Phát hành rav1e 0.3, bộ mã hóa AV1 trong Rust

diễn ra phát hành rav1e 0.3, bộ mã hóa định dạng mã hóa video hiệu suất cao AV1, развиваемого сообществами Xiph и Mozilla. Кодировщик написан на языке Rust и отличается от эталонного кодировщика libaom значительным увеличением скорости кодирования и повышенным вниманием к обеспечению безопасности. Код проекта phân phối bởi theo giấy phép BSD.

Tất cả các tính năng chính của AV1 đều được hỗ trợ, bao gồm cả hỗ trợ
khung được mã hóa bên trong và bên ngoài (trong- и liên-frames), siêu khối 64x64, lấy mẫu phụ sắc độ 4:2:0, 4:2:2 và 4:4:4, mã hóa độ sâu màu 8, 10 và 12 bit, biến dạng tối ưu hóa RDO (Tối ưu hóa biến dạng tỷ lệ), các chế độ khác nhau để dự đoán các thay đổi giữa các khung và xác định các phép biến đổi, kiểm soát tốc độ luồng và phát hiện việc cắt bớt cảnh.

Định dạng AV1 đáng chú ý vượt xa H.264 và VP9 về khả năng nén, nhưng do tính phức tạp của các thuật toán triển khai chúng yêu cầu nhiều thời gian hơn đáng kể cho việc mã hóa (về tốc độ mã hóa, libaom chậm hơn libvpx-vp9 hàng trăm lần và chậm hơn hàng nghìn lần so với x264).
Bộ mã hóa rav1e cung cấp 11 mức hiệu suất, trong đó mức cao nhất mang lại tốc độ mã hóa gần như thời gian thực. Bộ mã hóa có sẵn dưới dạng tiện ích dòng lệnh và thư viện.

Trong phiên bản mới:

  • Chế độ mã hóa nhanh hơn được đề xuất Tốc độ 10;
  • Kích thước của tập hợp nhị phân đã được giảm xuống (trên nền tảng x86_64/Linux, thư viện chiếm khoảng 3MB);
  • Thời gian lắp ráp giảm khoảng 14%;
  • Đã thêm bộ lọc đa luồng để loại bỏ các thành phần khối khỏi video (gỡ lỗi);
  • Đối với kiến ​​trúc x86_64, các tối ưu hóa bổ sung đã được triển khai bằng cách sử dụng hướng dẫn SIMD và việc sử dụng vectơ hóa tự động đã được mở rộng;
  • Số lượng thao tác cấp phát bộ nhớ đã giảm 1/6;
  • Trong RDO (Tối ưu hóa độ méo tỷ lệ), logic để triệt tiêu biến dạng trong khung đã được cải thiện;
  • Một số phép tính đã được chuyển từ việc sử dụng số học dấu phẩy động sang phép tính số nguyên;
  • Chất lượng mã hóa ở mức tốc độ thứ hai được cải thiện 1-2%;
  • Thêm bộ lọc dự đoán hướng chuyển động mới (Intra edge);
  • Đã thêm tùy chọn "-S" (--switch-frame-interval) để xác định khoảng thời gian chuyển đổi giữa các khung;
  • Đã thêm hỗ trợ xây dựng cho nền tảng wasm32-wasi (Giao diện hệ thống WebAssugging).

Nguồn: opennet.ru

Thêm một lời nhận xét