1. Trang chủ
  2. » Luận Văn - Báo Cáo

(LUẬN VĂN THẠC SĨ) Xây dựng thuật toán ẩn lỗi hiệu quả nhằm nâng cao chất lượng truyền video trên kênh truyền vô tuyến

43 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 43
Dung lượng 1,76 MB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ LÊ VĂN HUYÊN XÂY DựNG THUậT TOÁN ẩN LỗI HIệU QUả NHằM NÂNG CAO CHấT LƯợNG TRUYềN VIDEO TRÊN KÊNH TRUYềN VÔ TUYếN LUẬN VĂN THẠC SĨ Hà Nội – 2011 TIEU LUAN MOI download : skknchat@gmail.com ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ LÊ VĂN HUYÊN XÂY DựNG THUậT TOÁN ẩN LỗI HIệU QUả NHằM NÂNG CAO CHấT LƯợNG TRUYềN VIDEO TRÊN KÊNH TRUYềN VƠ TUYếN Ngành: Cơng nghệ Điện tử - Viễn thơng Chuyên ngành: Kỹ thuật Điện tử Mã số: 60 52 70 LUẬN VĂN THẠC SĨ HƯỚNG DẪN KHOA HỌC: TS ĐINH TRIỀU DƯƠNG Hà Nội – 2011 TIEU LUAN MOI download : skknchat@gmail.com MỤC LỤC Bảng từ khoá Danh sách hình vẽ Danh sách bảng – biểu I Đặt vấn đề II Giới thiệu H.264 Tổng quan nén video Đặc điểm ứng dụng H.264 10 Lớp trừu tượng mạng – NAL 13 Lớp mã hoá video – VCL 14 a Hình, Khung, Miền 15 b Phân loại khung 16 c Định dạng YCbCr 17 d Macro-block 18 e Mảnh nhóm mảnh 18 III Các thuật toán ẩn lỗi 21 Ẩn lỗi mức MB 23 a Thuật tốn ẩn lỗi mức MB miền khơng gian 23 b Thuật toán ẩn lỗi mức MB miền thời gian 24 Thuật toán ẩn lỗi mức khung 24 a Thuận toán ẩn lỗi Frame Copy 25 b Thuật toán Motion Vector Copy 25 Đề xuất thuật tốn sửa lỗi tồn khung 25 a Phương pháp véc-tơ trung vị có định hướng 26 b Xử lý MB tĩnh 28 IV Kết thực – đánh giá 30 So sánh kết thuật toán 30 So sánh kết mẫu video 33 Trang TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Thuật toán đề xuất 34 V Kết luận 35 VI Phụ lục 36 VII Tài liệu tham khảo 43 (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Bảng từ khoá Tiếng Anh Tiếng Việt Bit-rate Tốc độ bit Blocking artefact Hiện tượng/hiệu ứng (viền) khối giả De-blocking filter Lọc làm mịn/lọc loại bỏ viền khối Error-propagation (Hiệu ứng) lỗi lan truyền Field Miền Frame Khung Macro-block Khối Motion compensation Bù chuyển động Motion-vector Véc-tơ chuyển động Picture Hình Ringing artefact Hiện tượng/hiệu ứng vịng giả Slice Mảnh Sub-block Khối nhỏ Video streaming Truyền tải video (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Danh sách hình vẽ Hình - Quá trình mã hoá giải mã video H.264 11 Hình - Phân lớp H.264 12 Hình - Sơ đồ khối mã hoá Macro-Block H.264 15 Hình - Progressive - interlaced frame 15 Hình - Phân loại khung: I, P, B 16 Hình - Hiệu ứng lan truyền lỗi 17 Hình - YUV 4:4:4 4:2:2 18 Hình - YUV 4:2:0 18 Hình - Mảnh (slice) không sử dụng FMO 19 Hình 10 - Chia MB vào nhóm mảnh (slice group) 19 Hình 11 - Ẩn lỗi miền không gian WABP cho MB 16x16 24 Hình 12 - Phương pháp Frame Copy 25 Hình 13 - Lỗi MVC có khối khơng chuyển động 26 Hình 14 - Vị trí khối lân cận 27 Hình 15 - Lọc lấy véc-tơ hướng 28 Hình 16 - Bổ sung khối lân cận 28 Hình 17 - So sánh kết thuật toán với mẫu Stefan 32 Hình 18 - So sánh kết mẫu video 33 (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Danh sách bảng – biểu Bảng - Kích thước trung bình khung P số mẫu video CIF 22 Bảng - Kích thước trung bình khung P số mẫu video QCIF 22 Bảng - So sánh kết thuật toán với mẫu Stefan 30 Bảng - So sánh kết mẫu video 33 (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen I Đặt vấn đề Hiện việc truyền lưu trữ video số phổ biến, kể đến ứng dụng phát quảng bá (bao gồm broadcast multicast) truyền hình số, trao đổi video thời gian thực ứng dụng gọi điện thấy hình, cao cấp ứng hội nghị truyền hình; lưu trữ phim đĩa quang, ổ cứng,… Trong trình lưu trữ, đặc biệt trao đổi gói tin mạng, việc video bị lỗi tránh khỏi Đối mặt với vấn đề này, mặt người ta sử dụng biện pháp cổ điển với lưu trữ/truyền dẫn liệu số lưu dự phòng, nâng cao chất lượng truyền dẫn,… đồng thời, người ta xây dựng phương pháp ẩn lỗi video Các phương pháp không thực khôi phục lại liệu ban đầu, mà hướng tới việc làm để người xem, qua cảm nhận thị giác mình, thấy ảnh hưởng lỗi Để tiết kiệm chi phí truyền dẫn, chi phí lưu trữ, hình ảnh sau quay từ máy quay xử lý để giảm dung lượng Việc đồng nghĩa với đơn vị liệu mang nhiều thông tin hơn, việc sửa lỗi/ẩn lỗi 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 coi yêu cầu quan trọng Khi gặp phải lỗi, phương pháp cổ điển truyền lại gói tin lỗi/mất dễ gây ảnh hưởng tới số chất lượng này, nên hiệu việc tiếp tục truyền gói tin song song với thực ẩn lỗi phát lại video phía thu Đề tài thực nghiên cứu chuẩn nén liệu phổ biến/tiên tiến chuẩn H.264, với số thuật toán việc ẩn lỗi video, nhằm mục tiêu đưa số đề xuất cải tiến nâng cao hiệu ẩn lỗi (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen II Giới thiệu H.264 H.264, hay AVC, hay MPEG-4 part 10, chuẩn mã hoá video tiên tiến Tiêu chuẩn H264 phiên đưa năm 2003 hướng tới khả mã hoá chuỗi video với tốc độ bit nửa so với MPEG-2, có chất lượng tương đương H264 mang đến cải thiện đáng kể hiệu mã hố, khả phịng/sửa lỗi, độ thân thiện với môi trường truyền việc sử dụng phương thức dự đoán hiệu cho khung I, P, B Tổng quan nén video Video sơ khai chuỗi hình ảnh liên tiếp Ở công nghệ phim nhựa, để lưu lại đoạn phim, người ta lưu liên tiếp ảnh với tốc độ 24 ảnh/s Khi xem lại phim, chuỗi ảnh chiếu lên ảnh với tốc độ giống quay Chuyển sang thời đại kỹ thuật số, ảnh phân thành điểm ảnh, với thông tin màu sắc, độ sáng số hoá, lưu lại thành file định dạng RAW, BMP,… Các phương pháp mã hố thơng tin khá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 đặc tính dư thừa thơng tin cách biểu diễn, dư thừa thơng tin chất hình ảnh: ảnh tập mảng có màu sắc/độ sáng tương tự (hay cịn gọi dư thừa thơng tin theo không gian) Với video số, bên cạnh dạng dư thừa thơng tin cịn có dư thừa thông tin theo thời gian: ảnh (khung – frame) liên tiếp thường tương tự nhau, ảnh sau mang lượng thơng tin so với ảnh trước Người ta tận dụng dạng dư thừa thông tin để thực nén video, với tỉ lệ nén lên tới hàng trăm lần, chất lượng hình ảnh đảm bảo sắc nét, trung thực Trong cơng nghệ video, khái niệm mã hố (encoding) thường sử dụng nhiều, mang nghĩa tương đương với nén (compress) Mã hoá để nén, hay nén cách mã hố Nén dựa dư thừa thơng tin theo không gian theo thời gian thường dựa thuật tốn nén có tổn hao thơng tin (lossly compression) Để thấy Trang (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen hiệu việc nén video, lấy ví dụ phim HD Blueray Một phiên phim 2012 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 video này, đem lưu trữ dạng tập ảnh liên tiếp, sử dụng 24 bit màu cần có dung lượng: 1920 * 800 * * 24 * 158 * 60 = 1,48 * 1012 byte Từ đó, thấy lỷ số nén video đạt tới 100 lần Đặc điểm ứng dụng H.264 Hiện giới có nhiều chuẩn nén hình ảnh đời theo thời gian, H.261, MPEG-1 part 2, H.262, H.263, MPEG-4 part 2, Các chuẩn nén hình ảnh sau có nhiều cải tiến cơng nghệ nén Tức lượng liệu hay nói cách khác kích thước tập tin video sau nén giảm nhiều so với chuẩn nén trước, giữ chất lượng tương đương tốt Đồng nghĩa với điều thuật tốn phương thức xử lý ngày phức tạp Ra đời tháng 05/2003 hợp tác nhóm ITU-T VCEG (Video Coding Experts Group – nhóm chun gia mã hố video) ISO/IEC MPEG, H.264 thường đánh giá chuẩn mã hố thơng tin tốt thời điểm Chuẩn H264 thực tế không quy định cách thực việc mã hố, mà quy định định dạng hình ảnh sau mã hoá bước thực giải mã Việc mã hoá để mở cho nhà sản xuất thiết bị/phần mềm mã hoá Ưu điểm thấy việc có khả nén tốt tiết kiệm chi phí: giảm lưu lượng đường truyền trình trao đổi video, giảm chi phí lưu trữ video (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang 10 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen (III.9) Bản chất (III.7) (III.8) mở rộng (III.4) (III.5), (III.9) (III.6) (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang 29 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen IV Kết thực – đánh giá Thử nghiệm thực với môi trường sau:  Bộ phần mềm tham chiếu JM version 14.2  IPPP (khơng có frame B)  khung tham chiếu  Không sử dụng tính FMO, ASO So sánh kết thuật toán Ở phần này, ta so sánh kết thuật toán:  Frame-Copy (FC)  Motion-Vector-Copy (MVC)  Véc-tơ trung vị với véc-tơ tham khảo (MD5)  Véc-tơ trung vị với véc-tơ tham khảo có chọn lọc hướng (MD5 + DC)  Véc-tơ trung vị với véc-tơ tham khảo có chọn lọc hướng, tham khảo thêm véc-tơ góc trường hợp véc-tơ vị trí (MD5 + DC + ZMMed8)  Kết hợp MVC véc-tơ trung vị với véc-tơ tham khảo có chọn lọc hướng (MVC | MD5+DC)  Kết hợp MVC véc-tơ trung vị với véc-tơ tham khảo có chọn lọc hướng Chuỗi video sử dụng để đánh giá chuỗi “Stefan” với kích thước khung hình CIF 352x288 Chuỗi video mẫu mã hoá từ khung thứ 200 tới khung 299, với khung I toàn khung lại khung P, ngẫu nhiên loại bỏ 5% số khung để giả lập trường hợp gói tin Sử dụng phần mềm phân tích chất lượng video MSU [3] để đánh giá tỷ số tín hiệu nhiễu ta có kết sau: Thuật tốn PSNR trung bình FC MVC MD5 20.04523 23.85117 23.8814 MD5 + DC MD5 + DC + ZM8 MVC | MD5+DC MVC | MD9+DC 23.9118 23.87713 23.9133 23.92026 Bảng - So sánh kết thuật toán với mẫu Stefan (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang 30 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Các biểu đồ Hình 17 so sánh chi tiết PSNR thuật toán khung sau khung lỗi (khung 12, 36, 46, 60, 67): a) b) (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang 31 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen c) d) e) Hình 17 - So sánh kết thuật toán với mẫu Stefan (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang 32 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Theo đó, ta thấy thuật toán Frame-Copy cho kết thấp hẳn so với thuật tốn cịn lại (khoảng gần 4dB) Thuật toán Motion-Vector-Copy với cải tiến kết hợp sử dụng phương pháp trung vị có chọn lọc hướng cho kết tốt khoảng 0.06-0.07dB So sánh kết mẫu video Ở phần này, ta so sánh kết thuật toán MVC, MVC với cải tiến MD5+DC, MVC với cải tiến MD9+VC mẫu Akiyo (phát viên), Foreman (một nói chuyện bình thường), Stefan (trận tennis) Điều kiện thử nghiệm tương tự trên: mã hoá 100 khung, tỉ lệ khung 5% Kết thu bảng sau: Stefan Foreman Akiyo FC 20.04523 28.48712 39.09961 MVC 23.85117 31.74627 41.48236 MVC | MD5+DC 23.9133 31.77081 41.48289 MVC | MD9+DC 23.92026 31.75684 41.48218 Bảng - So sánh kết mẫu video Hình 18 - So sánh kết mẫu video Theo kết Bảng 4, ta thấy:  Thuật toán cải tiến hoạt động hiệu mẫu video chuyển động nhanh (mẫu Stefan), hoạt động hiệu mẫu video tĩnh (mẫu Akiyo) (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang 33 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen  Với mẫu Foreman mẫu Akiyo, thuật tốn MVC cải tiến MD9+DC có kết tốt so với thuật toán MVC gốc, nhiên, lại khơng so với thuật tốn cải tiến MD5+DC Thuật toán đề xuất Sau thử nghiệm với mẫu video khác nhau, dựa kết thu được, người thực đề tài đề xuất thuật toán ẩn lỗi sau:  Xác định MV khối 4x4 thuộc khung tham chiếu, vị trí với khối Tuỳ thuộc vào giá trị MV (MV0) mà sử dụng phương pháp thích hợp để nội suy MV  Nếu MV0 nằm khoảng từ không (0) đến giá trị ngưỡng (trường hợp khối tham chiếu chuyển động chậm): sử dụng phương pháp MVC  Nếu MV0 lớn giá trị ngưỡng (trường hợp khối tham chiếu chuyển động nhanh): sử dụng phương pháp trung vị có chọn lọc hướng với MV tham chiếu (IV.1) (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang 34 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen V Kết luận Với phát triển nhanh chóng ứng dụng truyền thơng đa phương tiện thời gian gần đây, ứng dụng việc truyền video mạng vô tuyến ngày nhiều Với kênh truyền tiềm ẩn nhiều lỗi kênh vơ tuyến, để ứng dụng có u cầu tính thời gian thực cao truyền hình quảng bá, hội nghị truyền hình, xem phim trực tuyến,… hoạt động tốt, ngồi việc nâng cao chất lượng kênh truyền nhằm giảm lỗi lớp dưới, việc ứng dụng thuật toán ẩn lỗi video lớp ứng dụng vơ quan trọng Luận văn trình bày phương án cải tiến thuật toán ẩn lỗi MVC phần mềm tham chiếu 14.2 để nâng cao chất lượng video H.264 khâu giải mã trường hợp bị toàn nhiều khung, khơng làm tăng đáng kể độ phức tạp tính tốn Hiệu thuật tốn phụ thuộc vào tính động video, số trường hợp thử nghiệm đạt mức độ cải thiện khoảng 0.07dB Do thời gian hạn chế, nên số điểm chưa hoàn thiện, cần bổ sung để nâng cao chất lượng video sau giải mã (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang 35 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen VI Phụ lục Phần phụ lục trình bày phần mã nguồn thuật toán đề xuất  Kiểm tra véc-tơ có hướng hay khơng /*! ************************************************************************ * \brief * Check whether two vectors are in a same direction, i.e: the angle btween * two vectors is less than pi/4, i.e: cosin > 1/sqrt(2) * ************************************************************************ */ int same_direction(int x1, int y1, int x2, int y2) { double cosin; if ((x1 == 0) && (y1 == 0)) return 1; if ((x2 == 0) && (y2 == 0)) return 0; cosin = (x1 * x2 + y1 * y2) / sqrt((double)(x1 * x1 + y1 * y1) * (x2 * x2 + y2 * y2)); return (cosin >= 0.70710678 ? : 0); }  Cải tiến thuật toán ẩn lỗi /*! ************************************************************************ * \brief * Conceals the lost reference or non reference frame by either frame copy * or motion vector copy concealment * ************************************************************************ */ static void copy_to_conceal(StorablePicture *src, StorablePicture *dst, ImageParameters *img) { if ((img->conceal_mode & EC_MEDIAN) == EC_MEDIAN) { concealMode = img->conceal_mode; if (dec_picture->chroma_format_idc != YUV400) { storeYUV = (imgpel *) malloc ( (16 + (img->mb_cr_size_x*img->mb_cr_size_y)*2/16) * sizeof (imgpel)); } else { storeYUV = (imgpel *) malloc (16 * sizeof (imgpel)); } erc_img = img; dst->PicWidthInMbs = src->PicWidthInMbs; dst->PicSizeInMbs = src->PicSizeInMbs; mb_width = dst->PicWidthInMbs; mb_height = (dst->PicSizeInMbs)/(dst->PicWidthInMbs); scale = (img->conceal_slice_type == B_SLICE) ? : 1; (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang 36 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen if(img->conceal_slice_type == B_SLICE) init_lists_for_non_reference_loss(dst->slice_type, img->currentSlice->structure); else init_lists(dst->slice_type, img->currentSlice->structure); multiplier = BLOCK_SIZE; for(i=0;imv[LIST_0][i][j][1] / scale; org_ref_idx[0] = src->ref_idx[LIST_0][i][j];; n_eligible = 1; firstIsPrefered = 1; // set the DC_ref = if no DIRECTIONAL_CONTROL is needed In that case all surrounding vectors are eligible DC_ref_x = (concealMode & EC_DIRECTIONAL_CONTROL) == EC_DIRECTIONAL_CONTROL ? mv_ref_x[0] : 0; DC_ref_y = (concealMode & EC_DIRECTIONAL_CONTROL) == EC_DIRECTIONAL_CONTROL ? mv_ref_y[0] : 0; if (i > 0) //North { mv[0] = src->mv[LIST_0][i-1][j][0] / scale; mv[1] = src->mv[LIST_0][i-1][j][1] / scale; org_ref_idx[n_eligible] = src->ref_idx[LIST_0][i-1][j]; if (same_direction(DC_ref_x, DC_ref_y, mv[0], mv[1])) { mv_ref_x[n_eligible] = mv[0]; mv_ref_y[n_eligible] = mv[1]; ++n_eligible; } } if (j < mb_width*4 - 1) // East { mv[0] = src->mv[LIST_0][i][j+1][0] / scale; mv[1] = src->mv[LIST_0][i][j+1][1] / scale; org_ref_idx[n_eligible] = src->ref_idx[LIST_0][i][j+1]; if (same_direction(DC_ref_x, DC_ref_y, mv[0], mv[1])) { mv_ref_x[n_eligible] = mv[0]; mv_ref_y[n_eligible] = mv[1]; ++n_eligible; } } if (i < mb_height*4 - 1) // South { mv[0] = src->mv[LIST_0][i+1][j][0] / scale; mv[1] = src->mv[LIST_0][i+1][j][1] / scale; org_ref_idx[n_eligible] = src->ref_idx[LIST_0][i+1][j]; if (same_direction(DC_ref_x, DC_ref_y, mv[0], mv[1])) { mv_ref_x[n_eligible] = mv[0]; (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang 37 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen mv_ref_y[n_eligible] = mv[1]; ++n_eligible; } } if (j > 0) // West { mv[0] = src->mv[LIST_0][i][j-1][0] / scale; mv[1] = src->mv[LIST_0][i][j-1][1] / scale; org_ref_idx[n_eligible] = src->ref_idx[LIST_0][i][j-1]; if (same_direction(DC_ref_x, DC_ref_y, mv[0], mv[1])) { mv_ref_x[n_eligible] = mv[0]; mv_ref_y[n_eligible] = mv[1]; ++n_eligible; } } // MED if ((concealMode & EC_MEDIAN8) == EC_MEDIAN8) { if ((i > 0) && (j < mb_width*4 - 1)) // North East { mv_ref_x[n_eligible] = src->mv[LIST_0][i-1][j+1][0] / scale; mv_ref_y[n_eligible] = src->mv[LIST_0][i-1][j+1][1] / scale; org_ref_idx[n_eligible] = src->ref_idx[LIST_0][i1][j+1]; if (same_direction(DC_ref_x, DC_ref_y, mv_ref_x[n_eligible], mv_ref_x[n_eligible])) ++n_eligible; } if ((i < mb_height*4 - 1) && (j < mb_width*4 - 1)) // South East { mv_ref_x[n_eligible] = src->mv[LIST_0][i+1][j+1][0] / scale; mv_ref_y[n_eligible] = src->mv[LIST_0][i+1][j+1][1] / scale; org_ref_idx[n_eligible] = src>ref_idx[LIST_0][i+1][j+1]; if (same_direction(DC_ref_x, DC_ref_y, mv_ref_x[n_eligible], mv_ref_x[n_eligible])) ++n_eligible; } if ((i < mb_height*4 - 1) && (j > 0)) // South West { mv_ref_x[n_eligible] = src->mv[LIST_0][i+1][j-1][0] / scale; mv_ref_y[n_eligible] = src->mv[LIST_0][i+1][j-1][1] / scale; org_ref_idx[n_eligible] = src->ref_idx[LIST_0][i+1][j1]; if (same_direction(DC_ref_x, DC_ref_y, mv_ref_x[n_eligible], mv_ref_x[n_eligible])) ++n_eligible; } if ((i > 0) && (j > 0)) // North West { mv_ref_x[n_eligible] = src->mv[LIST_0][i-1][j-1][0] / scale; (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang 38 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen mv_ref_y[n_eligible] = src->mv[LIST_0][i-1][j-1][1] / scale; org_ref_idx[n_eligible] = src->ref_idx[LIST_0][i-1][j1]; if (same_direction(DC_ref_x, DC_ref_y, mv_ref_x[n_eligible], mv_ref_x[n_eligible])) ++n_eligible; } } else { // Zero if (((concealMode & EC_ZD8) == EC_ZD8) && ((mv_ref_x[0] == 0) && (mv_ref_y[0] == 0))) { firstIsPrefered = 0; if ((i > 0) && (j < mb_width*4 - 1)) // North East { mv_ref_x[n_eligible] = src->mv[LIST_0][i1][j+1][0] / scale; mv_ref_y[n_eligible] = src->mv[LIST_0][i1][j+1][1] / scale; org_ref_idx[n_eligible] = src>ref_idx[LIST_0][i-1][j+1]; if (same_direction(DC_ref_x, DC_ref_y, mv_ref_x[n_eligible], mv_ref_x[n_eligible])) ++n_eligible; } if ((i < mb_height*4 - 1) && (j < mb_width*4 - 1)) // South East { mv_ref_x[n_eligible] = src>mv[LIST_0][i+1][j+1][0] / scale; mv_ref_y[n_eligible] = src>mv[LIST_0][i+1][j+1][1] / scale; org_ref_idx[n_eligible] = src>ref_idx[LIST_0][i+1][j+1]; if (same_direction(DC_ref_x, DC_ref_y, mv_ref_x[n_eligible], mv_ref_x[n_eligible])) ++n_eligible; } if ((i < mb_height*4 - 1) && (j > 0)) // South West { mv_ref_x[n_eligible] = src>mv[LIST_0][i+1][j-1][0] / scale; mv_ref_y[n_eligible] = src>mv[LIST_0][i+1][j-1][1] / scale; org_ref_idx[n_eligible] = src>ref_idx[LIST_0][i+1][j-1]; if (same_direction(DC_ref_x, DC_ref_y, mv_ref_x[n_eligible], mv_ref_x[n_eligible])) ++n_eligible; } if ((i > 0) && (j > 0)) // North West { mv_ref_x[n_eligible] = src->mv[LIST_0][i1][j-1][0] / scale; mv_ref_y[n_eligible] = src->mv[LIST_0][i1][j-1][1] / scale; org_ref_idx[n_eligible] = src>ref_idx[LIST_0][i-1][j-1]; (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang 39 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen if (same_direction(DC_ref_x, DC_ref_y, mv_ref_x[n_eligible], mv_ref_x[n_eligible])) ++n_eligible; } // removing the center ref (idx number 0) n_eligible; mv_ref_x[0] = mv_ref_x[n_eligible]; mv_ref_y[0] = mv_ref_y[n_eligible]; org_ref_idx[0] = org_ref_idx[n_eligible]; } // end of getting list for MED8 } // end - get eligible list of vectors if ((concealMode & EC_MVC_THRESHOLD) == EC_MVC_THRESHOLD) { // firstIsPrefered means MV0 different from if (firstIsPrefered && (mv_ref_x[0]*mv_ref_x[0] + mv_ref_y[0]*mv_ref_y[0] < img->mvc_threshold)) n_eligible = 1; // setting n_eligible = means MV0 is chosen } if (n_eligible > 2) { med_x = ScalarMedian(mv_ref_x, org_ref_idx, n_eligible, firstIsPrefered); med_y = ScalarMedian(mv_ref_y, org_ref_idx, n_eligible, firstIsPrefered); mv[0] = mv_ref_x[n_eligible/2]; mv[1] = mv_ref_y[n_eligible/2]; if (med_x < 0) med_x = 0; if (med_y < 0) med_y = 0; mv[2] = (med_x + med_y)/2; } else { mv[0] = mv_ref_x [0]; mv[1] = mv_ref_y [0]; mv[2] = org_ref_idx [0]; if (mv[2] < 0) mv[2]=0; } dst->mv[LIST_0][i][j][0] = mv[0]; dst->mv[LIST_0][i][j][1] = mv[1]; dst->ref_idx[LIST_0][i][j] = mv[2]; x = (j)*multiplier; y = (i)*multiplier; if ((mm%16==0) && (nn%16==0)) img->current_mb_nr++; buildPredblockRegionYUV(erc_img, mv, x, y, storeYUV, LIST_0); predMB = storeYUV; for(ii=0;iichroma_format_idc != YUV400) { for(uv=0;uvimgUV[uv][i*multiplier/2 +ii][j*multiplier/2 +jj] = predMB[ii*(multiplier/2)+jj]; } } predMB = predMB + (multiplier*multiplier/4); } } } } free(storeYUV); }  Thuật toán tính trung vị // Sort val[], so the median value of val[] will be val[iNum/2] // return the value of val2[] at the corresponding position to the median value of val[] int ScalarMedian(int val[], int val2[], int iNum, int firstIsPrefered) { int iOuter, iInner; int tmp_idx[9]; int temp; int firstVal; firstVal = val[0]; for (iOuter = 0; iOuter < iNum; iOuter++) tmp_idx[iOuter] = val2[iOuter]; for( iOuter = iNum - 1; iOuter >= 0; iOuter ) { for( iInner = 1; iInner val[iInner] ) { temp = val[iInner-1]; val[iInner-1] = val[iInner]; val[iInner] = temp; temp = tmp_idx[iInner-1]; tmp_idx[iInner-1] = tmp_idx[iInner]; tmp_idx[iInner] = temp; } } } if (firstIsPrefered && (val[iNum/2] == firstVal)) return val2[0]; else return tmp_idx[iNum/2]; } (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang 41 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen Trang 42 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen (LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen(LUAN.VAN.THAC.SI).Xay.dung.thuat.toan.an.loi.hieu.qua.nham.nang.cao.chat.luong.truyen.video.tren.kenh.truyen.vo.tuyen

Ngày đăng: 17/12/2023, 01:56

w