Một phương pháp đảm bảo chất lượng cho dịch vụ truyền thông đa hướng thời gian thực qua mạng IP

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI YZWX › WXYZ ĐỖ TRỌNG TUẤN MỘT PHƯƠNG PHÁP ĐẢM BẢO CHẤT LƯỢNG CHO DỊCH VỤ TRUYỀN THÔNG ĐA HƯỚNG THỜI GIAN THỰC QUA MẠNG IP Chuyên ngành: Thông tin vô tuyến, phát thanh và vô tuyến truyền hình Mã số: 2.07.02 LUẬN ÁN TIẾN SĨ KỸ THUẬT CÁN BỘ HƯỚNG DẪN KHOA HỌC PGS.TS. PHẠM MINH HÀ Hà Nội - 2006 LỜI CAM ĐOAN Tôi xin cam đoan luận án này là công trình nghiên cứu của chính bản thân. Các kết quả nghiên cứu trong lu

pdf139 trang | Chia sẻ: huyen82 | Lượt xem: 1640 | Lượt tải: 1download
Tóm tắt tài liệu Một phương pháp đảm bảo chất lượng cho dịch vụ truyền thông đa hướng thời gian thực qua mạng IP, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ận án là trung thực và chưa được công bố trong bất kỳ công trình nào khác. Tác giả luận án Đỗ Trọng Tuấn LỜI CẢM ƠN Tôi xin bày tỏ lòng biết ơn chân thành tới PGS.TS. Phạm Minh Hà - người đã dìu dắt và giúp đỡ tôi trong cả lĩnh vực nghiên cứu của luận án cũng như trong công tác chuyên môn và cuộc sống. Tôi xin chân thành cảm ơn các Thầy Cô trong Khoa Điện tử Viễn thông đã giúp đỡ tôi trong quá trình học tập, công tác và nghiên cứu từ khi tôi là sinh viên, rồi là thành viên của khoa Điện tử Viễn thông – Trường Đại học Bách Khoa Hà Nội. Tôi xin chân thành cảm ơn Trung tâm Đào tạo & Bồi dưỡng Sau Đại học, Phòng Quản lý Khoa học & CGCN, Trung tâm Thông tin & Mạng - Trường ĐHBK Hà Nội, Trung tâm Âm thanh, Trung tâm ứng dụng công nghệ phát thanh - Đài tiếng nói Việt Nam đã tạo điều kiện giúp đỡ tôi trong quá trình nghiên cứu và hoàn thành luận án. Tôi xin cảm ơn sự giúp đỡ nhiệt tình và những góp ý quý báu của các anh chị và các bạn đồng nghiệp tại phòng thí nghiệm kỹ thuật thông tin: TS. Nguyễn Hữu Thanh, ThS. Đỗ Trọng Tú, TS. Nguyễn Văn Đức, ThS. Nguyễn Quốc Khương, TS. Trần Thị Ngọc Lan, TS. Nguyễn Hữu Trung. Tôi xin chân thành cảm ơn thầy Phạm Văn Tuân đã chỉ dẫn và giới thiệu giúp tôi liên hệ thực tế, cảm ơn anh Nguyễn Năng Khang đã nhiệt tình giúp tôi tìm hiểu cấu hình thực tế hệ thống kỹ thuật của Đài Tiếng Nói Việt Nam. Tôi xin chân thành cảm ơn giáo sư Tomio Takara và các thành viên phòng thí nghiệm xử lý tiếng nói, Bộ môn Kỹ thuật Thông tin, Đại học Ryukyus đã tạo điều kiện giúp đỡ tôi triển khai mô hình thực nghiệm giữa ĐHBK Hà Nội và ĐH Ryukyus, Nhật Bản. Xin cảm ơn người bạn Pin Hu đang nghiên cứu tại Đại học Plymouth-Anh quốc, về nhiệt tình khoa học và các số liệu mà anh đã cung cấp. Tôi đặc biệt cảm ơn Gia đình, Thầy tôi và Người bạn thân thiết đã động viên tôi trong những lúc khó khăn. NCS. Đỗ Trọng Tuấn MỤC LỤC Lời cam đoan Lời Cảm ơn Mục lục Danh mục các từ khóa, các từ viết tắt Danh sách các hình vẽ, các bảng và kí hiệu toán học MỞ ĐẦU 1. Đặt vấn đề .....................................................................................................1 2. Đối tượng và mục tiêu của luận án ............................................................3 3. Tình hình nghiên cứu trên thế giới và trong nước ...................................3 4. Hướng tiếp cận.............................................................................................6 5. Kết cấu của luận án .....................................................................................7 CHƯƠNG 1: TỔNG QUAN VỀ TRUYỀN THÔNG ĐA HƯỚNG VÀ MÔ HÌNH HỆ THỐNG RoIP 1.1 Các phương thức truyền thông qua Internet ........................................8 1.2 Truyền thông đa hướng qua mạng IP .................................................10 1.2.1 Khái niệm.....................................................................................11 1.2.2 Đặc điểm......................................................................................11 1.2.3 Nguyên lý truyền thông đa hướng qua mạng IP..........................12 1.2.4 IP multicast ..................................................................................15 1.3 Truy nhập vô tuyến theo chuẩn IEEE 802.11.....................................19 1.3.1 Phổ tần số vô tuyến......................................................................19 1.3.2 Cấu trúc giao thức IEEE 802.11..................................................20 1.3.3 Các cấu hình mạng truy nhập vô tuyến .......................................23 1.3.4 Các khu vực dịch vụ mở rộng......................................................24 1.3.5 Hệ thống phân tán........................................................................26 1.4 Mô hình hệ thống RoIP ............................................................ 26 1.4.1 Khái niệm ........................................................................................ 26 1.4.2 Những lợi ích và cản trở công nghệ.................................................27 1.4.3 Mô hình hệ thống RoIP hiện tại của đài tiếng nói Việt Nam. ......... 28 1.4.4 Mô hình hệ thống RoIP đề xuất....................................................... 31 1.5 Kết luận chương 1..................................................................... 39 CHƯƠNG 2: PHỎNG TẠO THAM SỐ CHẤT LƯỢNG CỦA TÍN HIỆU PHÁT THANH KHI TRUYỀN TẢI QUA MẠNG IP 2.1 Các tham số chất lượng mạng ...............................................................40 2.1.1 Giới thiệu.........................................................................................40 2.1.2 Tổn thất gói tin ................................................................................41 2.1.3 Trễ và biến động trễ ........................................................................44 2.2 Đề xuất mô hình phỏng tạo tham số QoS qua mạng IP.....................48 2.2.1 Kiến trúc mô hình............................................................................48 2.2.2 Phỏng tạo tham số mạng IP đa hướng ............................................50 2.3 Kết quả triển khai thực nghiệm ...........................................................51 2.4 Kết luận chương 2..................................................................................58 CHƯƠNG 3: ĐẢM BẢO CHẤT LƯỢNG TÍN HIỆU TẠI ĐẦU THU TRUYỀN TẢI QUA MẠNG IP THEO THỜI GIAN THỰC 3.1 Vấn đề tái tạo tín hiệu phát thanh tại đầu thu....................................60 3.2 Thuật toán ước đoán trễ tái tạo............................................................61 3.2.1 Thuật toán trung bình hàm mũ Exp-Avg .......................................61 3.2.2 Thuật toán trung bình hàm mũ nhanh F-Exp-Avg ........................63 3.2.3 Thuật toán trễ tối thiểu Min-D........................................................63 3.2.4 Thuật toán phát hiện đột biến Spike-Det .......................................63 3.2.5 Thuật toán cửa sổ ...........................................................................64 3.3 Đánh giá chất lượng tín hiệu tại đầu thu .............................................66 3.3.1 Phương pháp đánh giá chất lượng chủ quan...................................68 3.3.2 Phương pháp đánh giá chất lượng khách quan...............................69 3.4 Giải pháp đảm bảo chất lượng truyền tải tín hiệu phát thanh qua mạng IP................................................................................................. 74 3.4.1 Đặt vấn đề. ......................................................................................74 3.4.2 Thiết lập thông số nguồn. ...............................................................74 3.4.1 Giải pháp đảm bảo chất lượng tín hiệu tại đầu thu.........................77 3.4.2 Cấu hình thực nghiệm và kết quả....................................................81 3.5 Kết luận chương 3...................................................................................91 Kết luận của luận án...........................................................................................92 Hướng phát triển của đề tài...............................................................................93 Danh mục công trình của tác giả. Tài liệu tham khảo. Các phụ lục của luận án. Từ khóa: Real-time service, IP multicast, RoIP, VoIP, QoS, WLAN IEEE 802.11, Heterogeneous Networks. DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Tiếng Anh Nghĩa Tiếng Việt ACR Absolute Category Rating Đánh giá phân loại tuyệt đối ADPCM Adaptive Diffirential PCM Điều xung mã vi sai thích ứng AN Access Network Mạng truy nhập AP Access Point Điểm truy nhập vô tuyến ATR Audio Tape Recorder Máy ghi băng âm thanh BSA Basic Service Area Vùng dịch vụ cơ bản BSA Basic Service Area Vùng dịch vụ cơ bản BSS Infrastructure Basic Service Set Cấu hình mạng phụ thuộc CODEC Coder / Decoder Bộ mã hóa / giải mã DAT Digital Audio Tape Băng âm thanh số DAW Digital Audio WorkStation Máy trạm xử lý âm thanh số DCR Degradation Category Rating Đánh giá phân loại theo mức suy giảm chất lượng DMOS Degradation MOS Điểm đánh giá suy giảm chất lượng DSL Digital Subscriber Line Đường dây thuê bao số DSSS Direct Sequence Spectrum Spread Trải phổ dãy trực tiếp eRTP enhanced RTP packet Gói RTP cải tiến ESS Extended Service Set Vùng dịch vụ mở rộng FCC Frequency Commission Tổ chức quản lý tần số FEC Forward Error Correction Sửa lỗi trước FHSS Frequency Hoping Spectrum Spread Trải phổ nhảy tần GOB Good Or Better Thông số đánh giá độ chất lượng tốt IANA Internet Address Number Asignment Tổ chức cấp phát địa chỉ Internet IBSS Indepentent Basic Service Set Cấu hình mạng độc lập IETF Internet Enginering Task Force Nhóm đặc trách kỹ thuật Internet IGMP Internet Group Management Protocol Giao thức quản lý nhóm mạng Internet IGMP Internet Group Management Protocol Giao thức quản nhóm Internet IP Internet Protocol Giao thức mạng Internet IPv4 Internet Protocol version 4 Giao thức IP phiên bản 4 ITU International Telecommunication Union Tổ chức viễn thông quốc tế iVoVGateway internet Voice of VietNam Gateway Cổng chuyển đổi giao thức truyền tải tín hiệu phát thanh qua mạng IP iVoVReceiver internet Voice of VietNam Receiver Máy thu tín hiệu phát thanh qua mạng IP iVoVStation internet Voice of VietNam Station Máy chủ phát thanh qua mạng IP LLC Logical Link Control Điều khiển liên kết dữ liệu logic LPC Linear Predictive Encoding Mã hoá dự đoán tuyến tính LPC Linear Predictive Coding Mã hóa dự đoán tuyến tính LR Loss Rate Tỷ lệ tổn thất MAC Media Access Control Điều khiển truy nhập phương tiện truyền thông MBONE Multicast BackBone Mạng đường trục hỗ trợ multicast MCR Master Control Room Phòng tổng khống chế MOS Mean Opinion Score Điểm đánh giá chất lượng MRouter Multicast Router Bộ định tuyến hỗ trợ multicast OFDM Orthogonal Frequency Division Multiplexing Ghép kênh đa sóng mang OSI Open Systems Interconnection Mô hình liên kết các hệ thống mở PAMS Perceptual Analysis Measurement System Hệ thống đo đạc phân tích cảm nhận PCM Pulse Code Modulation Điều xung mã PESQ Perceptual Evaluation of Speech Quality Đánh giá cảm nhận chất lượng tiếng nói PLC Packet Loss Concealment Bù tổn thất gói tin POW Poor or Worse Thông số đánh giá độ chất lượng tồi PQoS Perceived Quality of Service Chất lượng dịch vụ thu nhận PSQM Perceptual Speech Quality Measurement Đo đạc chất lượng tiếng nói cảm nhận QoS Quality of Service Chất lượng dịch vụ RECAD Radio source total Eneregy Calculation and Activity Detection Tính toán tổng năng lượng tín hiệu phát thanh nguồn và phát hiện khoảng tích cực tín hiệu RFC Request For Comment Khuyến nghị RoIP Radio over IP Truyền tải tín hiệu mang tin tức phát thanh qua mạng IP RTCP RTP Control Protocol Giao thức điều khiển thời gian thực RTP Real Time Transport Protocol Giao thức truyền tải thời gian thực SDH Synchronous Digital Hieracy Phân cấp số đồng bộ SIP Session Initial Protocol Giao thức khởi tạo phiên SNR Signal - to - Noise Ratio Tỷ số tín hiệu trên tạp âm SSNR Segmentation Signal - to - Noise Ratio Tỷ số tín hiệu trên tạp âm phân đoạn STA Station Máy trạm di động TCP Transmission Control Protocol Giao thức điều khiển truyền thông hướng kết nối qua mạng IP TESF Total Energy of Source Frame Tổng mức năng lượng khung tín hiệu nguồn TTL Time To Live Thời gian sống của gói tin UDP User Datagram Protocol Giao thức điều khiển truyền thông không hướng kết nối qua mạng IP UHF Untra High Frequency Tần số siêu cao URouter Unicast Router Bộ định tuyến hỗ trợ truyền thông đơn hướng VLAN Virtual LAN Mạng LAN ảo VoIP Voice over IP Truyền thoại sử dụng giao thức IP WLAN Wireless Local Area Network Mạng máy tính cục bộ không dây DANH SÁCH HÌNH VẼ Hình 1. 1: Mô hình mạng tích hợp phân cấp hỗn hợp trên nền IP ........................ 8 Hình 1. 2: Mô hình truyền tin đơn hướng ............................................................ 9 Hình 1. 3: Mô hình truyền tin quảng bá. ............................................................... 9 Hình 1. 4: Mô hình truyền tin đa hướng.............................................................. 10 Hình 1. 5: Tiến trình phát triển của MBONE..................................................... 11 Hình 1. 6: Cấu trúc hệ thống truyền thông đa hướng qua mạng IP..................... 13 Hình 1. 7: Cơ chế đường hầm liên kết các ốc đảo multicast ............................... 13 Hình 1. 8: Đóng gói IP multicast theo cơ chế tunneling ..................................... 14 Hình 1. 9: Cơ chế đường hầm liên kết các MRouter.......................................... 14 Hình 1. 10: Mô hình kiến trúc hệ thống IP Multicast......................................... 15 Hình 1. 11: Địa chỉ IP Multicast.......................................................................... 17 Hình 1. 12: Cấu trúc địa chỉ MAC cho IP Multicast/Unicast............................. 18 Hình 1. 13: Cơ chế ánh xạ địa chỉ IP Multicast và địa chỉ MAC....................... 19 Hình 1. 14: Họ IEEE 802 và mối liên hệ với mô hình OSI................................ 20 Hình 1. 15: Liên kết lớp MAC và lớp vật lý thông qua PLCP.......................... 22 Hình 1. 16: Các thành phần của mạng WLAN 802.11....................................... 22 Hình 1. 17: Cấu hình BSS và IBSS .................................................................... 23 Hình 1. 18: Tập dịch vụ mở rộng ESS ............................................................... 25 Hình 1. 19: Hệ thống phân tán trong AP 802.11 .............................................. 26 Hình 1. 22: Hệ thống VoIP truyền thống [19]..................................................... 31 Hình 1. 23: Các giao thức và chuẩn cho dịch vụ RoIP....................................... 32 Hình 1. 24: Tiêu đề gói RTP ............................................................................ 32 Hình 1. 25: Mô hình lý thuyết hệ thống truyền tín hiệu phát thanh qua mạng IP 36 Hình 1.26: Cấu trúc giao thức hệ thống RoIP đề xuất.........................................37 Hình 1. 27: Mô hình triển khai thực nghiệm hệ thống RoIP đề xuất..................38 Hình 2. 1: Mối quan hệ giữa các yếu tố ảnh hưởng đến QoS [36]...................... 40 Hình 2. 3: Mô hình Gilbert 2 trạng thái............................................................... 42 Hình 2. 4: Mô hình truyền tải gói tin một chiều ..................................................45 Hình 2. 5: Mô hình truyền tải gói tin hai chiều .................................................. 47 Hình 2. 6: Kiến trúc mô hình phỏng tạo tham số mạng .................................... 49 Hình 2. 8: Mô hình lý thuyết phỏng tạo tham số mạng IP đa hướng ................ 50 Hình 2. 9: Xử lý gói tin tại phía thu.................................................................... 51 Hình 2. 10: Cấu hình thực nghiệm phỏng tạo tham số mạng IP ........................ 51 Hình 2. 11: Chức năng theo dõi trễ mạng trực tuyến theo thời gian thực của chương trình phỏng tạo tham số mạng ............................................................................. 52 Hình 2. 17: Tỷ lệ tổn thất gói tin theo thời gian - phương thức phỏng tạo trực tuyến. ............................................................................................................................. 58 Hình 2. 18: Tín hiệu thu khi xảy ra tổn thất gói tin.............................................58 Hình 3. 1: Các thông số thời gian của gói tin thứ i.............................................. 60 Hình 3. 2: Giải thuật thực hiện thuật toán Exp-Avg và F- Exp-Avg [6]............. 62 Hình 3. 3: Thuật toán Spike-Det [6] .................................................................... 64 Hình 3. 4: Thuật toán cửa sổ [6] .......................................................................... 65 Hình 3. 5: Quan hệ giữa khoảng tích cực tín hiệu và khoảng lặng ..................... 66 Hình 3. 6: Phân cấp chất lượng tín hiệu phát thanh [3]....................................... 67 Hình 3. 7: Cấu trúc thực hiện thuật toán PESQ.................................................. 70 Hình 3. 8: Mô hình thiết lập thông số nguồn...................................................... 76 Hình 3. 9: Thuật toán xác định tổng mức năng lượng tín hiệu nguồn tại phía phát ............................................................................................................................. 78 Hình 3. 10: Mô hình thực hiện thuật toán xác định tổng mức năng lượng tín hiệu nguồn tại phía phát............................................................................................... 79 Hình 3. 11: Cấu trúc gói tin eRTP...................................................................... 79 Hình 3. 12: Thuật toán xác định tổng năng lượng tín hiệu phân đoạn tại phía thu80 Hình 3. 13: Mô hình xác định tổng mức năng lượng phân đoạn tại phía thu..... 81 Hình 3. 15: Chương trình phát (a)-thu (b) tín hiệu phát thanh qua mạng IP......... 84 Hình 3.16: Mô hình thực nghiệm 1 chiều giữa Đại học Bách Khoa Hà Nội và Đại học Ryukyu - Okinawa, Nhật bản.......................................................................................85 Hình 3.17: Mô hình thực nghiệm 2 chiều giữa Đại học Bách Khoa Hà Nội và Đại học Ryukyu - Okinawa, Nhật bản.......................................................................................86 Hình 3.18: Tham số trễ mạng đo thực tế phân bố theo thời gian - đột biến trễ có chu kỳ [ thời điểm đo: 21:37:46 giờ ngày 14-12-2005 ] .................................................87 Hình 3.19: Tham số trễ mạng đo thực tế phân bố theo trị số - đột biến trễ có chu kỳ [ thời điểm đo: 21:37:46 giờ ngày 14-12-2005 ] .........................................................88 Hình 3.20: Tham số trễ mạng đo thực tế phân bố theo thời gian - đột biến trễ không có chu kỳ [ thời điểm đo: 20:57:29 giờ ngày 16-12-2005 ] ........................................ 89 Hình 3.21: Tham số trễ mạng đo thực tế phân bố theo trị số - đột biến trễ không có chu kỳ [ thời điểm đo: 20:57:29 giờ ngày 16-12-2005 ] ............................................ 90 DANH SÁCH CÁC BẢNG Bảng 1.1: Các băng tần vô tuyến ...................................................................................20 Bảng 1.2: Chỉ tiêu kỹ thuật các chuẩn IEEE 801.11 .....................................................21 Bảng 1.3: Một số thông số chuẩn mã hóa tín hiệu ........................................................34 Bảng 2.1: Tỷ lệ tổn thất gói tin thiết lập và đo đạc theo phương thức phỏng tạo trực tuyến ................................................................................................................58 Bảng 3.1: Thang đánh giá chất lượng theo phương pháp ACR .....................................67 Bảng 3.2: Thang đánh giá chất lượng theo phương pháp DCR ....................................68 Bảng 3.3: Các thông số chuyển đổi nguồn tín hiệu phát thanh .....................................74 Bảng 3.4: Kết quả đo đạc tham số chất lượng tại đầu thu khi thay đổi hệ số phát lặp gói tin tại đầu phát qua kết nối giữa Đại học Bách Khoa Hà Nội và ĐH Ruykyus........................................................................................................................91 DANH SÁCH CÁC KÍ HIỆU TOÁN HỌC X : Biến ngẫu nhiên nhận giá trị 0 hoặc 1. iL : Trạng thái tổn thất của gói tin thứ i. iP : Xác xuất tổn thất của gói tin thứ i. P% : Xác xuất tổn thất gói tin ước đoán. totL : Tổng số gói tin bị tổn thất. N : Tổng số gói tin được truyền tải. 0P : Xác xuất gói tin không bị tổn thất. 1P : Xác xuất gói tin bị tổn thất. p : Xác xuất gói tin bị tổn thất khi gói tin kề trước không bị tổn thất. q : Xác xuất gói tin bị tổn thất khi gói tin kề trước bị tổn thất. kp : Xác xuất xảy ra tổn thất gói tin theo cụm có độ dài k gói tin liên tiếp. iO : Cụm tổn thất gói tin gồm i gói tin liên tiếp, i = 1,2 . . . n. iD : Trễ mạng của gói tin thứ i. iJ : Biến động trễ của gói tin thứ i. di : Khoảng cách vật lý giữa bộ định tuyến ( i -1 ) và ( i ) c : Tốc độ truyền tín hiệu. bi : Băng thông của tuyến kết nối i s, sres : Kích thước gói tin theo hướng thuận và hướng ngược. fi : Trễ chuyển tiếp gói tin theo hướng thuận f'i-1: Trễ chuyển tiếp gói tin theo hướng ngược. progt∆ : Thời gian truyền dẫn tín hiệu. transt∆ : Trễ truyền tải gói tin. OTTt∆ : Trễ hành trình một chiều gói tin RTTt∆ : Trễ hành trình hai chiều gói tin it : Thời điểm phát từ đầu phát của gói tin thứ i. ir : Thời điểm đến đầu thu của gói tin thứ i. ip : Thời điểm tái tạo gói tin thứ i. in : Trễ của gói tin thứ i gây nên bởi mạng. vi : Biến động trễ mạng của gói tin thứ i bi : Thời gian trễ của gói tin thứ i lưu giữ trong bộ đệm tái tạo. di : trễ tổng quát của gói tin thứ i (trễ từ đầu cuối đến đầu cuối). ip ) : Thời điểm tái tạo gói tin thứ i id ) : Trễ mạng trung bình của gói tin thứ i iv ) : Biến động trễ mạng trung bình của gói tin thứ i α : Hệ số tái tạo thích ứng - với thuật toán trung bình hàm mũ Exp-Avg α = 0,998002 - với thuật toán phát hiện đột biến Spike-Det α = 0.875 β = 0.750 - Hệ số tái tạo thích ứng của thuật toán F-Exp-Avg R: Hệ số đánh giá chất lượng theo đường truyền. Ro = 93,2 - giá trị tối ưu Ie: Hệ số ảnh hưởng của thiết bị và mô tả cho ảnh hưởng cho tính phi tuyến của bộ mã hóa/giải mã và độ tổn thất. Id: Thông số ảnh hưởng của trễ. Is: Yếu tố ảnh hưởng tổng hợp của vấn đề đồng bộ tín hiệu. A: Hệ số kỳ vọng cho phép bù các yếu tố ảnh hưởng khi tồn tại các yếu tố thuận lợi trong việc truy nhập của người dùng. m: Chỉ số mẫu tín hiệu trong khung đang xét [ ]tnx m : Giá trị mẫu tín hiệu của nguồn phát. [ ]rnx m : Giá trị của mẫu tín hiệu nhận được phía thu. ES(n): Năng lượng tín hiệu của khung n gồm M mẫu tín hiệu. EN(n): Năng lượng nhiễu tổng cộng của khung n gồm M mẫu tín hiệu. t∆ : Chu kỳ phát phát gói tin [ms] sz: Độ dài tải tin [ Bytes ] fs : Tần số lấy mẫu [ Hz] w: Số bít mã hóa cho một mẫu tín hiệu ch: Số kênh truyền tải tín hiệu phát thanh. ts : Ngưỡng cắt mức tín hiệu phát thanh tích cực. t Fisum : Tổng mức năng lượng tín hiệu phát của khung iF r Fisum : Tổng mức năng lượng tín hiệu thu của khung iF i Fis : Mức tín hiệu mẫu i của khung iF ( )iFie s : Năng lượng tín hiệu mẫu i của khung iF sN : Tổng số mẫu tín hiệu của khung iF MỞ ĐẦU 1. Đặt vấn đề Hiện nay, phát thanh quảng bá qua môi trường vô tuyến vẫn là một kênh thông tin hữu ích phục vụ cuộc sống của con người. Cùng với sự phát triển của công nghệ tin học viễn thông, đặc biệt là sự gia tăng nhanh chóng của Internet cả về hạ tầng mạng và nhu cầu phát triển các dịch vụ mới như mua sắm trực tuyến, giải trí qua mạng . . công nghệ phát thanh cũng có những chuyển biến theo xu hướng hình thành một phương thức truyền tải mới, lấy Internet làm công cụ quảng bá tín hiệu phát thanh tới bạn nghe đài. Hình 1: Phân bố người dùng tại Hoa Kỳ sử dụng dịch vụ quảng bá phát thanh - truyền hình qua Inetenet [58]. Hiện nay, hầu hết các đài phát thanh quốc gia đều có website riêng và thực hiện dịch vụ phát thanh qua mạng Internet. Theo một số thống kê gần đây [58] tại thời điểm quý I năm 2005, hàng tháng ở Mỹ có khoảng 55 triệu người dùng Internet truy nhập dịch vụ nghe đài hoặc xem truyền hình trực tuyến như thể hiện trên hình 1. Trong đó số lượng người dùng nghe đài qua mạng Internet thống kê theo tháng ≈ 37 triệu người và theo tuần ≈ 20 triệu người. Các ràng buộc về tính đáp ứng thời gian và độ tin cậy của ứng dụng thời gian thực kéo theo yêu cầu phát triển cấu trúc giao thức mới. Phương truyền thông đa hướng ( multicast ) đang được tập trung nghiên cứu kết hợp với giao thức truyền tải thời gian thực RTP / RTCP nhằm hình thành các cơ chế đảm bảo chất lượng dịch vụ cho các ứng dụng thời gian thực qua đó hạn chế nhược điểm của truyền thông đơn hướng cũng như đặc tính không đảm bảo chất lượng dịch vụ của môi trường Internet hiện tại. Các ứng dụng mới có yêu cầu chất lượng dịch vụ nghiêm ngặt hơn đang được quan tâm nghiên cứu cả về phương diện xây dựng mô hình hệ thống truyền tải cũng như cơ chế đảm bảo chất lượng thu nhận tín hiệu. Với đối tượng nghiên cứu là mô hình hệ thống và chất lượng dịch vụ truyền tải tín hiệu phát thanh thời gian thực qua mạng IP, luận án tập trung nghiên cứu đề xuất và xây dựng mô hình ứng dụng RoIP ( Radio over IP ) thực hiện truyền tải tín hiệu phát thanh thời gian thực qua mạng IP kết hợp trên hai phương diện kết hợp truyền thông đơn hướng ( unicast ) với truyền thông đa hướng ( multicast ) và kết hợp môi trường truyền tải hữu tuyến với truy nhập vô tuyến theo chuẩn IEEE 802.11. Nghiên cứu các thuật toán điều khiển lịch trình bộ đệm tái tạo thích ứng và ảnh hưởng của mạng đối với chất lượng tín hiệu phát thanh truyền tải qua mạng IP. Trên cơ sở đó, đề xuất phương pháp đảm bảo chất lượng dịch vụ RoIP sử dụng thuật toán điều khiển tham số nguồn thích ứng theo tình trạng hệ thống nhằm đảm bảo chất lượng tín hiệu tại đầu thu. Thiết lập mô hình đánh giá các tham số chất lượng dịch vụ QoS và đề xuất mô hình đo đạc thông số chất lượng tín hiệu phát thanh tại đầu thu qua mạng IP theo thời gian thực. 2. Đối tượng và mục đích nghiên cứu của luận án Xuất phát từ các vấn đề nêu trên, luận án xác định mô hình hệ thống và chất lượng dịch vụ truyền tải tín hiệu phát thanh thời gian thực qua mạng IP là đối tượng nghiên cứu của luận án với những vấn đề tập trung chủ yếu như sau:  Nghiên cứu đề xuất và xây dựng mô hình ứng dụng truyền tải tín hiệu phát thanh thời gian thực qua mạng IP kết hợp trên hai phương diện kết hợp truyền thông đơn hướng (unicast) với truyền thông đa hướng (multicast) và môi trường truyền tải hữu tuyến với mạng truy nhập vô tuyến theo chuẩn IEEE 802.11.  Nghiên cứu ảnh hưởng của các tham số mạng đến chất lượng tín hiệu phát thanh truyền tải qua mạng IP. Đề xuất và xây dựng công cụ phỏng tạo mạng phục vụ kiểm chứng mô hình và phương pháp đảm bảo chất lượng theo thời gian thực.  Nghiên cứu các phương thức đánh giá chất lượng tín hiệu truyền tải qua mạng IP. Đề xuất mô hình đo đạc đánh giá chất lượng tín hiệu phát thanh tại đầu thu theo thời gian thực. Trên cơ sở đó, đề xuất phương pháp đảm bảo chất lượng dịch vụ RoIP sử dụng thuật toán điều khiển thông số nguồn thích ứng theo tình trạng hệ thống nhằm đảm bảo chất lượng tín hiệu thu. 3. Tình hình nghiên cứu trên thế giới và trong nước Từ những năm 1980, vấn đề truyền tải tín hiệu tiếng nói theo phương thức chuyển mạch gói trong phạm vi mạng cục bộ đã được đề cập nghiên cứu [8]. Tuy vậy, trong thời gian gần đây nhiều vấn đề như cơ chế đảm bảo chất lượng dịch vụ, phương thức thỏa hiệp giữa độ tổn thất và biến động trễ, ghép nguồn tín hiệu tiếng nói và số liệu ... vẫn là những chủ đề nghiên cứu mang tính thời sự. Theo phương diện mạng IP, dịch vụ truyền thông tín hiệu phát thanh qua mạng Internet được hiểu là truyền tải tín hiệu phát thanh qua giao thức IP và viết tắt là RoIP. Tổ chức tiêu chuẩn viễn thông thế giới ITU-T đã đưa ra các chuẩn mã hóa tín hiệu như G.711, G.723.1 và G.729 nhằm nén tốc độ số liệu có thể áp dụng với tín hiệu tiếng nói xuống từ 5,33 kbps đến 64 kbps. Bên cạnh đó , các chuẩn nén mới cũng được hình thành nhằm cải thiện chất lượng dịch vụ cũng như đa dạng hóa các thuộc tính của nguồn tín hiệu phát thanh như chuẩn mã hóa / giải mã speex chuyên dùng cho nguồn tiếng nói và vorbis [60] chuyên dùng cho âm thanh hoặc âm nhạc. Dữ liệu phát thanh được đóng gói theo chuẩn giao thức thời gian thực RTP ( Real-time Transport Protocol ) hình thành luồng gói tin RoIP. Chất lượng tín hiệu phát thanh thu được khi truyền qua mạng IP là vấn đề quan trọng đối với ứng dụng RoIP. Các mạng IP không được thiết kế phục vụ các dịch vụ thời gian thực (real-time applications) do đó các yếu tố mạng như tỷ lệ tổn thất gói (Packet Loss), trễ gói ( Packet Delay) và biến động trễ (Packet Delay Variation / Jitter) có ảnh hưởng rất khắt khe đến chất lượng tín hiệu phát thanh. Xét về khía cạnh tham số mạng, thông số trễ và tổn thất gói là hai đặc tính quan trọng nhất ảnh hưởng đến chất lượng hệ thống RoIP. Nhằm duy trì chất lượng truyền thông tín hiệu phát thanh ở mức tốt, các yêu cầu chất lượng dịch vụ được đưa ra về tỷ lệ tổn thất, độ trễ và độ biến động trễ. Trước hết tỷ lệ tổn thất cần được đảm bảo nhằm đạt được chất lượng tín hiệu phát thanh tại đầu thu có thể hiểu được và có độ trung thực cao. Tuy nhiên, giá trị tỷ lệ tổn thất gói tin nhất định có thể vẫn được chấp nhận, đặc biệt đối với các phương thức giải mã sử dụng kỹ thuật bù/sửa lỗi nhằm thay thế gói bị tổn thất. Trong trường hợp đó, tỷ lệ tổn thất có thể lên tới 10% [38]. Bên cạnh đó, để duy trì tính thời gian thực và tương tác, độ trễ từ đầu cuối đến đầu cuối phải được đảm bảo dưới 150 ms hoặc thấp hơn đối với các ứng dụng có tính tương tác cao [3]. Chuẩn G.114 của ITU-T [1] khuyến nghị trễ từ đầu cuối đến đầu cuối tối đa dưới 150 ms sẽ cho chất lượng tốt, phạm vi trễ từ 150-400 ms có thể chấp nhận được. Một tham số khác ảnh hưởng nhiều đến chất lượng truyền thông tín hiệu phát thanh đó là độ biến động trễ. Biến động trễ nhỏ và loại bỏ biến động là yêu cầu để tái tạo được tín hiệu phát thanh không bị gián đoạn nhằm đảm bảo chất lượng tín hiệu phát thanh tại đầu thu. Đối với dịch vụ thời gian thực, biến động trễ là một yếu tố quan trọng, hiện đang được tập trung nghiên cứu trong thời gian gần đây nhằm giải quyết bài toán đảm bảo chất lượng dịch vụ. Đột biến trễ (Delay Spike) là yếu tố chủ yếu gây n._.ên biến động trễ và có thể ảnh hưởng rất lớn đến chất lượng tín hiệu phát thanh tại đầu thu. Các nghiên cứu trước đây [5],[6][48] đều cho thấy thực tế tồn tại của đột biến trễ trong trễ qua mạng Internet. Đột biến trễ được cấu thành bởi sự tăng đột ngột của trễ mạng trong một khoảng thời gian nhất định kéo theo một chuỗi các gói tin được thu nhận liên tiếp thành từng cụm. Các nghiên cứu trên cũng chỉ ra đột biến trễ có thể ảnh hưởng rất nhiều đến chất lượng tín hiệu tại đầu thu. Hiện nay, kỹ thuật sử dụng bộ đệm tái tạo được đề cập là một trong những cơ cấu quan trọng để đáp ứng tính thời gian thực và tương tác của dịch vụ thời gian thực qua mạng IP [3][5][6][7][9]. Bộ đệm tái tạo lưu giữ tạm thời và tạo lịch trình cho thời điểm tái tạo tín hiệu phát thanh thu được từ các gói RTP/UDP/IP. Cơ chế tạo lịch trình có thể được thực hiện theo phương thức cố định và phương thức thích ứng. Giữa hai phương thức trên thì phương thức tạo lịch trình thích ứng linh hoạt hơn trong các trường hợp tình trạng mạng thay đổi theo thời gian. Khi đó lịch trình tái tạo tín hiệu được điều khiển theo các thuật toán điều khiển bộ đệm tái tạo thích ứng với tình trạng mạng IP. Các thuật toán hiện tại cho một số kết quả tối ưu nhất định trong việc thỏa hiệp giữa độ trễ và độ tổn thất gói tin nhằm đạt được chất lượng tín hiệu tại đầu thu tốt nhất. Tuy nhiên, chất lượng của các thuật toán bộ đệm tái tạo hiện tại chỉ được xét trong một số tình trạng mạng xác định mà chưa quan tâm đến việc thích ứng tham số nguồn với tình trạng mạng và kết hợp với đánh giá chất lượng tín hiệu phát thanh thu được theo thời gian thực. Việc đánh giá chất lượng tín hiệu phát thanh thu được có thể thông qua hệ số điểm đánh giá trung bình MOS (Mean Opinion Score) và được thực hiện bằng phương pháp đánh giá khách quan (Subjective Tests) hoặc đo đạc chủ quan (Objective Measurement Methods). Đối với phương thức đánh giá khách quan, giá trị MOS có thể nhận được thông qua khảo sát ý kiến người nghe về chất lượng của tín hiệu phát thanh thu được. Phương thức này liên quan trực tiếp đến quan điểm của người đánh giá nhưng chi phí cao và đòi hỏi nhiều thời gian. Phương pháp đo đạc chủ quan sử dụng các thuật toán nhằm đánh giá chất lượng tín hiệu phát thanh thu được qua mạng IP để xác định thông số đánh giá chất lượng. Phương thức này có thể được chủ động tiến hành tại thời điểm bất kỳ và có thể lặp lại nhiều lần trong các khoảng thời gian khác nhau, không đòi hỏi chi phí tiến hành đánh giá như ở phương thức chủ quan. Độ tin cậy của kết quả đánh giá khách quan phụ thuộc vào nhiều yếu tố và khó kiểm soát như số lượng người đánh giá, điều kiện môi trường đánh giá, chất lượng thiết bị tái tạo và mang tính ổn định không cao. Đồng thời đánh giá khách quan đòi hỏi nhiều thời gian cũng như chi phí tiến hành đánh giá. Tuy nhiên, phương pháp này lại cho kết quả đánh giá gần với cảm nhận thực tế của con người. Do đó việc kết hợp đánh giá giữa các phương pháp chủ quan và các mô hình đánh giá khách quan cần được nghiên cứu áp dụng để đánh giá chất lượng tín hiệu phát thanh tại đầu thu. Hầu hết các nghiên cứu gần đây nhằm đảm bảo chất lượng tín hiệu tiếng nói/âm thanh truyền tải qua mạng IP theo thời gian thực đều tập trung vào giải quyết theo hai hướng: Thứ nhất là trên cơ sở dành sẵn tài nguyên mạng [34]. Hướng này phụ thuộc vào quy hoạch mạng của nhà cung cấp dịch vụ Internet và khó kiểm soát. Thứ hai là hướng xử lý tối ưu lịch trình tái tạo tín hiệu tại bộ đệm tái tạo như đã đề cập ở trên. Hướng này có ưu điểm là được thực hiện tại đầu thu nên không phụ thuộc vào hạ tầng mạng và có thể xử lý thích ứng với các tham số mạng IP. Tuy nhiên, chất lượng dịch vụ truyền tải tín hiệu phát thanh qua mạng IP phụ thuộc chặt chẽ vào các thông số nguồn và các tham số mạng. Các thông số nguồn được thiết lập cố định không có khả năng thích ứng với tình trạng mạng thay đổi ngẫu nhiên theo thời gian. Do đó, vấn đề đảm bảo chất lượng tín hiệu tại đầu thu sử dụng phương thức điều chỉnh thông số nguồn theo thời gian thực cần được quan tâm nghiên cứu và kiểm nghiệm qua thực tế. Từ tháng 8/2005, đài tiếng nói Việt Nam bắt đầu hỗ trợ khả năng nghe đài phát thanh qua mạng Ineternet. Người dùng Internet sử dụng phần mềm real player để nghe đài tiếng nói việt nam qua mạng Internet. Vấn đề đặt ra với phương thức phát thanh qua mạng Internet hiện tại là chưa có cơ chế đảm bảo chất lượng dịch vụ, thực hiện theo phương thức truyền thông đơn hướng dẫn đến các hạn chế về chất lượng khi số lượng người dùng tăng cao, cũng như khó khăn trong trường hợp mở rộng dịch vụ. Vấn đề làm chủ công nghệ để có thể tùy biến thành ứng dụng đặc thù cũng cần được quan tâm nghiên cứu. Với Việt Nam, vấn đề đảm bảo chất lượng thời gian thực qua mạng IP là hướng nghiên cứu mới, hiện nay chưa có tài liệu liên quan cũng như chuẩn đánh giá chất lượng truyền tải tín hiệu phát thanh qua mạng IP được công bố chính thức. Đây cũng là hướng nghiên cứu mang tính chất cơ bản trong việc phát triển ứng dụng trong xu hướng phát triển của công nghệ thông tin đối với lĩnh vực phát thanh - truyền hình của Việt Nam. 4. Hướng tiếp cận Đề tài được tiếp cận theo hướng nghiên cứu các tham số mạng và kỹ thuật đảm bảo chất lượng tín hiệu phát thanh tại đầu thu. Luận án tập trung nghiên cứu khái niệm cơ bản, cấu trúc của hệ thống RoIP, các tham số chất lượng mạng và phương pháp đo đạc chất lượng. Trên cơ sở đó đề xuất mô hình mới nhằm đánh giá chất lượng tín hiệu tại đầu thu. Kết hợp việc nghiên cứu đề xuất mô hình hệ thống theo cấu trúc giao thức và mô hình chức năng lý thuyết với việc xây dựng chương trình truyền tải tín hiệu phát thanh thời gian thực qua mạng IP trên nền hệ điều hành mã nguồn mở Linux và tiến hành thực nghiệm qua môi trường Internet. Thông qua mô hình toán học, đặc tính trễ và tổn thất gói tin truyền tải qua mạng Internet được mô hình hóa và ứng dụng trong việc xây dựng công cụ phỏng tạo tham số mạng. Bên cạnh đó, các tham số mạng và nguồn lưu lượng thực tế được sử dụng nhằm kiểm chứng phương pháp đảm bảo chất lượng truyền tải tín hiệu phát thanh thời gian thực qua hệ thống RoIP đề xuất. 5 Kết cấu của luận án Luận án gồm phần mở đầu, 03 chương và kết luận. Chương 1: Thảo luận những vấn đề cơ bản của truyền thông đa hướng qua mạng IP và môi trường truy nhập vô tuyến WLAN theo chuẩn IEEE 802.11. Đề xuất mô hình hệ thống truyền tải tín hiệu phát thanh thời gian thực qua mạng IP trên phương diện mô hình lý thuyết, cấu trúc giao thức và mô hình triển khai thực nghiệm. Chương 2: Xem xét chất lượng dịch vụ truyền tải tín hiệu phát thanh thời gian thực qua mạng IP theo thông số nguồn và thông số mạng ảnh hưởng đến chất lượng tín hiệu phát thanh tại đầu thu. Luận án đề xuất mô hình và xây dựng công cụ phỏng tạo tham số QoS của mạng IP. Mođun phỏng tạo được tích hợp trong thành phần cổng chuyển đổi giao thức iVoVGateway của hệ thống RoIP nhằm phỏng tạo ảnh hưởng của môi trường truyền tải tới tín hiệu tại đầu thu. Chương 3: Nghiên cứu vấn đề đảm bảo chất lượng tín hiệu tại đầu thu theo hai khía cạnh: thứ nhất, các cơ chế tái tạo tín hiệu thu nhận tại đầu cuối thông qua bộ đệm tái tạo được nghiên cứu và tích hợp vào hệ thống RoIP. Thứ hai, thông qua mô hình đánh giá chất lượng tín hiệu tại đầu thu sử dụng tỷ số năng lượng tín hiệu trên tạp âm phân đoạn, luận án đề xuất và thực hiện phương pháp đảm bảo chất lượng dịch vụ truyền tải tín hiệu phát thanh qua mạng IP sử dụng cơ chế thích ứng tham số nguồn với tình trạng mạng theo thời gian thực đã đề xuất. Cuối cùng là kết luận, hướng nghiên cứu tiếp theo và các phụ lục của luận án. CHƯƠNG 1 TỔNG QUAN VỀ TRUYỀN THÔNG ĐA HƯỚNG VÀ MÔ HÌNH HỆ THỐNG RoIP 1.1 Các phương thức truyền thông qua Internet Trong một thời gian ngắn, các dịch vụ truyền tải thời gian thực qua Internet đã phát triển nhanh chóng nhằm đáp ứng các nhu cầu trao đổi thông tin từ phạm vi hẹp như giữa các văn phòng đến phạm vi rộng như phục vụ các cuộc hội nghị thời gian thực đa điểm. Một đặc điểm nổi bật trong xu hướng phát triển các dịch vụ thời gian thực là mở rộng truy nhập vô tuyến tới người dùng và hợp nhất mạng viễn thông sử dụng các công nghệ khác nhau như thể hiện trên hình 1.1. Hình 1. 1: Mô hình mạng tích hợp phân cấp hỗn hợp trên nền IP Về tổng quát, truyền thông qua Internet được chia thành 3 phương thức sau [51]: - Phương thức truyền thông đơn hướng (unicast) thể hiện trên hình 1.2: Các gói tin được truyền tải từ một nguồn gửi đến một đích thu xác định (điểm-đến-điểm). Đây là mô hình truyền thông đơn giản đơn nhưng khó đảm bảo chất lượng dịch vụ khi số người dùng tăng lên. Khi số lượng người dùng lớn, số lượng kết nối đơn hướng cũng tăng lên tương ứng gây kéo theo tải lưu lượng mạng tăng do yêu cầu băng thông đường truyền tăng với cùng một nội dung thông tin trên cùng tuyến liên kết dẫn đến tình trạng tắc nghẽn mạng. Bên cạnh đó, tải xử lý của máy chủ cũng tăng lên do phải xử lý nhiều yêu cầu kết nối và có thể dẫn đến quá tải máy chủ. Hình 1. 2: Mô hình truyền tin đơn hướng - Phương thức truyền thông quảng bá (broadcast) thể hiện trên hình 1.3: Các gói tin được truyền tải từ một nguồn gửi đến tất cả các máy trạm trong mạng (điểm-đến- tất cả). Các gói tin quảng bá được xử lý bởi tất cả các máy trạm trong mạng, thậm chí cả trong trường hợp máy trạm không quan tâm đến dữ liệu đó. Điều này dẫn đến tải lưu lượng vô ích với một số máy trạm và khó khăn trong vấn đề bảo mật thông tin. Phương thức này giới hạn phạm vi hoạt động trong mạng LAN. Hình 1. 3: Mô hình truyền tin quảng bá. - Phương thức truyền thông đa hướng (multicast) thể hiện trên hình 1.4: Các gói tin được truyền tải từ một nguồn gửi đến một nhóm các máy trạm xác định (điểm-đến- nhóm). Phương thức này phụ thuộc vào hạ tầng mạng chuyển tiếp gói tin. Đây là mô hình truyền thông tận dụng được các ưu điểm và hạn chế các nhược điểm của unicast và broadcast. Đối lập với truyền thông đơn hướng, phương thức này giúp giảm lưu lượng mạng và tải xử lý của nguồn phát. Và khác với truyền thông quảng bá, phương thức truyền thông đa hướng có thể được triển khải trên diện rộng và qua mạng Internet. Hình 1. 4: Mô hình truyền tin đa hướng 1.2 Truyền thông đa hướng qua mạng IP Kỹ thuật truyền thông đa hướng (multicast communication) qua mạng IP lần đầu tiên được đề cập và hoạt động trên nền một hệ điều hành mạng phân bố với mục tiêu khi đó là thiết lập các cơ cấu giao thức cho phép truyền tải dữ liệu đa hướng giữa các phân mạng IP và cho phép luồng dữ liệu lưu chuyển qua các bộ định tuyến IP thuộc các thiết bị mạng lớp 3 cũng như phân bổ địa chỉ multicast và ánh xạ tới địa chỉ MAC của các thiết bị trong mạng Ethernet [13]. Bản khuyến nghị RFC 1112 [42] quy định giao thức chuẩn Internet mới để xây dựng các ứng dụng truyền thông đa hướng trên Internet. Về cơ bản, chuẩn này đưa ra mô hình mạng MBONE đi kèm với giao thức ấn định địa chỉ IP đa hướng lớp D và một số giao thức khác hỗ trợ thực hiện các ứng dụng trên nền multicast. Hình 1. 5: Tiến trình phát triển của MBONE Ứng dụng đầu tiên của multicast là truyền âm thanh và tiếng nói phục vụ hội thảo từ xa giữa trụ sở của IETF và các thành viên cũng như các cộng tác viên của họ trên toàn thế giới. Các ưu điểm của của truyền thông đa hướng đã thu hút được sự quan tâm trong cả nghiên cứu và ứng dụng. Số lượng thành viên tham gia các cuộc hội thảo trên mạng ngày càng lớn kéo theo sự phát triển ngày càng nhanh của multicast. Minh chứng cho sự phát triển nhanh chóng là sự mở rộng không ngừng của MBONE trên phạm vi toàn cầu với tiến trình phát triển thể hiện trên hình 1.2. 1.2.1 Khái niệm Truyền thông đa hướng là phương thức truyền dữ liệu đồng thời từ một máy trạm đến một nhóm máy trạm ( nhóm multicast ) hoặc từ một nhóm máy trạm này đến một nhóm máy trạm khác. Bên nhận sẽ xử lý dữ liệu nhận được sau đó gửi thông tin phản hồi đến các thành viên trong nhóm multicast. Một nhóm multicast được tạo bởi một tập hợp các thành viên có chung một địa chỉ nhóm multicast hay địa chỉ IP multicast. 1.2.2 Đặc điểm - Multicast sử dụng băng thông mạng một cách hiệu quả thông qua việc gửi cùng một gói tin đến nhiều đích thay vì chỉ đến một đích như trong truyền thông đơn hướng unicast. Vì thế nếu một luồng tín hiệu âm thanh tốc độ 64 kbps sẽ sử dụng cùng một băng thông mà không quan tâm đến việc số lượng máy trạm nhận yêu cầu kết nối đến máy chủ. - Các thành viên trong nhóm multicast có thể gia nhập hay rời khỏi nhóm tại thời điểm bất kỳ. Do đó, xét về khía cạnh quản lý thành viên nhóm thì multicast có tính chất động. - Multicast giúp giảm lưu lượng trên mạng thông qua cơ chế định tuyến. Theo đó, chỉ những bộ định tuyến có liên quan đến việc truyền gói tin multicast từ nguồn đến đích và được một server chỉ định tham gia phục vụ nhóm mới nhận và xử lý các gói multicast. - Multicast đặc biệt hiệu quả trong các ứng dụng hội thảo audio và video trên mạng. Multicast hỗ trợ một tập các giao thức cho phép xây dựng các ứng dụng thời gian thực trên mạng Internet. - Cấu trúc của mạng multicast có thể được xây dựng thành các ốc đảo giao tiếp với nhau qua bộ định tuyến hỗ trợ truyền thông đa hướng - mrouter . Các ốc đảo này liên kết với nhau bằng những liên kết ảo điểm - điểm. 1.2.3 Nguyên lý truyền thông đa hướng qua mạng IP Cấu trúc hệ thống truyền thông đa hướng được thể hiện trên hình 1.6. Tham gia phiên truyền thông đa hướng bao gồm các máy trạm đầu cuối và hệ thống các thiết bị mạng trung gian bao gồm các bộ định tuyến, các nút chuyển mạch và các tuyến liên kết. Mạng đường trục đa hướng MBONE [12] được xây dựng nhằm đánh giá các ứng dụng cũng như các giao thức được xây dựng phục vụ truyền thông multicast dữ liệu, audio và video. Hình 1. 6: Cấu trúc hệ thống truyền thông đa hướng qua mạng IP MBONE được thiết kế hoạt động ở lớp trên của Internet và được cấu thành bởi mạng lưới các ốc đảo multicast. Các ốc đảo giao tiếp với mạng bên ngoài thông qua một bộ định tuyến có khả năng xử lý các gói IP multicast thông qua hỗ trợ giao thức quản lý nhóm Internet IGMP và các giao thức định tuyến khác được xác định là một MRouter hay IP Multicast Router. Tiếp giáp với các ốc đảo là các bộ định tuyến IP truyền thống chỉ hỗ trợ xử lý các gói IP unicast được xác định là các URouter (IP Unicast Router). Các MRouter của các mạng khác nhau kết nối thông qua các liên kết ảo từ điểm tới điểm thông qua cơ chế đường hầm - tunneling. Kết quả là MBONE được hình thành nhờ tập hợp các MRouter được nối với nhau bởi các đường hầm bao phủ toàn mạng. Hình 1. 7: Cơ chế đường hầm liên kết các ốc đảo multicast Hình 1. 8: Đóng gói IP multicast theo cơ chế tunneling Đường hầm là cơ chế cho phép chuyển gói dữ liệu multicast từ MRouter nguồn đến MRouter đích thông qua các bộ định tuyến. MRouter nguồn thực hiện đóng gói và chuyển tiếp dữ liệu. Việc đóng gói theo cơ chế đường hầm thực hiện bổ sung thêm phần tiêu đề IP mới với địa chỉ đích là địa chỉ IP unicast của MRouter ở đầu bên kia của đường hầm và địa chỉ nguồn là địa chỉ IP unicast của MRouter đang gửi gói tin đó. Hình 1. 9: Cơ chế đường hầm liên kết các MRouter Các bộ định tuyến trung gian nằm trên tuyến liên kết từ MRouter nguồn đến MRouter đích sẽ xem gói này như gói dữ liệu unicast bình thường và truyền đi theo thông tin trong bảng định tuyến unicast. Ốc đảo multicast đích ở phía bên kia của đường hầm sẽ nhận gói unicast này và tách phần header đã được thêm vào rồi sau đó gửi gói dữ liệu đó đi một cách thích hợp. Với bộ định tuyến các gói dữ liệu được xem như đến từ MRouter lân cận và trong suốt đối với các bộ định tuyến trung gian. Đường đi trung gian đã bị ẩn đi đối với bộ định tuyến này. Khi đó các MRouter xử lý các gói IP multicast tương tự như các bộ định tuyến xử lý các gói IP unicast như thể hiện trên hình 1.8. Như thể hiện trên hình 1.1, MRouter R2 muốn gửi một gói tin IP đa hướng tới MRouter R5. Trước hết, R2 sẽ đóng vỏ gói tin (chuyển từ gói IP đa hướng thành gói IP đơn hướng) rồi chuyển tiếp tới URouter R3. Gói đa hướng này sẽ đi theo tuyến R3-R7-R8-R5. Như vậy, theo cơ chế đường hầm, với MRouter R5 thì gói tin này được xử lý với địa chỉ nguồn đến từ R2. 1.2.4 IP multicast 1.2.4.1 Các thành phần trong kiến trúc IP multicast Kiến trúc IP multicast được hình thành bởi 3 thành phần chính thể hiện trên hình 1.10, bao gồm: - Mô hình dịch vụ: có thành phần là các máy trạm đáp ứng các yêu cầu hỗ trợ multicast. - Giao thức quản lý nhóm Internet IGMP từ máy trạm đến bộ định tuyến mrounter: phục vụ quản lý các thành viên trong nhóm multicast. - Các giao thức định tuyến multicast: định tuyến gói tin từ nguồn đến các đích theo cơ chế truyền thông đa hướng. Hình 1. 10: Mô hình kiến trúc hệ thống IP Multicast 1.2.4.2 Mô hình nhóm dịch vụ đa hướng. a. Khái niệm: Một nhóm multicast là một tập hợp các máy trạm trên mạng cùng muốn nhận một dòng dữ liệu riêng. Các má trạm này có thể ở vị trí bất kỳ trên mạng Internet. Để gửi hoặc nhận được các gói multicast đến / từ một nhóm đa hướng thì trước hết máy trạm đó phải thỏa mãn 4 yêu cầu đối với một máy trạm multicast được quy định trong chuẩn RFC 1112. Sau đó, để trở thành thành viên của một nhóm multicast thì máy trạm phải gia nhập nhóm thông qua việc sử dụng giao thức IGMP. b. Đặc điểm - Các thành viên của nhóm có tính chất động, tức là máy trạm có thể gia nhập hay rời nhóm tại thời điểm bất kỳ. Một nhóm multicast có tính bảo mật cao do có tính chất của một mạng VLAN. - Tại cùng một thời điểm thì một máy trạm có thể là thành viên của nhiều nhóm khác nhau. - Khi đã gia nhập nhóm multicast và là thành viên của một nhóm thì máy trạm có thể nhận tất cả các gói tin gửi đến địa chỉ nhóm đó. - Để gửi dữ liệu đến một nhóm thì máy trạm không nhất thiết phải là thành viên của nhóm. c. Các mức hoạt động của một máy trạm: - Mức 0: là mức không hỗ trợ IP multicast. Hầu hết các host và router trên mạng ở tình trạng này vì hầu hết trong số chúng đều sử dụng IPv4, mà hỗ trợ multicast là không bắt buộc đối với IPv4 ( nhưng là bắt buộc đối với IPv6). Các host ở mức này không thể truyền cũng như nhận các gói multicast và bỏ qua các gói được gửi bởi các host có khả năng multicast. - Mức 1: là mức hỗ trợ gửi nhưng không nhận các gói multicast. Như vậy không nhất thiết phải gia nhập một nhóm multicast mới gửi được các gói multicast tới nhóm đó. - Mức 2: là mức hỗ trợ đầy đủ cho IP multicast. Các host thuộc mức này có khả năng gửi và nhận các gói multicast. Chúng phải biết cách gia nhập và rời nhóm multicast và truyền thông tin này đến các bộ định tuyến dựa trên giao thức IGMP ( Internet Group Management Protocol ). d. Địa chỉ multicast - Mỗi nhóm multicast có một địa chỉ multicast (địa chỉ lớp D) duy nhất. - Địa chỉ IP lớp D có 4 bit đầu là 1110, còn 28 bit sau để chỉ ra nhóm multicast. Địa chỉ multicast có phạm vi từ 224.0.0.0 đến 239.255.255.255 Hình 1. 11: Địa chỉ IP Multicast Tuy nhiên không phải tất cả địa chỉ nằm trong dải trên đều được dùng cho các nhóm multicast bởi một số địa chỉ đã được tổ chức cấp phát địa chỉ Internet IANA thiết lập và ứng dụng cho một số mục đích “chuyên dụng” được xem là các địa chỉ đặc biệt hay địa chỉ vĩnh cửu. Tổ chức IANA ấn định vùng địa chỉ từ 224.0.0.0 tới 224.0.0.255 cho các giao thức mạng sử dụng trong mạng cục bộ. Các gói mang địa chỉ này sẽ không được các bộ định tuyến chuyển tiếp mà bị giới hạn trong nội bộ mạng LAN. Các gói tin đó luôn được truyền với thời gian sống TTL ( Time To Live ) được thiết lập giá trị bằng 1. Các giao thức mạng sử dụng các địa chỉ này để bộ định tuyến tự động phát hiện và cập nhật các thông tin trong bảng định tuyến của nó. Dải địa chỉ từ 224.0.1.0 tới 224.0.1.255 cho phạm vi toàn cầu, phục vụ các phiên truyền thông multicast giữa các thành viên qua mạng Internet. Một số địa chỉ trong dải này đã được dành cho các ứng dụng multicast đã được IANA thông qua và chuẩn hóa. Phạm vi địa chỉ từ 239.0.0.0 tới 239.255.255.255 được dùng cho quản trị. Các bộ định tuyến được cấu hình có các bộ lọc để ngăn cản lưu lượng multicast trong phạm vi địa chỉ này truyền tải ra khỏi một hệ thống tự trị AS (Autonomous System) hay bất kỳ vùng người dùng định nghĩa nào. Trong phạm vi một hệ thống tự trị hay domain thì phạm vi địa chỉ giới hạn có thể được chia nhỏ hơn để định nghĩa các vùng multicast (domain) trong phạm vi cục bộ. Điều này cho phép sử dụng lại các địa chỉ giữa các domain nhỏ này. Phạm vi địa chỉ từ 233.0.0.0 tới 233.0.0.8 được dành cho các tổ chức đã có một số AS. Số AS của domain được thiết lập tại octet thứ 2 và thứ 3 của địa chỉ thuộc vùng này. Ví dụ: AS 62010 Æ Hex: F23A = F2 và 3A Ù 242 và 58. tương ứng với địa chỉ nhóm đa hướng là 233.242.58.0 Ngoài các địa chỉ đặc biệt kể trên thì các địa chỉ còn lại được xác định là các địa chỉ nhóm tùy biến và có thể sử dụng được cho các ứng dụng do người dùng xây dựng. Những nhóm đa hướng sử dụng các địa chỉ đa hướng tùy biến có tính chất tạm thời với ý nghĩa địa chỉ nhóm chỉ tồn tại khi trong nhóm còn có ít nhất 1 thành viên. Khi số thành viên trong nhóm bằng 0 thì nhóm đa hướng tự hủy. Khi đó nhóm truyền thông đa hướng khác có thể dùng lại địa chỉ nhóm vừa được giải phóng. e. Ánh xạ địa chỉ IP multicast với địa chỉ MAC. Địa chỉ Ethernet MAC bao gồm 48 bit và dùng bit trọng số thấp nhất LSB của octet đầu tiên để xác định phương thức truyền thông qua kiểu địa chỉ là unicast (0) hay multicast/broadcast (1). Khi đó, địa chỉ Ethernet MAC là multicast, nếu là lẻ, và trong trường hợp đặc biệt, khi mà tất cả 48 bit đều là 1 (0xFFFF.FFFF.FFFF) thì địa chỉ ứng với phương thức broadcast. Hình 1. 12: Cấu trúc địa chỉ MAC cho IP Multicast/Unicast Cơ chế ánh xạ “nhiều tới một” được thực hiện trong việc ánh xạ địa chỉ IP multicast tới địa chỉ Ethernet MAC như thể hiện trên hình 1.13 Cơ chế ánh xạ địa chỉ được thực hiện như sau: - 24 bit cao (từ octet 0 đến octet 2) của địa chỉ MAC luôn luôn là 0x 01-00-5E (hay 0000 0001 - 0000 0000 - 0101 1110 ) - Bit tiếp theo của địa chỉ MAC luôn là 1 - 23 bit còn lại của địa chỉ MAC là tương ứng với 23 bit địa chỉ IP multicast . Hình 1. 13: Cơ chế ánh xạ địa chỉ IP Multicast và địa chỉ MAC Như vậy, cùng một địa chỉ MAC multicast có thể cho phép ánh xạ bởi 32 địa chỉ IP multicast. Địa chỉ IP có 32 bit, khi dùng địa chỉ IP multicast thì dẫn đến có 4 bit trọng số cao nhất của nó lần lượt là: 0 1 2 3 1 1 1 0 Khi đó còn lại 28 bit dùng để gán địa chỉ IP multicast. Trong khi đó chỉ tồn tại 23 bit cho địa chỉ MAC multicast. Vì thế có 5 bit (từ 4 đến 8) không được dùng trong địa chỉ MAC multicast. Dẫn đến tương ứng với một địa chỉ MAC multicast là 25 = 32 địa chỉ IP multicast. 1.3 Truy nhập vô tuyến theo chuẩn IEEE 802.11 1.3.1 Phổ tần số vô tuyến Mạng vô tuyến sử dụng một dải tần xác định tương ứng với băng thông phản ánh khả năng của kênh truyền dẫn. Trong lý thuyết thông tin và xử lý tín hiệu cho thấy với băng thông càng lớn thì lượng thông tin có thể truyền tải càng nhiều. Việc sử dụng các phổ tần số được kiểm soát nghiêm ngặt với các tổ chức cấp phép riêng biệt và thường được thực hiện bởi tổ chức FCC. Để tránh trùng lặp, các tần số được chia thành các dải tần sử dụng cho các ứng dụng cụ thể như thể hiện trên bảng 1.1 trong đó băng tần 2.4 GHz được sử dụng phổ biến cho giao diện vô tuyến trong mạng WLAN theo chuẩn IEEE 802.11g. Bảng 1.1: Các băng tần vô tuyến Băng tần Phạm vi tần số S-Band 2-4 GHz S-Band ISM 2.4-2.5 GHz C-Band 4-8 GHz C-Band Satellite downlink 3.7-4.2 GHz C-Band Radar (weather) 5.25-5.925 GHz C-Band ISM 5.725-5.875 GHz C-Band satellite uplink 5.925-6.425 GHz X-Band 8-12 GHz X-Band Radar (police/weather) 8.5-10.55 GHz Ku-Band 12-18 GHz 1.3.2 Cấu trúc giao thức IEEE 802.11 IEEE 802.11 là cấu trúc giao thức thành viên của chuẩn giao thức IEEE 802.x. Tập này bao gồm một chuỗi các đặc tả về các kỹ thuật cho mạng LAN. Hình 1.14 thể hiện vị trí và mối liên hệ giữa các thành phần của họ giao thức 802 trong mô hình OSI. Hình 1. 14: Họ IEEE 802 và mối liên hệ với mô hình OSI Chuẩn IEEE 802.11 là một lớp liên kết có thể sử dụng gói 802.2/LLC. Đặc tả cơ bản của 802.11 bao gồm 802.11 MAC và lớp vật lý thực hiện trải phổ nhảy tần FHSS và lớp trải phổ dãy trực tiếp DSSS hoặc ghép kênh phân chia theo tần số trực giao OFDM. Bảng 1.2: Chỉ tiêu kỹ thuật các chuẩn IEEE 801.11 Tiêu chuẩn 802.11b 802.11a 802.11g Thời điểm ra đời 07-1999 07-1999 06-2003 Tốc độ tối đa 11 Mbps 54 Mbps 54 Mbps Phương thức điều chế CCK OFDM OFDM & CCK Tốc độ dữ liệu hỗ trợ 1, 2, 5.5, 11 Mbps 6,9,12,18,24,36, 48,54 Mbps CCK: 1, 2, 5.5, 11 OFDM: 6,9,12, 18, 24,36,48,54 Mbps Dải tần làm việc 2.4 - 2.497 GHz 5.15 - 5.35 GHz 5.425 - 5.675 GHz 5.725 - 5.875 GHz 2.4 - 2.497 GHz Bảng 1.2 thể hịên chỉ tiêu kỹ thuật của các chuẩn 802.11. Các sản phẩm dựa trên chuẩn 802.11 đã bắt đầu được sản xuất từ năm 1997. Các đặc tả của IEEE 802 được tập trung vào 2 lớp thấp nhất của mô hình OSI do chúng kết hợp chặt chẽ các thành phần vật lý và các thành phần liên kết dữ liệu. Tất cả các mạng 802.x đều bao gồm lớp điều khiển truy nhập phương tiện MAC và lớp vật lý PHY. MAC thực hiện thiết lập các nguyên tắc truy nhập và gửi dữ liệu. Quá trình truyền tin và nhận tin được xử lý bởi lớp vật lý. Chuẩn IEEE 802.11 cho phép truy nhập mạng di động, để thực hiện được mục đích này, một số các đặc điểm truyền thống được kết hợp chặt chẽ với MAC. Việc sử dụng sóng vô tuyến như một lớp vật lý yêu cầu một sự phức tạp tương đối của lớp vật lý. 802.11 chia lớp vật lý làm 2 thành phần chính: Lớp hội tụ PLCP thực hiện đưa các khung MAC vào môi trường lớp vật lý phụ thuộc và truyền đi các khung MAC. PLCP là lớp trung gian giữa MAC và các lớp vật lý, được chỉ ra trong hình 1.15. Trong 802.11, PLCP thêm một số trường vào khung trước khi các khung được truyền đi trong không gian. Hình 1. 15: Liên kết lớp MAC và lớp vật lý thông qua PLCP Mạng WLAN 802.11 bao gồm 4 thành phần vật lý chính mô tả trong hình 1.16 bao gồm: a. Hệ thống phân tán DS ( Distribution System ) Khi một số điểm truy nhập AP được kết nối nhằm tạo ra một miền phủ sóng rộng, chúng cần phải trao đổi với nhau để tìm ra sự di chuyển của các trạm di động. Hệ thống phân tán là thành phần logic của mạng 802 được sử dụng để đưa các khung thông tin tới điểm đích. Trong các sản phẩm thương mại, hệ thống phân tán được thực hiện bằng sự kết hợp giữa các cầu nối và môi trường hệ thống phân tán, hệ thống này là khung của mạng sử dụng giữa các điểm truy nhập. Hình 1. 16: Các thành phần của mạng WLAN 802.11 b. Các điểm truy nhập AP ( Access Point ) Cấu trúc khung trong mạng WLAN 802.11 cần phải được chuyển thành cấu trúc khung phù hợp cho các thiết bị của các mạng khác. Các thiết bị được gọi là điểm truy nhập AP thực hiện chức năng kết nối giữa không dây và có dây. c. Môi trường vô tuyến WM ( Wireless Medium ) Việc truyền tải các khung dữ liệu giữa các máy trạm được thực hiện thông qua môi trường vô tuyến. Một số môi trường vô tuyến ở lớp vật lý được xác định cho phép kết hợp để phát triển và hỗ trợ lớp MAC. Hai lớp môi trường vật lý sử dụng sóng vô tuyến và lớp vật lý hồng ngoại được tiêu chuẩn hóa. Hiện nay lớp vật lý môi trường vô tuyến được sử dụng rộng rãi. d. Các trạm STA ( STAtion ) Mạng được xây dựng để truyền dữ liệu giữa các trạm. Các trạm là các thiết bị đầu cuối với giao tiếp mạng vô tuyến thực hiện phối ghép thông qua các card giao tiếp vô tuyến theo chuẩn PCI, PCMCIA hoặc USB. 1.3.3 Các cấu hình mạng truy nhập vô tuyến Cấu hình BSS hay cấu hình cơ bản của một mạng 802.11 bao gồm một nhóm các trạm được kết nối với nhau. Sự kết nối diễn ra trong môi trường gọi là miền dịch vụ cơ bản, được xác định bởi đặc tính truyền dẫn của môi trường vô tuyến. Một trạm trong miền dịch vụ cơ bản có thể kết nối với các trạm khác trong BSS. Cấu hình BSS được chia thành 2 loại như thể hiện trên hình 1.17. a b Hình 1. 17: Cấu hình BSS và IBSS Cấu hình mạng độc lập IBSS Một mạng BSS độc lập (IBSS) được thể hiện ở hình 1.17a. Các trạm trong IBSS kết nối trực tiếp với nhau và do đó cần phải nằm trong phạm vi kết nối trực tiếp. Mạng 802.11 tối thiểu là mạng IBSS chỉ bao gồm 2 trạm. Cấu hình mạng phụ thuộc BSS Cấu hình mạng 802.11 phụ thuộc ( Infrastructure BSS ) thể hiện ở hình 1.17b được phân biệt bởi việc sử dụng điểm truy nhập AP (Access Point). Nếu một trạm di động trong BSS cần giao tiếp với trạm thứ hai, việc kết nối sẽ được thực hiện theo Cấu hình mạng độc lập IBSS hai bước. Trước tiên, trạm di động ban đầu sẽ gửi các khung tới điểm AP. Sau đó, AP sẽ truyền khung đó tới trạm thứ hai. Với tất cả các kết nối được thực hiện thông qua AP, miền dịch vụ cơ bản tương ứng với một Infrastructure BSS được xác định bởi các điểm mà tại đó các thông tin được truyền đi từ các điểm AP có thể nhận được. Mặc dù cơ chế truyền tin tiến hành theo 2 bước như trên sẽ chiếm nhiều dung lượng truyền dẫn hơn việc truyền một khung từ điểm phát tới điểm thu nhưng sẽ mang lại hai ưu điểm lớn: - Một BSS được xác định bởi khoảng cách tới AP và máy trạm. Để có thể tiến hành liên lạc, tất cả các trạm di động phải thỏa mãn yêu cầu nằm trong phạm vi liên lạc tới điểm truy nhập AP, nhưng không có sự hạn chế nào về khoảng cách giữa bản thân các trạm di động. Việc cho phép kết nối trực tiếp giữa các trạm di động sẽ tiết kiệm được dung lượng truyền tin nhưng sẽ làm tăng giá thành của lớp vật lý do các trạm di động cần được duy trì một quan hệ với các trạm di động khác trong vùng dịch vụ. - Các AP trong mạng phụ thuộc BSS sẽ giúp các máy trạm trong việc bảo vệ nguồn. Các điểm AP có thể đưa ra các thông báo khi._.thanh thời gian thực qua mạng IP, nội san Khoa học Kỹ thuật Truyền hình, số 2-2005, trang 37- 40, năm 2005. [4]. Đỗ Trọng Tuấn, Nguyễn Hữu Thanh, Mạng WLAN theo chuẩn IEEE 802.11, tạp chí Bưu chính Viễn thông & Công nghệ thông tin, số 263, trang 42- 43, năm 2005. [5]. Phạm Minh Hà, Đỗ Trọng Tuấn, Một phương pháp đảm bảo chất lượng tín hiệu phát thanh truyền tải qua mạng IP theo thời gian thực, tạp chí Khoa học & Công nghệ các Trường Đại học Kỹ thuật, số 57, trang 76-79, năm 2006. - XVII - TÀI LIỆU THAM KHẢO [1] ITU-T Recommendation G.114. Technical report, International Telecommunication Union , 1993. [2] ITU-T Recommendation G.113, Transmission impairments due to speech processing, 2001. [3] ITU-T Recommendation G.107. The E-model, A Computational Model for Use in Transmission Planning, 2000. [4] ITU-T Recommendation P.862. Perceptual Evaluation of Speech Quality (PESQ), An Objective Method for End-to-end Speech Quality Assessment of Narrowband Telephone Networks and Speech Codecs. [5] Grenville Armitage, Quality of Service in IP Networks: Foundations for a Multi- Service Internet, Lucent Technology, 2000 [6] Ramjee, R., Kurose, J., Towsley, D. & Schulzrinne, H. (1994) Adaptive Playout Mechanism for Packetised Audio Application in Wide-area Networks. IEEE, Toronto, Canada [7] Moon, S. B., Kurose, J. & Towsley, D. (1998) Packet Audio Playout Delay Adjustment: Performance Bounds and Algorithms. Acm Multimedia Systems. [8] Markopoulou, A. P., Tobagi, F. A. & Karam, M. J. (2002) Assessment of VoIP Quality over Internet Backbones. Proc. Of IEEE Infocom [9] Liang, Y. J., Farber, N. & Girod, B. (2001) Adaptive Playout Scheduling Using Time-Scale Modification in Packet Voice Communications. Stanford University, Stanford, CA 94305 [10] Y.J. Liang, N. Farber, and B. Girod, Adaptive playout scheduling and loss concealment for voice communication over IP networks, IEEE Transactions on Multimedia, 2003. [11] Jiang, W. & Schulzrinne, H. QoS Measurement of Internet Real-Time Multimedia Services. Technical Report, CUCS-015-99, Columbia University. [12] Macedonia, M. R., Brutzman, D. P., "MBone Provides Audio and Video Across the Internet," IEEE Computer, ftp://taurus.cs.nps.navy.mil/pub/mbmg/mbone.html. [13] Kevin C. Almeroth, The Evolution of Multicast: From the MBone to Inter- DomainMulticast to Internet2 Deployment, [14] Cole, R. G. & Rosenbluth, J. H. (2001) Voice over IP Performance Monitoring. Journal on Computer Communications Review. [15] Fujimoto, K., Ata, S. & Murata, M. Adaptive Playout Buffer Algorithm for Enhancing Perceived Quality of Streaming Application. IEEE Globecom, 2002. [16] Sun, L. F. & Ifeachor E. C. Prediction of perceived Convestional Speech Quality and Effects of Playout Buffer Algorithms. IEEE, ICC 03, Anchorage, USA, May 2003 - XVIII - [17] Mills, D. Internet Delay Experiments. ARPANET Working Group Requests for Comment, RFC 889, 1983. [18] F. Liu, J. W. Kim, and C. C. J. Kuo, Adaptive delay concealment for Internet voice applications with packet-based time-scale modification, Proc. IEEE Int. Conf. on Acoustics, Speech, Signal Processing (Utah, USA), 2001. [19] Marco Roccetti, Vittorio Ghini, Designed and Experimental Evaluation of an Adaptive Playout Delay Control Mechanism for Packetized Audio for Use over the Internet, Multimedia Tools and Application, 14, 23-53, 2001 [20] Athina P. Markopoulou, Fouad A. Tobagi, and Mansour J. Karam, Assessing the Quality of Voice Communications OverInternet Backbones, IEEE/ACM Transactions on netwoiking, 2003. [21] RFC3550: RTP: A Transport Protocol for Real-Time Applications [22] RFC3551: RTP Profile for Audio and Video Conferences [23] Rosenboerg, J., Qiu, L. & Schulzrinne, H. Integrating Packet FEC into Adaptive Voice Playout Buffer Algorithms on the Internet. IEEE Infocom 2000. [24] Jiang, W. & Schulzrinne, H. QoS Measurement of Internet Real-Time Multimedia Services. Technical Report, CUCS-015-99, Columbia University. [25] Jiang, W. & Schulzrinne, H. Analysis of on-off Patterns in RoIP and their Effect on Voice Traffic Aggregation. Proc, of ICCCN 2000. [26] Behrouz A Forouzan,Sophia Fegan, TCP/IP Protocol Suite, GrawHill 2000 [27] W.Richchard Stevent, Gary R.Wright , TCP/IP Illustrated, volume 1,2,3 [28] Perkins, C., Hodson, O. & Hardman, V. A Survey of Packet Loss Recovery Techniques for Streaming Audio. IEEE Network, Sept./Oct. 1998. [29] Y.J. Liang, N. F¨arber, and B. Girod, Adaptive playout scheduling using timescale modification in packet voice communications, in Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP-01), Salt Lake City, UT, May 2001, vol. 3, pp. 1445–8. [30] Douglas E.Comer, Internetworking with TCP/IP, vol 1, Prentice Hall, 2000 [31] Brian "Beej" Hall , Beej's Guide to Network Programming. Using Interet Sockets -2001; [32] Neill Wilkison, John Wiley & Sons, Next Generation Network Services: Technology and Strategies, 2002. [33] Christophe Diot. Brian Neil Levine. Bryan Lyles. Hassan Kassem, Doug Balensiefen, Deployment Issues for the IP Multicast Service and Architecture, - XIX - [34] L. Zhang, RSVP: A new resource reservation protocol, IEEE Network Magazine, Vol.7, pp. 8-18, 1993 [35] Fujimoto, K., Ata, S. & Murata, M. Adaptive Playout Buffer Algorithm for Enhancing Perceived Quality of Streaming Application. IEEE Globecom, 2002. [36] Sun, L. F. & Ifeachor E. C. Prediction of perceived Convestional Speech Quality and Effects of Playout Buffer Algorithms. IEEE, ICC 03, Anchorage, USA, May 2003 [37] Markopoulou, A. P., Tobagi, F. A. & Karam, M. J. Assessment of VoIP Quality over Internet Backbones. Proc. Of IEEE Infocom, 2002 [38] Liang, Y. J., Farber, N. & Girod, B. Adaptive Playout Scheduling Using Time- Scale Modification in Packet Voice Communications. Stanford University, Stanford, CA 94305 , 2001. [39] Ram Jadageesan, Packet Loss Model, Cisco System Inc, TR-41.3.3/99 [40] Jean-Chrisostome Bolot, Characterizing The End-To-End Behavior Of The Internet: Measurements, Analysis, And Applications, [41] Cole, R. G. & Rosenbluth, J. H. (2001) Voice over IP Performance Monitoring. Journal on Computer Communications Review, vol. 31, no.2. [42] S. Deering, Host Extensions for IP Multicasting - RFC 1112, [43] Jean-Chrisostome Bolot & Andres Vega Garcia, Control mechanisms for packet audio in the Internet, [44] Mills, D. Internet Delay Experiments. RFC 889, 1983. [45 ] Bob Melander, Mats Bjorkman, Trace-Driven Network Path Emulation, SITI/Ericson Project, [46] Maya Yajnik, Sue Moon, Jim Kurose and Don Towsley , Measurement and Modelling of the Temporal Dependence in Packet Loss, 0-7803-5420-6/99/ IEEE [47] Rosenboerg, J., Qiu, L. & Schulzrinne, H. Integrating Packet FEC into Adaptive Voice Playout Buffer Algorithms on the Internet. IEEE Infocom 2000. [48] Bolot, J. C. (1993) End-to-end Packet Delay and Loss Behaviour in the Internet. Proc. 1993 ACM SIGCOMM Conf. pp.289-298. [49] Jean-Chrisostome Bolot, End-to-End Packet Delay and Loss Behavior in the Internet , [50] Jiang, W. & Schulzrinne, H. Analysis of on-off Patterns in VoIP and their Effect on Voice Traffic Aggregation. Proc, of ICCCN 2000. [51] Cisco, Multicast Deployment Made Easy, ftp.uth.gr/Mbone/guides/Multicast_Deployment_Made_Easy.pdf [52] Perkins, Hodson and Hardman, A Survey of Packet Loss Recovery Techniques for Streaming Audio. IEEE Network, 1998. - XX - [53] Y.J. Liang, N. Farber, and B. Girod, Adaptive playout scheduling using timescale modification in packet voice communications, Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP-01), Salt Lake City, UT, May 2001, vol. 3, pp. 1445–8. [54] Y.J. Liang, N. Farber, and B. Girod, Adaptive playout scheduling and loss concealment for voice communication over IP networks, IEEE Transactions on Multimedia, 2003. [55] D.J. Goodman, G.B. Lockhart, O.J. Wasem, and W.-C. Wong, Waveform substitution techniques for recovering missing speech segments in packet voice communications, IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. 34, no. 6, pp. 1440–1448, Dec. 1986. [56] P.A. Chou and Z. Miao, Rate-distortion optimized streaming of packetized media, IEEE Transactions on Multimedia, 2001. ˜pachou. [57] Wai C. Chu, Speech Coding Algorithms -- Foundation and Evolution of Standardized Coders, Mobile Media Laboratory, California, 2003 [58] Internet 2005 Summary Final.pdf, [59] Thomas Williams & Colin Kelley, gnuplot, [60] xiph open source community, [61] The Network Simulator, [62] Nistnet homepage, [63] Dummynet homepage, [64] Christian Scherpe, Bernd E. WolfingerModel, Ingo Salzmann, Based Network Emulation to Study the Behavior and Quality ß Real-Time Application, DS-RT’03 proceeding, IEEE. [65] Jingping Bi, Qi Wu, Zhongcheng Li, Packet Delay and Packet Loss in the Internet, ISCC’02, IEEE. [66] Chu-Sing Yang, Yih-Ching Su and Chen -Wei Lee, The Analysis of Packet Loss Prediction for Gilbert-Model with Loss Rate Uplink, ICDCSW’03, IEEE. [67] Vincenzo Marziale, Andrea Vitaletti, University of Rome , A Framework for Internet QoS Requirements Definition and Evaluation: an experimental approach,. [68] Stephen J.Solari, Digital Video and Audio Compression,McGraw-Hill, 1997 [69] Arman Danesh and Michel Jang , Mastering Linux, SYBEX 2001 [70] Open Sound System, [71] data_traces, pinhu@plymouth.ac.uk [72] Virtual Private Network, - i - PHỤ LỤC Phụ lục 1: Các phương thức kết nối các thành phần của hệ thống RoIP thực nghiệm qua mạng diện rộng. Phụ lục 2: Một số kết quả so sánh giữa số liệu thu thập và đo đạc qua mô hình phỏng tạo tham số mạng Phụ lục 3: Một số kết quả đo đạc tham số chất lượng tại đầu thu khi thay đổi hệ số phát lặp gói tin tại đầu phát Phụ lục 4: Một số kết quả thống kê xác xuất xảy ra tổn thất của các gói tin liên tiếp . Phụ lục 5: Mã nguồn thực hiện thuận toán phát hiện khoảng tín hiệu tích cực / khoảng lặng tại bên phát. Phụ lục 6: Mã nguồn thực hiện mã hóa tín hiệu phát thanh. Phụ lục 7: Mã nguồn thực hiện giải mã tín hiệu phát thanh. Phụ lục 8: Mã nguồn thực hiện thuật toán thu dữ liệu từ thiết bị âm thanh và lưu vào bộ đệm phía phát. Phụ lục 9: Mã nguồn module tạo lịch trình gửi dữ liệu vào mạng. Phụ lục 10: Mã nguồn thực hiện thuật toán thu nhận dữ liệu từ mạng và lưu vào bộ đệm phía thu. Phụ lục 11: Mã nguồn thực hiện thuật toán ước đoán trễ mạng và biến động trễ trung bình của gói tin phục vụ quá trình tái tạo tín hiệu thích ứng. - ii - Phụ lục 1: Phương thức kết nối các thành phần của hệ thống RoIP thực nghiệm qua mạng diện rộng. a. Sử dụng phương thức chuyển đổi địa chỉ mạng NAT ( Network Address Translation) a. Sử dụng kết nối qua mạng riêng ảo VPN ( Virtual Private Network) [72] - iii - Phụ lục 2: Một số kết quả so sánh giữa số liệu thu thập và đo đạc qua mô hình phỏng tạo tham số mạng. a. Kết quả trễ mạng đo đạc qua kết nối giữa ĐHBK Hà Nội và ĐH Ryukyus b. Kết quả trễ mạng phỏng tạo theo phương không trực tuyến với sử dụng file số liệu đo đạc qua kết nối giữa ĐHBK Hà Nội và ĐH Ryukyus - iv - a. Kết quả trễ mạng đo đạc qua kết nối giữa ĐHBK Hà Nội và Thăng Long - Từ liêm Hà Nội b. Kết quả trễ mạng phỏng tạo theo phương không trực tuyến với sử dụng file số liệu đo đạc qua kết nối giữa ĐHBK Hà Nội và Thăng Long - Từ liêm Hà Nội - v - a. Kết quả trễ mạng đo đạc qua kết nối giữa Đại học Viễn thông Bắc Kinh Trung Quốc và Đại học Plymouth - Anh Quốc [71] b. Kết quả trễ mạng phỏng tạo theo phương không trực tuyến với sử dụng file số liệu đo đạc qua kết nối giữa ĐH Viễn thông Bắc Kinh Trung Quốc và Đại học Plymouth - Anh Quốc - vi - a. Kết quả trễ mạng đo đạc qua kết nối giữa Đại học Plymouth - Anh Quốc và Đại học Viễn thông Bắc Kinh Trung Quốc [71] b. Kết quả trễ mạng phỏng tạo theo phương không trực tuyến với sử dụng file số liệu đo đạc qua kết nối giữa Đại học Plymouth - Anh Quốc và Đại học Viễn thông Bắc Kinh Trung Quốc - vii - Phụ lục 3: Một số kết quả đo đạc tham số chất lượng tại đầu thu khi thay đổi hệ số phát lặp gói tin tại đầu phát. a. Kết nối giữa ĐHBK Hà Nội và Thăng Long - Từ liêm Hà Nội. Hệ số phát lặp gói tin Số gói tin phát ra Số gói tin thu được Số gói tổn thất Tỷ lệ tổn thất gói tin Trễ mạng nhỏ nhất Trễ mạng lớn nhất Trễ mạng trung bình 1 346 334 12 3,47 % 69 76 71,09 2 346 335 11 3,18 % 68 80 71,32 3 346 339 7 2,02 % 68 79 71,30 b. Kết nối qua chương trình phỏng tạo mạng sử dụng số lieụe đo đạc giữa Đại học Plymouth - Anh Quốc và Đại học Viễn thông Bắc Kinh Trung Quốc [71] Hệ số phát lặp gói tin Số gói tin phát ra Số gói tin thu được Số gói tổn thất Tỷ lệ tổn thất gói tin Trễ mạng nhỏ nhất [ms] Trễ mạng lớn nhất [ms] Trễ mạng trung bình 1 1000 878 122 12,00 % 122,54 832,19 271.58 2 926 871 55 5,94 % 122,00 832,00 253,77 3 443 419 24 5,42 % 122,00 799,00 262,70 - viii - Phụ lục 4: Một số kết quả thống kê xác xuất xảy ra tổn thất của các gói tin liên tiếp . a. Kết nối giữa ĐH Viễn thông Bắc Kinh Trung Quốc và ĐH Plymouth - Anh Quốc [71] Tổng số gói tin tổn thất :: 5 / 1000 [packets] ~ 0.5 [%] Số gói tin tổn thất đơn = 3 ~ 60.00 [%] Số gói tin tổn thất 2 lần liên tiếp = 1 ~ 40.00 [%] b. Kết nối giữa ĐH Plymouth - Anh Quốc và ĐH Viễn thông Bắc Kinh Trung Quốc [71] Tổng số gói tin tổn thất :: 122 / 1000 [packets] ~ 12.2 [%] Số gói tin tổn thất đơn = 31 ~ 25.41 [%] Số gói tin tổn thất 2 lần liên tiếp = 12 ~ 19.67 [%] Số gói tin tổn thất 3 lần liên tiếp = 8 ~ 19.67 [%] Số gói tin tổn thất 4 lần liên tiếp = 3 ~ 9.84 [%] Số gói tin tổn thất 5 lần liên tiếp = 1 ~ 4.10 [%] Số gói tin tổn thất 6 lần liên tiếp = 2 ~ 9.84 [%] Số gói tin tổn thất 7 lần liên tiếp = 2 ~ 11.48 [%] c. Kết nối giữa ĐHBK Hà Nội và ĐH Okinawa - Nhật Bản Tổng số gói tin tổn thất :: 16 / 601 [packets] ~ 2.66223 [%] Số gói tin tổn thất đơn = 16 ~ 100.00 [%] d. Kết nối giữa ĐHBK Hà Nội và ĐH Okinawa - Nhật Bản Tổng số gói tin tổn thất :: 159 / 1008 [packets] ~ 15.7738 [%] Số gói tin tổn thất đơn = 116 ~ 72.96 [%] Số gói tin tổn thất 2 lần liên tiếp = 17 ~ 21.38 [%] Số gói tin tổn thất 3 lần liên tiếp = 3 ~ 5.66 [%] e. Kết nối giữa ĐHBK Hà Nội và Thăng Long, Từ Liêm - Hà Nội Tổng số gói tin tổn thất :: 12 / 346 [packets] ~ 3.46821 [%] Số gói tin tổn thất đơn = 12 ~ 100.00 [%] - ix - Phụ lục 5: Mã nguồn thực hiện thuận toán phát hiện khoảng tín hiệu tích cực / khoảng lặng tại bên phát. Thuật toán thực hiện xác định gói tin cần truyền mang tín hiệu tích cực hay khoảng lặng của tín hiệu phát thanh dự trên việc tính toán năng lượng và so sánh ngưỡng. Quá trình phát hiện mức tín hiệu tích cực được thực hiện bằng cách gọi hàm: double SoundDevice:: silenceDetect ( char *inputData, int inputSize ) Trong đó : inputData: khối dữ liệu vào mang tín hiệu phát thanh nguồn, inputSize : kích thước khối dữ liệu dữ liệu đầu vào bộ mã hóa. Trước hết, chương trình xác định số mẫu tính hiệu trong một gói tin từ khối dữ liệu đầu vào input Data. Tính toán năng lượng từng mẫu tín hiệu và lưu vào biến totalEnergy. Cuối cùng, mức năng lượng tín hiệu trung bình everageEnergy của các mẫu trong gói tin được xác định. Giá trị biến everageEnergy được so sánh với ngưỡng năng lượng tín hiệu phát thanh tích cực activeSignalTheshold. Hàm trả về kết quả 0 nếu là khoảng lặng của tín hiệu và giá trị mức năng lượng trung bình của mẫu tín hiệu trong gói tin nếu là khoảng tín hiệu tích cực. Mã nguồn chương trình: #define energy (x) pow (x ,2 ) double SoundDevice::silenceDetect ( char *inputData, int inputSize ) { double averageEnergy = 0; int numberSample = size *8 / bitPerSample; for ( int i = 0 ; i < numberSample ; i++ ) { if (bitPerSample ==8) { averageEnergy += energy (* ( data + i ) ); } else if ( bitPerSample ==16 ) { averageEnergy += energy ( * (short * ) ( data + i*2 ) ); } } printf ("%d :: %0.3f\n", seq, averageEnergy/numberSample); // seq: thứ tự gói tin - x - return (averageEnergy / numberSample ); } a. Giao diện chương trình xử lý số liệu khoảng tích cực / khoảng lặng của tín hiệu b. Minh họa khoảng tích cực / khoảng lặng của tín hiệu phát thanh Phụ lục 6: Mã nguồn thực hiện mã hóa tín hiệu phát thanh. Quá trình mã hóa tín hiệu được thực hiện bằng cách gọi hàm: int encodeData ( char * inputData, int inputSize, char * outputData ); Trong đó : inputData: khối dữ liệu vào mang tín hiệu phát thanh nguồn, inputSize : kích thước khối dữ liệu dữ liệu đầu vào bộ mã hóa. outputData : khối dữ liệu đã được mã hóa. - xi - Hàm mã hóa tín hiệu encodeData trả về dung lượng của khối dữ liệu đã được mã hóa. Khối dữ liệu vào được chia thành các khung dữ liệu có dung lượng 160 Bytes. Mỗi khung dữ liệu được mã hóa dựa trên thuật toán nén tín hiệu sử dụng thư viện . Tùy thuộc vào mức chất lượng mà độ dài khung dữ liệu đã mã hóa có kích thước khác nhau. Các khung dữ liệu sau khi mã hóa được ghép lại thành khối dữ liệu đã được mã hóa outputData và dung lượng của khối dữ liệu này sẽ được trả về. Mã nguồn chương trình: # define FRAME_SIZE 160 int SpeexCodec::encodeData ( char* inputData , int inputSize, char *outputData ) { int outputSize = 0; int nbBytes = 0; int numberFrame = inputsize / ( FRAME_SIZE * sizeof ( short ) ); char *cbits = ( char * ) malloc ( 200 ); float *input = ( float * ) malloc ( FRAME_SIZE * sizeof ( float ) ); short * buffer16 = ( short * ) inputData; for ( int i = 0 ; i < numberFrame ; i++ ) { // thực hiện mã hóa tín hiệu speex_bits_reset ( &bits ); for ( int j = 0 ; j < FRAME_SIZE ; j ++ ) *( input + j ) = * ( buffer16 + j + i * FRAME_SIZE ); speex_encode ( state, input, &bits); nbBytes = speex_bits_write ( &bits, cbits, 200 ); memcpy ( outputdata + i * nbBytes , cbits , nbBytes ); outputSize += nbBytes; } - xii - return outputSize; } Phụ lục 7: Mã nguồn thực hiện giải mã tín hiệu phát thanh. Quá trình giải mã tín hiệu được thực hiện bằng cách gọi hàm: int decodeData ( char * inputData, int inputSize , int nbBytes , char * outputData ); Trong đó : inputData: khối dữ liệu vào mang tín hiệu phát thanh đã được mã hóa, inputSize : kích thước khối dữ liệu dữ liệu đầu vào bộ giải mã. nbBytes : số Byte tương ứng với mức chất lượng nén là tham số cung cấp cho bộ giải nén phục vụ giải mã dữ liệu tương ứng với mức chất lượng đã mã hóa. outputData : khối dữ liệu đã được giải mã. Hàm mã hóa tín hiệu decodeData trả về dung lượng của khối dữ liệu đã được giải mã. Khối dữ liệu đầu vào được chia nhỏ thành các khung dữ liệu đã mã hóa có kích thước nbBytes. Các khung này được giải nén thành các khung ban đầu dữ liệu mang tín hiệu phát thanh nguồn có kích thước FRAM_SIZE (160 bytes) dựa trên thuật toán giải nén sử dụng thư viện trong . Các khung dữ liệu sau khi giải mã được ghép lại thành khối dữ liệu outputData phục vụ tái tạo tín hiệu phát thanh và dung lượng của khối dữ liệu này sẽ được trả về. Mã nguồn chương trình: int SpeexCodec::decodeData ( char* inputData,int inputSize, int nbBytes, char* outputData ) { int numberFrame = inputSize / nbBytes; int outputSize = 0; float *output = ( float * ) malloc ( FRAME_SIZE * sizeof ( float ) ); - xiii - short *data = ( short * ) malloc (FRAME_SIZE * sizeof ( short ) ); for ( int i = 0 ; i < numberFrame ; i ++ ) { // thực hiện giải mã tín hiệu speex_bits_read_from ( &bits , inputData + i * nbBytes , nbBytes ); speex_decode ( state, &bits, output ); for ( int j = 0 ; j < FRAME_SIZE ; j ++ ) * ( data + j ) = * ( output + j ); memcpy ( outputData + i * FRAME_SIZE * sizeof ( short ) , ( char * ) data , FRAME_SIZE * sizeof ( short ) ); outputsize += FRAME_SIZE * sizeof ( short ) ; } return outputSize; } Phụ lục 8: Mã nguồn thực hiện thuật toán thu dữ liệu từ thiết bị âm thanh và lưu vào bộ đệm phía phát. Dữ liệu nguồn mang tín hiệu phát thanh đã được số hóa đọc từ bộ đệm của thiết bị âm thanh được lưu vào bộ nhớ trung gian soundBuffer theo độ dài gói tin packetLength được thiết lập trước. Kế tiếp, thuật toán xác định mức năng lượng tín hiệu phát thanh tích cực được thực hiện. Kết quả trả về sẽ quyết định gói tin có được lưu vào bộ đệm phát trong trường hợp mang tín hiệu tích cực hay bị loại bỏ trong trường hợp mang tín hiệu khoảng lặng. Dữ liệu trước khi lưu vào bộ đệm phát sẽ được mã hóa theo loại tải tin xác lập trước. Các phần tử mang dữ liệu lưu trong bộ đệm phát sẽ được gửi vào mạng theo điều khiển của bộ điều khiển lịch trình phát. Mã nguồn chương trình: void SoundDevice::capture( ) - xiv - { // cấp phát bộ đệm lưu dữ liệu nguồn char* soundBuffer = ( char * ) malloc ( packetLength); int seqNumber = 0; int totalSilencePacket = 0 ; int nbBytes = speexEncode->getEncodedByte ( qualityLevel ); int outputSize = len * nbBytes / FRAME_SIZE * sizeof ( short ) ; char * speexData = ( char * ) malloc ( outputSize ); stopTxProccess = FALSE; openSoundDevice( O_RDONLY); txBuffer->clear(); while ( ! stopTxProccess ) { if ( totalSilencePacket == SILENCE_PACKET_NUMBER) { for ( int i = SILENCE_PACKET_NUMBER - 1 ; i > 0 ; i--) { if ( txBuffer->count() >= i ) { txBuffer->remove ( txBuffer->count() - i ); totalSilencePacket = 1; } else { totalSilencePacket = txBuffer->count(); } } - xv - } // Đọc dữ liệu từ bộ đệm của thiết bị âm thanh và lưu vào bộ đệm trung gian int size = read ( sound_fd, soundBuffer, packetLength); sound_item_t * item = new sound_item_t; item->seqNumber = seqNumber; item->mark = silenceDetect (soundBuffer, size); if ( item->mark == 0) // tăng số biến đếm các gói tin liên tiếp mang tín hiệu không tích cực totalSilencePacket ++ ; else // Gói tin bắt đầu chu kỳ tín hiệu phát thanh tích cực, thiết lập lại biến đếm số gói tin mang tín hiệu khoảng lặng totalSilencePacket = 0 ; switch ( codecType ) { case PCM: item->length = size; item->data = ( char * ) malloc ( item->length ); memcpy ( item->data, soundBuffer, size ); break; case SPEEX : item->length = speexEncode->encodeData ( soundBuffer, size, speexData); item->data = ( char * ) malloc ( item->length ); memcpy ( item->data , speexData, item->length); break; } - xvi - // Đưa gói dữ liệu vào bộ đệm phát txBuffer->append ( item ); seqNumber ++ ; } closeSoundDevice ( ); } Phụ lục 9: Mã nguồn module tạo lịch trình gửi dữ liệu vào mạng. void VoVBuffer::txTimerExpired() { if ( ( txBuffer->count( ) txFlag ) { txBufferProgressBar->setProgress( txBuffer->count( ) ); return; } else capturer->txFlag = TRUE; if ( txBuffer->isEmpty( ) && !capturer->txFlag ) { txTimer->stop(); stateInfor->info(); return; } if ( txBuffer->isEmpty( ) && capturer->txFlag ) { return; } else { rtp_header_t * rtpHeader = new rtp_header_t; rtpHeader ->seqNumber = txBuffer->at(0)->seqNumber; rtpHeader ->length = txBuffer->at(0)->length; rtpHeader ->timeStamp = QTime::currentTime ( Qt::UTC ); - xvii - int headerSize = sizeof (rtp_header_t ); int packetSize = headerSize + txBuffer->at(0)->length; if ( ( txBuffer->at(0)->mark != 0) { switch ( codecType ) { case PCM : rtpHeader->payloadType = PCM; break; case SPEEX: rtpHeader->payloadType = SPEEX; } } else rtpHeader->payloadType = SILENCE; char * rtpPacket = (char * ) malloc ( packetSize); memcpy (rtpPacket , rtpHeader , headerSize ); memcpy (rtpPacket+headerSize, txBuffer->at(0)->data, txBuffer->at(0)->length); sendDataToNetwork ( rtpPacket, packetSize); delete rtpHeader; free ( rtpPacket ); txBuffer->removeFirst(); } Phụ lục 10: Mã nguồn thực hiện thuật toán thu nhận dữ liệu từ mạng và lưu vào bộ đệm phía thu. Module chương trình thực hiện thao tác đọc dữ liệu từ socket, tách dữ liệu mang tín hiệu phát thanh lưu vào bộ đệm tại tạo, xử lý thông tin điều khiển, giải mã tín hiệu và tính toán thời điểm tái tạo tín hiệu phát thanh của mỗi gói tin. Mã nguồn chương trình: # define alpha 0.998002 - xviii - void PlayoutBuffer::receiveData ( char * data, int size) { rtp_header_t * rtpHeader = new rtp_header_t; rtpHeader = (rtp_header_t * ) data; int inputSize; inputSize = rtpHeader ->length; char * inputData = ( char * ) malloc ( inputSize ); int nbBytes = speexDecode->getEncodedByte ( qualityLevel ); int outputSize = inputSize * FRAME_SIZE * sizeof ( short ) / nbBytes; char* outputData = ( char * ) malloc ( outputSize); QTime rxTime = QTime::currentTime ( Qt::UTC ); long rxTime = timeConversion ( rxTime ); long txTime = timeConversion (rtpHeader->txTime); int currentNetworkDelay = rxTime - txTime; memcpy ( inputData , data + sizeof ( rtpHeader ), inputSize); if ( rtpHeader->payloadType == SILENCE ) { startTalkSpurt = FALSE; return; } else { sound_item_t *item = new sound_item_t; item->seqNumber = rtpHeader->seqNumber; switch ( rtpHeader->payloadType ) { case PCM : - xix - item->length = inputSize; item->data = ( char * ) malloc ( item->length ); memcpy ( item->data , inputData , inputSize ); break; case SPEEX : item->length = speexDecode->decodeData ( inputData , inputSize, nbBytes , outputData); item->data = ( char * ) malloc ( item->length); memcpy ( item->data , outputData, item->length ); break; } if ( startTalkSpurt ) { // bắt đầu một chu kỳ tín hiệu phát thanh tích cực mới. if ( !startFlag ) { // bắt đầu nhận dữ liệu, khởi tạo đồng hồ tạo lịch trình tái tạo tín hiệu. previousPlayoutTime = rxTime; playoutTime = ( int ) ( txTime + currentAvarageDelay + 4 * currentDelayVariation ); item->interval = playoutTime - previousPlayoutTime; previousPlayoutTime = playoutTime; pushDataToPlayoutBuffer ( item ); if ( algorithmType == SPIKE_DET ) { beforePreviousNetworkDelay = currentNetworkDelay; previousNetworkDelay = currentNetworkDelay; - xx - delayMode = NORMAL; } playoutTimer->start ( item->interval, TRUE ); startFlag = TRUE ; } else { // Thiết lập thời điểm tái tạo tín hiệu của gói đầu tiên của chu kỳ tín hiệu phát thanh tích cực mới . playoutTime = ( int ) ( txTime + curentAverageDelay + 4 * currentDelayVariation ); item->interval = playoutTime - previousPlayoutTime; previousPlayoutTime = playoutTime; // Đưa dữ liệu vào bộ đệm tái tạo pushDataToPlayoutBuffer ( item ); // Ước đoán trễ mạng. networkDelayEstimation ( currentNetworkDelay ); } startTalkspurt = TRUE; } else { // Tái tạo tín hiệu từ các gói tin trong cùng chu kỳ tín hiệu tích cực. playoutTime = previousPlayoutTime + packetTimeLength; // Thiết lập thời điểm tái tạo tín hiệu. item->interval = playoutTime - previousPlayoutTime; previousPlayoutTime = playoutTime; // Đưa dữ liệu vào bộ đệm tái tạo pushDataToPlayoutBuffer ( item ); // Ước đoán trễ mạng. - xxi - networkDelayEstimation ( currentNetworkDelay ); } } } Phụ lục 11: Mã nguồn thực hiện thuật toán ước đoán trễ mạng và biến động trễ trung bình của gói tin phục vụ quá trình tái tạo tín hiệu thích ứng Trễ mạng ước đoán được xác định thông qua hàm: void PlayoutBuffer::networkDelayEstimation ( int currentNetworkDelay); Căn cứ vào trễ mạng của gói tin hiện tại currentNetworkDelay [ms]. Thuật toán hàm trung bình mũ EXP_AVG và thuật toán SPIKE_DETECT được sử dụng để tính toán trễ mạng trung bình currentAverageDelay và biến động trễ mạng trung bình currentDelayVariation. Các thông số trên được sử dụng phục vụ việc tạo lịch trình tái tạo tín hiệu phát thanh thích ứng theo tình trạng trễ mạng. Mã nguồn chương trình: # define spike_factor 0.875 void PlayoutBuffer::networkDelayEstimation ( int currentNetworkDelay) { swicth ( algorithmType ) { case EXP_AVG: currentAverageDelay = alpha * previousAverageDelay + ( 1 - alpha ) * currentNetworkDelay ; currentDelayVariation = alpha * previousDelayVariation + ( 1 - alpha ) * abs ( currentAverageDelay - currentNetworkDelay ); break; case SPIKE_DET: if (delayMode == NORMAL ) { - xxii - if ( abs ( currentNetworkDelay - previousNetworkDelay ) > abs ( 2 * currentDelayVariation ) + 800 ) { // đột biến trễ bắt đầu xuất hiện var = 0; delayMode = SPIKE; } } else { // mode:: SPIKE var = var / 2 + abs ( 2 * currentNetworkDelay - previousNetworkDelay - beforePreviousNetworkDelay ) / 8; if ( var <= 63 ) { delayMode = NORMAL; beforePreviousNetworkDelay = previousNetworkDelay; previousNetworkDelay = networkDelay; return; } } if ( delayMode == NORMAL ) { currentAverageDelay = (1 - spike_factor) * currentNetworkDelay + spike_factor * previousAverageDelay; } else - xxiii - { // delayMode:: SPIKE currentAverageDelay = previousAverageDelay + ( currentNetworkDelay - previousNetworkDelay); } currentDelayVariation = spike_factor * previousDelayVariation + (1 - spike_factor) * abs (curentNetworkDelay - current AverageDelay); beforePreviousNetworkDelay = previousNetworkDelay; previousNetworkDelay = currentNetworkDelay; break; } } ._.

Các file đính kèm theo tài liệu này:

  • pdfLA3002.pdf
Tài liệu liên quan