I. Tổng Quan Về Mã Hóa Video Giới Thiệu Chi Tiết Nhất
Truyền tải thông tin bằng hình ảnh và âm thanh, đặc biệt là video, ngày càng trở nên quan trọng trong thời đại đa phương tiện. Video, sự kết hợp của hình ảnh liên tiếp, mang lại trải nghiệm trực quan và giảm thời gian tiếp thu thông tin so với các phương tiện khác. Ứng dụng của video rất đa dạng, từ giải trí, học tập trực tuyến đến an ninh giám sát và nghiên cứu khoa học. Mã hóa video đóng vai trò then chốt trong việc giải quyết các bài toán về lưu trữ và truyền tải dữ liệu, đặc biệt khi yêu cầu về chất lượng video ngày càng cao (4K, 8K). Kỹ thuật mã hóa video cơ bản là giảm thiểu thông tin dư thừa mà không ảnh hưởng đến trải nghiệm người xem. Lượng thông tin dư thừa bao gồm dư thừa trong miền không gian (trong mỗi khung hình) và dư thừa trong miền thời gian (giữa các khung hình liên tiếp). Các chuẩn nén như MPEG, H.264, H.265 ra đời để đáp ứng nhu cầu này.
1.1. Nguyên Tắc Cơ Bản Của Mã Hóa Video Hiện Đại
Các nghiên cứu chỉ ra rằng có sự tương quan giữa các khung hình và giữa các pixel trong cùng một khung hình. Dựa vào đó, có thể nén tín hiệu video mà không ảnh hưởng đến độ phân giải. Mắt người ít nhạy cảm với một số thông tin hình ảnh theo không gian và thời gian, cho phép loại bỏ thông tin này trong quá trình nén. Kỹ thuật nén tổn hao giúp tiết kiệm băng thông mà vẫn đảm bảo chất lượng video chấp nhận được. Kỹ thuật nén 'trong ảnh' (Intraframe) sử dụng mối tương quan không gian giữa các pixel trong ảnh, trong khi kỹ thuật nén 'ngoài ảnh' (Interframe) khai thác mối tương quan thời gian giữa các khung hình. Tài liệu [1] cung cấp thêm chi tiết về các nguyên tắc này.
1.2. Các Loại Dư Thừa Thông Tin Trong Mã Hóa Video
Có ba loại dư thừa thông tin chính trong video. Thứ nhất, dư thừa thông tin trong miền không gian (Spatial redundancy) xuất hiện giữa các pixel trong cùng một khung hình. Thứ hai, dư thừa thông tin trong miền thời gian (Temporal redundancy) xuất hiện giữa các khung hình liên tiếp. Thứ ba, dư thừa thông tin trong dữ liệu ảnh sau khi nén. Mã hóa video sử dụng các kỹ thuật như mã hóa biến đổi (transform coding) để giảm dư thừa không gian, mã hóa sự khác biệt giữa các khung hình để giảm dư thừa thời gian, và mã entropy để loại bỏ dư thừa sau khi nén.
II. Giảm Dư Thừa Không Gian Cách Mã Hóa Video Hiệu Quả
Giảm dư thừa thông tin trong miền không gian là một bước quan trọng trong mã hóa video. Phương pháp dự đoán, như Điều chế xung mã sai phân (DPCM), dự báo giá trị pixel hiện tại dựa trên các pixel đã mã hóa trước đó. Sự sai khác giữa giá trị thực tế và giá trị dự đoán được lượng tử và mã hóa. Mã hóa biến đổi chuyển đổi giá trị pixel từ miền không gian sang miền tần số. Biến đổi DCT (Discrete Cosine Transform) tập trung năng lượng của ảnh vào các hệ số DCT gần với hệ số 1 chiều (vùng tần số thấp), cho phép loại bỏ các hệ số ở vùng tần số cao thông qua bộ lượng tử.
2.1. Mã Hóa Bằng Phương Pháp Dự Đoán DPCM
Phương pháp DPCM giảm dư thừa không gian bằng cách dự báo giá trị của các pixel hiện tại dựa vào giá trị của pixel đã được mã hóa trước đó. Sự sai khác giữa giá trị thực tế và giá trị dự đoán được lượng tử và mã hóa trước khi truyền đi. Tại phía giải mã, sự sai khác này được cộng với giá trị dự đoán để khôi phục lại giá trị đúng của pixel hiện tại. Nếu bộ lượng tử không được sử dụng, kỹ thuật này được gọi là mã hóa không tổn hao (loss-less coding).
2.2. Mã Hóa Bằng Phương Pháp Biến Đổi DCT
Mã hóa bằng biến đổi chuyển đổi các giá trị của các điểm ảnh trong khung hình từ miền không gian sang miền tần số. Biến đổi DCT tập trung năng lượng của ảnh vào các hệ số DCT gần với hệ số 1 chiều (vùng tần số thấp). Bộ lượng tử được sử dụng để loại bỏ các hệ số AC tại vùng tần số cao, tận dụng đặc điểm mắt người ít nhạy cảm với các hình ảnh bị méo ở tần số cao. Có hai loại bộ lượng tử: bộ lượng tử đồng nhất (UTQ) và bộ lượng tử đồng nhất có dead zone (UTQ-DZ).
2.3. So Sánh UTQ và UTQ DZ Trong Mã Hóa Video
Bộ lượng tử UTQ được sử dụng cho các hệ số DC của chế độ nén nội ảnh, trong khi UTQ-DZ được sử dụng cho các hệ số AC và hệ số DC của chế độ nén liên ảnh. UTQ-DZ làm cho nhiều hệ số AC trở thành giá trị 0, giúp tăng hệ số nén. Công thức toán học cho quá trình lượng tử và giải lượng tử khác nhau giữa UTQ và UTQ-DZ, ảnh hưởng đến hiệu quả nén và chất lượng hình ảnh.
III. Ước Lượng Chuyển Động Bí Quyết Mã Hóa Video Nhanh Chóng
Giảm dư thừa thông tin trong miền thời gian dựa trên việc tìm ra sự khác nhau giữa các khung hình liên tiếp. Thuật toán mã hóa liên ảnh sử dụng kỹ thuật ước lượng chuyển động (motion estimation) để tìm ra vector chuyển động của các đối tượng trong hình. Quá trình bù chuyển động (motion compensated) tạo ra khung hình dự đoán, giúp giảm sự khác biệt giữa khung hình hiện tại và khung hình trước đó. Thuật toán BMA (Block Matching Algorithm) thường được sử dụng để ước lượng chuyển động, chia khung hình thành các khối pixel và tìm vị trí tương đồng trong khung hình trước đó.
3.1. Quy Trình Ước Lượng Chuyển Động Chi Tiết
Mục đích của ước lượng chuyển động là tìm ra vector chuyển động. Thuật toán BMA chia khung hình thành các khối có kích thước N x N pixel. Mỗi khối pixel này sẽ được di chuyển quanh vị trí ban đầu một khoảng w pixel để tìm ra vị trí của khối giống với nó nhất trong khoảng (N+2w) x (N+2w) có cùng tọa độ nhưng ở khung hình trước đó. Khoảng cách từ tâm hình vuông (N+2w) x (N+2w) tới tọa độ khối tìm được chính là khoảng chuyển động của khối pixel N x N.
3.2. Các Phương Pháp Đánh Giá Mức Độ Giống Nhau Giữa Các Khối
Để tìm và đánh giá mức độ giống nhau giữa hai khối hình đích và khối hình tham chiếu, chúng ta sử dụng một số phương pháp như sử dụng hàm tương quan chéo (Cross correlation function - CCF), hàm trung bình bình phương lỗi (Mean Square Error – MSE) và hàm trung bình tuyệt đối của lỗi (Mean absolute error – MAE). Khối hình tham chiếu giống với khối hình đích sẽ có CCF lớn nhất hoặc có MSE và MAE nhỏ nhất. Trong thực tế, các chuẩn mã hóa video thường sử dụng phương pháp MSE hoặc MAE.
3.3. Bù Chuyển Động Hoàn Thiện Quá Trình Mã Hóa Video
Sau quá trình ước lượng chuyển động, ta có được vector chuyển động của các đối tượng trong khối pixel N x N của khung hình đích. Dựa vào các vector chuyển động, các khối pixel N x N trong khung hình tham chiếu được dịch chuyển theo hướng và độ lớn của vector chuyển động đã chỉ ra. Quá trình này được gọi là bù chuyển động. Kết quả của quá trình này là một khung hình mới được cho là giống với khung hình hiện thời.
IV. Sơ Đồ Mã Hóa Video Tổng Quan Về Quy Trình Hoạt Động
Các bộ mã hóa video như MPEG, H261, H264... đều có nguyên lý hoạt động tổng quát. Trong chế độ mã hóa liên ảnh, các giá trị khác biệt giữa các pixel của khung hình hiện tại và khung hình dự đoán dựa vào khung hình trước đó được mã hóa và truyền đi. Tại phía thu, sau khi giải mã, các giá trị khác biệt này sẽ được cộng với khung hình dự đoán do bên thu đưa ra để xây dựng lên khung hình hiện tại. Quá trình dự đoán đóng vai trò rất quan trọng vì nếu dự đoán càng chính xác thì giá trị khác biệt sẽ càng nhỏ và do đó cần ít thông tin để truyền đi.
4.1. Intraframe Interframe Loop Trong Mã Hóa Video
Trong chế độ mã hóa liên ảnh, các giá trị khác biệt giữa các pixel của khung hình hiện tại và khung hình dự đoán dựa vào khung hình trước đó được mã hóa và truyền đi. Tại phía thu, sau khi giải mã, các giá trị khác biệt này sẽ được cộng với khung hình dự đoán do bên thu đưa ra để xây dựng lên khung hình hiện tại. Đối với trường hợp chuỗi ảnh tĩnh, giá trị dự đoán của các pixel trong khung hình hiện tại sẽ là các pixel cùng tọa độ trong khung hình trước đó.
4.2. Tầm Quan Trọng Của Ước Lượng Chuyển Động Trong Mã Hóa
Lượng dữ liệu truyền đi sẽ rất lớn nếu với mỗi pixel đều có một vector chuyển động. Thay vào đó, người ta sẽ gán cho mỗi nhóm pixel (block) một vector chuyển động. Trong các chuẩn mã hóa, mỗi nhóm pixel là một hình vuông có kích thước 16x16 (được gọi là một Macroblock - MB) được ước lượng chuyển động và được bù chuyển động. Thông thường, việc ước lượng chuyển động được thực hiện trên kênh chói (kênh Y) của các khung hình.