Do theme mới chưa tối ưu các bài viết cũ nên sẽ lỗi hiển thị, quản trị viên đang sửa lỗi, mong bạn đọc thông cảm!

Codec là gì? Tầm quan trọng của việc chọn Codec

Codec là gì? Tầm quan trọng của việc chọn Codec
Codec được ghép thành bởi hai từ - code và decode - là một phần mềm máy tính dùng bộ nén để giảm kích thước của một tập tin lớn hoặc chuyển đổi giữa âm thanh analog và kỹ thuật số. Bạn sẽ thường thấy từ này đi kèm với audio và video, đó là audio codec và video codec.

Codec là gì?

Codec là một xem xét cốt lõi về mặt kỹ thuật cho mỗi bước của hậu kỳ, vì vậy điều quan trọng là bất cứ ai có liên quan đến workflow của bạn phải hiểu được những điều cơ bản.

Một codec là một bộ quy tắc cho máy tính và các thiết bị điện tử biết cách xử lý file media của bạn, đáng chú ý nhất là các footage video kỹ thuật số. Thuật ngữ codec là viết tắt của các từ compressor-decompressor hay coder-decoder. Như những gì tên gọi của nó ám chỉ, các codec làm cho các file có dung lượng lưu trữ nhỏ hơn và biến dữ liệu nén trở lại thành hình ảnh sử dụng được khi bạn cần dùng đến nó.

Lưu ý: Các codec không giống như container. Các container là các loại file thực sự lưu trữ dữ liệu video kỹ thuật số, và có thể được sử dụng cùng nhiều codec khác nhau. Bạnx có thể hình dung rằng các container là cái hộp nơi bạn đặt dữ liệu, và codec là hướng dẫn đóng gói và mở cái hộp đó. H.264, DNxHD, và ProRes là codec, còn .movs, .mxfs là các container.

Chúng ta cần codec vì các file video không nén có dung lượng rất lớn. Footage của một video không nén kéo dài 1 phút có dung lượng hàng chục gigabyte. Vì vậy, có lẽ bạn sẽ không bao giờ có thể làm việc với các footage không nén (video không có codec) trong toàn bộ workflow của bạn. Trong phần lớn các trường hợp, nó quá lớn và quá phức tạp để xử lý.

Codec giải quyết vấn đề này bằng cách giảm kích thước của footage và làm cho nó dễ xử lý hơn trong các hệ thống hậu kỳ. Dù hình ảnh đã bị nén thì cũng không có nghĩa là trông nó tệ hơn. Dù không phải codec nào cũng cho chất lượng hình ảnh tương đương nhau, nhưng có nhiều codec chất lượng cao mà bạn có thể chọn để cho hình ảnh đẹp nhất có thể. Codec phù hợp sẽ giúp cho footage của bạn dễ quản lý hơn, và bạn thậm chí còn không thể chỉ ra sự khác biệt giữa bản nén và bản không nén.

Điều đó cho chúng ta biết rằng, bạn sẽ có thể chỉ ra sự khác biệt nếu bạn chọn nhầm codec cho một số quy trình hậu kỳ nhất định. Sử dụng codec có mức độ nén quá nhiều có thể khiến cho bạn không thể chỉnh ra cái màu mà bạn mong muốn, hoặc làm cho phần VFX trông không thực tế. Mặt khác, các codec có mức nén thấp có thể gây khó khăn cho bạn khi sử dụng các phần cứng máy tính thông thường để dựng vì quá nặng, và gây ra các vấn đề khi truyền giữ liệu giữa các nhóm và địa điểm làm việc. Các codec khác nhau sẽ phù hợp cho từng hoàn cảnh khác nhau. Nhưng không một codec nào phù hợp với tất cả các trường hợp.

Việc chọn codec là một trong những quyết định kỹ thuật quan trọng nhất mà bạn sẽ thực hiện cho dự án của bạn. Ở một mức độ lớn hơn, codec xác định những gì bạn có thể làm với footage của bạn trong hậu kỳ và workflow của bạn sẽ phức tạp cỡ nào. Thường thì sẽ an toàn hơn, nhanh hơn và rẻ hơn nếu bạn chọn các codec mà bạn biết sẽ phù hợp với workflow mà bạn đã lên kế hoạch từ trước hoặc đã có sẵn, hơn là một codec đòi hỏi bạn phải sử dụng một workflow mới mà bạn chưa bao giờ sử dụng. Điều cuối cùng mà bạn muốn là một ngày đẹp trời phát hiện ra một số hoặc toàn bộ footage không thể sử dụng được vì codec không tương thích với phần mềm hoặc phần cứng của bạn. Như với tất cả mọi thứ khác trong hậu kỳ, hãy kiểm tra tất cả các lựa chọn về codec trước khi dự án bắt đầu.

Tất nhiên, để chọn codec một cách hiệu quả, bạn cần phải hiểu cách chúng ảnh hưởng đến chất lượng hình ảnh của video. Mặc dù vấn đề toán học và khoa học máy tính phía sau các codec khá là phức tạp, nhưng có một số khái niệm cơ bản mà bạn cần biết để chọn codec phù hợp cho production của bạn. Bao gồm: Bit Depth, Lấy mẫu màu, Kỹ thuật nén, Bit Rate… và nhiều yếu tố khác.

Bit-Depth là gì?

Đầu tiên, bạn cần hiểu về Bit-depth (hay còn gọi là Color-depth). Về cơ bản, đây là số màu tạo nên một hình ảnh. Các mức bit depth phổ biến nhất cho video là 8-bit (16 triệu màu), 10-bit (1 tỷ màu) và 12-bit (68 tỷ màu). Các codec có bit depth có thể lưu trữ được nhiều màu hơn, điều này làm cho video hiển thị mượt mà hơn và tinh tế hơn. Nói chung, các codec có bit depth lớn hơn cho chất lượng hình ảnh cao hơn, nhưng nó cũng cho các file lớn hơn. Tốt nhất là sử dụng một codec có bit depth lớn để capture, chỉnh màu và xử lý VFX.

Để tìm hiểu sâu hơn về bit depth, hãy tưởng tượng bạn muốn vẽ một bức tranh về cảnh mặt trời lặn, nhưng bạn chỉ có một chì hộp màu cơ bản với 6 màu. Cảnh mặt trời lặn trong thực tế có rất nhiều màu sắc, từ màu vàng chói chang đến màu cam, từ màu đỏ nhạt đến màu tím. Nếu tất cả những gì bạn có là 6 cây bút chì màu này, bạn sẽ không thể vẽ lại tất cả các sắc thái khác nhau đó. Bạn sẽ vẫn có thể vẽ được bức tranh, nhưng nó sẽ không thực sự xuất sắc.

Nhưng nếu bạn có một hộp chì 12 màu thì sao? Bây giờ bạn có thể sử dụng số màu nhiều gấp đôi, nhưng hình ảnh vẫn không giống với thực tế lắm. Bây giờ, nếu bạn có một hộp chì 1024 màu thì sao? Lúc này, bạn đã có thể vẽ một bức tranh khá đẹp. Bạn không thể có được tất cả các màu sắc mà bạn cần để vẽ một cảnh hoàng hôn giống như thật, nhưng bạn sẽ có một bức tranh đẹp hơn khi so với bức bạn vẽ bằng 16 hoặc 32 màu. Và nếu bạn càng có thêm nhiều màu sắc trong hộp màu, bạn sẽ có thể vẽ một bức tranh đẹp hơn.

Ví dụ này có vẻ hơn đơn giản, nhưng nó giúp hiểu cách bit depth hoạt động. Bit depth của một codec về cơ bản là một hộp màu mà nó có thể dùng để xây dựng hình ảnh. Bit depth càng lớn thì hộp màu càng lớn (số lượng màu càng lớn) và hình ảnh được tạo ra càng giống với thực tế.

Bit Depth được đo lường như thế nào

Để hiểu đầy đủ về Bit depth, chúng ta cần khám phá cách hình ảnh kỹ thuật số hoạt động một cách chi tiết hơn. Có lẽ bạn đã biết rằng hình ảnh kỹ thuật số động và tĩnh đều được tạo thành từ các điểm ảnh (pixel) và mỗi điểm ảnh là một sự pha trộn giữa ba kênh màu cơ bản (đỏ, xanh láxanh dươngRGB) để tạo ra các màu sắc khác nhau của hình ảnh.

Điều bạn có thể không biết là cách các màu sắc này được máy tính xác định. Mỗi trong ba kênh màu có một dải các giá trị khả thi có thể được gán, và dải này được lưu trữ dưới dạng một số đơn. Điều này quyết định số lượng lớn hay nhỏ mà con số này có thể là số bit mà máy tính dùng để lưu trữ nó.

Một bit chỉ là một đơn vị thông tin nhị phân, được hiển thị dưới dạng kỹ thuật số là 0 hoặc 1. Để lưu trữ thông tin phức tạp, máy tính cần dùng nhiều bit hơn cho mỗi số nguyên. Vì vậy, một số nguyên 1-bit chỉ có thể có 2 giá trị (0 hoặc 1), nhưng một số nguyên 2-bit có thể có 4 giá trị (00, 01, 10, và 11), và một số nguyên 3-bit có thể có 8 giá trị (000, 001, 010, 011, 100, 101, 110, và 111). Với mỗi bit tăng thêm, một giá trị kỹ thuật số có thể lưu trữ lượng thông tin nhiều gấp đôi.

Bằng cách tăng số bit trên mỗi kênh màu cơ bản, máy tính có thể lưu trữ được nhiều thông tin màu phức tạp hơn. Nếu mỗi kênh màu cơ bản dùng số nguyên nhị phân 8 bit, có nghĩa là có 256 sắc thái khả dụng của màu đỏ, xanh lá và xanh dương có thể được dùng cho mỗi điểm ảnh. Sự kết hợp của một trong số những sắc thái này với nhau sẽ tạo ra 16,777,216 màu khác nhau (256x256x256), từ màu đen thuần khiết (giá trị 00000000 cho mỗi kênh) đến màu trắng thuần khiết (11111111 cho mỗi kênh) và mọi sắc thái ở giữa.

8-bit với 10-bit

Mức bit depth phổ biến nhất cho video là 8-bit. Nó đã là chuẩn video kỹ thuật số hàng thập kỷ nay, cả trong truyền hình và điện ảnh. DVD dùng color depth 8-bit, Blu-ray cũng vậy, và hầu hết các nội dung trực tuyến (hiện tại). Thậm chí nhiều máy quay tiên tiến vẫn ghi màu 8-bit theo mặc định. Trên thực tế, hầu hết video kỹ thuật số bạn đã xem đều là 8-bit. Chúng ta muốn nhấn mạnh những điểm này để cho thấy rằng color depth 8-bit, về mặt kỹ thuật, là đã đủ, và có thể được dùng để kể những câu chuyện tuyệt vời.

Mặc dù vậy, bạn nên xem xét các codec với bit depth cao hơn nếu workflow của bạn có thể xử lý nó. Tại sao? Bởi vì các codec 8-bit có một số thiếu sót quan trọng mà bạn cần phải hiểu.

Vấn đề cơ bản với 8-bit color depth là thiếu các màu có sẵn. 16.7 triệu màu nghe thì có vẻ nhiều, nhưng hãy nhớ là mỗi kênh màu cơ bản chỉ có 256 sắc thái riêng. Điều này có thể gây khó khăn cho việc tạo ra vùng gradient tinh tế giữa các màu giống nhau hoặc tương tự.

Vấn đề này được gọi là Banding. Nó xảy ra bởi vì có một số bước tương đối nhỏ giữa các sắc thái sáng nhất và tối nhất của một màu bất kỳ. Các đường trong ảnh là các lỗi còn sót lại từ một máy tính cố kéo giãn vài màu ra cho đủ thông tin của một gradient quá rộng. Vấn đề này thậm chí còn được khuếch đại nhiều hơn ở những cảnh có độ tương phản thấp, chẳng hạn như những cảnh diễn ra trong phòng tối hoặc dưới bóng tối.

Giới hạn của các codec này được thể hiện trong toàn bộ quá trình hậu kỳ, nhưng vấn đề nghiêm trọng nhất là ở trong giai đoạn chỉnh màu và xử lý kỹ xảo hình ảnh. Nếu chỉnh màu quá nhiều, video ở codec 8-bit thường xuất hiện các lỗi đáng chú ý, đơn giản là bởi vì không có đủ sắc độ để thực hiện các bước tinh chỉnh mà bạn muốn. Và chroma-keying (key phông xanh) với một codec 8-bit có thể làm lộ phần cạnh lởm chởm răng cưa, hoặc bị mất chi tiết ở vùng cạnh, khiến cho phần VFX trông rất tệ.

Một lần nữa, ít nhất qua hơn 30 năm sản xuất video kỹ thuật số, chúng ta có thể thấy rằng color depth 8-bit có thể được sử dụng cho rất nhiều dự án. Tuy vậy, vẫn có nhiều tùy chọn có chất lượng cao hơn mà bạn nên xem xét cho workflow của mình.

10-bit color depth thì cũng giống như 8-bit color depth, ngoại trừ việc mỗi kênh màu cơ bản có thêm hai bit để lưu trữ giá trị màu sắc. Điều này có nghĩa là, thay vì chỉ có 256 khả năng trên mỗi kênh RGB, 10-bit cho 1024 giá trị khả thi trên mỗi kênh RGB, tăng gấp 4 lần, cho phép thể hiện 1,073,741,824 màu (1024x1024x1024).

10-bit đã tồn tại trong các sản phẩm cao cấp từ nhiều thập kỷ nay, nhưng nó mới chỉ trở nên khả dụng cho các workflow thông thường trong thời gian gần đây khi các máy quay mới và phần mềm mới bắt đầu hỗ trợ nó. Giờ đây, thậm chí các máy DSLR tầm trung cũng có thể quay ở color depth 10-bit, và người dùng có thể dựng các footage ở các codec 10-bit trên các máy trạm tiêu chuẩn.

Lợi thế của 10-bit color depth hầu như luôn vượt qua đòi hỏi về không gian lưu trữ và sức mạnh xử lý bổ sung mà bạn cần để xử lý nó, nếu bạn đang thực hiện chỉnh màu hoặc xử lý kỹ xảo hình ảnh. File gốc từ máy quay sẽ ở mức chất lượng cao hơn rất nhiều, việc hiệu chỉnh màu sắc sẽ được chính xác hơn và các hiệu ứng hình ảnh trông thực tế hơn. Kể cả nếu bạn sẽ xuất file ở một codec 8-bit đi chăng nữa, bạn vẫn nên xem xét việc master dự án ở 10 bit vì các bước trung gian sẽ có lợi.

Lấy mẫu màu (Chroma Subsampling)

Tiếp theo, để hiểu rõ hơn về codec, bạn cần phải hiểu về lấy mẫu màu (chroma subsampling). Đây là một phương pháp giảm kích thước hình ảnh bằng cách lược bỏ bớt một số dữ liệu về màu sắc ở một số điểm ảnh và thay thế nó bằng màu liền kề. Lấy mẫu màu được biểu thị theo tỉ lệ như 4:4:4 (không có điểm ảnh nào bị mất dữ liệu màu), 4:2:2 (50% điểm ảnh mất dữ liệu màu) và 4:2:0 (75% số điểm ảnh mất dữ liệu màu). Điều này có thể tiết kiệm rất nhiều không gian lưu trữ, và trong nhiều trường hợp, người dùng sẽ không để ý thấy việc bị mất dữ liệu vì mắt người nhạy cảm với thay đổi về độ sáng hơn là thay đổi về màu sắc.

Mặc dù vậy, bạn cần lưu ý về việc các codec lấy mẫu màu khác nhau như thế nào. Nếu tỉ lệ lấy mẫu màu quá lớn có thể làm chất lượng hình ảnh giảm rõ rệt và gây khó khăn cho việc xử lý hình ảnh theo những cách nhất định. Nói chung, bạn nên chọn một codec có tỉ lệ lấy mẫu màu thấp nhất có thể để ghi hình. Điều này sẽ giúp cho file gốc từ máy quay có nhiều dữ liệu màu, nhờ đó mà quá trình chỉnh màu và xử lý kỹ xảo hình ảnh được dễ dàng hơn rất nhiều. Ví dụ, nếu bạn quay phông xanh ở codec 4:2:0, bạn sẽ gặp rất nhiều rắc rối.

Có thể bạn sẽ tự hỏi: lược bỏ 75% thông tin màu rồi thì làm sao mà hình ảnh trông vẫn đẹp cho được? Đây là một câu hỏi dễ hiểu, vì vậy ở đây chúng ta sẽ nói sâu hơn về việc lấy mẫu màu.

Như đã đề cập từ trước, mắt của chúng ta nhạy cảm với các thay đổi về độ sáng hơn so với các thay đổi về màu sắc. Hiểu được điều này, các kỹ sư đã đưa ra một sơ đồ hết sức thông minh để giảm kích thước thông tin hình ảnh. Nếu một số điểm ảnh trong một hình ảnh bị loại bỏ thông tin về màu, thì sẽ có nhiều không gian hơn để lưu trữ các thông tin khác như độ phân giải và tốc độ khung hình.

Tất nhiên là không phải đơn giản mà cứ bỏ màu trong hình đi. Người xem sẽ chú ý. Vậy nên, việc lấy mẫu màu không chỉ cần loại bỏ màu sắc, nó phải chia sẻ các giá trị màu giữa các điểm ảnh. Nếu một điểm ảnh mất đi thông tin màu của nó, nó mượn một số thông tin từ các điểm màu liền kề. ĐIều này không có nghĩa là các điểm ảnh này trông giống hệt nhau, bởi vì chúng đều giữ thông tin màu của riêng chúng. Vì vậy, vì hầu hết các điểm ảnh đều có chút khác biệt về độ sáng, chúng sẽ vẫn xuất hiện hơi khác nhau, giúp duy trì chi tiết hình ảnh cho người xem.

Vậy chính xác thì nó hoạt động như thế nào?

Tỉ lệ lấy mẫu màu

Việc lấy mẫu màu thường được thể hiện ở một tỉ lệ ba phần, được tạo thành từ các thành phần J:a:b

[Lưu ý: thỉnh thoảng bạn có thể thấy tỉ lệ bốn phần. Trong các trường hợp này, số thứ tự đại diện cho mẫu alpha (độ trong suốt), và nó sẽ khớp với số đầu tiên trong tỉ lệ. Tuy nhiên, loại tỉ lệ này thường ít phổ biến hơn.]

    Phần J là chỉ báo cho biết khối tham chiếu nén có chiều rộng bao nhiêu điểm ảnh. Nó cũng đo xem có bao nhiêu mẫu độ sáng trong mỗi hàng.

    Phần a là một chỉ báo cho biết có bao nhiêu mẫu màu trong hàng đầu tiên của khối tham chiếu.

    Phần b là một chỉ báo cho biết có bao nhiêu mẫu màu trong hàng thứ hai của khối tham chiếu.

Có nhiều khả năng (và lý thuyết) về các phương thấy lấy mẫu màu khác nhau, nhưng ở đây chúng ta sẽ nói ba khả năng phổ biến nhất: 4:4:4, 4:2:2, và 4:2:0.

Về mặt kỹ thuật, 4:4:4 có nghĩa là không lấy mẫu màu. Mọi điểm ảnh được lưu trữ với đầy đủ thông tin màu sắc của nó, vậy nên 100% thông tin màu sắc được ghi lại và giữ nguyên trong dữ liệu hình ảnh.

Phương pháp lấy mẫu màu này thường được dùng trong các máy quét phim cao cấp và các workflow hậu kỳ điện ảnh hàng đầu, nơi chất lượng hình ảnh tối đa là điều cần thiết.

Trong sơ đồ này, mỗi hai điểm ảnh chia sẻ thông tin màu với nhau. Điều này có nghĩa là 50% thông tin màu được ghi lại bị thay thế, làm giảm bit-rate yêu cầu xuống còn một phần ba. Mặc dù vậy, điều này không mang lại nhiều sự khác biệt về mặt hình ảnh.

Nhiều định dạng và giao diện video kỹ thuật số cao cấp sử dụng phương pháp lấy mẫu màu này, bao gồm ProRes 422. Vì các máy quay có thể ghi hình ảnh 10-bit đã có mặt rộng rãi trên thị trường, các codec sử dụng phương pháp lấy mẫu màu 4:2:2 đã chuyển từ một tình năng hiếm có, đáng thèm muốn, thành một tiêu chuẩn cho nhiều sản phẩm chuyên nghiệp.

Đối với phương pháp lấy mẫu màu 4:2:0, chỉ có hai điểm ảnh trong hàng đầu tiên giữ được thông tin màu, toàn bộ các điểm ảnh còn lại (bao gồm hai điểm ở dòng đầu tiên và bốn điểm ở dòng thứ hai) sao chép các giá trị màu này. Phương pháp này thay thế 75% dữ liệu màu sắc được ghi lại, nhưng cho phép tiết kiệm 50% dung lượng lưu trữ.

4:2:0 chắc chắn là một phương pháp nén mang tính gay gắt hơn nhiều so với các ví dụ trước, nhưng nó không hẳn là tệ. Trên thực tế, nó phổ biến hơn nhiều so với hai phương pháp kia. Một số codec phổ biến nhất, như H.264, dùng mẫu 4:2:0 làm một phần của thông số kỹ thuật. Kể cả một số định dạng phân phối chất lượng cao như Ultra HD Blu-Rays, vẫn dùng 4:2:0.

Lấy mẫu màu trong workflow của bạn

Suy nghĩ đầu tiên có thể sẽ là, nhiều màu hơn thì sẽ luôn là tốt hơn. Mặc dù xét về mặt chất lượng hình ảnh thì điều này là hoàn toàn đúng, nhưng có thể nó sẽ không còn chính xác nữa khi xem xét đến các khía cạnh khác, như chi phí và hiệu suất. Đối với nhiều ứng dụng, màu 4:4:4 vượt quá phạm vi kỹ thuật cần thiết, và đối với một số workflow, nó hoàn toàn quá mức cần thiết. Ví dụ: Hầu hết các nền tảng video, như YouTube, đều mã hóa tất cả nội dung của nó ở 4:2:0. Vậy nên nếu bạn dành quá nhiều thời gian và nguồn lực để quay, dựng và xuất file ở một codec 4:4:4, sản phẩm cuối cùng của bạn sẽ trông gần giống như một sản phẩm mà người ta thực hiện toàn bộ ở 4:2:0 từ đầu đến cuối.

Mặc dù vậy, việc lấy mẫu màu nhiều sẽ trở thành một vấn đề khi bạn muốn làm nhiều VFX hoặc key phông xanh. Nếu hình ảnh mất quá nhiều thông tin màu, nó có thể khiến cho những việc này trở nên hết sức khó khăn, kết quả là chất lượng của sản phẩm cuối sẽ trông rất tệ hại. Rốt cục thì, phần mềm của bạn không thể tự thêm các thông tin màu vào để key sạch được. Những thông tin có sẵn trong hình là tất cả những gì bạn có. Vậy nên, nếu workflow của bạn bao gồm nhiều hoạt động xử lý kỹ xảo và chỉnh màu, thì càng ít lấy mẫu màu càng tốt vì nó đảm bảo lượng thông tin cần thiết cho bạn xử lý. Cũng như với các cân nhắc khác trong việc chọn codec, các yêu cầu về mặt kỹ thuật của workflow phải là yếu tố quyết định.

Kỹ thuật nén

Các codec sử dụng nhiều kỹ thuật tính toán cao cấp để nén dữ liệu video, nhưng có hai kỹ thuật nén cơ bản cần phải hiểu, nén không gian (spatial compression) và nén thời gian (temporal compression).

Spatial compression là một kỹ thuật giúp tiết kiệm không gian bên trong một khung hình. Phương pháp này thường được gọi là nén nội khung (intraframe compression), và nó hoạt động bằng cách nhóm các điểm ảnh lại với nhau và lưu trữ chúng dưới dạng một giá trị màu duy nhất, gọi là một khối (block). Các khối này chiếm ít không gian lưu trữ kỹ thuật số hơn nhiều so với các điểm ảnh riêng lẻ, đặc biệt là khi phần lớn của hình ảnh có sẵn sự tương đồng về mặt màu sắc. Mặc dù vậy, chất lượng của hình ảnh sẽ giảm, đặc biệt là với các hình ảnh phức tạp với nhiều chi tiết. Để khắc phục vấn đề này, nhiều codec sử dụng các khối linh hoạt ở nhiều kích thước và hình dáng khác nhau, làm cho cảm nhận về việc giảm chất lượng trở nên mơ hồ hơn.

Nén thời gian (temporal compression), hay nén liên khung (interframe compression), là một kỹ thuật nhằm tiết kiệm không gian giữa nhiều khung hình trong video. Nó dùng kỹ thuật nén khối tương tự như nén không gian (spatial compression), nhưng không phải cho mọi khung hình. Thay vào đó, kỹ thuật nén thời gian (temporal compression) chỉ lưu sự khác biệt giữa các khung hình liên tiếp nhau. Nếu một nửa hình ảnh của hai khung hình là giống nhau, thì kỹ thuật này sẽ chỉ lưu các điểm ảnh mới trong khung hình thứ hai. Các codec sử dụng phương pháp nén này được gọi là các codec long-GOP (group of pictures), và chúng rất hiệu quả trong việc lưu trữ thông tin, vù chúng không cần phải lưu trữ toàn bộ thông tin trong từng khung hình. Mặc dù vậy, mỗi khung hình không chưa một hình ảnh hoàn chỉnh, máy tính của bạn sẽ tốn rất nhiều tài nguyên khi xử lý các cảnh quay không tuần tự, như khi bạn dựng. Nói chung, các codec dùng kỹ thuật nén thời gian (temporal compression) rất tuyệt để lưu trữ thông tin trong một không gian nhỏ, nhưng không phải là lý tưởng để làm việc với các cảnh quay.

Nén video là một thế giới tuyệt vời của toán học, khoa học máy tính và bí ẩn phức tạp. Tin tốt lành cho bạn là bạn không cần phải là một học giả, kỹ sư hay phù thủy để hiểu những điều căn bản. Trong mục này, chúng tôi sẽ khám phá về việc nén video để bạn có thể đưa ra các lựa chọn sáng suốt hơn khi lựa chọn codec.

Nén nội khung (Spatial compression/Intraframe Compression)

Như đã đề cập trước đây, nén nội khung chỉ liên quan đến dữ liệu trong một khung hình riêng lẻ. Để tiết kiệm không gian lưu trữ dữ liệu, phương pháp nén này không lưu thông tin màu của mọi điểm ảnh. Thay vào đó, các điểm ảnh được nhóm thành các nhóm, được gọi là các Macro-Block, và sau đó một giá trị màu trung bình được gán cho chúng.

Hình dạng chính xác của các macro-block giữa các codec là khác nhau. Một số codec chỉ sử dụng các macro-block có kích thước cố định, trong khi một số khác cho phép kích thước được thay đổi linh hoạt ở một mức nhất định. Ở dạng đơn giản nhất, các macro-block là một khối các điểm ảnh hình vuông hoặc hình như nhật, như trong ví dụ phía trên.

Mặc dù vậy, các codec cao cấp hơn có thể lấy mẫu các khối ở hầu hết mọi hình dáng và kích thước. Trong hình trên, chúng ta có thể thấy cách HEVC sử dụng các khối một cách cực kỳ linh hoạt. Điều này cho hình ảnh sạch hơn nhiều so với các hình thức nén nội khung cứng nhắc khác.

Macro-blocking làm giảm chất lượng hình ảnh nhiều nhất trong những vùng màu gradient.

Nhưng nén nội khung chất lượng kém có thể làm cho vùng gradient bị biến dạng và không đều, biến nó thành các dải màu tách biệt. Đây là một tác dụng phụ trực tiếp của việc lược bỏ dữ liệu màu, một lượng lớn các điểm ảnh có màu sắc khác nhau bị gán thành cùng một màu.

Mặc dù vậy, bất chấp vấn đề này, nén nội khung là một phương pháp được dùng trong nhiều codec và ứng dụng. Các codec phổ biến như ProRes, DNxHD, và một số ALL-I (all-Intraframe) codec ghi được tìm thấy trên các máy quay chuyên nghiệp đều sử dụng phương pháp nén nội khung.

Nén liên khung (Temporal/Interframe Compression)

Một phương pháp nén khác mà chúng tôi quan tâm là nén liên khung (Temporal/Interframe compression). Phương pháp này sử dụng loại kỹ thuật tương tự như nén nội khung, nhưng trền nhiều khung hình thay vì chỉ một. Điều này có nghĩa là một khung hình không chứa 100% thông tin được dùng để hiển thị. Điều này có vẻ khó hiểu, nhưng thực tế nó khá đơn giản.

Trong shot phía trên, đối tượng ngồi trước một phông nền tĩnh. Rõ ràng, khi cuộc phỏng vấn diễn ra, sẽ có chuyển động trên màn hình. Khuôn mặt của chủ thể sẽ thay đổi khi họ nói, tay của họ sẽ di chuyển, và họ sẽ ngọ nguậy một chút trên ghế. Nhưng nói chung thì phần hậu cảnh giữa các khung hình sẽ không thay đổi. Thậm chí phần lớn hình ảnh chủ thể cũng sẽ không thay đổi trong thời gian ngắn. Vậy nên, trong thực tế, rất nhiều thông tin trong mỗi khung hình có thể là dư thừa nếu chúng đều được lưu trữ như nhau.

Vì vậy, các codec sử dụng phương pháp nén liên khung loại bỏ số dữ liệu dư thừa này bằng cách chỉ lưu những thay đổi trong từng khung hình. Trong trường hợp này, đó là khuôn mặt của chủ thể, và bất cứ cử chỉ tay hay chuyển động cư thể nào mà họ thực hiện. Vậy thì chính xác thì nó hoạt động thế nào?

Quá trình phức tạp này bắt đầu sau khi các codec nén liên khung tách các hình ảnh thành các macroblock. Ở điểm này, một codec nén nội khung sẽ chỉ mã hóa hình ảnh, nhưng các codec nén liên khung thì lại khác. Thay vì mã hóa trực tiếp các giá trị của mỗi khối, thuật toán nén sẽ tìm kiếm các khối tương tự trong các khung hình liền kề. Nếu nó tìm thấy, thì nó sẽ tham chiếu khối đó trong khung hình mới.

Và nó thậm chí còn hoạt động tốt hơn nếu các khối giữa các khung hình hơi khác nhau một chút. Nếu khối tham chiếu nằm ở một vị trí mới (vì máy quay chuyển động), nó có thể được đặt ở khung hình mới ở vị trí mới, bằng cách sử dụng véc-tơ chuyển động. Véc-tơ này cho thấy nơi khối tham chiếu sẽ xuất hiện trong khung hình mới mà không cần phải tạo các khối mới.

Bây giờ, thì codec không cần phải dùng mọi khung hình trong clip cho phương pháp nén này. Rốt cục, các thay đổi trong các cảnh không có chi tiết chung, nên sẽ không thể tìm ra các khối tương tự trong những tình huống như vậy. Đây là lý do tại sao việc nén liên khung nhóm các khung hình tương đồng lại với nhau để mã hóa và giải mã một cách hiệu quả hơn.

Do đó, các codec nén liên khung được gọi là các codec Group of Pictures (long-GOP). Các nhóm này được tạo thành từ ba loại khung hình khác nhau – khung hình I, khung hình Pkhung hình B.

Khung hình I (I-Frames) là các hình ảnh được mã hóa nội bộ (Intraframe-Coded). Có nghĩa là các khung hình này chỉ được nén nội khung. Chúng đóng vai trò là khung tham chiếu cho phần còn lại của lấy mẫu liên khung.

Khung hình P (P-Frames) là các hình ảnh được mã hóa dự đoán (Predictive-Coded). Đây là các khung hình phụ thuộc vào một khung hình tham chiếu nằm ở phía trước. Bất kỳ khối nào nằm giữa khung hình P và khung hình I sẽ chỉ được lưu trữ trong khung hình I và chỉ được tải vào khung hình P để hiển thị.

Khung hình B (B-Frames) là các hình ảnh được mã hóa dự đoán hai chiều (Bidirectionally-Predictive-Coded). Các khung hình này tương tự như khung hình P, nhưng có thể sử dụng dữ liệu từ các hình ảnh trước hoặc sau trong chuỗi. Thuật toán có thể tìm kiếm các khối ở cả khung hình I và khung hình P để điền vào khoảng trống.

Tùy thuộc vào cài đặt nén, số lượng khung hình trong một nhóm sẽ khác nhau. Nói chung, khung hình càng được giữ cho giống nhau thì càng có nhiều khung hình có thể được đặt trong một nhóm mà không gây ra các lỗi có thể nhìn thấy bằng mắt thường. Có thể có rất nhiều khung hình P và B giữa mỗi khung hình I, hoặc chỉ hai hoặc ba. Đôi khi người dùng cũng có thể thiết đặt bao nhiêu khung hình mà các nhóm có thể chứa, mang đến nhiều kiểm soát về mặt kỹ thuật hơn trên hình ảnh.

Nhiều codec dùng nén liên khung, chẳng hạn như H.264, MPEG-4, AVCHD, và XDCAM. Nén liên khung rất hấp dẫn đối với các codec ghi, vì chúng cho phép bạn lưu nhiều cảnh quay hơn trên một thiết bị lưu trữ. Điều này cho phép bạn quay trong thời gian dài hơn mà không cần phải đổi thẻ.

Bitrate

Một yếu tố khác thuộc về codec mà bạn cần phải hiểu là bitrate. Bit rate đo lượng dữ liệu mà một codec sử dụng tính theo đơn vị thời gian, thường là megabit trên giây (Mbps hoặc Mb/s). Bitrate của một codec quyết định chất lượng hình ảnh của video nhiều hơn hầu hết các yếu tố khác, hơn cả độ phân giải, hơn cả kết hợp máy quay và ống kính, hơn cả việc xử lý màu sắc của bạn. Tại sao? Bởi vì một codec chỉ có thể sử dụng lượng dữ liệu bằng với mức bit rate nó được cho phép sử dụng. Nếu codec có bit rate là 10 Mbps, thì cảnh quay dài 2 phút chỉ có thể sử dụng 1200Mb dung lượng lưu trữ (10Mbps x 120 giây). Bất kể bạn quay ở 720p hay 8K, kích thước file vẫn giữ nguyên như vậy. Vì các footage 8K có lượng điểm ảnh cao gấp 36 lần so với 720p, mức nén sẽ cao hơn ít nhất là 36 lần nếu bạn cố điều chỉnh nó để phù hợp với mức bit rate tương đương 720p. Về mặt kỹ thuật, file 8K có thể có độ phân giải cao hơn, nhưng nó sẽ trông rất tệ. Khi chọn codec, điều quan trọng là bạn phải kiểm tra các tùy chọn bit rate để đảm bảo là chúng có thể cho chất lượng hình ảnh mà bạn cần cho dự án của mình.

Lưu ý: một megabit (Mb) không tương đương với một megabyte (MB). 1 byte được tạo thành từ 8 bit. Trong ví dụ trước, 1200Mb tương đương 150MB (1200Mb / 8bits = 150MB). Chuyển đổi 1:8 giữa byte và bit là như nhau bất kể tiền tố nhị phân.

Tính toán bitrate

Bitrate của một codec có thể ảnh hưởng nghiêm trọng đến tốc độ và tính hiệu quả của workflow. Sử dụng sai bit rate ở sai thời điểm có thể dẫn tới trở ngại và làm chậm quá trình dựng, thậm chí có thể dẫn đến những thảm họa, như là vắt kiệt toàn bộ hệ thống lưu trữ của bạn. Để tránh các vấn đề trên, bạn thực sự cần học cách tính toán bit rate.

Công thức tính bit rate cơ bản là bit rate nhân với độ dài của file = kích thước file. Đây là một công thức rất đơn giản mà bất cứ ai cũng có thể sử dụng. Tuy vậy, hãy nhớ rằng mỗi biến số này có thể điền với các đơn vị hơi khác nhau. Ví dụ, bit rate có thể được biểu thị bằng kilobit trên giây (Kbps or Kb/s) hoặc megabyte trên giây (MBps or MB/s). Độ dài của một video có thể tính bằng giây, phút hoặc giờ. Và kích thước file có thể là vài kilobyte cho đến vài terabyte (hãy hy vọng là không phải như vậy).

Để xử lý các đơn vị khác nhau này, hãy trả lời câu hỏi đầu tiên. Bit là gì?

Một bit là một đơn vị thông tin nhị phân. Máy tính lưu trữ các bit dưới dạng 0 hoặc 1 và kết hợp chúng lại với nhau để lưu trữ các thông tin ngày càng phức tạp. Khi 8 bit được đặt chung với nhau, chúng tạo thành một byte. Chuyển đổi giữa hai đơn vị này rất dễ dàng. Để chuyển bit thành byte, chỉ cần chia số bit cho 8. Khi chuyển ngược lại từ byte sang bit, chỉ cần nhân số byte với 8. Dễ ẹc.

Một byte không thực sự chứa nhiều dữ liệu như vậy nữa. Vì vậy chúng ta sử dụng các tiền tố để nhanh chóng định lượng số bit/byte mà chúng ta đang nói về:

  • Một kilobit/byte là một ngàn (1,000) bit/byte
  • Một megabit/byte là một triệu (1,000,000) bit/byte.
  • Một gigabit/byte là một tỉ (1,000,000,000) bit/byte.
  • Một terabit/byte là một nghìn tỉ (1,000,000,000,000) bit/byte.

Lưu ý rằng mỗi tiền tố tăng lên sẽ làm tăng lượng thông tin lên 1000 lần. Vì vậy, 1 gigabyte lớn hơn 1 megabyte 1000 lần. 8 tỉ số 1 và 0 (một gigabyte) chắc chắn là rất nhiều, nhưng đó là quy mô cần thiết để lưu trữ, xử lý và hiển thị hầu hết file video HD.

Đây là một ví dụ. Giả sử bạn có footage dài hai tiếng cần được lưu trữ, bạn transcode nó thành DNxHD 175. Bạn cần bao nhiêu dung lượng lưu trữ?

Sử dụng công thức ở trên, hãy bắt đầu với bit rate. Bit rate của DNxHD 175 là 175 Mbps (đặt tên tiện ghê ha). Vì chúng ta muốn biết dung lượng lưu trữ cần thiết là bao nhiêu, chúng ta nên chuyển bit rate thành byte trên giây (bởi vì kích thước file thường được biểu thị bằng byte chứ không phải bit). Chỉ cần chia bit rate cho 8, và bạn đã có được con số mình cần biết.

175Mbps / 8 bits = 21.875MBps

Bây giờ, hãy xác định các yếu tố của một footage dài. Chúng ta có thể tính được số giây trong hai tiếng đồng hồ, nhưng dễ nhất là chuyển bit rate của chúng ta thành giá trị tính trên phút. Vì vậy, do bit rate của chúng ta hiện đang tính theo giây, chúng ta cần nhân nó với số giây trên mỗi phút, là 60.

21.875MBps x 60 giây = 1312.5MBpm (megabytes trên phút)

Bây giờ, bước cuối cùng là nhân mức bit rate tính theo phút mà chúng ta vừa có được với số phút trong 2 giờ đồng hồ, là 120.

        1312.5MBpm x 120 phút = 157500MB.

Bây giờ chúng ta biết chính xác mình cần bao nhiêu dung lượng lưu trữ để transcode sang codec lưu trữ của chúng ta. Nhưng chúng ta có thể trả lời câu hỏi này một cách dễ dàng hơn nếu chuyển nó sang gigabyte (đơn vị tính kích thước video phổ biến nhất). Dung bảng ở trên, chúng ta biết rằng có 1000 megabyte trên mỗi gigabyte, vì vậy, tất cả những gì mà chúng ta cần là chia kết quả của chúng ta cho 1000.        

157500MB / 1000MB = 157.5GB

Giờ thì bạn thấy dễ chưa?

Điều chỉnh Bitrate

Bây giờ thì bạn đã biết cách tính bit rate, bạn có thể dễ dàng tính được codec nào phù hợp với các nguồn lực có sẵn trong workflow của bạn. Nhưng một khi bạn thu hẹp danh sách này lại, thì làm sao để biết codec nào (và mức bit rate tương ứng nào) là tùy chọn tốt nhất cho dự án của bạn?

Đầu tiên, bạn cần biết rằng bit rate là có thể điều chỉnh được. Mặc dù nhiều codec có một mức bit rate mặc định trên một số thiết bị/phần mềm nhất định, nhưng bạn sẽ thường có một số quyền kiểm soát nhất định lên khía cạnh này của codec. Một số codec (như DNxHD và ProRes) có mức bit rate định sẵn từ trước (điển hình là DNxHD 175 trong ví dụ ở trên) được tối ưu hóa để làm việc với các độ phân giải và tốc độ khung hình cụ thể. Điều này đòi hỏi chúng ta phải đưa ra rất nhiều phỏng đoán trong việc chọn bit rate cho codec, vì các mức cài đặt mặc định khác nhau cho các định dạng video khác nhau có chất lượng tương đương nhau. Các codec khác (như H.264) cho phép bạn chọn giữa nhiều mức bit rate khác nhau. Điều này cho phép bạn điều khiển chính xác kích thước file cho của footage, vốn hữu ích khi dung lượng lưu trữ hoặc băng thông bị giới hạn, nhưng tốn nhiều thời gian để tìm các cài đặt chính xác nhằm bảo toàn mức chi tiết mong muốn.

Nói chung, bạn sẽ muốn sử dụng mức bit rate cao nhất mà workflow của bạn có thể chịu đựng được. Một mức bit rate cao hơn sẽ cho phép codec cho hình ảnh chất lượng cao hơn. Mặc dù vậy, điều này không nhất thiết là đúng khi so sánh giữa các codec với nhau. Các codec khác nhau sử dụng các kỹ thuật nén khác nhau, vậy nên việc chọn codec mà chỉ dựa trên bit rate không phải là một ý kiến hay. Ví dụ, một codec mới như H.264 ở 10Mbps sẽ cho hình ảnh chất lượng cao hơn nhiều so với một codec cũ như MPEG-2 ở 20Mbps. H.264 hiệu quả hơn so với MPEG-2, nó chứa được nhiều chi tiết hơn trong một mức dữ liệu thấp hơn. So sánh một codec với bản thân nó khi xem xét về bit rate. Nếu bạn làm vậy, thì đúng là mức bit rate cao hơn sẽ cho chất lượng hình ảnh cao hơn. Nhưng chỉ đến một mức nào đó.

Có một giới hạn cho mức bit rate tăng lên sẽ cải thiện chất lượng hình ảnh tới mức nào. Hầu hết các codec đều có một “điểm ngọt ngào” (sweet spot), hoặc một dải bit rate trong đó chất lượng hình ảnh và kích thước file được tối ưu hóa. Ví dụ, H.264 ở 1080p được cho là có sweet spot ở vào khoảng 15 – 25 Mbps. Sử dụng mức bit rate dưới sweet spot sẽ làm giảm chất lượng hình ảnh của footage, và mức bit rate cao hơn sweet spot sẽ yêu cầu nhiều dung lượng lưu trữ hơn nhưng chất lượng hình ảnh được cải thiện không đáng kể. Chắc chắn, bạn sẽ tăng mức độ chi tiết của H.264 khi bạn nhảy từ 20mbps lên 200mbps, nhưng nó sẽ không rõ ràng như từ 10 lên 20mbps. Hơn nữa, yêu cầu về dung lượng lưu trữ sẽ tăng vọt. Trong hầu hết các trường hợp, không việc gì bạn phải tăng thêm chi phí tính toán/hậu cần khi tăng bit rate lên quá một mức nhất định.

Tóm lại, không có một mức bit rate lý tưởng. Lựa chọn tốt nhất của bạn sẽ tùy thuộc vào hình ảnh mà bạn đang ghi/làm việc cùng, độ phân giải của nó, và cách bạn muốn xử lý hình ảnh, và lượng dữ liệu mà workflow của bạn có thể xử lý. Đối với một số shot, mức bit rate thấp trông vẫn ổn, đặc biệt là khi hình ảnh không có quá nhiều chi tiết (ví dụ như một video phỏng vấn với một phông nền tĩnh). Đối với một số shot, như hành động thể thao và những cảnh rượt đuổi, nơi mọi thứ trong khung hình liên tục thay đổi, bạn sẽ cần một mức bit rate cao hơn để có được chất lượng hình ảnh chấp nhận được. Thử nghiệm các mức bit rate khác nhau với các codec mà bạn đã dùng, và xem nó ảnh hưởng đến chất lượng hình ảnh như thế nào. Như với mọi thứ khác liên quan đến codec, bạn cần phải kiểm tra kỹ lưỡng bit rate trước khi bắt đầu dự án của mình.

Chọn Codec

Sau khi đã tìm hiểu tất cả các yếu tố kỹ thuật của codec, bây giờ, bạn đã có đủ kiến thức để đưa ra quyết định chọn codec của mình.

Các loại codec

Như đã nói từ trước, không có một codec nào tốt cho tất cả mọi giai đoạn của workflow. Nói một cách đơn giản, codec mà bạn dùng trong máy quay sẽ không phải là codec hiển thị trên màn hình của người xem. Các đặc tính và thông số kỹ thuật mà bạn cần cho hai ứng dụng này (và mỗi giai đoạn của quá trình hậu kỳ ở giữa) là hoàn toàn khác nhau. Nếu bạn cố gắng sử dụng một codec cho mọi giai đoạn trong hậu kỳ, bạn sẽ phải hi sinh thứ gì đó trong quá trình thực hiện. Vậy nên, bạn cần phải chọn các loại codec có khả năng giúp cho mỗi giai đoạn trong workflow trở nên dễ dàng nhất có thể, trong khi vẫn duy trì được chất lượng.

Hành trình codec bắt đầu từ máy quay, với codec bạn dùng để ghi lại các cảnh quay. Các codec tốt nhất cho việc capture có bit depth lớn, ít lấy mẫu màu, bit rate cao, và không dùng nén long-GOP (nén hình ảnh theo các nhóm – nén liên khung). Có rất nhiều codec ghi, nhưng để đáp ứng các tiêu chí này thì chỉ có một vài lựa chọn khả thi. Như một quy tắc, bạn sẽ muốn dùng codec tốt nhất để ghi, bởi vì đây chính là nguồn cho tất cả các codec khác mà bạn transcode (chuyển mã) xuống thấp hơn. Bạn luôn có thể chuyển đổi các footage chất lượng cao xuống file có chất lượng thấp hơn, nhưng ngược lại thì không.

Một khi footage được đưa ra khỏi máy quay, bạn cần phải chọn codec để bạn dùng cho quá trình dựng. Việc dựng đòi hỏi tốc độ và tính dễ sử dụng nhiều hơn so với chất lượng hình ảnh, vậy nên tốt nhất là bạn nên transcode các file gốc sang một codec có dung lượng nhỏ hơn. Mặc dù vậy, hãy tránh dùng các codec dùng phương pháp nén long-GOP (như hầu hết các phiên bản của H.264) cho dựng phim. Các codec này cho file nhỏ nhưng máy tính sẽ phải làm việc rất vất vả để render các thông tin này khi bạn xem lướt trên timeline. Việc này có thể làm chậm quá trình dựng đi rất nhiều, vậy nên hãy đảm bảo rằng codec dùng cho dựng phim chỉ dùng các codec nén nội khung (như DNxHD hoặc ProRes). Ngoài ra, không cần ngại nếu máy tính của bạn cần phải dùng một codec có chất lượng thấp hơn để dựng. Chỉ mới cách đây vài năm thôi, kể cả các phim kinh phí lớn của Hollywood cũng được dựng ở 480p. Nó nhanh hơn và dễ hơn. Bên cạnh đó, dù sao thì sau khi bạn đã khóa bản dựng, bạn cũng sẽ relink lại với các file chất lượng cao hơn, thay thế các file dùng codec dựng có chất lượng thấp.

Sau khi quá trình dựng hoàn tất, bạn sẽ cần một codec cho chỉnh màu và làm VFX. Thường thì bạn có thể dùng file gốc từ máy quay đã được conform vào timeline, đảm bảo là bạn có được chất lượng hình ảnh tốt nhất có thể. Nhưng nếu bạn quyết định dùng một codec riêng cho các quá trình này, bạn sẽ muốn nó có thể bảo toàn được nhiều thông tin hơn cả codec ghi.

Đến khi xuất file, bạn có thể nghĩ rằng một codec lớn lúc nào cũng là tốt hơn. Nhưng trên thực tế, phương tiện phân phối luôn chi phối lựa chọn về codec của bạn. Chúng ta sẽ nói đến vấn đề này sau.

Một khi bạn xuất file cho một mục đích phát cụ thể, bạn sẽ cần phải xuất ở một codec khác để lưu trữ. Vì trong ngành công nghiệp này, phần cứng và phần mềm thường xuyên thay đổi và đôi khi khách hàng yêu cầu video có độ phân giải cao hơn hoặc chất lượng cao hơn nhiều năm sau khi xuất file. Trong những trường hợp như vậy, không phải lúc nào bạn cũng có thể mở file project gốc ra và xuất lại. Vì vậy, bạn cần một codec tốt cho các file lưu trữ. Nó thường có chất lượng cực kỳ cao, với bit rate cao nhất có thể, để bạn có kết quả tốt nhất có thể khi cần transcode trong tương lai. Thường thì việc lưu trữ file lớn sẽ rất có lợi.

Ngoài kia có hàng trăm codec, và đôi khi nó có vẻ ngợp. Bạn sẽ tự hỏi làm thế nào mà bạn biết được đâu là lựa chọn tốt nhất cho dự án của bạn. Mặc dù vậy, có một yếu tố khác cần xem xét khi chọn codec có thể khiến việc lựa chọn trở nên dễ dàng hơn: tính phổ biến của codec. Các codec phổ biến dễ dàng tương thích với máy tính của bạn và máy tính của khách hàng, dù là máy cũ hay máy mới. Ngoài ra, nó cũng có được sự hỗ trợ từ nhiều bên thứ ba. Nếu có vấn đề gì hoặc bạn có thắc mắc gì, bạn cũng dễ nhận được sự giúp đỡ từ hàng ngàn người dùng khác ngoài kia. Khi bạn chọn codec cho mỗi giai đoạn của dự án, bạn có thể tiết kiệm được rất nhiều thời gian (và những cơn đau tim) bằng cách sử dụng các codec phổ biến.

Nếu bạn đã sẵn sàng để chọn codec cho dự án của mình, bạn nên tham khảo sự khác nhau giữa các codec. Bạn sẽ biết thêm về sự phổ biến của các codec sẽ xử lý footage của bạn, và giúp bạn quyết định cái nào tốt nhất cho workflow của bạn.

Nói chung, bạn nên nhắm đến codec ghi có chất lượng cao nhất mà máy quay (hoặc ngân sách) của bạn có thể đáp ứng. Khi chúng tôi nói “chất lượng cao nhất”, ý chúng tôi là bạn sẽ muốn ghi nhiều thông tin nhất có thể – ít nén nhất, bit rate cao nhất, bit depth cao nhất, và ít lấy mẫu màu nhất. Bạn càng ghi được càng nhiều thông tin, bạn càng có thể xử lý linh hoạt trong hậu kỳ, đặc biệt là khi chỉnh màu và xử lý VFX.

Các yếu tố ảnh hưởng đến việc chọn codec

Chi phí

Yếu tố đầu tiên cần xem xét là chi phí. Nói chung, máy quay càng mắc tiền thì càng hỗ trợ codec tốt, nhưng có một số ngoại lệ. Có một số máy quay hỗ trợ các codec tốt ở mức giá hợp lý, như các máy quay của Blackmagic Design hỗ trợ BRAW 12-bit và ProRes 444/422.

Lưu trữ

Yếu tố tiếp theo cần cân nhắc là không gian lưu trữ. Các codec chất lượng cao thường có bit rate cao, tức là cho file lớn. Bạn cần chuẩn bị hệ thống lưu trữ và sao lưu tất cả các dữ liệu đó khi quay. Bạn cũng có thể cần phải nâng cấp thẻ nhớ để có thể ghi được dữ liệu ở bit rate cao.

Nếu bạn quay một mình, bạn có thể chọn một codec có chất lượng thấp hơn, vì như vậy bạn ít phải thay thẻ nhớ hơn và tập trung hơn vào câu chuyện.

Finishing

Một yếu tố cần phải xem xét nữa là bạn định chỉnh màu và xử lý VFX nhiều đến mức nào (gọi chung là finishing). Nếu bạn không có ý định chỉnh màu nhiều, cũng không làm VFX, thì bạn không cần đến các codec có bit depth cao, chroma subsampling nhiều chút cũng không sao và nén không thành vấn đề, tức là có thể sử dụng các codec ghi chất lượng thấp hơn.

Phần cứng được sử dụng để dựng phim

Yếu tố cuối cùng mà bạn cần xem xét là phần cứng mà bạn sẽ sử dụng để dựng phim, vì hầu hết các codec ghi không phải là codec tốt cho dựng phim, trừ phi máy dựng của bạn có cấu hình cực khủng. H.264 và một số định dạng RAW đòi hỏi CPU và GPU phải thật mạnh mẽ thì quá trình dựng mới có thể diễn ra mượt mà được. Các codec có bit rate cao có thể sẽ đòi hỏi các ổ cứng có tốc độ cao, hoặc các hệ thống lưu trữ chia sẻ (shared storage). Trừ phi bạn chọn codec ghi là một codec thân thiện với dựng phim, nếu không bạn sẽ phải transcode file sang codec khác để quá trình dựng có thể diễn ra mượt mà hơn, và việc này có thể tốn thời gian. Đối với hầu hết mọi người, việc transcode các footage không thành vấn đề bởi vì họ có thể thực hiện nó vào ban đêm hoặc trên một máy tính dự phòng.

Nếu bạn làm việc với một lịch làm việc chặt chẽ, yêu cầu quy vòng nhanh, bạn sẽ có xu hướng muốn chọn một codec cho phép bạn bắt đầu dựng ngay sau khi quay xong, kể cả khi nó có mức chi phí cao hơn hoặc phải hy sinh chất lượng hình ảnh.

Cre: Frame.io (Pixel Factory dịch). Chun Productions tổng hợp

Just a ordinary man...

Đăng nhận xét

© 2020 - Chun Productions. Giữ toàn quyền.
Nội dung được bảo hộ bởi DMCA.
Nghiên cấm sao chép dưới mọi hình thức!


Đang tính thời gian tải trang...