Video 10-bit, 4:2:2 sau khi chuyển đổi ra sao: tùy hình ảnh có bị nén lại hay không
Đặt câu quan trọng nhất lên đầu: khi hình ảnh không cần nén lại, thông tin 10-bit và HDR đi theo nguyên trạng; khi hình ảnh cần nén lại, hình dạng giao hàng là độ sâu bit theo nguồn, tối đa 10-bit, chroma thống nhất 4:2:0. CineX tự xét xem tệp đi theo con đường nào trong hai con đường đó, còn căn cứ để xét viết ở vì sao có video CineX chuyển rất nhanh, có video lại lâu hơn — việc một tệp có cần mã hóa lại hay không phụ thuộc vào codec hình ảnh bên trong, không phụ thuộc vào phần mở rộng.
1. Vì sao nhóm “không mã hóa lại” không có gì thay đổi
Những loại hình ảnh như HEVC 10-bit (kể cả nhóm HDR10) hay H.264 Hi10P, nếu bản thân thiết bị vốn đã đọc được thì CineX đi theo hướng “dời nguyên khối” chứ không “vẽ lại”: dữ liệu điểm ảnh không được tạo lại dù chỉ một byte, nên độ sâu bit, cách lấy mẫu màu và dải độ sáng đều giữ nguyên. Nhóm tệp này thường hoàn tất trong vài giây, và nhanh chính vì không nén lại.
Khi hình ảnh không bị vẽ lại lần nào, bàn chuyện “chất lượng hình ảnh có giảm không” là vô nghĩa — nó không bị động vào.
2. Khi cần nén lại: độ sâu bit giao theo nguồn, tối đa 10-bit, chroma gộp về 4:2:0
Khi hình ảnh buộc phải mã hóa lại (chẳng hạn nguồn là VP9, AV1, Xvid — những loại thiết bị không đọc trực tiếp được), độ sâu bit không tự rơi xuống: nguồn 10-bit (hoặc thuộc họ HDR như PQ/HLG) thì giao 10-bit; nguồn 12-bit thì rơi xuống 10-bit; lấy mẫu chroma của 4:2:2 và 4:4:4 được gộp về 4:2:0, còn độ sâu bit thì giữ. Chỉ có hai trường hợp giao 8-bit: nguồn vốn đã là 8-bit, và trường hợp tệp không đọc ra thông tin độ sâu bit. Thứ thay đổi là tầng lấy mẫu chroma — độ tinh thang màu của 10-bit vẫn nằm trong điểm ảnh, còn phép lấy mẫu màu của 4:2:2 thì không.
Vì sao chroma gộp về 4:2:0 và 12-bit chỉ rơi xuống 10-bit: đây là đường giao hàng do chính chúng tôi đặt ra — sản phẩm chỉ đi theo hình dạng mà bằng chứng đã thông qua phủ tới (HEVC Main 10, 4:2:0), không đặt cược vào một bậc rộng hơn. Đây là sự đánh đổi, không phải sự cẩu thả, và không có công tắc nào lật được nó — CineX không có tham số, không đưa ra bậc chất lượng hình ảnh.
3. HDR và Dolby Vision trong nhóm này có kết cục khác nhau
Ở đây chỉ giữ lại một kết luận liên quan trực tiếp tới độ sâu bit: con đường mã hóa lại giao theo độ sâu bit của nguồn, tối đa 10-bit. Thứ thuộc họ Dolby Vision thì ở con đường chỉ đổi hộp chúng tôi mới nói là nó đi cùng hình ảnh; còn trên con đường mã hóa lại nó trụ lại được gì, chúng tôi chưa đo, nên không viết thành lời hứa cho cả hai đầu. Nhãn màu (đường cong truyền tải, dải màu cùng loại) đi theo nguồn, có thì mang, không thì không bồi thêm. Vì vậy “cờ còn đó” và “hiệu quả còn đó” là hai chuyện khác nhau, và đó cũng là lý do phải bàn Dolby Vision và HDR10 tách riêng.
4. 10-bit không chắc là chậm, nhưng có một trường hợp cần chừa thời gian
H.264 10-bit (Hi10P) và HEVC 10-bit đều nằm trong phạm vi đầu vào mà chúng tôi đã chạy thông bằng mẫu trên thiết bị thật. Phải chừa thời gian là các trường hợp cực đoan: khi hình ảnh khung hình cao, độ phân giải cao đi qua chuyển đổi toàn bộ, thời gian chờ tính theo độ dài tư liệu và thường dài hơn chính đoạn tư liệu. Loại tệp “chờ không nổi” này, hãy xem trước nó có thật sự cần nén lại hình ảnh hay không — cách đó thường hiệu quả hơn đổi công cụ.
Điều bắt bạn chờ chưa bao giờ là con số “10-bit”, mà là việc hình ảnh có cần được vẽ lại hay không. Loại không cần vẽ lại thì giữ độ sâu bit theo nguồn; loại cần vẽ lại giao về hình ảnh 4:2:0 theo độ sâu bit của nguồn, tối đa 10-bit — và đó mới là loại cần chừa thời gian.
5. Những ranh giới cần biết trước
- Bài này nói về quy tắc riêng của từng con đường trong ba con đường. Hành vi của 10-bit và HDR ở loại “không mã hóa lại” đã có mẫu trên thiết bị thật nâng đỡ; 12-bit và 4:2:2 cũng mỗi thứ có một số đo trên thiết bị thật (12-bit rơi xuống 10-bit, chroma 4:2:2 rơi xuống 4:2:0 còn độ sâu bit thì giữ). Nhánh này chưa được chạy nghiệm thu lại từng hạng mục trên iOS ⇒ nên ở đây 10-bit chỉ được nói như một hình dạng giao hàng, không dùng làm câu rao bán; ai coi đó là yêu cầu bắt buộc thì hãy tự kiểm chứng bằng chính tệp của mình.
- Nén lại sẽ làm thay đổi hình ảnh, điều này chúng tôi không né, và cũng không có tùy chọn “giữ nguyên trạng”.
- Độ sâu bit và màu không phải tín hiệu “chuyển đổi thất bại”: tệp kết quả vẫn phát bình thường, gộp lấy mẫu chroma về mức thống nhất 4:2:0 là quy tắc của con đường này, không phải hư hỏng.
- Chuyển đổi toàn bộ còn phải chừa đủ dung lượng trống (mức đỉnh trên đĩa không quá gấp đôi tệp gốc, còn khi chỉ đổi hộp thì dung lượng của một tệp kết quả là đủ), lý do viết ở vì sao chuyển đổi video cần chừa thêm dung lượng.
Câu hỏi thường gặp
Phim HEVC 10-bit của tôi có bị hạ xuống 8-bit không?
Không. Khi thiết bị đọc trực tiếp được phần hình ảnh, CineX chỉ đổi hộp, điểm ảnh không đụng tới, 10-bit giữ nguyên trạng; khi cần mã hóa lại thì độ sâu bit cũng không rơi xuống — nguồn 10-bit giao ra 10-bit. Chỉ khi nguồn vốn đã là 8-bit, hoặc tệp không đọc ra thông tin độ sâu bit, tệp kết quả mới là 8-bit.
Sau khi chuyển đổi nhãn HDR vẫn còn, vì sao hình ảnh trông xám nhạt?
Chuyện hình ảnh bị xám đi phần lớn nằm ở phía hiển thị xử lý thông tin độ sáng thuộc họ HDR thế nào, chứ không phải tệp kết quả bị hỏng. Con đường mã hóa lại giao thống nhất 4:2:0, nhãn màu mang theo nguồn; “cờ còn đó” không đồng nghĩa với “hiệu quả còn đó”, cách đúng là giữ tệp gốc để dành cho con đường nâng được nó.
Có cách nào để nó giữ đầu ra 10-bit không?
Không cần cài đặt thêm, cũng không cài đặt được: khi mã hóa lại, độ sâu bit vốn đã giao theo nguồn — nguồn 10-bit giao 10-bit, nguồn 8-bit không vì bạn muốn giữ mà thành 10-bit. CineX không có tham số: không đưa ra bậc chất lượng, lựa chọn độ sâu bit hay dung lượng đích.
Chuyển đổi 10-bit có nhất định rất chậm không?
Chưa chắc. Chỉ chậm với loại buộc phải nén lại mà tốc độ khung hình và độ phân giải đều cao; nhiều tệp 10-bit đi con đường không mã hóa lại, chỉ mất vài giây là xong.
Axiom One LLC — CineX