VideoLAN ra mắt dav2d: Bộ giải mã phần mềm hiệu năng cao cho codec video AV2

Công nghệ31 tháng 5, 2026·5 phút đọc

VideoLAN chính thức công bố dav2d, một bộ giải mã (decoder) tốc độ cao dành cho codec video AV2 mới. Dự án kế thừa thành công của dav1d nhằm cung cấp giải pháp giải mã phần mềm tối ưu, hỗ trợ các ứng dụng và trình duyệt trước khi phần cứng chuyên dụng trở nên phổ biến.

VideoLAN ra mắt dav2d: Bộ giải mã phần mềm hiệu năng cao cho codec video AV2

VideoLAN ra mắt dav2d: Bộ giải mã phần mềm hiệu năng cao cho codec video AV2

Một codec thực sự chỉ tồn tại khi mọi người đều có thể giải mã được nó. Hôm nay, chúng tôi xin giới thiệu dav2d, một bộ giải mã (decoder) tốc độ cao dành cho codec AV2 mới, được phát triển bởi các thành viên của cộng đồng VideoLAN.

Chỉ vài tuần trước, chúng tôi đã mở kho lưu trữ (repository) và bắt đầu phát triển công khai. Kể từ đó, chính thức AV2 đã đạt bản phát hành thông số kỹ thuật đầu tiên, đây là thời điểm thích hợp để giải thích dav2d là gì, tại sao chúng tôi khởi động dự án này và vị thế hiện tại của nó. dav2d là sự tiếp nối công việc mà chúng tôi đã bắt đầu với dav1d, bộ giải mã AV1 nổi tiếng.

AV2: Kế thừa và thách thức mới

AV2 là người kế thừa của AV1 và là codec video miễn phí bản quyền mới nhất từ Alliance for Open Media (Liên minh Truyền thông Mở). Thông số kỹ thuật hiện đã được công bố công khai.

AV1 được hoàn thiện vào năm 2018 và đã trở thành một trong những codec video thành công nhất từng được triển khai. Ngày nay, nó có mặt trên các trình duyệt, thiết bị di động, hệ điều hành, tivi, dịch vụ phát trực tuyến và ứng dụng video trên toàn thế giới.

AV2 xây dựng dựa trên thành công đó. Codec này giới thiệu các công cụ mã hóa mới trong dự đoán, biến đổi, mã hóa entropy, lọc và xử lý sắc độ (chroma), đồng thời tiếp tục mục tiêu cải thiện hiệu quả nén. Tùy thuộc vào điều kiện kiểm thử, mức độ cải thiện được báo cáo thường thấy là khoảng 25% so với AV1, một số đánh giá thậm chí cho thấy mức tăng cao hơn.

Tuy nhiên, giải mã AV2 phức tạp hơn gấp năm lần so với giải mã AV1. Trong thực tế, điều này có nghĩa là phần mềm chạy trên phần cứng hiện tại sẽ gặp khó khăn trong việc giải mã AV2 theo thời gian thực nếu không có sự tối ưu hóa kỹ lưỡng dành riêng cho kiến trúc máy tính. Đây là lý do chúng tôi bắt đầu dav2d sớm thay vì đợi thông số kỹ thuật ổn định.

Từ dav1d đến dav2d

Nguồn gốc của dav2d bắt nguồn từ những ngày đầu của dav1d. Khi AV1 đang được hoàn thiện, chúng tôi đã thúc đẩy việc phát triển một bộ giải mã phần mềm nhanh chóng vì chúng tôi không tin rằng giải mã phần cứng sẽ có sẵn đủ nhanh hoặc trên đủ số lượng thiết bị.

Không phải ai cũng đồng ý với đánh giá này. Một số thành viên của cộng đồng AOM cảm thấy rằng việc triển khai phần cứng và bộ giải mã tham chiếu sẽ là đủ. Chúng tôi đã nghĩ khác. Các trình duyệt, trình phát phương tiện, hệ điều hành và thiết bị di động sẽ cần một bộ giải mã chất lượng sản phẩm lâu trước khi phần cứng chuyên dụng trở nên phổ biến.

Kết quả là dav1d đã ra đời. Nhìn lại, nhu cầu về một bộ giải mã phần mềm nhanh chóng đã được chứng minh là lớn hơn nhiều người mong đợi. Ngày nay, dav1d là bộ giải mã phần mềm AV1 được triển khai rộng rãi nhất. Nó được sử dụng trong VLC, FFmpeg, mpv, Firefox, Chrome, Safari, Android, Windows, Linux và nhiều ứng dụng, nền tảng khác.

Với AV2, chúng tôi đang cố gắng bắt đầu công việc đó sớm hơn. Thông số kỹ thuật codec là quan trọng, nhưng chưa đủ. Các nhà phát triển cần một bộ giải mã có thể được xây dựng, kiểm thử, đo điểm chuẩn, tích hợp và so sánh với các triển khai khác. Đây là những gì dav2d cung cấp.

Tình trạng hiện tại và hiệu năng

Cây dav2d hiện tại đã chứa một bộ giải mã AVM v15 hoàn chỉnh về tính năng, hỗ trợ cả giải mã 8-bit và 10-bit. Hầu hết các phần chính của codec đã được triển khai và đang được tối ưu hóa, bao gồm phân tích luồng bit, tiêu đề khung và chuỗi, giải mã entropy, dự đoán trong/ngoài khung, biến đổi, lọc và tổng hợp hạt phim (film grain).

Công việc tối ưu hóa hiệu năng đã bắt đầu. Trên x86, dav2d đã chứa mã AVX2 cho một số kích thước biến đổi ngược, cũng như các công việc quanh CCTX, deblock, dự đoán nội bộ và các đường dẫn liên quan đến CfL. Trên ARM, đã có công việc AArch64 NEON cho giải mã entropy, SAD, dự đoán nội bộ và các chức năng liên quan đến chuyển động. Một số công việc arm32 cũng đã bắt đầu, cũng như hỗ trợ sơ bộ cho RISC-V.

Một điểm khác biệt quan trọng so với những ngày đầu của dav1d là công cụ. Trong quá trình phát triển dav1d, chúng tôi đã tạo ra checkasm, một khung công tác dùng để xác thực và đo điểm chuẩn các triển khai đã tối ưu hóa so với bản tương đương bằng ngôn ngữ C. dav2d được hưởng lợi từ cơ sở hạ tầng đó ngay từ ngày đầu tiên.

Mã nguồn mở và tương lai

Giống như dav1d, dav2d được phát triển như một dự án mã nguồn mở. Bộ giải mã được phát hành theo cùng giấy phép kiểu BSD với dav1d, giúp việc tích hợp vào các ứng dụng mã nguồn mở và độc quyền trở nên dễ dàng.

Vẫn còn rất nhiều việc phía trước. Chúng tôi cần tiếp tục theo dõi thông số kỹ thuật AV2, cải thiện sự tuân thủ, mở rộng phạm vi kiểm thử, tối ưu hóa thêm cho x86 và ARM, làm việc trên RISC-V, cải thiện hiệu suất độ sâu bit cao, cải thiện đa luồng, giảm mức sử dụng bộ nhớ và chuẩn bị cho các bản phát hành trong tương lai.

Nhưng những nền tảng đã có ở đó: công cụ, kiến trúc và kinh nghiệm thu được từ dav1d. dav1d đã giúp biến AV1 trở nên thực tế lâu trước khi hỗ trợ phần cứng trở nên phổ biến. Chúng tôi có ý định làm điều tương tự cho AV2.

Hãy để dav2d hiện diện. Từ VideoLAN, với tình yêu.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗