Các định dạng video có hỗ trợ cấu hình màu không?


7

Gần đây, tôi đang đọc một wiki, dành riêng cho một chương trình hoạt hình nổi tiếng và tình cờ gặp một vấn đề thú vị :khung từ các cửa hàng iTunes khu vực khác nhau

Từ trái sang phải: các khung từ iTunes Hoa Kỳ, iTunes Úc và phiên bản iTunes Hoa Kỳ có CC trong trình phát video

Như bạn có thể thấy, đó là cùng một khung, nhưng màu sắc thì khác. Vì vậy, nó làm tôi tự hỏi: liệu bộ chứa chuẩn H.264 / MP4 có hỗ trợ bất kỳ loại cấu hình màu nào (như ICC trong JPEG) không và nếu có, có bất kỳ trình phát nào hỗ trợ nó không? Còn đĩa DVD / Blu-Ray thì sao? Hoặc không có cách nào để xem cùng một phiên bản của bất kỳ video nào, vì nó được quay bởi những người tạo ra nó? Cảm ơn. :)

Câu trả lời:


7

Không có hầu hết các định dạng video (gần như tất cả) không cho phép các cấu hình màu ICC tùy chỉnh được nhúng. (Cải thiện / chỉnh sửa: MP4 có thể có các cấu hình màu được gắn thẻ trong siêu dữ liệu của tệp video.) Hầu hết các video về phía người tiêu dùng được dành cho không gian màu REC.709. sRGB tương tự và sử dụng cùng một nguyên tắc. chuyển mã (bao gồm cả nén) hầu như sẽ luôn dẫn đến một sự thay đổi nhỏ về độ chính xác màu, độ bão hòa, đường cong gamma hoặc dịch chuyển mức độ đen trắng. Điều này được làm tồi tệ hơn do chuyển đổi giữa các không gian màu RGB và YCbCr.


Tôi không thực sự hài lòng với câu trả lời đầu tiên và cảm ơn vì đã chỉ vào Rec.709, vì vậy tôi đã đánh dấu câu trả lời này là câu trả lời "được chấp nhận".
Oleg Kuznetsov

@OlegKuznetsov - btw, đừng cảm thấy cần phải chấp nhận câu trả lời nếu bạn không thực sự cảm thấy câu hỏi được trả lời đầy đủ. Hoàn toàn ổn khi các câu hỏi không được trả lời cho đến khi có thể tìm thấy câu trả lời. Tôi rất vui vì câu trả lời của Nick hữu ích hơn.
AJ Henderson

4

Vì nó được bắn bởi những người tạo ra nó là một khái niệm mơ hồ, đặc biệt là khi có liên quan đến việc nén. Tái tạo màu thay đổi rất nhiều từ thiết bị này sang thiết bị khác và không có màn hình hiệu chỉnh và chuỗi điều khiển màu hoàn chỉnh quay trở lại nguồn, bạn sẽ không nhận được chính xác. Thậm chí sau đó, rất có thể là một nơi nào đó dọc theo đường không gian màu sẽ không khớp chính xác.

Nó thậm chí còn khó hơn khi bạn vào nén vì nén ảnh hưởng đến màu sắc. Màu sắc được khái quát một cách tinh tế bằng cách nén. Càng nhiều diện tích của hình ảnh, nó có thể đơn giản hóa (đặc biệt đối với những thứ như phim hoạt hình) hình ảnh có thể càng nhỏ. Rất có thể, dải màu nhỏ được nhìn thấy trong khung đó không tồn tại trong bản gốc, tuy nhiên do các nhóm H264 có màu tương tự với nhau và đơn giản hóa chúng thành một, kết quả là gây ra hiệu ứng dải.

Nói tóm lại, đối với một định dạng bị mất, một cấu hình màu sẽ không giải quyết được vấn đề vì màu sắc không được bảo tồn chính xác. Nó có thể giúp cải thiện nó một chút, nhưng vẫn sẽ có sự thay đổi màu từ nén.


Bạn có thể tạo dải với codec video nếu tốc độ bit của bạn quá thấp, nhưng chúng không tạo ra bất cứ thứ gì như sự khác biệt có hệ thống mà bạn thấy khi RGB-> yuv sử dụng một công thức và yuv-> RGB sử dụng một công thức khác. Bạn có thể thấy trong câu hỏi ban đầu sự khác biệt rất rõ ràng sau khi giải mã các hình ảnh bị mất từ ​​iTunes.
Peter Cordes

2

h.264 hỗ trợ thông tin màu khác nhau trong dòng bit. Từ x264 --fullhelp:

--range <string>        Specify color range ["auto"]
                      - auto, tv, pc.
--colorprim <string>    Specify color primaries ["undef"]
                      - undef, bt709, bt470m, bt470bg, smpte170m,
                        smpte240m, film, bt2020.
--transfer <string>     Specify transfer characteristics ["undef"]
                      - undef, bt709, bt470m, bt470bg, smpte170m,
                        smpte240m, linear, log100, log316,
                        iec61966-2-4, bt1361e, iec61966-2-1,
                        bt2020-10, bt2020-12.
--colormatrix <string>  Specify color matrix setting ["???"]
                      - undef, bt709, fcc, bt470bg, smpte170m,
                        smpte240m, GBR, YCgCo, bt2020nc, bt2020c.
--chromaloc <integer>   Specify chroma sample location (0 to 5) [0].

Vì vậy, tôi không nghĩ rằng bạn có thể nhúng cấu hình màu tùy chỉnh, nhưng bạn có thể chỉ ra bộ giải mã nào nên sử dụng để tạo ra các giá trị pixel RGB.

Tôi nghĩ rằng một số định dạng chứa cũng có thể chứa thông tin về không gian màu, nhưng có thể không.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.