Bài viết đề xuất một phương pháp cải tiến quản lý hàng đợi tích cực Blue để cải thiện chất lượng truyền video trên môi trường mạng IP. Thông qua sử dụng phương pháp điều chỉnh xác xuất đánh dấu (loại bỏ) gói tin trong giải thuật quản lý hàng đợi tích cực Blue để làm giảm xác suất mất gói tin đang video trong các ứng dụng truyền video trên mạng. Sử dụng công cụ mô phỏng NS-2 để kiểm nghiệm trên các mẫu video chuẩn mpeg cho thấy chất lượng truyền video đã được cải thiện đáng kể.
Kỷ yếu Hội nghị Khoa học Quốc gia lần thứ IX ―Nghiên cứu ứng dụng Công nghệ thông tin (FAIR'9)‖; Cần Thơ, ngày 4-5/8/2016 DOI: 10.15625/vap.2016.00050 MỘT PHƯƠNG PHÁP CẢI THIỆN CHẤT LƯỢNG TRẢI NGHIỆM TRONG TRUYỀN VIDEO TRÊN MẠNG IP Cao Diệp Thắng 1, Đỗ Tuấn Hạnh2 Khoa Công nghệ Thông tin, Trƣờng Đại học Kinh tế - Kỹ thuật Công nghiệp Khoa Công nghệ Thông tin, Trƣờng Đại học Kinh tế - Kỹ thuật Cơng nghiệp cdthang@uneti.edu.vn, dthanh@uneti.edu.vn TĨM TẮT— Bài báo đề xuất phương pháp cải tiến quản lý hàng đợi tích cực Blue để cải thiện chất lượng truyền video môi trường mạng IP Chúng sử dụng phương pháp điều chỉnh xác xuất đánh dấu (loại bỏ) gói tin giải thuật quản lý hàng đợi tích cực Blue để làm giảm xác suất gói tin video ứng dụng truyền video mạng Sử dụng công cụ mô NS-2 để kiểm nghiệm mẫu video chuẩn mpeg cho thấy chất lượng truyền video cải thiện đáng kể Từ khóa — Video, QoE, BLUE, AQM (Active Queue Management) I GIỚI THIỆU Hiện nay, chất lƣợng dịch vụ QoS (Quality of Service), chất lƣợng trải nghiệm QoE (Quality of Experience)[1] ngày trở thành vấn đề đƣợc quan tâm công nghệ thông tin truyền thông, đặc biệt ứng dụng truyền video mạng IP Trong lĩnh vực ứng dụng truyền phát video, để có khả đáp ứng yêu cầu ngƣời dùng cuối việc đảm bảo QoS QoE yêu cầu bắt buộc Trong báo đề xuất sử dụng hàng đợi tích cực BLUE với cải tiến đánh dấu xác suất hay loại bỏ gói tin nhằm cải thiện chất lƣợng trải nghiệm truyền video mạng IP Phần lại báo đƣợc trình bày nhƣ sau: phần II trình bày kỹ thuật mã hóa video vấn đề đảm bảo chất lƣợng dịch vụ QoS chất lƣợng trải nghiệm ngƣời dùng QoE Phần III, trình bày hàng đợi tích cực BLUE [2], Phần IV giới thiệu hai giải thuật BLUE cải tiến giải pháp điều chỉnh xử lý xác suất trƣớc, giải pháp điều chỉnh xử lý xác suất sau Đối sánh hiệu giải pháp xử lý trƣớc xử lý sau số tham số QoS tỷ lệ gói tin, gói tin video, độ đo chất lƣợng video chủ quan ánh xạ với tham số trải nghiệm QoE điển hình MOS để rút kết luận báo II ĐẢM BẢO CHẤT LƯỢNG TRONG TRUYỀN VIDEO TRÊN MẠNG IP A Đặc trưng kỹ thuật nén video Dữ liệu video đƣợc tạo thành từ khung hình video Nén liên ảnh sử dụng tính chất tƣơng tự ảnh Trong trƣờng hợp đơn giản nhất, khung hình video lƣu trữ hình ảnh đƣợc hiển thị thời gian phát khung hình (bằng nghịch đảo tốc độ khung hình) hình Tuy nhiên, có tƣơng quan mạnh mẽ khung hình ảnh liên tiếp cảnh – scence - thƣờng thay đổi chậm theo thời gian Vì vậy, truyền khung hình độc lập với tất khung lân cận lãng phí – khung hình mang nhiều thơng tin dƣ thừa khơng cần thiết Bộ mã hố video hiệu loại bỏ dƣ thừa làm giảm kích thƣớc (số byte) video Với phƣơng pháp mã hố liên khung hình chuỗi video có kiểu khung hình: khung hình I (khung chính), P (khung hình dự đốn) B (hai chiều) đó: Khung hình I (Intra-picture): khung hình sử dụng nén ảnh, mang thông tin khung hình hồn chỉnh Khung hình I cho phép truy cập ngẫu nhiên, có độ nén thấp Khung hình P (Predicted-picture): khung hình dự đốn trƣớc, khung hình đƣợc mã hóa có bù chuyển động từ khung I khung P trƣớc Khung hình B (Bi-directional predicted picture): khung hình dự đốn hai chiều, khung hình đƣợc mã hóa sử dụng bù chuyển động từ khung hình I P trƣớc sau Các khung hình B cho hệ số nén cao Trật tự xác định tần số xuất khung I, P, B tập tin video I-frame, xuất đặn đoạn, phân chia đoạn video thành "Nhóm hình ảnh" hay GoP (Group of Picture) Khung hình I đƣợc mã hóa cách độc lập với khung hình khác đƣợc giải mã cách độc lập Khung P-frame đƣợc mã hóa cách lƣu trữ delta khung hình trƣớc khung hình đƣợc mã hóa, việc giải mã khung hình P phụ thuộc vào xác việc giải mã khung hình trƣớc Một khung hình B-frame đƣợc mã hóa dựa khung I P mã hóa thành cơng trƣớc đó, việc giải mã khung hình B (B-frame) bắt buộcyêu cầu khung hình I P phải đƣợc giải mã cách xác Từ cấu trúc mã hóa phân cấp MPEG, khung hình video đƣợc coi không giải mã đƣợc (undecodable) trực tiếp gián tiếp Undecodable trực tiếp khung cho biết/chỉ khơng có đủ gói liệu khung hình video nhận đƣợc để giải mã khung hình Mặt khác, undecodable gián tiếp khung hình video xảy khung đƣợc xem undecodable số khung phụ thuộc vào trực tiếp undecodable Sự phụ thuộc khung hình P B vào khung hình khác giải mã có nghĩa có khung hình mà khung P B phụ thuộc vào, mà không đƣợc giải mã bên nhận, khung P B khơng thể giải mã Ví dụ, khung I bị mất, tất khung khác GoP không đƣợc Cao Diệp Thắng, Đỗ Tuấn Hạnh 407 giải mã Khung phụ thuộc đóng vai trị quan trọng thiết kế giải mã giả để phân tích chất lƣợng video Ảnh hƣởng phụ thuộc khung, I, P B đƣợc minh họa hình 1[5]; việc khung hình I hay P gây ảnh hƣởng toàn GoP Do tỷ lệ gói tin thấp 5% gây tỷ lệ tổn thất lớn đến xấp xỉ 30% khung hình [3] = khơng giải mã Mất khung I I B B P B B P B B P Mất khung P I B B P B B P B B P Mất khung B I B B P B B P B B P Hình Sự phụ thuộc khung hình mã hóa video B Độ đo chất lượng trải nghiệm video Độ đo PSNR (Peak signal-to-noise ratio) đƣợc xem nhƣ độ đo khách quan để đo chất lƣợng truyền video qua mạng [1,7, 8, 9] Theo hƣớng tiếp cận cảm nhận ngƣời đƣợc phân làm năm mức khác Trên mức, chất lƣợng video đƣợc tính theo cơng thức khác nhau, vào giá trị tính đƣợc mà chất lƣợng video đƣợc đánh giá thuộc vào ngƣỡng Dĩ nhiên việc ánh xạ mức với khoảng giá trị đo đƣợc cần đƣợc nghiên cứu trƣớc thông qua thống kê Phƣơng pháp dựa sở xác định tỉ số tín hiệu đỉnh Cơng thức (2.1) định nghĩa PSNR thành phần độ chói Y ảnh nguồn S ảnh đích D PSNR (n) dB 20 log 10 V peak N col N row YS (n, i, j ) YD (n, i, j )] N col N row i 0 j 0 (2.1) Vpeak = 2k – 1.Trong đó: k số bit mã hóa điểm ảnh Mẫu số cơng thức (2.1) sai số bình phƣơng trung bình MSE (mean square error) khung hình gửi khung hình nhận, tính tổng cho tất điểm ảnh khung hình N col.Nrow số điểm ảnh khung hình C QoS QoE truyền video Để đảm bảo chất lƣợng truyền dẫn tín hiệu hình ảnh video đến thiết bị đầu cuối khách hàng, nhà cung cấp dịch vụ phải tuân theo tiêu chu n QoS Tuy nhiên, ứng dụng truyền video mạng IP, ngồi QoS cịn yếu tố quan trọng khác để đánh giá khả cung cấp dịch vụ tốt đến mức nhà cung cấp dịch vụ đến với ngƣời sử dụng, QoE: chất lƣợng trải nghiệm (Quality of Experience) QoE nhận xét chủ quan ngƣời dùng cuối đánh giá dịch vụ họ sử dụng D Các tham chất luợng d ch v m ng P Theo khuyến nghị I.380 ITUT định nghĩa số tham số đánh giá hiệu truyền gói tin IP gồm: Tr truyền gói IP, tỷ lệ lỗi gói tin IP, tỷ lệ tổn thất gói IP - Tr truyền gói tin IP IPTD (IP Packet Transfer Delay): đƣợc gọi tr đầu cuối tới đầu cuối (end to end) tr mạng, thời gian gói tin truyền từ đầu phát đến đầu thu IPTD thƣờng đƣợc hiểu tr trung bình (mean delay) gói tin truyền qua mạng IP - Biến động tr gói tin IP IPDV (IP packet Delay Variation): biến động tr gói tin, đƣợc định nghĩa khoảng chênh lệch độ tr gói tin Có nhiều phƣơng pháp để tính IPDV, đơn giản lấy chênh lệch độ tr lớn độ tr nhỏ (đƣợc dùng để tính IPDV khoảng thời gian ngắn) IPDV = IPTDmax – IPTDmin (2.2) - Tỷ lệ lỗi gói tin IP IPER (IP Packet Error Ratio): tham số tính theo tỷ lệ gói tin IP lỗi tổng số gói tin IP nhận đƣợc: 408 MỘT PHƢƠNG PHÁP CẢI THIỆN CHẤT LƢỢNG TRẢI NGHIỆM TRONG TRUYỀN VIDEO TRÊN MẠNG IP N err IPER (2.3) N err N suc Nerr: số lƣợng gói tin lỗi Nsuc: Số lƣợng gói tin nhận đƣợc thành cơng (successful) - Tỷ lệ tổn thất gói IP IPLR (IP Packet Loss Ratio): Tỷ số gói tin bị tổng gói tin truyền IPLR N loss (2.4) N tran Nloss: số gói tin bị (tổn thất) Ntran: số gói tin truyền Tỷ lệ tổn thất gói ảnh hƣởng chất lƣợng kết nối, ứng dụng IP thƣờng tính khía cạnh ảnh hƣởng tỉ lệ gói: giá trị ngƣỡng, dung sai ảnh hƣởng tỉ lệ gói hiệu ứng dụng Gói tin thực tế phụ thuộc vào yếu tố khác nhƣ chế sửa lỗi phía trƣớc - FEC giao thức sửa lỗi lớp - Tỷ lệ xếp lại gói tin IP IPRR (IP Packet Reordering Ratio): việc xếp lại xảy có tổn thất gói tin TCP, IPRR đƣợc đƣa để đánh giá tổng số gói bị TCP E hất luợng trải nghiệm QoE (Quality of Experience) Theo tiêu chí kỹ thuật ITU P.10/G100 , QoE “sự chấp nhận toàn diện ứng dụng hay dịch vụ theo nhận xét chủ quan ngƣời dùng” đƣợc ITU định nghĩa Một cách đơn giản nhất, chất lƣợng trải nghiệm QoE nhận xét chủ quan khách hàng dịch vụ họ sử dụng QoE thƣờng đƣợc biểu đánh giá mang tính cảm nhận cá nhân nhƣ “xuất sắc”, “tốt”, “trung bình”, “tạm chấp nhận/xấu”, “rất xấu” Một tham số đánh giá chất lƣợng trải nghiệm điển hình ý kiến trung bình ngƣời (Mean Opinion Score - MOS)[1, 15] Trong bảng 1, thang đo chất lƣợng video theo mức độ cảm nhận ngƣời đƣợc chia theo năm mức Bảng Thang đo chất lƣợng video theo mức độ cảm nhận ngƣời Mức độ (MOS) Chất lƣợng Video Xuất sắc Tốt Trung bình Xấu Rất xấu F Liên hệ PSNR MOS Mối liên hệ thang đo chủ quan khách quan đƣợc trình bày bảng 2, chất lƣợng PSNR (dB) khung hình đƣợc ánh xạ vào thang đo kinh nghiệm MOS Bảng Liên hệ độ đo PSNR(dB) tham số QoE (MOS) PSNR[dB] >37 31-37 25-31 20-25 L: Dựa kiện đường truyền rỗi hay qlen = 0: if (( now -last_update) > if ((now–last_update) > freeze_time ) { freeze_time ){ pm = pm + d1; pm= pm – d2; last_update = now; } last_update = now; } Đánh dấu (loại bỏ) gói tin với xác suất pm Hình Giải thuật BLUE Các tham số sử dụng giải thuật: pm: xác suất đánh dấu loại gói tin, freeze_time: tham số xác định khoảng thời gian tối thiểu hai lần cập nhật liên tiếp pm, d1: xác định lƣợng tăng lên pm hàng đợi tràn, d2: xác định lƣợng giảm pm liên kết nhàn rỗi, now: thời điểm tại, last_update: thời điểm xảy lần cập nhật pm gần nhất, qlen: độ dài hàng đợi tại, L: xác định ngƣỡng cho phép gói tin đến hàng đợi Giải thuật quản lý hàng đợi BLUE trình bày dạng lƣu đồ nhƣ hình 4.2 Gói tin đến Xảy kiện gói tin (Hoặc qlen> L)? N Xảy kiện đường truyền rỗi? Y Now – last_update Y > Freeze_time ? N N Now – last_update Freeze_time ? Y Y pm = pm + d pm = pm - d2 Đánh dấu (hay loại bỏ gói) với xác suất pm Kết thúc Hình Lƣu đồ giải thuật BLUE > N MỘT PHƢƠNG PHÁP CẢI THIỆN CHẤT LƢỢNG TRẢI NGHIỆM TRONG TRUYỀN VIDEO TRÊN MẠNG IP 410 B Đề xuất cải tiến Do xác suất loại bỏ gói p m đóng vai trị quan trọng giải thuật quản lý hàng đợi BLUE Trong trình nghiên cứu tìm cách cải tiến giải thuật theo hƣớng tích hợp chế phân loại ƣu tiên gói tin video ƣu tiên tập trung vào hƣớng tiếp cận xử lý tham số p m Phân tích sơ đồ giải thuật BLUE gốc ban đầu W.Feng (hình 3) ta thấy việc nghiên cứu điều chỉnh tham số pm để điều chỉnh xác suất đánh dấu p m (loại bỏ) gói tin giải thuật BLUE ban đầu (xem hình 4) tiến hành hai giai đoạn nhƣ sau Giai đoạn 1: tác động điều chỉnh xác suất p m xảy kiện gói tin, kiện đƣờng truyền không bận Việc xử lý tham số pm giai đoạn gọi xử lý trƣớc Giai đoạn 2: tác động điều chỉnh xác suất p m sau xử lý hai kiện gói tin đƣờng truyền khơng bận Việc tính tốn điều chỉnh, xử lý tham số pm giai đoạn gọi xử lý sau Xử lý điều chỉnh xác suất trƣớc Xử lý điều chỉnh xác suất sau Hình Đề xuất điều chỉnh xử lý xác suất pm trƣớc/sau Trong phần tiếp theo, giới thiệu hai giải thuật cải tiến điều chỉnh, xử lý xác suất pm trƣớc điều chỉnh xử lý pm sau đánh giá đối sánh chất lƣợng theo độ đo QoS, QoE truyền phát video mạng IP IV ĐỀ XUẤT CẢI TIẾN BLUE Đề xuất cải tiến xử lý trước BLUE-VPT (BLUE-Video Packet Type)[11] Dựa cấu trúc chuỗi video MPEG, có kiểu khung hình I, P, B đƣợc mã hóa liên khung đó, khung hình I quan trọng có kích thƣớc lớn Mặt khác, nhƣ trình bày trên, giải thuật BLUE dựa kiện: Mất gói tin mức độ sử dụng đƣờng truyền Do đặc tính BLUE, giá trị tham số d1>>d2 nên đáp ứng với kiện gói tin nhanh Dựa đặc tính mã hóa khung hình liên khung MPEG đề xuất cải tiến giải thuật BLUE để giảm bớt việc gói tin dựa vào phân loại gói tin tùy theo chúng thuộc khung hình I, P, B trƣớc điều chỉnh xác suất p m Mơ tả giải thuật: dựa đặc tính kiện gói (q len> L) kiện đƣờng truyền rỗi BLUE đề xuất định nghĩa hai hàm tuyến tính nhƣ sau: a Định nghĩa hàm tuyến tính f(x) f ( x) x (4.1) L Trong đó: [0, 1] L kích thƣớc hàng đợi tính theo số gói tin; x kích thƣớc thời hàng đợi b Định nghĩa hàm tuyến tính g(y) g (y) = - β.y; (4.2) Cao Diệp Thắng, Đỗ Tuấn Hạnh 411 Trong đó: β [0; 1], y mức độ sử dụng đƣờng truyền đƣợc tính nhƣ sau: y byte _ departurest Bt (4.3) byte_departurest: số bytes đƣợc truyền t giây, B: băng thông đƣờng truyền, t: Thời gian truyền; Hiển nhiên f(x), g(y) nhận giá trị khoảng [0; 1] Xác định giá trị α hàm f(x): Khi định nghĩa hàm tuyến tính f để điều chỉnh xác suất đánh dấu hay loại bỏ gói tin q trình thử nghiệm mơ nhiều lần, phát lấy giá trị α lớn nhỏ 0.02 giá trị ảnh hƣởng đến chất lƣợng truyền video thể qua độ đo PSNR(dB) số gói tin video bị q trình truyền video qua thử nghiệm mô với cấu hình mạng, file vết video akio.yuv kết thử nghiệm thu đƣợc với giá trị khác lấy lân cận 0.02 Nói cách khác α = 0,02 xem nhƣ điểm tới hạn hàm với biến số α, giá trị trả độ đo PSNR(dB) hay giá trị tổn thất gói tin video Từ chúng tơi chọn giá trị tham số α, β hàm f(x) , g(y) đƣợc chọn mơ có giá trị tƣơng ứng 0.02 0.98 Nhận xét: BLUE đáp ứng nhanh với kiện gói tin nên ta tích hợp hàm u(x) để ƣu tiên gói tin thuộc khung hình I, tiến hành điều chỉnh xác suất p m Mặt khác d1>>d2 nên BLUE đáp ứng với kiện đƣờng truyền rỗi (thời điểm hàng đợi trống) chậm hơn, nên tích hợp hàm g(y) để ƣu tiên gói tin thuộc khung hình P, B theo kiện đƣờng truyền rỗi Từ ta có giải thuật cải tiến BLUE-VPT hình 5.a Vì f(x) nhận giá trị [0;1] với gói tin đến hàng đợi nên giải thuật cải tiến sử dụng hàm điều chỉnh f(x), giá trị xác suất p m đƣợc cập nhật lại nhƣ sau: pm = f(x).pm pm = g (y) pm với x, y Gói tin đến Gói tin đến Xảy kiện gói tin (hay qlen > L) ? N Y N N Now – last_update > Now – last_update > Freeze_time ? Freeze_time ? Freeze_time ? Y Y N Gói tin đến I ? Xảy kiện gói tin (hoặc qlen > L)? N Xảy kiện đường truyền rỗi? Y Y Now – last_update > Y N Xảy kiện đường truyền rỗi Y N Now – last_update > Freeze_time ? Y Y N Y N pm = pm + d pm = pm - d2 Gói tin đến I/P/B? pm = f.pm pm = pm + d1 pm = g.pm pm = pm – d2 Gói tin đến video N Y pm = u.pm Đánh dấu (hoặc hủy bỏ) gói tin với xác suất pm ) Đánh dấu (hay loại bỏ) gói tin với xác suất p m Kết thúc Kết thúc (a) BLUE-VPT (a) BLUE-U Hình a Lƣu đồ giải thuật cải tiến BLUE-VPT; b Lƣu đồ giải thuật cải tiến BLUE-U Khi gói tin đến thuộc vào ba kiểu khung hình I, P, B giá trị xác suất đánh dấu (loại bỏ) gói tin p m đƣợc cập nhật theo hàm u hàm v Do việc xây dựng hai hàm u, v nhận giá trị [0; 1] nêu cập nhật pm, dù theo hàm A(x), (pm=f.pm) hay hàm g(y), (pm=g.pm) giá trị pm giảm xuống nên làm giảm xác suất loại gói tin chúng thuộc loại khung hình I, P, B Mặt khác, giá trị f, g < nên giá trị tham số pm giải thuật BLUE-VPT nhỏ pm giải thuật BLUE đạt giá trị pm BLUE gói tin đến khơng phải video Vì xem nhƣ tác động giải thuật BLUE-VPT gói tin qua hàng đợi định tuyến R1 xấp xỉ nhƣ BLUE mạng khơng có tham gia MỘT PHƢƠNG PHÁP CẢI THIỆN CHẤT LƢỢNG TRẢI NGHIỆM TRONG TRUYỀN VIDEO TRÊN MẠNG IP 412 luồng video Hay nói giải thuật cải tiến BLUE-VPT hội tụ giải thuật BLUE ban đầu trƣờng hợp thơng thƣờng Mặt khác tích hợp chế ƣu tiên phân loại gói tin video theo mức độ quan trọng chúng chuỗi GoP nên BLUE-VPT cịn giảm đƣợc khung hình tránh lãng phí băng thơng Điều làm cải thiện chất lƣợng luồng video đƣợc truyền qua mạng nhƣ kết thử nghiệm mô B Đề xuất giải thuật cải tiến xử lý au BLUE-U [12] Dựa đặc điểm thuật tốn BLUE, chúng tơi xây dựng hàm tuyến tính u điều chỉnh xác suất đánh dấu (loại bỏ) gói tin dựa yếu tố kích thƣớc hàng đợi router, mức độ sử dụng đƣờng truyền đặc tính mã hóa luồng video Mpeg Chúng tơi đề xuất tích hợp hàm tuyến tính hai biến để điều chỉnh xác suất thuật toán BLUE tiến hành đánh dấu (loại bỏ) gói tin giai đoạn sau (hình 5.b) nhƣ sau: Kiểm tra gói tin đến video cập nhật giá trị p m = u.pm ngƣợc lại pm= pm Để phân loại ƣu tiên gói tin video hàm u đƣợc xây dựng cho u nhận giá trị [0, 1]; Định nghĩa hàm tuyến tính u(x,y): u ( x, y) X y L (4.4) Trong đó: L kích thƣớc hàng đợi cho trƣớc định tuyến (tính theo số gói tin) α, β nhận giá trị [0, 1], x kích thƣớc thời hàng đợi y mức độ sử dụng đƣờng truyền đƣợc tính nhƣ (4.3) Vấn đề đặt chọn giá trị α cho trƣớc α[0; 1] phải tính tốn đƣợc giá trị tƣơng ứng β miền [0;1] cho u(x,y) nhận giá trị [0; 1] với tham số x, y thỏa mãn điều kiện thuật toán BLUE Đặt t x [0;1], ta tìm max, hàm số (4.4) tập hợp D : {(t , y) : t , y [0;1]} L Do max D Z 1, D Z nên để Z [0;1] [1 ;1] [0;1] suy Vậy với u( x, y) z [0;1] Vậy chọn α=0.002 ta chọn β nhận giá trị xấp xỉ [0; 0,098] Vì u(x,y) nhận giá trị [0;1] với gói tin đến hàng đợi nên thuật toán cải tiến sử dụng hàm điều chỉnh u(x,y), giá trị xác suất p m = u.pm, u(x,y) < => p m