AV1@Scale: Sự thức tỉnh của tổng hợp hạt phim
(netflixtechblog.com)- Netflix đã bắt đầu áp dụng công nghệ AV1 Film Grain Synthesis (tổng hợp hạt phim) ở quy mô lớn cho thành viên trên toàn thế giới
- Tính năng này giúp bảo toàn nhiễu và chất cảm điện ảnh chân thực hơn, đồng thời nâng cao hiệu quả nén video
- AV1 FGS sử dụng 2 kỹ thuật cốt lõi (khôi phục mẫu, điều chỉnh cường độ) để tái hiện chính xác đặc tính hạt gốc
- Nhờ đó có thể giảm bitrate đồng thời cải thiện chất lượng hình ảnh và nâng cao trải nghiệm người xem
- Netflix thông qua công nghệ này đã duy trì tính toàn vẹn nghệ thuật và nâng cao hiệu quả dữ liệu trên nhiều nội dung hơn
AV1@Scale: Sự thức tỉnh của tổng hợp hạt phim
Netflix triển khai tổng hợp hạt phim và nâng cao chất lượng hình ảnh cho hàng triệu người
- Netflix đã hiện thực hóa một đổi mới giúp tối đa hóa hiệu quả dữ liệu trong khi vẫn bảo tồn cảm xúc nghệ thuật và tính chân thực của hạt phim, thông qua việc triển khai ở quy mô lớn các luồng AV1 Film Grain Synthesis (FGS)
- Hạt phim là một yếu tố thị giác quan trọng, giúp tăng chiều sâu của cách kể chuyện và làm nổi bật bầu không khí cũng như cảm giác chân thực của phim kinh điển
- Tuy nhiên, với các thuật toán nén truyền thống, việc xử lý và nén hiệu quả hạt có tính ngẫu nhiên cao là điều khó khăn
# Tìm hiểu tổng hợp hạt phim trong AV1
-
Công cụ tổng hợp hạt phim AV1 (FGS) sử dụng hai mô hình chính
- Mẫu hạt phim: mô phỏng mẫu hạt bằng mô hình tự hồi quy (AR), trong đó các hệ số AR được ước lượng từ phần chênh lệch (nhiễu) giữa video nguồn và video đã khử nhiễu
- Từ các hệ số đó, hệ thống tạo ra mẫu nhiễu 64x64; khi phát lại sẽ trích xuất ngẫu nhiên các mảng 32x32 và kết hợp chúng với hình ảnh đã khôi phục
- Cách làm này tái hiện trung thực đặc tính nhiễu và tương quan không gian của video gốc
- Cường độ hạt phim: dùng hàm co giãn để điều chỉnh tinh vi cường độ hạt theo điều kiện độ sáng
- Trong quá trình mã hóa, mối quan hệ giữa giá trị pixel và cường độ nhiễu được mô hình hóa bằng hàm tuyến tính theo từng đoạn, từ đó điều chỉnh cường độ hạt theo độ sáng và màu sắc của hình ảnh
- Nhờ vậy, chất cảm của video gốc được khôi phục chính xác hơn
- Mẫu hạt phim: mô phỏng mẫu hạt bằng mô hình tự hồi quy (AR), trong đó các hệ số AR được ước lượng từ phần chênh lệch (nhiễu) giữa video nguồn và video đã khử nhiễu
-
Chuẩn AV1 không bắt buộc một phương pháp cụ thể cho kỹ thuật khử nhiễu, nên người dùng có thể chọn bộ khử nhiễu theo ý muốn
-
Sau khi khử nhiễu, video (video không có hạt) sẽ được nén và truyền cùng với dữ liệu tham số mẫu hạt và cường độ hạt
-
Trên trình phát của người dùng, hạt được khôi phục bằng phương thức dựa trên khối, phù hợp để triển khai tối ưu trên thiết bị tiêu dùng
# Hiệu quả nén, chất lượng hình ảnh và lợi ích cho người xem
- Việc kích hoạt AV1 FGS tại Netflix giúp cung cấp phát trực tuyến video chất lượng cao vẫn giữ được sắc thái nghệ thuật của điện ảnh, đồng thời mang lại hiệu quả giảm bitrate
- Qua các ví dụ thực tế, có thể thấy chất lượng được cải thiện và lượng dữ liệu sử dụng giảm xuống cùng lúc so với cách làm trước đây
- FGS đặc biệt hiệu quả với những nội dung có nhiều xử lý bộ lọc hoặc được thêm nhiều hạt, khi vừa đảm bảo hiệu quả dữ liệu vừa giữ lại chất cảm nguyên bản
# Tóm tắt
- AV1 Film Grain Synthesis (tổng hợp hạt phim) là công nghệ hiện thực hóa tính toàn vẹn nghệ thuật, nâng cao trải nghiệm xem và cải thiện hiệu quả streaming
- Với việc triển khai công nghệ này ở quy mô lớn, Netflix có thể mang đến nhiều tác phẩm hơn với sự cân bằng giữa chất lượng và tiết kiệm dữ liệu
- Nhờ đó, từ phim kinh điển đến video hiện đại, cả chất cảm giàu cảm xúc lẫn hiệu quả kỹ thuật đều được hiện thực hóa
1 bình luận
Ý kiến trên Hacker News
Tôi nghĩ cuộc thảo luận này đã bỏ qua việc nhiễu tổng hợp không thể tái hiện hoàn toàn thông tin và chi tiết vốn có trong nhiễu gốc. Khi có nhiễu thật trong bản mã hóa chất lượng cao, bạn sẽ có trải nghiệm độ phân giải tăng vọt khi chuyển từ khung hình tĩnh sang hình ảnh chuyển động. Ở 24fps, nhiễu trông như đang chuyển động trên tín hiệu, nhưng bản thân tín hiệu vẫn sắc nét. Ngược lại, nếu nén mất dữ liệu hoặc tổng hợp nhiễu theo từng khung hình, thì chi tiết vốn có sẽ không thể phục hồi. Trong video 24fps thực tế, cảm giác sẽ mờ hơn, đặc biệt với phim cũ thì chênh lệch chi tiết có thể lớn hơn gấp đôi. Nếu h.265 hay AV1 luôn mã hóa theo kiểu xét nhiều khung hình để chỉ loại bỏ nhiễu theo chuyển động thì sẽ không mất chi tiết, nhưng tôi không biết thực tế có hoạt động như vậy không. Việc so sánh khử nhiễu với tổng hợp không nên đánh giá bằng ảnh tĩnh mà phải đặt video thật cạnh nhau mới thấy rõ. Cần nhấn mạnh rằng nhiễu bản thân nó cũng là chi tiết.
Tôi nghĩ hạt phim (mẫu nhiễu) tồn tại độc lập theo từng khung hình và không chuyển động cùng các vật thể trong cảnh, nên chỉ cần nhiễu tổng hợp không có mẫu thời gian quá rõ thì so sánh bằng khung hình tĩnh cũng đủ. Về mặt thẩm mỹ, hạt tổng hợp của AV1 không phản ánh đúng kích thước hạt của nguồn, nên các tinh thể lớn của phim cũ không hiện lên rõ, và cũng không mô hình hóa riêng các kênh màu, dù điều đó có thể không quá quan trọng vì nguồn video Netflix vốn đã chroma subsampling. Link bài báo liên quan ở đây. Tôi chỉ mới đọc lướt về chủ đề này nên có thể đang hiểu sai
Để giải thích khía cạnh thời gian, có thể nghĩ đến máy chiếu phim cũ. Giữa mỗi khung hình có một khoảnh khắc tối, nhưng mắt gần như không nhận ra nhấp nháy này mà tự trung bình hóa nó (flicker fusion threshold). Nhiễu và hạt cũng được cảm nhận tương tự, nên ít nổi bật hơn tín hiệu ổn định. Trong chụp ảnh thiên văn cũng ghép nhiều ảnh để tạo SNR tốt hơn, và não người cũng xử lý hơi giống vậy. Theo thời gian, nhiễu hội tụ về mức trung bình còn tín hiệu hiện ra rõ hơn. Các thuật toán khử nhiễu chỉ xử lý từng khung hình đơn lẻ không có ngữ cảnh đó nên chi tiết sẽ biến mất hoặc phải bù bằng suy đoán. AV1 không quy định một thuật toán khử nhiễu cụ thể, nên nếu thuật toán đủ thông minh thì có thể giữ được ngữ cảnh thời gian khá tốt
Bản thân nhiễu không có tín hiệu; nó là tạp âm ngẫu nhiên cộng lên tín hiệu nên không phải thông tin. Khi lấy trung bình nhiều ảnh tĩnh, tín hiệu vẫn còn còn nhiễu bị triệt tiêu, làm SNR tăng lên, nên tôi cho rằng cố tình giữ lại nhiễu không có nhiều ý nghĩa. Nếu có hiệu ứng dễ nhận thấy thì có thể đó là sự hài lòng mang tính thẩm mỹ với hạt phim gốc, hoặc là khác biệt do so sánh giữa video bitrate thấp (nén mạnh) với video bitrate cao (giữ gần nguyên bản)
Tôi thấy phần này thực sự thú vị. Machine learning đôi khi cũng phân tích video quay ban đêm tốt hơn con người, và ngay cả nhiễu của cảm biến cũng có thể được dùng làm feature. Điều này nhấn mạnh rằng nhiễu không chỉ đơn thuần là nhiễu
Gần đây trên 4K Blu-ray có dùng công nghệ DRR, nhưng trong quá trình khử nhiễu đôi khi lỗ chân lông trên mặt cũng biến mất, khiến biểu cảm diễn viên trông như sáp
Bỏ qua ý nghĩa triết học của việc thêm nhiễu, thì trong ví dụ này quá trình khử nhiễu đã làm mờ quá mức, khiến nó kém sắc nét hơn bản gốc, và bản thân hạt tổng hợp cũng giống nhiễu đơn thuần hơn là hạt phim thật
Tôi thấy nhận xét đó đúng. Trước khi đạt tới bitrate cao, quá trình nén lại phải tốn quá nhiều bit cho hạt gốc nên hình ảnh càng dễ trông mờ hoặc đục hơn. Film Grain Synthesis (FGS) khá hợp lý cho streaming có giới hạn băng thông, nhưng tôi đồng ý rằng trong các video ví dụ, hạt tổng hợp không trông giống hạt thật. Tùy mức độ và cách khử nhiễu mà chi tiết trong cảnh có thể bị mờ đi rõ rệt
Hậu kỳ điện ảnh từ trước đến nay vẫn luôn dùng nhiều mẹo. Tôi mong có tùy chọn để người xem tự chọn có áp dụng hiệu ứng mong muốn hay không, ví dụ mô phỏng phim. Với những phim tái hiện một thời kỳ cụ thể như The Holdovers, tôi thấy mô phỏng phim thực sự rất hay. Có lẽ sau này Netflix cũng sẽ để các post effect được xử lý ở phía client, chẳng hạn cung cấp chế độ cho người mù màu hoặc cho phép tắt hạt nhân tạo
FGS của AV1 có thể điều chỉnh mức độ, và với mắt tôi thì có vẻ đang được đặt hơi cao (dù trong một số bối cảnh bitrate thì mức này vẫn dễ xem hơn nhiều artifact khác). Xin lưu ý là cảnh tĩnh có giới hạn khi đánh giá chất lượng video, và ngay cả bộ lọc khử nhiễu hoàn hảo trên lý thuyết (giữ 100% chi tiết không phải nhiễu) cũng vẫn có thể tạo cảm giác kém chi tiết hơn bản gốc. Có hiện tượng não và mắt dường như còn “sáng tạo” thêm chi tiết khi nhìn ảnh có nhiễu
Bộ phim tiêu biểu khám phá chủ đề này là Blowup của Antonioni. Wikipedia về Blowup
Với góc nhìn của người từng quan sát phim điện ảnh ở cự ly gần, tôi thấy hạt phim trong video ví dụ lần này khá xa thực tế. Cuối cùng nó chỉ là hiệu ứng tương tự dithering mà thôi
Điểm quan trọng nhất trong cuộc thảo luận này là phần “at scale”. Trước nay trình mã hóa AV1 đã có tổng hợp hạt phim, nhưng để tránh phát sinh vấn đề thì lần nào cũng phải chỉnh tay các thiết lập nên chỉ được dùng thực tế cho một lượng nội dung hạn chế. Dù ở đây không giải thích chi tiết phương pháp này đã vượt qua khó khăn đó như thế nào, tôi vẫn vui vì giờ đã có thể vận hành ở quy mô lớn
Về quan điểm tiêu cực với film grain, mọi hình ảnh đều có một mức nhiễu hoặc hạt nào đó. Ngay cả cảm biến số tốt nhất hay thậm chí mắt người cũng vậy. Nó không chỉ có vai trò thẩm mỹ mà còn thực sự giúp tăng cảm nhận độ sắc nét, che banding và artifact nén. Tất nhiên không phải loại hạt nào cũng tốt, và nhiều trường hợp đến từ giới hạn kỹ thuật hoặc lựa chọn sáng tạo sai lầm. Dù vậy, theo tôi kết quả khử nhiễu tất cả video để làm cho mịn màng lại còn phi thực tế và khó chịu hơn nhiều
Hạt của cảm biến số hiện đại là rất nhỏ nếu so với lượng hạt được thêm vào trong phim ngày nay
Vấn đề tôi quan tâm là việc có áp dụng hạt hay không phải là quyết định nghệ thuật của người sáng tạo, chứ không nên là thứ do nhóm làm nén dữ liệu tùy ý quyết định
Animation intro của HBO dùng nhiễu của tín hiệu phát sóng analog ngày xưa, và ngay cả ở 4K chất lượng vẫn rất tệ. Nhiễu ngẫu nhiên gần như không thể nén, nên rất cần các phương pháp như ở đây (loại bỏ nhiễu rồi khôi phục lại)
Tôi không đồng ý với lập luận rằng “hạt tạo cảm giác chân thực và tăng chiều sâu cho câu chuyện”. Trong mắt tôi thì thực tế không có kiểu hạt đó, nên tôi không hiểu logic “thực tế = hạt”. Dù vậy, tôi vẫn thấy hạt là một công cụ thẩm mỹ hay và công nghệ này cũng rất thú vị
Ngoài hiệu ứng masking của hạt được nhắc trong bài (che artifact) và sự quen thuộc/hoài niệm, còn có thể bổ sung một cách giải thích nữa. Mọi bề mặt trong thực tế đều có vi cấu trúc, nhưng khi ghi hình thì các chi tiết đó biến mất do camera, độ phân giải, giới hạn nén, v.v. Film grain cung cấp lại các kích thích thị giác tần số cao này. Mắt và não thích chính các kích thích đó, chứ không quá để ý đến vị trí hay mẫu hình của nhiễu. Ví dụ, các tham số psy-rd và psy-rdoq của trình mã hóa x265 có thể điều chỉnh để “hình ảnh trông giàu năng lượng hơn (hơi thô hơn)” và tăng chất lượng cảm nhận mà không cần dùng thêm nhiều dữ liệu
Trong đêm tối, mắt chúng ta cũng thấy một dạng “lấp lánh” hay “nhiễu tĩnh”, và về mặt kỹ thuật thì mắt người quả thực cũng có một chút nhiễu. Cảm giác chân thực (Realness) được định nghĩa bởi dấu vết của công nghệ đương thời. Giống như nét cọ của Vincent van Gogh là một phần của bức tranh, film grain cũng là một phần hiện thực của phương tiện đó, nên nếu có thể thì người ta muốn giữ lại tối đa dấu vết ấy
Con người thích hợp lý hóa gu thẩm mỹ của mình bằng logic. Càng có nhiều trải nghiệm và hiểu biết về media thì càng nhạy với những thay đổi nhỏ, và điều đó phản ánh vào sở thích. Trẻ con sẽ phản ứng với nội dung của hài câm cũ chứ không để ý đặc tính của phim. Ngược lại, chuyên gia càng dễ nhạy với các khác biệt tinh vi đó. Việc film grain tự nó được cảm nhận là chân thực cũng là sản phẩm của trải nghiệm xã hội và tự nhận thức trong từng thời đại. Tôi nghĩ 40 năm nữa người ta có thể xem hạt phim là thứ siêu thực hoặc chỉ là “nhiễu”
Theo tôi, hạt làm cho hình ảnh trông chi tiết hơn thực tế và cũng che được artifact nén hay độ mờ. Tôi không chắc về yếu tố tâm lý, nhưng rõ ràng có vẻ như nó thêm thành phần tần số cao hoặc tạo hiệu ứng dithering. Mắt người thực sự cũng có hạt do hiện tượng lượng tử, nhưng não lọc rất mạnh nên ta không nhận ra
Vào thời kỳ đầu khi máy quay kỹ thuật số trở nên phổ biến, người ta thấy hình ảnh số trông phi thực tế nên có cảm nhận mạnh rằng phim quay bằng film đẹp hơn. Có lẽ với các cinephile yêu điện ảnh cổ điển, điều đó cũng góp phần tạo nên quan niệm film = tốt. Cuối cùng, tôi nghĩ đây là một công cụ thẩm mỹ hữu ích khi muốn giảm độ sắc nét
Codec âm thanh AMR-WB dùng cho gọi điện thoại di động cũng chính thức hỗ trợ từ 50 Hz-7,000 Hz, nhưng ở mức 12.65 Kbps được dùng rộng rãi nhất thì thực tế chỉ lưu tới 6,400 Hz, còn phần trên được lấp bằng tổng hợp tần số thấp + nhiễu. Nghe tự nhiên hơn nhiều so với việc cắt cụt hoàn toàn mà không có nhiễu
Với tư cách là nhiếp ảnh gia dùng máy ảnh mirrorless, tôi luôn cố tạo cảm giác đặc biệt qua hậu kỳ. Ví dụ tôi khép khẩu tối đa có thể, rồi tích cực dùng denoise-sharpening-color grading. Nếu ảnh của tôi mang cảm giác như lấy ra từ một cuốn sách cũ thì tôi xem đó là điều tích cực. Tôi cũng đã thử nhiều bộ lọc film look, nhưng đến giờ vẫn chưa thấy bộ lọc nào tái hiện thật sự kiểu hạt phim dạng tinh thể không đều mà tôi hình dung (những “pixel” bất quy tắc đã có sẵn trên film trước khi chụp). Phần lớn chỉ là hạt vuông kiểu pixel nên không thuyết phục
Tôi không đồng ý với lập luận rằng “film grain làm tăng cảm giác chân thực và hoài niệm”. Với tôi nó chỉ là nhiễu thị giác che mất chi tiết. Hoài niệm đến từ diễn viên hoặc từ trải nghiệm của tôi trong thời kỳ đó, chứ không nhất thiết từ hạt. Lập luận “tăng tính chân thực” cũng không thực tế. Việc AV1 cho phép tổng hợp và loại bỏ loại rác hình ảnh này một cách dễ dàng, linh hoạt mà không lãng phí bit là điều tích cực
Tài liệu có thể hướng đến mục tiêu “tái hiện hiện thực”, nhưng điện ảnh ưu tiên góc nhìn của đạo diễn. Hạt cũng có thể được xem là một yếu tố nghệ thuật tạo cảm xúc và bầu không khí giống như âm nhạc
Về mặt vật lý, ánh sáng hoặc bản thân việc ghi hình đều có shot noise, nên thực ra không tồn tại hiện thực “hoàn toàn không nhiễu”. Xem Wikipedia về shot noise
Tôi nghĩ người ta chưa giải thích tốt ưu điểm của film grain, nhưng trên thực tế hạt có thể làm tăng cảm giác sắc nét và chi tiết của hình ảnh (dù có thể chỉ là ảo giác), và nhà quay phim Steve Yedlin cũng từng nói rằng nó “cho mắt khán giả một thứ gì đó để bám vào”
Tôi nghĩ việc phân biệt đâu là “nhiễu” và đâu là “chi tiết” trong phim mang tính diễn giải chủ quan rất mạnh. Hiện nay cũng tồn tại nhiều loại nhiễu thị giác khác do công nghệ nén video hiện đại tạo ra
Điều cốt lõi mà nhiều người bỏ qua là nếu khử nhiễu rồi mới nén thì hiệu quả nén sẽ tăng mạnh. Ở cùng bitrate, nếu không loại nhiễu mà cứ nén trực tiếp thì chi tiết và cạnh sẽ bị hư hại nghiêm trọng. Đây cũng là khái niệm đã được dùng từ lâu trong các media player trên desktop
Tôi nghĩ film grain giờ nên bị loại bỏ. Thời sepia hay phim câm 16fps đã qua rồi, và đã đến lúc dừng cả film grain. Eastman Business Park cũng đã bị dỡ bỏ. Tôi cũng không muốn tiếp tục thấy các video YouTube giả lập bụi và vết xước nữa
Có thể ghét fake film grain thì còn hiểu được, nhưng đòi loại bỏ hoàn toàn film grain chẳng khác nào đòi xóa luôn cả nét cọ trong tranh sơn dầu
Tôi tò mò vì sao film grain nhất định phải biến mất