Video 101: Các phương pháp nén video

(iFilmmaking) Ở bài trước, chúng ta đã hiểu Codec là một phần mềm hoặc phần cứng để nén/giải nén video. Trong bài viết này, chúng ta sẽ đi tìm hiều các phương pháp nén hình ảnh video thành kích thước tệp nhỏ hơn, đang được sử dụng hiện nay.

Chroma subsampling

Camera kỹ thuật số chủ yếu sử dụng không gian màu YUV, sau đó thường được chuyển đổi trở lại thành RGB bên trong hệ thống NLE hoặc phần mềm color grading.

Mắt của chúng ta chứa các tế bào hình que (rod) và tế bào hình nón (cone) dùng để cảm nhận ánh sáng và phân biệt màu sắc ánh sáng. Trong đó tế bào (hình que) cảm nhận màu đen và trắng nhiều hơn tế bào (hình nón) cảm nhận màu sắc rất nhiều. Cụ thể: 

  • Tế bào hình que – 120 triệu. Cảm nhận thông tin đen trắng (luma – tiếng La tinh).
  • Tế bào hình nón – 6 triệu. Cảm nhận thông tin màu sắc (chroma – tiếng La tinh).

Hay nói cách khác, cấu tạo sinh học của mắt giúp chúng ta nhạy cảm với luma hơn là với chroma. Ví dụ trong điều kiện thiếu sáng, ta vẫn nhìn thấy hình ảnh ở các dạng đen-xám-trắng mà không thể phân biệt rõ màu. Trong thực tế chúng ta có thể bỏ qua nhiều thông tin về chroma mà không ảnh hưởng đến cách chúng ta cảm nhận hình ảnh. Dựa vào đặc điểm này của mắt, các nhà khoa học đã phát minh ra một phương pháp nén video được gọi là chroma subsampling.

Phương pháp này sẽ chia tách hình ảnh thành các bản luma và chroma, trong đó bản luma là chính, chứa đầy đủ độ phân giải của hình ảnh ở dạng đen trắng; còn các bản chroma là phụ, có thể điều chỉnh tùy thuộc vào mục đích. Xem ví dụ minh họa tại wikipedia. Chú ý độ phân giải của các kênh màu thấp hơn nhiều. Y chứa hình ảnh luma có độ phân giải đầy đủ, nhưng U và V chứa ít thông tin về chroma hơn rất nhiều. Kết quả cuối cùng là hình ảnh trông vẫn hoàn chỉnh, mặc dù độ phân giải trong các kênh màu thấp hơn (chroma subsampling).

Chroma subsampling thường được hiển thị như hình bên dưới. Một vùng pixel được chia thành các hình chữ nhật có chiều dài bốn pixel và chiều cao là hai pixel. Phương pháp này giả định rằng mỗi pixel có thông tin luma độc lập, nhưng thông tin về sắc độ đó có thể được chia sẻ giữa một số pixel khác.

4:4:4

Số 4 đầu tiên chỉ số lượng pixel đang được lấy mẫu. Trong hầu hết các trường hợp, kích thước tập hợp là 4×2. Số 4 thứ hai chỉ số pixel chroma nằm ở hàng trên cùng được lấy mẫu. Số 4 thứ ba chỉ số pixel chroma nằm ở hàng dưới cùng được lấy mẫu.

Chroma subsampling 4:4:4 đồng nghĩa với video không bị nén. 4:4:4 được sử dụng trong các máy quét phim cao cấp và sản xuất hậu kỳ hiện nay.

4:2:2

Số 4 đầu tiên chỉ số lượng pixel đang được lấy mẫu là 4. Số 2 ở giữa chỉ 2 pixel chroma được lấy mẫu nằm ở hàng trên cùng. Số 2 sau cùng chỉ 2 pixel chroma được lấy mẫu nằm ở hàng dưới cùng.

Thông tin về chroma ở 4:2:2 đã giảm đi một nửa so với 4:4:4. Khi thông tin luma và chroma được kết hợp sẽ dẫn đến một hình ảnh có thể chấp nhận được, do thông tin luma đủ chi tiết đã đánh lừa bộ não của chúng ta chấp nhận hình ảnh là hoàn chỉnh. 

Nhiều định dạng và giao diện video kỹ thuật số cao cấp sử dụng 4:2:2: AVC-Intra 100, Digital Betacam, ProRes (HQ, 422, LT, and Proxy), XDCAM HD422, Canon MXF HD422.

4:2:0

Hình ảnh 4:2:0 cho thấy độ phân giải chroma giảm hơn nữa so với 4:2:2. Số 0 ở cuối chứng tỏ không có mẫu chrome nào ở hàng dưới, vì vậy hàng thứ hai chỉ đơn giản là kế thừa các giá trị về chroma từ pixel ở hàng trên.

Thông tin về chroma ở 4:2:0 giảm đi một nửa so với 4:2:2 và giảm 120% so với 4:4:4.

Khi kết hợp với kênh luma có độ phân giải đầy đủ, hình ảnh thu được vẫn có thể chấp nhận được do bộ não của chúng ta cảm nhận màu sắc chính xác như thế nào, nhưng rõ ràng là chất lượng bị ảnh hưởng.

Rất nhiều máy DSLR sử dụng phương pháp chroma subsampling 4:2:0 này.

4:4:4:4

Đôi khi bạn có thể bắt gặp tỷ lệ chroma subsampling 4:4:4:4 và tự hỏi số 4 phụ thứ tư diện cho điều gì. Số 4 này có nghĩa mỗi pixel cũng có thông tin alpha của riêng nó, cho phép hiển thị trong suốt trong tệp video.

Kênh alpha là một kênh thông tin khác thể hiện độ mờ (độ mờ hoặc trong suốt của một thứ gì đó) trên hình ảnh. Kênh alpha thường là hình ảnh đen trắng, trong đó màu trắng thể hiện trong suốt (transparent) và màu đen thể hiện không rõ ràng (opaque).

Color depth (bit depth – color)

Độ sâu bit màu liên quan đến số lượng màu có thể có trong một hình ảnh video. Càng có nhiều màu sắc tiềm năng được ghi lại, thì tệp video sẽ càng linh hoạt hơn khi nó được xử lý trong quá trình hậu kỳ. Điều này cũng có nghĩa: color depth càng cao dẫn đến kích thước tệp càng lớn.

Bit depthSố màu mỗi kênhTổng số màuChú giải
8 bit25616.777.211Chuẩn của TV màu cũ.
10 bit1.0241.073.741.824Tốt cho color grading.
12 bit4.09668.719.476.736Đây có thể là chuẩn của tương lai.

Intraframe 

Intra là một tiền tố có nghĩa là ở bên trong; nội bộ. Ví dụ, intranet là một mạng nội bộ của các máy tính, thường là các máy tính trong một công ty hoặc tổ chức được kết nối với nhau. 

Vậy hiểu đơn giản, intraframe là phương pháp nén riêng rẽ từng khung hình để tạo ra một khung hình khác. Phương pháp nén intraframe được sử dụng trong một số codec như: ProRes, DNxHD/DR, Cineform; hoặc tồn tại dưới dạng image sequences: MJEPG, DPX, EXR, JPEG 2000. 

Interframe 

Tiền tố “inter” trong tiếng anh dùng để chỉ một cái gì “chung, dùng chung, láng giềng, giao hữu” – ví dụ: 1 trận đấu bóng đá giao hữu giữa 2 quốc gia thì gọi là “International Football”, hay “internet” để chỉ một mạng lưới dùng chung của rất nhiều người!

Vậy hiểu đơn giản, interframe là phương pháp nén một frame hình từ nhiều frames (giữa các frames) ở gần nó. Long-GOP (group of picture) là một cách nén theo kiểu interframe được dùng phổ biến bởi nó giúp giảm dung lượng cho video rất lớn so với cách nén Intraframe.

Bitrate: CBR và VBR

Nói một cách dễ hiểu, bitrate là tốc độ bit của video, nó đề cập đến lượng bit / dữ liệu video được truyền trong vòng một giây. Birate sẽ chỉ định kích thước của tệp video. Nguyên tắc chung là bitrate càng cao thì video chất lượng càng cao. Bitrate thấp dẫn đến hình ảnh rất nén xuống nhỏ và trông có khối.

Bitrate độc lập với độ phân giải. Tệp video 1Mbps2 ở độ phân giải 1920×1080 sẽ có cùng kích thước với tệp 1Mbps ở độ phân giải 3840×2160, nhưng các thành phần nén sẽ đáng chú ý hơn trên tệp có độ phân giải lớn hơn.

Một số codec nhất định như Apple ProRes có tốc độ bit cố định tùy thuộc vào biến thể chính xác của ProRes. Ví dụ: 1920×1080 Apple ProRes 422 HQ được cố định ở tốc độ 27,5Mbps và Apple ProRes Proxy là 5,6Mbps. 

Tốc độ bit cần được xem xét khi chuyển mã tệp video hoặc xuất bản chỉnh sửa cuối cùng của video trong hệ thống NLE, vì cũng có tùy chọn để xem xét ở đó. Không chỉ tốc độ bit, mà còn cả phương pháp mã hóa.

CBR – Constant Bitrate

Tốc độ bit không đổi được viết tắt là CBR. Đây là một tùy chọn mã hóa duy trì tốc độ bit thường xuyên trong suốt clip, bất kể nội dung của hình ảnh video.

Ngay cả trong một phần của video mà không có gì xảy ra, giả sử là một màn hình đen hoàn toàn, tốc độ bit vẫn không đổi. 

VBR – Variable Bitrate

Tốc độ bit biến đổi được viết tắt là VBR. Đây là một tùy chọn cài đặt mã hóa cho video mà tốc độ bit có thể thay đổi. VBR sẽ phân tích video để tìm các phần mà tốc độ bit có thể giảm xuống, ví dụ như không có nhiều thay đổi từ khung này sang khung khác.

Trong những phần không hoạt động này (hãy sử dụng ví dụ về màn hình đen hoàn toàn), tốc độ bit sẽ tự động giảm xuống. Tốc độ bit sẽ dao động trong toàn bộ tệp video hoàn chỉnh, tùy thuộc vào mức độ phức tạp của nội dung hình ảnh. 

Thông thường, một video clip VBR sẽ có kích thước nhỏ hơn và hiệu quả hơn một clip CBR. Khi chọn VBR sẽ có thêm có tùy chọn một lần (1 pass) và hai lần (2 pass). Tùy chọn hai lần sẽ mất hai lần thử phân tích tốc độ bit và thay đổi nó cho phù hợp, dẫn đến tệp video nhỏ hơn nhưng sẽ mất gấp đôi thời gian.

Bitrate Setting trên Premiere Pro và tùy chọn VBR, 2 pass.