9 điểm bởi GN⁺ 2023-12-10 | 2 bình luận | Chia sẻ qua WhatsApp
  • CPNG("Compatible Network Graphics") là một nhánh fork tương thích 100% với định dạng ảnh PNG đã tồn tại khoảng 30 năm. Nó mở rộng các tính năng của PNG theo hướng hiện đại nhưng vẫn duy trì khả năng tương thích với các trình duyệt, hệ điều hành, engine hiện có.
  • Mục tiêu: nhanh hơn rất nhiều về tốc độ mã hóa/giải mã so với PNG hiện tại (mã hóa hơn 10 lần, giải mã hơn 2-3 lần), qua đó tạo động lực để bổ sung tính năng mới và thúc đẩy việc chấp nhận thư viện.
  • Các đặc điểm chính:
    • Luồng Constrained Deflate: tính năng giúp tăng tốc độ mã hóa lên 10-25 lần và tốc độ giải mã lên 2-3 lần so với các thư viện hiện có, đã được triển khai trong fpng/fpnge.
    • Mã hóa/giải mã đa luồng: công nghệ mà Apple đã sử dụng. Bổ sung bảng tra cứu vào các chunk phụ của CPNG, cho phép mã hóa/giải mã song song theo từng dải ảnh.
    • Hỗ trợ FP16 và LOGLUV32: được thiết kế để ảnh HDR có thể được xem theo cách hợp lý ngay cả trên các trình duyệt và hệ điều hành chỉ hỗ trợ PNG. Dữ liệu HDR có thể được khôi phục không mất mát thông qua quy trình đơn giản và nhanh chóng.
    • CPNG như một lựa chọn thay thế cho .EXR: định dạng .EXR hỗ trợ quá nhiều kiểu nén nên trên thực tế không tương thích. CPNG cung cấp một phương án tone mapping không mất mát và có thể xem trước trên hầu hết trình duyệt và hệ điều hành.
    • Thiết kế của LOGLUV32: đang được phát triển để đạt HDR thực sự mà không làm phình kích thước tệp. Tác giả chỉ ra rằng các giải pháp "HDR" khác thực tế buộc phải lưu nhiều pixel 16-bit hơn số bit thực sự được dùng, và cho rằng đó là sự lãng phí.
  • Tầm quan trọng của tác giả thư viện: miễn là vẫn duy trì khả năng tương thích, trên thực tế người kiểm soát định dạng chính là các tác giả thư viện.

Ý kiến của GN⁺

  • CPNG là một định dạng ảnh mới bổ sung các tính năng hiện đại trong khi vẫn tương thích hoàn toàn với PNG hiện có; đặc biệt đáng chú ý là cải thiện đột phá về tốc độ mã hóa/giải mã và hỗ trợ HDR.
  • Những tiến bộ này được kỳ vọng sẽ mang lại thay đổi rất hữu ích và thú vị cho các chuyên gia ở nhiều lĩnh vực như nhà phát triển web, nhà thiết kế đồ họa và kỹ sư phần mềm.
  • Cách tiếp cận lấy khả năng tương thích làm trung tâm phản ánh một nguyên tắc quan trọng của phát triển phần mềm hiện đại: đồng thời theo đuổi tiến bộ công nghệ và cải thiện trải nghiệm người dùng.

2 bình luận

 
kuroneko 2023-12-11

Ồ... liệu nó có thể trở thành một tiêu chuẩn hình ảnh mới không?

Đến giờ ngoài webp thì vẫn chưa có tiêu chuẩn hình ảnh thế hệ mới nào thật sự thành công...
Cảm giác như ngay cả Webp cuối cùng cũng là nhờ Google dùng thị phần Chrome để thúc đẩy...

 
GN⁺ 2023-12-10
Ý kiến trên Hacker News
  • Lo ngại rằng định dạng PNG có thể phân nhánh thành nhiều phiên bản không tương thích với nhau

    Trong lịch sử ban đầu của PNG, đã từng có các vấn đề không thống nhất về kênh alpha, kết xuất tăng dần và hỗ trợ APNG. Các tệp PSD và SVG cũng từ lâu đã gặp vấn đề hiển thị khác nhau tùy theo trình duyệt, thiết bị, ứng dụng hoặc phiên bản. Việc mở rộng PNG có thể gây ra vấn đề trong gần như mọi trường hợp sử dụng thực tế, và do các nhà thiết kế sử dụng tính năng mới, hình ảnh có thể trông như bị "hỏng". Một số tính năng như HDR có thể chỉ hiển thị trên một số trình kết xuất nhất định, nên ngay cả khi "tương thích ngược" cũng vẫn có thể thành vấn đề. Có lẽ tốt hơn là tạo ra một định dạng mới và để trang web cùng thiết bị thay thế khi cần.

  • Đánh giá tích cực về lý do cải tiến PNG và giá trị của việc đó

    Nếu có thể tích hợp các tính năng mới vào PNG theo cách tương thích ngược, thì điều đó có giá trị vì có thể lập tức tương thích với mọi trình duyệt, hệ điều hành, engine, v.v.

  • Nhận xét rằng tốc độ mã hóa của libpng chậm hơn jpg hay tiff hơn 10 lần, cùng lời khen cho kỹ thuật LOGLUV32

    Có người nhận ra tốc độ mã hóa của libpng chậm, và cho rằng phần LOGLUV32 rất thông minh. Họ thích ý tưởng về ảnh thay thế đã được tone map và cách xây dựng dựa trên cái hiện có, nhưng hy vọng việc mở rộng định dạng sẽ không dẫn đến vấn đề tương thích.

  • Phản ứng đầy hào hứng với định dạng ảnh mới và sự cảm phục đối với kỹ thuật triển khai

    Dù cá nhân không cần đến nó, họ vẫn thích đọc về chủ đề này và cho rằng cần nhiều hơn những công việc chỉn chu như vậy trong lĩnh vực định dạng ảnh và viết lách kỹ thuật.

  • Sự tò mò về hiệu quả của các định dạng ảnh hiện đại

    Có người tò mò không biết hiện nay, ở cả định dạng lossless lẫn lossy, lựa chọn nào hiệu quả nhất về dung lượng hoặc tốc độ giải nén.

  • Chỉ ra việc thiếu đề cập đến JPEG XT và JPEG-HDR

    Có người chỉ ra rằng bài viết không nhắc đến JPEG XT và JPEG-HDR.

  • Đưa ra ý tưởng về một phiên bản PNG đơn giản hóa nhưng vẫn tương thích ngược

    Có người đề xuất tạo ra một phiên bản PNG đơn giản hóa để dùng trên các hệ thống nhúng có độ phức tạp thấp, nhờ đó không cần triển khai "PNG đầy đủ" mà vẫn giữ được khả năng tương thích với các trình xem ảnh hiện có. Vì DEFLATE đã hỗ trợ các khối không nén, cách này có thể hoạt động theo hướng tương thích ngược.

  • Câu hỏi về ý nghĩa của "tương thích ngược 100%" và nhận định về sự tương đồng với APNG

    Có người đặt câu hỏi "tương thích ngược 100%" chính xác nghĩa là gì, và liệu nó có tương thích ngược theo cách giống APNG hay không, tức là khi gặp tệp dùng tính năng mới thì vẫn trả về một hình ảnh hợp lý.

  • Sự thán phục với CPNG và kỳ vọng về cải thiện hiệu năng của các thư viện nhận diện CPNG

    Có người ấn tượng với các cải tiến hiệu năng dành cho thư viện có nhận diện CPNG, đồng thời tò mò liệu các thư viện cũ không nhận diện được CPNG có bị giảm hiệu năng khi đọc ảnh CPNG hay không, và CPNG sẽ lớn hơn PNG bao nhiêu.