H.264: Phép màu đằng sau mọi video bạn xem mỗi ngày
H.264 là chuẩn nén video phổ biến nhất hành tinh, xuất hiện từ YouTube, Blu-ray đến camera điện thoại. Bài viết giải thích một cách dễ hiểu những kỹ thuật then chốt giúp nó nén một video 1,2 GB xuống chỉ còn 175 KB mà mắt thường gần như không nhận ra khác biệt.

Bạn xem video trên YouTube, phim trên đĩa Blu-ray, gọi video qua điện thoại hay xem lại bản ghi từ camera an ninh — tất cả đều có một điểm chung: chúng dùng H.264. Chuẩn nén video này có mặt ở khắp nơi đến mức hầu như chúng ta không còn để ý tới nó nữa.
Đằng sau sự phổ biến đó là hơn 30 năm nghiên cứu với một mục tiêu duy nhất: giảm băng thông cần thiết để truyền tải hình ảnh chuyển động đầy đủ. Bài viết này sẽ mổ xẻ những "chiêu trò" cốt lõi của H.264 ở mức khái niệm — nhiều kỹ thuật trong số đó áp dụng cho nén video nói chung, không riêng gì H.264.
Vì sao phải nén?
Một video chưa nén đơn giản là mảng ba chiều gồm dữ liệu điểm ảnh cho từng khung hình: hai chiều không gian và một chiều thời gian. Mỗi pixel cần 3 byte — mỗi byte cho một trong ba màu cơ bản đỏ, xanh lá, xanh dương.
Với video 1080p ở 60 Hz, ta có 1920 × 1080 × 60 × 3, tức khoảng 370 MB mỗi giây dữ liệu thô. Con số này gần như không thể xử lý nổi: một đĩa Blu-ray 50 GB chỉ chứa được chừng 2 phút video, và ngay cả SSD cũng gặp khó khăn khi phải ghi liên tục từ RAM xuống đĩa. Vì vậy, nén là bắt buộc.
Minh họa video kỹ thuật số và nhu cầu nén dữ liệu
Nén mất dữ liệu: bỏ bớt để nhẹ hơn
Hãy tưởng tượng bạn chế một chiếc xe đua đường phố nặng 3.000 pound và cần chạy nhanh hơn. Việc đầu tiên là giảm cân: bỏ ghế sau, bỏ loa siêu trầm, bỏ điều hòa — chỉ giữ lại những gì thực sự cần thiết.
Nén mất dữ liệu (lossy compression) hoạt động theo nguyên lý tương tự: vứt bỏ những bit ít quan trọng và chỉ giữ lại phần thiết yếu. PNG thì ngược lại — nó là định dạng lossless, nghĩa là không mất gì cả, ảnh gốc có thể khôi phục chính xác từng bit.
Một ví dụ ấn tượng: chụp màn hình trang chủ Apple dưới dạng PNG tốn 1.015 KB, trong khi một video H.264 dài 5 giây, 60 fps của chính trang đó chỉ nặng 175 KB. Nghĩa là 300 khung hình video lại nhẹ hơn một phần năm so với một khung hình PNG — hiệu quả gấp khoảng 1.500 lần.
Entropy thông tin: nén mà không mất gì
Nếu từng học lý thuyết thông tin, bạn có thể nhớ khái niệm entropy thông tin — số bit tối thiểu cần để biểu diễn một lượng thông tin nào đó. Entropy không phải là kích thước tập dữ liệu, mà là lượng thông tin thực sự chứa bên trong nó.
Ví dụ: tung một đồng xu cho kết quả một lần cần 1 bit. Tung 10 lần đều ra mặt ngửa thì bạn không cần ghi "HHHHHHHHHH" — chỉ cần nói "10 lần tung, toàn mặt ngửa". Bạn vừa nén dữ liệu mà không mất thông tin nào, chỉ chuyển sang một cách biểu diễn ngắn hơn. Đây chính là nguyên lý của bộ mã hóa entropy — loại mã hóa lossless dùng được cho mọi kiểu dữ liệu.
Miền tần số và quantization
Giờ hãy tưởng tượng chuyển dữ liệu độ sáng của ảnh từ hệ tọa độ x-y sang hệ tọa độ tần số (freqX, freqY). Theo định lý Nyquist–Shannon, phép biến đổi này hoàn toàn không mất dữ liệu nếu số chiều tần số đủ lớn.
Biểu diễn ảnh trong miền tần số
Trong miền tần số, các chi tiết mịn như lưới tản nhiệt của chiếc MacBook Pro nằm ở thành phần tần số cao, còn các chuyển màu mượt nằm ở tần số thấp gần tâm ảnh. H.264 đơn giản là "mặt nạ" bỏ đi các vùng tần số cao ở rìa — tức là loại bỏ bớt chi tiết tinh xảo — rồi chuyển ngược lại về ảnh thường.
Kết quả: ảnh trông gần như y hệt bản gốc nhưng chỉ chiếm một phần nhỏ dung lượng. Bằng cách điều chỉnh kích thước mặt nạ, bạn tinh chỉnh được chính xác mức độ chi tiết muốn giữ. Quá trình này gọi là quantization — và ở mức 2% dữ liệu gốc, hầu như không ai nhận ra khác biệt nếu không phóng to.
Minh họa quá trình quantization với mặt nạ
Chroma subsampling: lừa mắt người về màu sắc
Hệ mắt–não của con người rất kém trong việc phân giải chi tiết màu sắc, nhưng lại cực nhạy với thay đổi độ sáng. Tận dụng điểm yếu này, tín hiệu RGB được chuyển thành Y, Cb, Cr — trong đó Y là độ chói (luminance) còn Cb, Cr là thành phần màu (chrominance).
Mẹo ở đây: thành phần Y được mã hóa ở độ phân giải đầy đủ, còn Cb và Cr chỉ ở một phần tư độ phân giải. Nhờ vậy, tổng băng thông giảm một nửa mà mắt gần như không thấy khác biệt. Kỹ thuật này gọi là chroma subsampling, đã tồn tại hàng chục năm và được dùng gần như phổ biến trong mọi chuẩn video.
Bù chuyển động: nén theo thời gian
Phần thú vị nhất nằm ở nén theo chiều thời gian. Hãy tưởng tượng bạn xem một trận quần vợt với camera cố định. Sân, lưới, khán giả đều đứng yên — chỉ có quả bóng di chuyển. Vậy tại sao phải lưu lại toàn bộ khung hình? Chỉ cần một ảnh tĩnh của nền và thông tin chuyển động của quả bóng là đủ.
H.264 chia khung hình thành các macroblock (thường 16×16 pixel) và dùng ba loại khung:
- I-frame (Intra frame): khung đầy đủ, chứa toàn bộ dữ liệu để dựng lại khung hình đó.
- P-frame (Predicted): chỉ lưu vector chuyển động của từng macroblock so với khung trước.
- B-frame (Bi-directionally predicted): dự đoán theo cả hai hướng — từ khung quá khứ lẫn khung tương lai.
Điều này giải thích một hiện tượng quen thuộc: khi bạn tua lại vài giây trên YouTube, video không phát ngay mà khựng lại một chút. Nguyên nhân là bộ giải mã phải tính lại từ I-frame gần nhất, cộng dồn các vector chuyển động đến đúng khung bạn chọn — một phép tính khá tốn tài nguyên. Lần tới gặp cảnh này, bạn có thể yên tâm rằng nó đang làm việc thật, chứ không phải cố tình trêu bạn.
Bước cuối: mã hóa entropy
Sau các bước nén mất dữ liệu, dữ liệu vẫn còn nhiều phần dư thừa — ví dụ hàng loạt vector chuyển động có cùng giá trị khi cả khung hình dịch chuyển đều. Một bộ mã hóa entropy tổng quát sẽ xử lý phần dư thừa này, và vì đây là mã hóa lossless nên toàn bộ dữ liệu đưa vào đều có thể khôi phục chính xác.
Kết quả: từ 1,2 GB xuống 175 KB
Video gốc trong ví dụ có độ phân giải lạ 1232×1154. Tính theo công thức: 1232 × 1154 × 60 × 3 × 5 giây ≈ 1,2 GB dữ liệu thô, sau khi nén chỉ còn 175 KB.
Nếu áp tỷ lệ này lên chiếc xe đua 3.000 pound ban đầu, nó sẽ chỉ còn nặng khoảng 0,4 pound — chừng 6,5 ounce. Đó thực sự là một phép màu của kỹ thuật.
Tất nhiên, bài viết này đơn giản hóa rất nhiều so với hàng thập kỷ nghiên cứu chuyên sâu trong lĩnh vực này. Nhưng hy vọng nó giúp bạn hiểu vì sao mỗi video bạn xem hôm nay lại có thể đến với bạn nhanh và nhẹ đến vậy.
Với người dùng Việt Nam, những kỹ thuật này càng có ý nghĩa thực tế: khi hạ tầng mạng còn chưa đồng đều giữa các vùng miền, chính khả năng nén của H.264 — và các chuẩn kế nhiệm như H.265/HEVC hay AV1 — giúp việc xem video độ nét cao trở nên khả thi mà không cần đường truyền quá lớn.
Bài viết liên quan

Công nghệ
Mô hình AI hàng đầu giỏi Vật lý đến đâu? Nghiên cứu mới chỉ ra các bài kiểm tra hiện hành đang đánh giá sai
16 tháng 9, 2026

Công nghệ
Nộp đơn xin việc lẽ ra nên khó hơn. Thật đấy
25 tháng 8, 2026

Công nghệ
Chuyên gia độc hại: Khi kiến thức trở thành công cụ để hạ nhục người khác
29 tháng 10, 2026