CHƯƠNG 1: TỔNG QUAN VỀ MÃ HÓA VIDEO 1.1 Giới thiệu về mã hóa video Trong thập kỷ qua, các ứng dụng video dựa trên web đã trở nên phổ biến, với các thiết bị hiện đại và cơ sở hạ tầng mạng thúc đẩy sự tăng trưởng nhanh chóng trong việc tiêu thụ nội dung có độ phân giải cao, chất lượng cao. Do đó, những người sử dụng băng thông chiếm ưu thế như video theo yêu cầu (VoD), phát trực tiếp và video đàm thoại, cùng với các ứng dụng mới đang nổi lên bao gồm thực tế ảo và trò chơi trên đám mây, vốn phụ thuộc rất nhiều vào độ phân giải cao và độ trễ thấp. Điều này đặt ra những thách thức với cơ sở hạ tầng truyền dẫn và tạo ra nhu cầu mạnh mẽ hơn đối với công nghệ nén video hiệu quả cao. Mã hóa video là một lĩnh vực nghiên cứu quan trọng gần đây được thúc đẩy bởi nhu cầu ngày càng tăng đối với video kỹ thuật số Ultra-High Defnition (UHD) trong các ứng dụng như truyền hình kỹ thuật số, video trực tiếp và hội nghị truyền hình.
Video kỹ thuật số không nén yêu cầu số lượng lớn số lượng bit được truyền qua Internet. Do đó để có thể tiết kiệm không gian lưu trữ và truyền đi trong một băng thông kênh truyền hạn chế thì luôn cần phải mã hóa tín hiệu video. Các nghiên cứu trước đây đã chỉ ra rằng giữa các khung trong chuỗi video và giữa các điểm ảnh trong cùng một khung có một mối tương quan nhất định. Dựa vào các mối tương quan này chúng ta có thể thực hiện việc mã hóa tín hiệu video mà không làm ảnh hưởng tới độ phân giải của ảnh.
Ngoài ra, khai thác đặc điểm của mắt người là kém nhạy cảm với một số thông tin hình ảnh theo không gian và thời gian nên có thể loại bỏ thông tin này trong quá trình mã hóa. Đây chính là kỹ thuật mã hóa tổn hao để tiết kiệm băng thông trong khi vẫn đảm bảo chất lượng video ở mức có thể chấp nhận được Trong quá trình mã hóa ảnh tĩnh, kỹ thuật mã hóa sử dụng mối tương quan theo không gian giữa các điểm ảnh trong ảnh. Kỹ thuật này gọi là mã hóa “nội ảnh”. Thuật ngữ này có ý nghĩa rằng trong quá trình mã hóa ảnh, thông tin được sử dụng chỉ trong phạm vi nội tại bức ảnh đó.
Đây là kỹ thuật cơ bản của chuẩn mã hóa JPEG. 4 Trường hợp nếu mối tương quan theo thời gian được khai thác thì kỹ thuật mã hóa được gọi là mã hóa “liên ảnh”. Khi đó thông tin được sử dụng để mã hóa ảnh có thể nằm trên một bức ảnh trước hoặc sau trong chuỗi video. Đây là kỹ thuật được sử dụng trong các chuẩn mã hóa video như H.
Nguyên lý của việc mã hóa video dựa trên các kỹ thuật giảm các dư thừa thông tin sau: - Dư thừa thông tin trong miền không gian: Dư thừa thông tin trong miền không gian xuất hiện giữa các điểm ảnh trong cùng một khung 12 hình (ví dụ sự tương đồng giữa các điểm ảnh). Thông tin dư thừa được loại bỏ bằng kỹ thuật mã hóa biến đổi. - Dư thừa thông tin trong miền thời gian: Loại thông tin dư thừa này xuất hiện khi giữa các khung ảnh liên tiếp có những thông tin tương đồng. Để giảm dư thừa này người ta dùng kỹ thuật mã hóa sự khác biệt giữa các khung.
- Dư thừa thông tin trong dữ liệu ảnh sau khi mã hóa: Để loại bỏ dư thừa này người ta dùng mã entropy, cụ thể là mã có độ dài thay đổi. Ưu điểm của việc nén video là: - Tiết kiệm băng thông kênh truyền (trong thời gian thực hoặc nhanh hơn). - Kéo dài thời gian sử dụng của thiết bị lưu trữ, giảm chi phí đầu tư thiết bị lưu trữ. - Giảm dung lượng thông tin mà không làm mất tính trung thực của hình ảnh.2 Các phương pháp mã hóa video 1.1 Phân loại các kỹ thuật nén video Nén video được phân thành hai loại, nén không tổn hao và nén có tổn hao.
Nén không tổn hao cho phép phục hồi lại đúng tín hiệu ban đầu sau khi giải nén. Đây là một quá trình mã hoá có tính thuận nghịch. Hệ số nén phụ thuộc vào chi tiết ảnh được nén. Hệ số nén của phương pháp nén không mất thông tin nhỏ hơn 2:1.
Nén có tổn hao sử dụng hai hoặc nhiều hơn các kỹ thuật xử lý nhằm đạt được một sự biểu diễn mã hóa thuận lợi tín hiệu hình ảnh. Nén có mất thông tin đạt được hệ số nén cao hơn so với phương pháp nén không mất thông tin, vào cỡ 2:1 đến 100:1. 5 Sau khi nén, một số thông tin sẽ bị mất và chất lượng ảnh bị suy hao do quá trình làm tròn và loại bỏ giá trị trong phạm vi khung hình hay giữa các khung hình. Suy hao chất lượng ảnh sẽ không trầm trọng khu kỹ thuật nén nằm trong giới hạn của sự cảm nhận của mắt người.
Hệ số nén có thể thay đổi theo chi tiết ảnh, và cho phép tạo ra dòng bit có tốc độ không đổi, phục vụ cho các ứng dụng lưu trữ và truyền dẫn. Tốc độ dòng số liệu đạt được trong hệ thống nén có mất thông tin phụ thuộc vào yêu cầu chất lượng ảnh cần có.2 Phương pháp mã hóa video dự đoán Mã hóa video dự đoán đã có bước phát triển mạnh mẽ trong vài năm trở lại đây, nhiều thuật toán mã hóa khác nhau được đề xuất và cải tiến. Sự phát triển của các chuẩn nén quốc tế đã thúc đẩy sự cải tiến của các ứng dụng mã hóa video. Các chuẩn nén video dự đoán bao gồm MPEG-1, MPEG-2, MPEG-4, H.264 / MPEG-4 AVC và tiêu chuẩn mã hóa video hiệu suất cao HEVC.
Trong phương pháp mã hóa video dự đoán, video được tạo dự đoán tại cả phía phát và phía thu, thông tin dư thừa được xác định tại phía phát sẽ đuợc gửi đi, do vậy, phía phát sẽ phải làm rất nhiều nhiệm vụ phức tạp.3 Phương pháp mã hóa video phân tán Mã hóa video phân tán có thể được phát triển theo một trong hai cách tiếp cận chính. Cách tiếp cận đầu tiên, đề xuất bởi nhóm nghiên cứu ở trường Đại học Stanford, theo hướng mã hóa toàn khung hình. Mỗi video đầu vào được chia tách tách thành hai loại, khung hình chính và khung hình Wyner-Ziv. Trong khi các khung chính được mã hóa bởi các bộ mã hóa chuẩn với cấu hình phức tạp thấp, các khung WZF được mã hóa sử dụng các bộ mã hóa kênh như mã turbo hoặc mã LDPC, kết hợp với ước lượng giá trị của khung hình tại phía thu.
Cách tiếp cận thứ hai là theo phương pháp mã hóa khối, trong đó cùng với các khối được mã hóa theo phương pháp truyền thống như mã hóa trong khung kết hợp với mã kênh BCH. Một đặc điểm chung của cả hai cách tiếp cận này là bộ mã hóa sẽ dịch chuyển các phần phức tạp như ước lượng chuyển động từ phía phát sang phía thu.3 Sơ đồ tổng quát của mã hóa video a) Vòng lặp liên ảnh/trong ảnh Trong chế độ mã hóa liên ảnh, các giá trị khác biệt giữa các điểm ảnh 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. Như vậy 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.
Đối với trường hợp chuỗi ảnh tĩnh, giá trị dự đoán của các điểm ảnh trong khung hình hiện tại sẽ là các điểm ảnh cùng tọa độ trong khung hình trước đó. Trong chế độ mã hóa nội ảnh, giá trị dự đoán được dựa trên các khối hoặc các điểm ảnh liền kề trước đó trong cùng một khung hình. Chế độ này được áp dụng cho khung hình đầu tiên của một nhóm các khung hình hoặc áp dụng trong việc mã hóa ảnh tĩnh JPEG.1: Sơ đồ nguyên lý tổng quát của bộ mã hóa video b) Ước lượng chuyển động Lượng dữ liệu truyền đi sẽ rất lớn nếu với mỗi điểm ảnh đều có một vector chuyển động. Thay vào đó, người ta sẽ gán cho mỗi khối điểm ảnh một vector chuyển động.
Trong các chuẩn mã hóa, mỗi khối điểm ảnh là một hình vuông có kích thước 16x16 (được gọi là một khối lớn) được ước lượng chuyển động và được bù chuyển 7 độ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. c) Khóa chuyển chế độ liên ảnh/nội ảnh Khóa chuyển chế độ liên ảnh/nội ảnh có tác dụng chuyển đổi giữa hai chế độ liên ảnh và nội ảnh. Trong chuẩn mã hóa ảnh JPEG, tất cả các MB trong ảnh được mã hóa ở chế độ nội ảnh.
Với các chuẩn mã hóa video như H.26x và MPEG, một số loại khung hình được mã hóa ở chế độ nội ảnh, một số loại trong được mã hóa ở chế độ liên ảnh. Ngoài ra, trong cùng một khung liên ảnh, một số MB được mã hóa ở chế độ trong ảnh để tối ưu hóa tỷ lệ mã hóa. d) DCT Trên kênh Y và hai kênh màu U, V, mỗi MB được chia thành các khối nhỏ hơn có kích thước 8x8. Như vậy, sẽ có 4 khối 8x8 thuộc kênh Y và một số khối thuộc kênh màu tùy theo độ phân giải của ảnh.
Mỗi khối 8x8 này sẽ được biến đổi DCT để có được một ma trận 8x8 các hệ số của biến đổi DCT. e) Lượng tử hóa Có hai loại lượng tử hóa. Một loại có vùng góc chết được sử dụng cho các hệ số AC và hệ số DC của các MB mã hóa liên ảnh. Loại còn lại không có vùng góc chết được sử dụng cho các hệ số DC của MB nội ảnh.
Khoảng giá trị của các hệ số được lượng tử có thể từ -2047 đến +2047. Với bộ lượng tử có vùng góc chết, nếu trị tuyệt đối của các hệ số nhỏ hơn bước lượng tử q thì sẽ được gán bằng 0. Ngược lại, giá trị của các hệ số sau lượng tử sẽ trong khoảng từ 1 đến 31. f) Mã hóa độ dài từ mã thay đổi Các hệ số sau khi được lượng tử sẽ được mã hóa bằng mã có độ dài thay đổi.
Ngoài ra, giá trị của vector chuyển động cũng được mã hóa bằng mã này cùng với các hệ số lượng tử.