- Bộ giải mã JpegXL đã được tích hợp vào codebase của Chromium, cho phép trình duyệt xử lý hình ảnh định dạng JXL
- Có thể xem thay đổi này trên trang review mã Gerrit với tiêu đề “Wire up JXL decoder”
- Việc hợp nhất này là bước cốt lõi để hỗ trợ định dạng JpegXL, bao gồm công việc kết nối bộ giải mã
- Review mã được đăng ký là thay đổi trong kho
src của Chromium (7184969)
- Điều này có ý nghĩa ở chỗ mở rộng hỗ trợ các định dạng ảnh thế hệ mới trong trình duyệt web
Tích hợp bộ giải mã JpegXL của Chromium
- Mục review mã Gerrit “Wire up JXL decoder (7184969)” là thay đổi nhằm kết nối bộ giải mã JpegXL vào dự án Chromium
- Thay đổi này được thực hiện trong kho
src của Chromium
- Nền tảng review mã sử dụng chromium-review.googlesource.com
- Đúng như tiêu đề, đây là công việc kết nối (wire up) bộ giải mã JXL (JpegXL) vào bên trong trình duyệt
- Trang này không hiển thị mô tả bổ sung hay chi tiết mã nguồn, chỉ có thể xác nhận tiêu đề thay đổi
Bối cảnh kỹ thuật
- JpegXL là định dạng nén ảnh thế hệ mới, hướng tới cải thiện hiệu quả so với JPEG hiện tại (không được nhắc trực tiếp trong nguyên văn, chỉ xuất hiện tên công nghệ)
- Việc bộ giải mã được hợp nhất vào Chromium tạo nền tảng để kích hoạt khả năng xử lý ảnh JXL ở cấp độ mã nguồn
- Thay đổi này là một bước tiến kỹ thuật liên quan đến việc mở rộng hệ thống giải mã media của engine trình duyệt
Trạng thái tài liệu
- Trang được hiển thị dưới dạng snapshot đã được cache của review mã Gerrit
- Có kèm cảnh báo rằng shadow DOM đang bị ẩn, nhưng nội dung mã thực tế không được hiển thị
- Vì vậy, thông tin có thể xác nhận từ tài liệu này chỉ gồm tiêu đề thay đổi và mã định danh review (7184969)
1 bình luận
Ý kiến trên Hacker News
Tôi đã xem bài viết trên blog của Cloudinary, đây là một bài kinh điển cũ so sánh webp, jpegxl, avif, jpeg, v.v.
Biểu đồ được trình bày rất rõ ràng, và AVIF cực kỳ chậm
Liên kết đến phần liên quan
Xem ảnh chụp màn hình
Thư viện jxl-rs là một bản triển khai JPEG XL bằng Rust
Đây là dự án khá mới, nhưng nhờ Rust nên khiến người ta yên tâm hơn về độ an toàn bảo mật
Thời điểm Chromium thảo luận trước đây thì chưa có thư viện này
Rust có thể khiến người ta quá tự tin, dẫn đến bỏ qua việc mô hình hóa mối đe dọa
Thậm chí một lập trình viên C cẩn thận còn có thể an toàn hơn
Liên kết kết quả tìm kiếm
Gần đây tôi đã so sánh WebP và AVIF, thì WebP mã hóa gần như tức thì, trong khi AVIF mất hơn 20 giây cho ảnh 1MP
JXL hiện vẫn được hỗ trợ ít nên trên thực tế chưa dùng được, nhưng tôi kỳ vọng tốc độ ở mức WebP với chất lượng tốt hơn
Trong môi trường của tôi, ảnh AVIF 2MP được tạo trong khoảng 100ms
Thật đáng tiếc khi đặc tả công khai (spec) của JPEG XL không thể truy cập tự do
Chúng ta lại có thêm một định dạng ảnh mới nữa, và tôi lo rằng rồi sẽ lại lặp lại tình huống không dùng được nếu không chuyển đổi
Liên kết Microsoft Store
Chromium mới là bên chậm chân hơn
Đọc danh sách tính năng của JPEG XL trên wiki thì thấy có những khả năng thú vị như ảnh đa kênh hay tài liệu nhiều trang
Có điểm tốt, nhưng cũng tạo cảm giác ngày càng phức tạp giống TIFF
Giữa JPEG và JPEG-XL vẫn còn rất nhiều điểm chung
Tôi tự hỏi liệu nếu một bản triển khai mới tích hợp luôn cả hỗ trợ JPEG hiện có thì có thể giảm kích thước mã nguồn hay không
Liên kết issue #513
Cá nhân tôi vẫn muốn tiếp tục dùng JPEG hiện có hơn là các định dạng mới như WEBP
Hầu hết chương trình đều hỗ trợ, và với người dùng phổ thông thì JPEG + PNG là đủ
Ảnh động đơn giản thì dùng GIF, còn phức tạp hơn thì xử lý bằng video là được
Nó có thể mã hóa lossless với dung lượng nhỏ hơn PNG, đồng thời hỗ trợ chuyển mã có thể phục hồi giúp nén JPEG hiện có thêm 20%
Nó còn có nhiều tính năng như HDR, dải màu rộng, tải tiến dần, nên cũng rất lý tưởng cho truyền tải trên web
Tham khảo jpegxl.info
Mọi trình duyệt lớn đều hỗ trợ kể từ Safari 14, và nó cũng được tích hợp sẵn từ Windows 10 và macOS Big Sur trở đi
Tham khảo tình trạng hỗ trợ, danh sách phần mềm
Bài viết liên quan
Tôi đã nghe tranh luận về JPEG XL, WebP, AVIF từ lâu nhưng không hiểu lắm
Nhìn benchmark thì JpegXL vượt WebP cả về tốc độ nén lẫn kích thước, nên tôi thắc mắc vì sao Chromium lại ngần ngại áp dụng
Ngoài ra, libjxl là hơn 100.000 dòng C++, nên có nguy cơ lỗ hổng bảo mật
Khi bản triển khai Rust dần trưởng thành hơn, có vẻ Chrome đang xem xét lại
Video demo
Tôi từng thắc mắc liệu JPEG XL có hỗ trợ ảnh động hay không
Liên kết chi tiết