CHƯƠNG 1: CƠ SỞ LÝ THUYẾT CỦA KỸ THUẬT MÃ HÓA VIDEO TRUYỀN THỐNG Ra đời từ cách đây hơn bốn mươi năm, mã hóa video đã và đang đóng một vai trò vô cùng quan trọng trong sự phát triển cũng như trưởng thành của truyền thông số, truyền hình và Internet. Chương này sẽ tập trung vào điểm lại một số kỹ thuật then chốt được sử dụng trong các chuẩn mã hóa video truyền thống. Yêu cầu mã hóa video Một tín hiệu video số thường chứa một lượng lớn dữ liệu; do đó sẽ gặp rất nhiều khó khăn trong việc lưu trữ và truyền đi trên một kênh truyền có băng thông hạn chế. Ngoài ra, với sự phát triển của khoa học kỹ thuật, ngày nay đã sản xuất được bộ cảm biến màu có độ phân giải lên đến hàng chục triệu pixel và thực tế đã ứng dụng độ phân giải như 1920×1080 pixel, hoặc lớn hơn là chuẩn 2K, 4K.
Khi đó việc biểu diễn các thông tin video này càng tốn nhiều dữ liệu hơn. (a) (b) Video với độ phần giải 2K Kích thước tương ứng của một số loại video Hình 1.1 Mô tả ví dụ về video với độ phân giải 2K và kích thước tương ứng của các loại video khác nhau. Do đó để có thể tiết kiệm không gian lưu trữ và băng thông kênh truyền thì luôn cần phải mã hóa (nén) tín hiệu video. Quá trình nén ảnh thực hiện được là do thông tin trong bức ảnh có tổ chức, có trật tự, vì vậy nếu xem xét kỹ tính trật tự, cấu trúc của bức ảnh sẽ phát hiện và loại bỏ được các lượng thông tin dư thừa, chỉ giữ lại các thông tin quan trọng nhằm giảm số lượng bit khi lưu trữ cũng như khi truyền mà vẫn đảm bảo được thông tin hiển thị của bức ảnh.
Tại đầu thu, bộ giải mã sẽ tổ chức, sắp xếp lại được bức ảnh xấp xỉ gần chính xác so với ảnh gốc nhưng vẫn đảm bảo thông tin cần thiết. 2 TIEU LUAN MOI download : skknchat@gmail. Các kỹ thuật mã hóa video then chốt Mặc dù đã ra đời từ cách đây hơn bốn mươi năm, trải qua rất nhiều giai đoạn phát triển, từ các chuẩn MPEG 1 (1992) [1], MPEG 2 (1999) [2], H.264/AVC (2003) [3] đến chuẩn H.265/HEVC (2013)[4], các kỹ thuật căn bản sử dụng trong mã hóa video truyền thống như kỹ thuật mã hóa sự khác biệt, mã hóa trong miền biến đổi cô sin rời rạc, phép lượng tử tuyến tính, phép nội suy trong ảnh, liên ảnh, hay mã hóa entropy đều được giữ nguyên lại. Điều này phản ánh giá trị khoa học sâu sắc của các nghiên cứu kể trên.
Mã hóa sai khác giữa ảnh thực tế và ảnh dự đoán Video là một chuỗi các bức ảnh liên tiếp cùng mô tả một nội dung và chứa đựng một thông tin, câu chuyện xuyên suốt nào đó. Do vậy, giữa các bức ảnh liên tiếp trong video luôn tồn tại các mối tương quan lớn như được mô tả ở hình 1.2: Minh họa sự sai khác giữa 2 khung liên tiếp trong dãy video Nhìn vào 2 khung hình trên (trong chuỗi khung liên tiếp của video), ta có thể thấy sự khác biệt căn bản nẳm ở vị trí ô tô, do chuyển động, nên: Khi mã hóa hiệu 2 khung hình (theo pixel tương ứng) thì chỉ cần dùng một lượng bít ít hơn so với việc mã hóa toàn bộ thông tin trong ảnh thực tế. Nếu có cách dự đoán khung 2 từ khung 1 để có sự sai khác giữa khung 2 và khung dự đoán thì mã hóa còn có thể tốn ít bít mã hơn. Điều này là khả thi nếu có kỹ thuật dự đoán tốt.
Tuy nhiên giá phải trả cho dự đoán tốt, như sẽ nói ở mục sau chính là sự gia tăng độ phức tạp tính toán tại phía mã hóa. Mã hóa trong miền biến đổi Trong miền điểm ảnh (pixel), các giá trị dư thừa thường không tập trung năng lượng một cách có hệ thống. Do vậy, để nâng cao tính hiệu quả của mã hóa thông tin dư thừa, biến đổi cô sin rời rạc (Discrete Cosine Transform - DCT) đã được thông qua 3 TIEU LUAN MOI download : skknchat@gmail.com và sử dụng trong các chuẩn mã hóa video phổ biến như H. Sự tập trung năng lượng của dư thừa trong miền DCT được minh họa ở hình 1.
(a) Miền pixel (b) Miền DCT Hình 1.3: Giá trị của điểm ảnh trong miền pixel và miền DCT tương ứng Như vậy, bằng cách tập trung năng lượng tại những thành phần tần số thấp; ví dụ: DC, AC1, AC2, AC3,…, các thông tin tại miền tần số cao sẽ có thể được loại bỏ (thông qua quá trình lượng tử mô tả ở phần tiếp theo); do vậy, thông tin mã hóa sẽ được giảm bớt. Cần lưu ý rằng, mắt người thường không nhạy cảm vởi các thành phần tần số cao. Do vậy, việc loại bỏ một vài thông tin tại tần số cao không hoặc rất ít làm ảnh hưởng tới cảm nhận về chất lượng của hình ảnh. Phép lượng tử tuyến tính Như đã mô tả ở trên, do đặc tính mắt người thường không nhạy cảm với thành phần tần số cao (ví dụ AC8, AC9,.
AC15), việc loại bỏ các thành phần tần số này sẽ ít gây ảnh hưởng tới cảm nhận của mắt người đối với bức ảnh giải mã tại phía thu. Do vậy, một phép lượng tử tuyến tính thích hợp đã được sử dụng để loại bỏ các thành phần này như được mình họa ở hình 1. 4 TIEU LUAN MOI download : skknchat@gmail.com Đầu ra Đầu vào Hình 1. Mô hình phép lượng tử tuyến tính sử dụng trong mã hóa video Phép lượng tử mục đích chính là chuyển đổi các giá trị tín hiệu vào (ví dụ các hệ số DCT) trong một khoảng (gọi là khoảng lượng tử) tới 1 giá trị cụ thể (tín hiệu ra).
Như vậy, bằng cách chuyển đổi này, nhiêu hệ số DCT với giá trị gần nhau và trong cùng khoảng lượng tử có thể được chuyển đổi thành 1 giá trị lượng tử; giúp cho lượng thông tin cần phải mã hóa được giảm bớt. Tuy nhiên, cũng cần lưu ý rằng, phép lượng tử tuyến tính chính là thành phần chính gây ra tổn thất của chất lượng hình ảnh tái tạo tại phía thu. Các phép dự đoán ảnh Ở kỹ thuật mã hóa sự sai khác giữa ảnh thực tế và ảnh dự đoán (mục 1.1) ta đã trao đổi về sự hiệu quả của việc mã hóa thông tin video thông qua việc mã hóa sự sai khác này. Sự sai khác giữa ảnh thực tế và ảnh dự đoán càng nhỏ, lượng thông tin cần mã hóa càng ít và hiệu quả nén sẽ càng cao.
Do vậy, chất lượng của ảnh dự đoán sẽ là một trong những yếu tố then chốt, ảnh hưởng trực tiếp tới hiệu quả nén của bộ mã hóa video. Có hai kỹ thuật tạo ảnh dự đoán cơ bản là kỹ thuật tạo ảnh dựa đoán trong khung (phổ biến với tên gọi Intra Prediction) và kỹ thuật tạo ảnh dự đoán liên khung (phổ biến với tên gọi Inter Prediction). 5 TIEU LUAN MOI download : skknchat@gmail.com Ảnh gốc Ảnh dự đoán Ảnh dư thừa (sai khác) Hình 1. Mô tả ảnh gốc, ảnh dự đoán và ảnh dư thừa [5] Kỹ thuật dự đoán ảnh trong khung (intra prediction): Kỹ thuật này sử dụng các thông tin video đã được giải mã trong cùng một khung hình để tạo (ngoại suy) ra ảnh dự đoán.6 mô tả về kỹ thuật này.
Mã trước (dự đoán trong khung) Khối hiện tại Phần không mã Hình 1. Tạo ảnh dự đoán trong khung 6 TIEU LUAN MOI download : skknchat@gmail.com Như vậy, có thể nói rằng kỹ thuật tạo ảnh dự đoán trong khung khai thác mối tương quan về mặt không gian giữa các khối ảnh trong cùng một khung hình. Kỹ thuật dự đoán ảnh liên khung (inter prediction): Với kỹ thuật này, thông tin tương quan giữa các khối ảnh trong các khung hình kế tiếp nhau được sử dụng. Như minh họa ở hình 1.7, các khung hình trước đó đã được giải mã tại phía phát sẽ được lưu trữ lại và sử dụng cho việc tạo ảnh dự đoán liên khung.
Do khai thác tính tương quan về mặt thời gian, kỹ thuật dự đoán ảnh liên khung thường hiệu quả với những video có ít nội dung chuyển động hoặc được ghi lại bới camera tĩnh. 4 khung tham chiếu trước khi mã hóa Khung hiện tại Hình 1. Tạo ảnh dự đoán liên khung 1. Mã hóa Entropy Giá trị lượng tử của sự khác biệt giữa thông tin gốc và thông tin dự đoán, tạo ra ở trên là một chuỗi các ký tự, thường là kiểu số nguyên.
Do vậy, để truyền tải được, ta cần phải chuyển đổi các ký tự này sang chuỗi các số nhị phân 0, 1. Cách đơn giản nhất để mã hóa các giá trị này là ta nhị phân hóa tất cả các giá trị lượng tử, sử dụng một số lượng bít cố định, ví dụ 8 bít. Tuy nhiên, cách làm này không hiệu quả do độ dài từ mã của mỗi giá trị lượng tử trong một khối ảnh có thể khác nhau. Do vậy, mã entropy với độ dài thay đổi thích ứng với từng khối ảnh, từng giá trị lượng tử của điểm ảnh đã được sử dụng trong các chuẩn mã hóa video truyền thống.
Trong kỹ thuật mã hóa Entropy, xác suất xuất hiện của từ mã được sử dụng để chỉ định độ dài cũng như giá trị của từ mã cho các giá trị lượng tử. Ví dụ như mã Huffman [6], với xác suất xuất hiện các ký tự được cho như ở bảng 1. Giá trị lượng tử và xác suất tương ứng 7 TIEU LUAN MOI download : skknchat@gmail. Sử dụng thuật toán cây tạo ra từ mã Huffman Khi đó, sử dụng giải thuật tạo mã Huffman (hình 1.8), ta có thể dễ dàng xác định được từ mã tương ứng và lượng bít cần mã hóa đối với mỗi giá trị lượng tử như sau: Bảng 1.
Từ mã Huffman và lượng bít cần mã hóa tương ứng Trong thực tế, ngoài mã Huffman ra thì mã toán học (arithmetic coding) thường được sử dụng trong các chuẩn mã hóa video truyền thống như được mô tả ở các mục sau. 8 TIEU LUAN MOI download : skknchat@gmail. Các chuẩn mã hóa video phổ biến 1.264/AVC a) Kiến trúc tổng quát Hình 1. Kiến trúc tổng quát của chuẩn H.264/AVC [3] b) Các thành phần chính Dự đoán ảnh trong khung: Chuẩn H.264/AVC cung cấp phép dự đoán ảnh trong khung với 9 khả năng lựa chọn và 2 loại kích cỡ khối (block) khác nhau (4×4 và 16×16).
Dự đoán ảnh liên khung: Trong chuẩn H.