Đặt vấn đề Hiện nay việc truyền cũng như lưu trữ video số đang rất phổ biến, có thể kể đến các ứng dụng như phát quảng bá (bao gồm cả broadcast và multicast) trong truyền hình số, trao đổi video thời gian thực trong các ứng dụng gọi điện thấy hình, cao cấp hơn là các ứng hội nghị truyền hình; lưu trữ phim trên đĩa quang, trên ổ cứng,… Trong quá trình lưu trữ, và đặc biệt là trong khi trao đổi gói tin trên mạng, việc video bị lỗi là không thể tránh khỏi. Đối mặt với vấn đề này, một mặt người ta vẫn sử dụng các biện pháp cổ điển với lưu trữ/truyền dẫn dữ liệu số như sao lưu dự phòng, nâng cao chất lượng truyền dẫn,… đồng thời, người ta còn xây dựng các phương pháp ẩn lỗi video. Các phương pháp này không thực hiện khôi phục lại dữ liệu ban đầu, mà hướng tới việc làm thế nào để người xem, qua cảm nhận thị giác của mình, ít thấy được những ảnh hưởng của lỗi. Để tiết kiệm chi phí truyền dẫn, chi phí lưu trữ, hình ảnh sau khi được quay từ máy quay sẽ được xử lý để giảm dung lượng.
Việc này đồng nghĩa với mỗi đơn vị dữ liệu sẽ mang nhiều thông tin hơn, và việc sửa lỗi/ẩn lỗi càng trở lên quan trọng. Trong truyền dẫn video ngày nay, đảm bảo tính thời gian thực có thể coi là yêu cầu quan trọng nhất. Khi gặp phải lỗi, phương pháp cổ điển là truyền lại gói tin lỗi/mất sẽ rất dễ gây ảnh hưởng tới chỉ số chất lượng này, nên sẽ kém hiệu quả hơn việc cứ tiếp tục truyền các gói tin tiếp theo song song với thực hiện ẩn lỗi khi phát lại video ở phía thu. Đề tài này sẽ thực hiện nghiên cứu về chuẩn nén dữ liệu phổ biến/tiên tiến nhất hiện nay là chuẩn H.264, cùng với một số thuật toán cơ bản trong việc ẩn lỗi video, nhằm mục tiêu đưa ra một số đề xuất cải tiến nâng cao hiệu quả ẩn lỗi.tuyen Trang 8 TIEU LUAN MOI download : skknchat@gmail.
Giới thiệu về H.264, hay AVC, hay MPEG-4 part 10, là chuẩn mã hoá video tiên tiến nhất hiện nay. Tiêu chuẩn H264 phiên bản đầu tiên được đưa ra năm 2003 hướng tới khả năng mã hoá chuỗi video với tốc độ bit chỉ bằng một nửa so với MPEG-2, nhưng vẫn có chất lượng tương đương. H264 cũng mang đến những cải thiện đáng kể về hiệu quả mã hoá, khả năng phòng/sửa lỗi, và độ thân thiện với môi trường truyền bằng việc sử dụng những phương thức dự đoán hiệu quả hơn cho các khung I, P, và B. Tổng quan về nén video Video sơ khai là một chuỗi các hình ảnh liên tiếp.
Ở công nghệ phim nhựa, để lưu lại một đoạn phim, người ta lưu liên tiếp các ảnh với tốc độ 24 ảnh/s. Khi xem lại phim, chuỗi ảnh này sẽ được chiếu tuần tự lên màn ảnh với tốc độ giống như khi quay. Chuyển sang thời đại kỹ thuật số, ảnh được phân ra thành các điểm ảnh, với thông tin về màu sắc, độ sáng được số hoá, và được lưu lại thành file định dạng RAW, BMP,… Các phương pháp mã hoá thông tin khác nhau đã được sử dụng nhằm mục đích giảm bớt số lượng bit (nén) cần thiết để lưu ảnh, dựa trên đặc tính dư thừa thông tin do cách biểu diễn, và dư thừa thông tin do bản chất hình ảnh: ảnh là tập các mảng có màu sắc/độ sáng tương tự nhau (hay còn được gọi là dư thừa thông tin theo không gian). Với video số, bên cạnh 2 dạng dư thừa thông tin trên còn có dư thừa thông tin theo thời gian: các ảnh (khung – frame) liên tiếp nhau thường tương tự nhau, ảnh sau mang lượng thông tin rất ít so với ảnh trước.
Người ta đã tận dụng cả 3 dạng dư thừa thông tin này để thực hiện nén video, với tỉ lệ nén lên tới hàng trăm lần, trong khi chất lượng hình ảnh vẫn được đảm bảo sắc nét, trung thực. Trong công nghệ video, khái niệm mã hoá (encoding) thường được sử dụng nhiều, và mang nghĩa tương đương với nén (compress). Mã hoá để nén, hay nén bằng cách mã hoá. Nén dựa trên dư thừa thông tin theo không gian và theo thời gian thường dựa trên các thuật toán nén có tổn hao thông tin (lossly compression).
Để thấy Trang 9 (LUAN.tuyen TIEU LUAN MOI download : skknchat@gmail.tuyen được hiệu quả của việc nén video, có thể lấy ví dụ về những bộ phim HD Blueray. Một phiên bản của phim 2012 trên mạng, với định dạng FullHD (1920x800) với độ dài 158 phút, tốc độ 24fps, có dung lượng phần video 13GiB (~14 * 109 byte). Nếu cũng video này, đem lưu trữ ở dạng tập các ảnh liên tiếp, sử dụng 24 bit màu sẽ cần có dung lượng: 1920 * 800 * 3 * 24 * 158 * 60 = 1,48 * 1012 byte. Từ đó, có thể thấy lỷ số nén video đạt được tới hơn 100 lần.
Đặc điểm và ứng dụng của H.264 Hiện nay trên thế giới có nhiều chuẩn nén hình ảnh ra đời theo thời gian, như H. Các chuẩn nén hình ảnh càng về sau càng có nhiều cải tiến về công nghệ nén. Tức là lượng dữ liệu hay nói cách khác kích thước của tập tin video sau khi nén được giảm nhiều hơn so với các chuẩn nén trước, nhưng vẫn giữ được chất lượng tương đương hoặc tốt hơn. Đồng nghĩa với điều đó là các thuật toán và phương thức xử lý ngày càng phức tạp hơn.
Ra đời tháng 05/2003 dưới sự hợp tác của 2 nhóm ITU-T VCEG (Video Coding Experts Group – nhóm chuyên gia mã hoá video) và ISO/IEC MPEG, H.264 thường được đánh giá chuẩn mã hoá thông tin tốt nhất tại thời điểm hiện tại. Chuẩn H264 thực tế không quy định cách thực hiện việc mã hoá, mà chỉ quy định định dạng hình ảnh sau mã hoá và các bước thực hiện giải mã. Việc mã hoá thế nào được để mở cho các nhà sản xuất thiết bị/phần mềm mã hoá. Ưu điểm có thể thấy được ngay của việc có khả năng nén tốt hơn này là tiết kiệm chi phí: giảm được lưu lượng đường truyền trong quá trình trao đổi video, và giảm được chi phí lưu trữ video.tuyen Trang 10 TIEU LUAN MOI download : skknchat@gmail.tuyen Hình 1 - Quá trình mã hoá và giải mã video H.264 được thiết kế để sử dụng cho nhiều mục đích khác nhau, có thể kể ra như [4]: Phát video quảng bá qua cáp đồng trục, DSL, vệ tinh, sóng mặt đất,… Lưu trữ trên ổ cứng, đĩa quang,… Hội nghị truyền hình qua mạng ISDN, LAN, DSL, mạng di động,… Truyền hình theo yêu cầu Video-on-demand,… … Danh sách các dịch vụ không bị giới hạn, và luôn có khả năng xuất hiện thêm các dịch vụ mới.
Vấn đề này đã được đặc biệt quan tâm khi thiết kế H.264 được xây dựng thành 2 lớp (Hình 2): lớp mã hoá video (Video Coding Layer – VCL) và lớp trừu tượng mạng (Network Abstraction Layer – NAL). VCL là phần lõi, thực hiện mã hoá nội dung video theo cách hiệu quả nhất có thể, trong khi NAL làm nhiệm vụ đưa dữ liệu sau mã hoá vào đúng định dạng để truyền trên mạng hoặc để lưu trữ.tuyen Trang 11 TIEU LUAN MOI download : skknchat@gmail.tuyen Hình 2 - Phân lớp H.264 Khi so sánh với các chuẩn mã hoá video trước, ví dụ MPEG-2, H.264 có một số đặc điểm mới, hoặc cải tiến như sau: Bù chuyển động với nhiều kích thước block khác nhau. Block nhỏ nhất có kích thước 4x4 điểm ảnh giúp cho hình ảnh ít bị dạng khối hơn. Ước lượng chuyển động tới mức ¼ pixel.
Điều này giúp cho việc ước lượng được chính xác hơn, hình ảnh tạo ra mịn hơn. Các chuẩn trước đó thường chỉ thực hiện tới mức ½ pixel. Sử dụng nhiều khung tham chiếu: trong các chuẩn trước đó, thông thường chỉ sử dụng một khung hình tham chiếu (là khung liền trước khung hiện tại), cá biệt có trường hợp sử dụng 2 khung – một khung trước và một khung sau. Trong H264, có thể sử dụng tới 5 khung tham chiếu.
Việc này giúp cho mức độ chính xác của việc dự đoán véc-tơ chuyển động được nâng lên rõ rệt. Và tất nhiên, điều này giúp cho kết quả của việc giải mã sát hơn với nguồn hình ảnh trước khi mã hoá. Khung B có thể được sử dụng làm khung tham chiếu. Điều này cho phép việc mã hoá được thực hiện linh hoạt hơn, hiệu quả hơn.
Thực hiện lọc làm mịn trong mỗi chu trình xử lý (in-loop de-blocking filter) giúp loại bỏ các đường viền khối giả phát sinh do bước biến đổi và lượng tử Thực hiện biến đổi với khối kích thước nhỏ: trong tất cả chuẩn mã hoá phổ biến trước H.264, việc biến đổi được thực hiện với các khối có kích thước 8x8.264 sử dụng chủ yếu khối 4x4. Việc này cho (LUAN.tuyen Trang 12 TIEU LUAN MOI download : skknchat@gmail.tuyen phép bộ mã hoá hoạt động chi tiết hơn, giảm thiểu hiện tượng vòng giả (“ringing artifact”). Sử dụng hai phương pháp mã hoá entropy: mã hoá số học nhị phân tương thích ngữ cảnh (Context-adaptive binary arithmetic coding – CABAC) và mã hoá có độ dài từ thay đổi tương thích ngữ cảnh (Context-adaptive variable-length coding – CAVLC) Biến đổi cosin rời rạc (DCT) được thay bằng biến đổi số nguyên Sử dụng các bộ tham số (Parameter sets) để đảm bảo đồng bộ các luật mã hoá, và cũng để phân loại dữ liệu, tránh mất những dữ liệu quan trọng. Sắp xếp macro-block linh hoạt: thực hiện phân mảnh mỗi khung hình ra thành nhiều nhóm slices khác nhau.
Khi giải mã, các nhóm slice sẽ được giải mã độc lập. Điều này đặc biệt có ích trong trường hợp thực hiện ẩn lỗi mức macro-block. Cho phép thay đổi linh hoạt kích thước slice. Dự phòng dữ liệu: để tăng độ an toàn, H.264 cho phép phía mã hoá bổ sung dữ liệu dự phòng cho một vùng của khung hình.
Phân loại dữ liệu: dữ liệu của mỗi slice được phân ra thành 3 gói (A, B, C) dựa theo mức độ quan trọng, và sẽ có mức độ ưu tiên khác nhau khi truyền tin, và thậm chí là khi lưu trữ. Lớp trừu tượng mạng – NAL Mục tiêu của lớp trừu tượng mạng là mang lại tính “phù hợp với môi trường”. Với NAL, dữ liệu sau khi đã mã hoá bởi lớp VCL có thể được sử dụng trên các môi trường khác nhau: RTP/IP, H.32X, MPEG-2 cho việc trao đổi/quảng bá thông tin thời gian thực trên mạng vô tuyến/hữu tuyến. Các định dạng file khác nhau để lưu trữ, hay để gửi trên mạng như một bản tin MMS.
Trong NAL sử dụng một số khái niệm như: đơn vị NAL (NAL units), luồng byte (byte stream), gói (LUAN.tuyen Trang 13 TIEU LUAN MOI download : skknchat@gmail.