Tài liệu Nâng cao chất lượng thoại trên mạng ip bằng kỹ thuật bù mất gói

  • Số trang: 14 |
  • Loại file: PDF |
  • Lượt xem: 80 |
  • Lượt tải: 0
thuvientrithuc1102

Đã đăng 15893 tài liệu

Mô tả:

1 2 BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG Công trình ñươc hoàn thành tại TRƯƠNG LÊ PHƯƠNG ANH ĐẠI HỌC ĐÀ NẴNG Người hướng dẫn khoa học: TS. Phạm Văn Tuấn. Phản biện 1: TS. Ngô Văn Sỹ NÂNG CAO CHẤT LƯỢNG THOẠI Phản biện 2: TS. Lương Hồng Khanh TRÊN MẠNG IP BẰNG KỸ THUẬT BÙ MẤT GÓI Luận văn sẽ ñược bảo vệ trước Hội ñồng chấm Luận văn Chuyên ngành: Kỹ thuật ñiện tử Mã số : 60.52.70 tốt nghiệp Thạc sĩ ngành Kỹ thuật ñiện tử họp tại Đại học Đà Nẵng vào ngày 26 tháng 06 năm 2011. TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Có thể tìm luận văn tại: Đà Nẵng, năm 2011 - Trung tâm Thông tin - Học liệu Đại học Đà Nẵng - Trung tâm Học liệu Đại học Đà Nẵng 3 4 Phạm vi nghiên cứu : Công nghệ VoIP và các tiêu chuẩn QoS liên quan. MỞ ĐẦU 4. MỤC TIÊU NGHIÊN CỨU 1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI Ngày nay, khi xã hội phát triển, nhu cầu liên lạc của con người càng Nghiên cứu ñể hiểu rõ các phương pháp bù mất gói. 5. PHƯƠNG PHÁP NGHIÊN CỨU trở nên bùng nổ và cấp thiết, các yêu cầu về loại hình dịch vụ thông tin Về lý thuyết: Thu thập tài liệu ñể nghiên cứu các biện pháp bù mất ngày càng phong phú. Tuy nhiên các dịch vụ này lại chiếm rất nhiều gói ñể nâng cao chất lượng thoại. băng thông ñường truyền. 6. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI Để sử dụng tài nguyên viễn thông một cách hiệu quả nhất, kỹ thuật - Ứng dụng lý thuyết của kỹ thuật xử lý tín hiệu và các phương pháp chuyển mạch gói ñã ra ñời. Công nghệ này chia dữ liệu cần vận chuyển xử lý tiếng nói ñể nâng cao chất lượng truyền dẫn thoại. thành các gói (hay các khung) có kích thước và ñịnh dạng xác ñịnh. Mỗi - gói như vậy sẽ ñược vận chuyển riêng rẽ và ñến nơi nhận bằng các ñường hành hệ thống VoIP. truyền khác nhau. Khi toàn bộ các gói dữ liệu ñã ñến nơi nhận thì chúng 7. KẾT CẤU CỦA LUẬN VĂN sẽ ñược hợp lại thành dữ liệu ban ñầu. Hỗ trợ hiểu biết cho bản thân với tư cách là một kỹ thuật viên vận Luận văn gồm 4 chương: Tiết kiệm băng thông ñường truyền và nâng cao chất lượng cuộc gọi là ñiều quan trọng mà nhà cung cấp dịch vụ cần phải quan tâm. Tuy CHƯƠNG 1 – TỔNG QUAN VoIP & CHẤT LƯỢNG TRUYỀN DẪN THOẠI TRONG MẠNG IP nhiên, khi truyền thoại trên mạng chuyển mạch gói, do thoại là dịch vụ thời gian thực nên nó chỉ cho phép thời gian trễ và tỷ lệ mất gói thấp. Mất gói lớn xảy ra làm chất lượng cuộc gọi kém ñi, gây khó chịu cho khách hàng. Vì vậy, việc nghiên cứu và áp dụng các biện pháp ñể nâng cao chất lượng cuộc gọi trong mạng IP là ñiều rất cần thiết. 2. MỤC ĐÍCH NGHIÊN CỨU Đề tài tiến hành nghiên cứu tổng quan VoIP; các yếu tố ảnh hưởng chất lượng thoại, các nguyên nhân dẫn ñến việc mất gói thoại; tìm hiểu mô hình tạo tiếng nói, phân tích và áp dụng phương pháp bù mất gói thoại ñể nâng cao ñược chất lượng dịch vụ. 3. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU Đối tượng nghiên cứu : - Phương pháp xử lý tiếng nói . - Phương pháp bù mất gói ñối với thoại trong mạng IP. 1.1. GIỚI THIỆU VoIP Công nghệ VoIP (Voice Over Internet Protocol) là công nghệ truyền thoại gói. Nguyên tắc thoại trên IP bao gồm việc số hóa tiếng nói, tiếp theo là nén tín hiệu số phù hợp, chia tín hiệu thành các gói dữ liệu, cuối cùng là truyền các gói dữ liệu này trên mạng sử dụng công nghệ IP. Đến nơi nhận, các gói dữ liệu ñược tập hợp lại, tín hiệu dữ liệu nhận ñược giải mã, sau ñó ñược chuyển ñổi thành tín hiệu tương tự ñể phục hồi âm thanh. 1.2. LỢI ÍCH CỦA VoIP 1.3. H.323 – TIÊU CHUẨN VẬN CHUYỂN TIẾNG NÓI TRÊN MẠNG IP 1.3.1. Khái niệm H.323 1.3.2. Kiến trúc H.323 5 6 1.3.3. Các giao thức ñiều khiển, thiết lập cuộc gọi trong H.323 1.4. CHẤT LƯỢNG TRUYỀN DẪN THOẠI TRONG MẠNG IP Hình 1.6. Hệ thống VoIP ñiển hình 1.4.1.1. Trễ do Gateway gây ra Gateway là thiết bị trung gian giữa các mạng, thực hiện chức năng “phiên dịch”, thực hiện xử lý DSP và gói hóa thoại. Các gói thoại ñược truyền linh hoạt trong mạng IP nhờ cơ chế hoạt ñộng hiệu quả của các bộ Giao diện mạng Xử lý tín hiệu số PCM DSP coding ñịnh tuyến (Router). Router nhận các gói thoại trên ñường truyền, lần lượt bóc tách các header và ñọc ñịa chỉ IP mạng ñể xác ñịnh ñường ñi tối ưu nhất tới ñích. Xử lý gói Bộ ñệm và ñóng gói Giao diện mạng T1, E1 Bộ ñệm Jitter Vì ñược thực hiện nhiều quá trình xử lý tại Gateway (DSP, ñóng TCP/IP Ngăn xếp giao thức gói..) và phải qua nhiều Router trên ñường truyền ñể ñến ñích nên thời gian trễ của gói thoại lớn, ñiều này ảnh hưởng rất nhiều ñến chất lượng thoại. Về bản chất, mạng IP lại là mạng best-effort, nó không ñảm bảo tin Giao diện mạng Ethernet cậy hoàn toàn, do vậy, mất gói luôn luôn có thể xảy ra… Để cung cấp thoại có chất lượng tốt nhất, ta cần quan tâm ñến các Hình 1.7. Quá trình xử lý của Gateway yếu tố ảnh hưởng chất lượng như: trễ, mất gói hay echo; từ ñó ñề ra các • Trễ giao diện mạng phương thức giảm thiểu những ảnh hưởng này. • Trễ trong quá trình xử lý tín hiệu số IP Xử lý tín hiệu số ñược thực hiện bằng phần cứng DSP chuyên dụng 1.4.1. Trễ Trễ trong hệ thống VoIP cơ bản từ hai nguồn: trễ do bản thân hay kết hợp thuật toán phần mềm ñể thực hiện: nén/ giải nén tiếng nói, Gateway gây ra và trễ do bản thân mạng dùng ñể kết nối hai Gateway phát hiện tone, phát hiện im lặng, tạo tone, tạo nhiễu dễ chịu và triệt echo gây ra. Vì trễ là tích lũy, do vậy, bất cứ thời gian trễ nào do các thành trên từng khung tiếng nói. Quá trình DSP thực hiện xử lý toàn bộ các phần của VoIP gây ra sẽ trực tiếp ảnh hưởng ñến tổng thời gian trễ toàn khung dữ liệu cùng một lúc. hệ thống. Trong VoIP, mục tiêu phấn ñấu là thời gian trễ một hướng nhỏ hơn 300 ms Thời gian trễ của quá trình xử lý số tùy thuộc vào kích thước khung (frame) ñối với từng phương pháp mã hóa thoại. • Trễ xử lý gói Sau khi thực hiện xử lý số, hệ thống VoIP ñặt vào bộ ñệm các khung dữ liệu tiếng nói ñã ñược mã hóa trước khi gói hóa ñể truyền ñi. Mỗi gói dữ liệu VoIP bắt ñầu với 40 byte header của giao thức IP, UDP và RTP. Header chứa ñịa chỉ IP nguồn/ñích, số cổng UDP, số thứ 7 8 tự gói và các thông tin cần thiết khác ñể truyền dữ liệu. Sau header, có một hay nhiều khung dữ liệu thoại mã hóa theo sau. Quyết ñịnh dồn nén nhiều khung dữ liệu vào một gói ñơn là sự cân nhắc quan trọng ñối với mỗi hệ thống VoIP. Nếu khung dữ liệu có kích Sau ñây là các kỹ thuật ñược sử dụng ñể hiệu chỉnh và khôi phục sự mất gói. Các kỹ thuật này sẽ ñược trình bày kỹ hơn trong chương 3 phía sau. • Khôi phục các gói bị mất ở phía phát thước nhỏ hơn so với 40 byte header, thì cần ñặt nhiều hơn một khung - Media-independent FEC thoại mã hóa vào mỗi gói IP ñể giảm lãng phí do header IP gây ra. Tuy - Media-dependent FEC: các gói thoại dự phòng ñược ñi kèm với nhiên, ñiều này gây thêm nhiều thời gian trễ do thêm thời gian của chu các gói thoại khác ñể có thể thực hiện khôi phục gói bị mất. - Một gói thoại ñược chia ra thành các unit nhỏ hơn và xếp xen kẻ kỳ khung khác. 1.4.1.2. Trễ do mạng IP gây ra nhau trong các gói khác nhau. 1.4.2. Echo • 1.4.3. Mất gói Mạng VoIP là mạng không tin cậy về bản chất nên thường xảy ra hiện tượng mất gói. Phần lớn nguyên nhân mất gói có thể là: - Bên thu bù mất gói bằng cách thay thế nhiễu nền vào vị trí các gói bị mất hay lặp lại gói cuối cùng nhận ñược trong suốt khoảng thời gian khi gói bị mất. - Thực hiện ngoại suy hay nội suy gói bị mất từ các gói ñược nhận - Mất gói vì lỗi truyền dẫn. Nếu checksum kiểm tra bị hỏng thì gói bị loại bỏ. trước hay gói nhận sau.[12] - Gói bị mất do nghẽn mạng (mạng quá tải). Nếu không ñủ không gian bộ ñệm trong các Router, hàng ñợi xảy ra hiện tượng tràn. Một Khôi phục các gói bị mất ở phía thu - Thực hiện tái tạo gói bị mất theo mô hình huấn luyện. 1.5. KẾT LUẬN CHƯƠNG Router thường có bộ ñệm giao tiếp ở ngõ vào, bộ ñệm hệ thống và bộ Chương 1 ñã trình bày một cách tổng quan về VoIP và các vấn ñề ñệm giao tiếp ở ngõ ra. Mất gói ở ngõ vào thường xảy ra khi Router cần quan tâm ñể nâng cao chất lượng tiếng nói trong mạng IP. Tuy nhiên, không thể xử lý các gói ñủ nhanh. Mất gói ở ngõ ra khi kết nối ở ngõ ra ñể có cơ sở thực hiện việc bù mất gói sẽ trình bày ở chương 3, ta cần hiểu quá bận. thêm về cơ chế tạo tiếng nói và các kỹ thuật xử lý. - Mất gói xảy ra do gói trải qua một thời gian trễ trên mạng quá lớn và ñến ñích quá trễ. Chương 2 sẽ trình bày mô hình tạo tiếng nói, các kỹ thuật trong xử lý tín hiệu tiếng nói và phương pháp mã hóa ñược ứng dụng trong VoIP. Đối với các ứng dụng không phải thời gian thực như truyền file hay email.., mất gói không quan trọng vì nó dùng cơ cấu phát lại. Tuy nhiên, CHƯƠNG 2 - KỸ THUẬT XỬ LÝ TIẾNG NÓI DỰA TRÊN MÃ trong trường hợp thông tin thoại thời gian thực, các gói ñến phải nằm HÓA DỰ ĐOÁN TUYẾN TÍNH trong cửa sổ thời gian thực tương ñối hẹp ñể tái tạo tín hiệu tiếng nói. Do vậy cơ cấu phát lại thực sự không phù hợp. 2.1. QUÁ TRÌNH TẠO TIẾNG NÓI 2.2. 9 10 Hình 2.2. Mô hình cơ học của cơ quan phát âm người Hình 2.7. Phân tích tín hiệu thành frame MÔ HÌNH DỰ ĐOÁN TUYẾN TÍNH 2.4. PHƯƠNG PHÁP PHÂN TÍCH MÃ HÓA DỰ ĐOÁN TUYẾN TÍNH Tín hiệu tiếng nói thay ñổi theo thời gian. Ứng với một ñoạn tiếng nói ngắn (gọi là segment hay frame), tiếng nói ñược xem là tín hiệu dừng. Nói cách khác, mô hình bộ máy phát âm là không ñổi trên mỗi segment. Thông thường, mỗi segment có chiều dài 20ms, nếu tiếng nói ñược lấy mẫu tại tần số 8kHz thì số mẫu trong 1 segment là 160 mẫu. Hình 2.6. Mô hình toán học của việc tạo tiếng nói Xét một frame tiếng nói: Đối với mô hình dự ñoán tuyến tính trên, bộ Từ nguyên lý tạo tiếng nói người như trên, một mô hình toán học máy phát âm ñược xem như bộ lọc toàn cực với ñầu vào bộ lọc là một (mô hình mã hóa dự ñoán tuyến tính) ñược dùng ñể mô phỏng việc tạo chuỗi nhiễu trắng hay là một dãy xung tựa tuần hoàn; ñầu ra bộ lọc là tiếng nói:[13] tiếng nói số. Bộ lọc này là bộ lọc ñệ quy nhưng chỉ lấy ñầu vào là mẫu Mối quan hệ giữa mô hình vật lý và mô hình toán học: Bộ máy phát âm <=> H(z) ( Bộ lọc LPC) Không khí <=> u(n) (Kích thích) Sự rung của dây thanh âm <=> V (Voiced) Chu kỳ rung của dây thanh âm <=> T (Chu kỳ pitch) 2.3. Phụ âm sát và phụ âm bật <=> UV (Unvoiced) Độ lớn không khí <=> G (Độ lợi) FRAMING, OVERLAP-ADDING TRONG XỬ LÝ TÍN HIỆU TIẾNG NÓI âm kích thích hiện tại u(n) ñể tính thay vì lấy m mẫu quá khứ của u(n). Tiếng nói ñầu ra ñược mô tả bằng công thức: M s (n) = Gu (n) − ∑ a k s (n − k ) (2.2) k =1 Với ak là hệ số dự ñoán tuyến tính. M: bậc dự ñoán . ≈ Gọi s (n) là mẫu hiện tại của tiếng nói ñược dự ñoán tuyến tính từ M mẫu quá khứ của tiếng nói. ≈ M s (n) = ∑ a k s (n − k ) (2.3) k =1 Như vậy, sai lệch e(n) giữa mẫu tiếng nói thực và mẫu dự ñoán: ≈ M e( n ) = s ( n ) − s ( n ) = s ( n ) − ∑ a k s ( n − k ) (2.4) k =1 Do vậy, tổng của sai lệch dự ñoán bình phương của cả frame: M N : kích thước của frame m : số lượng frame E = ∑ e 2 (n) = ∑ (s(n) − ∑ ak s(n − k ))2 n n k =1 (2.5) 11 12 2.4.1. Xác ñịnh các thông số bộ lọc và ñộ lợi Để xác ñịnh các hệ số bộ lọc dự ñoán tuyến tính, ta phải tối thiểu hóa Hình 2.9. Thuật toán CELP tổng sai lệch bình phương E bằng cách thiết lập ñạo hàm của E ñối với 2.5.1. ∂ E với 1≤k≤M (2.6) = 0 ∂ a k Hệ số bộ lọc ak (hệ số dự ñoán tuyến tính) ñược giải bằng thuật toán a k bằng Quá trình mã hóa CELP Input speech samples Preprocessing Levinson-Durbin. Fixed codebook search Hệ số ñộ lợi có giá trị bình phương bằng năng lượng dư thừa trong LP analysis quantization interpolation LPC info Gc quá trình tối ưu hóa bình phương ñể tìm các thông số ak. [13] Gp 2.4.2. Xác ñịnh Voiced/Unvoiced và xác ñịnh chu kỳ pitch Synthesis filter + Adaptive codebook 2.4.3. Bộ mã hóa LPC -10 LPC info Trong b ộ mã hóa LPC-10, tín hiệu tiếng nói ñược chia thành khung Pitch analysis có chiều dài 20ms hay 160 mẫu với tần số lấy m ẫu l à 8kHz. B ậc c ủa ñược chuyển sang thông số cặp phổ vạch LSP tương ñương vì LSP có ñộ Pitch ổn ñịnh cao hơn. Quá trình mã hóa LPC sẽ tính toán và truyền ñi các thông số bộ lọc, Gain quantization ñó. Hình 2.10. Bộ mã hóa CELP Vì tốc ñộ của bộ mã hóa LPC-10 là 2.4kbps, do vậy, số bit cần dùng 2.5.2. ñể mã hóa 1 khung là: 2400*0.02 = 48 bit. PHƯƠNG PHÁP MÃ HÓA CELP LPC spectral analysis Adaptive codebook search Speech Stochastic codebook search ACB-gain ACB-index Spectral parameters Linear prediction filter SCB-gain SCB-index Stochastic excitation + Delay Quá trình giải mã CELP Code index,sign Divide into 4 subframes Spectral filtering LPC info Encoded bit stream of payload bytes dấu hiệu xác ñịnh voiced/unvoiced và chu kỳ pitch của khung tiếng nói Divide into N frames Perceptual weighting Fixed codebook search bộ lọc LPC là 10. Thông thường, 10 thông số bộ lọc dự ñoán tuyến tính 2.5. + Adaptive excitation 10110 Gain Fixed codebook search Gain parameters Gp Pitch delay Adaptive codebook LSP Gc LP filter extraction Decoded + Synthesis filter Post filter High-pass filter samples 2.6. 13 14 Hình 2.11. Bộ giải mã CELP Hình 3.2. Cơ chế phục hồi FEC KẾT LUẬN CHƯƠNG Chương này trình bày phương pháp phân tích tín hiệu tiếng nói. Đây là cơ sở thực hiện nâng cao chất lượng tiếng nói ở chương 3. CHƯƠNG 3 - CÁC PHƯƠNG PHÁP BÙ MẤT GÓI & ĐÁNH GIÁ CHẤT LƯỢNG TIẾNG NÓI 3.1. CÁC KỸ THUẬT PHỤC HỒI MẤT GÓI Có hai kỹ thuật phục hồi mất gói: kỹ thuật phục hồi mất gói từ phía phát và kỹ thuật bù mất gói ở phía thu. Hai phương pháp này ñều cố gắng phục hồi gói bị mất ñể cho tiếng nói có chất lượng tốt nhất. 3.1.1. Kỹ thuật phục hồi mất gói từ phía phát Kỹ thuật này có thể phân chia như theo hình dưới ñây:[12] Hình 3.3. Ví dụ cơ chế phục hồi gói Redundancy Khôi phục mất gói ở phía phát Bị ñộng Redundacy (Media dependent) Sửa lỗi FEC (Media independent) 3.1.1.3. Kỹ thuật sắp xếp xen kẻ (Interleaving) Chủ ñộng Xen kẻ gói Truyền lại gói Hình 3.1. Phân loại kỹ thuật phục hồi mất gói từ phía phát 3.1.1.1. Truyền gói lại 3.1.1.2. Sửa lỗi phía trước (FEC-Forward Error Corection) Hình 3.4. Ví dụ cơ chế sắp xếp xen kẻ 3.1.2. Kỹ thuật bù mất gói từ phía thu Kỹ thuật này tạo ra sự thay thế gói bị mất bởi gói tương tự nguyên bản. 3.1.2.1. Bù mất gói bằng kỹ thuật chèn (Insertion) 15 16 Cơ chế khôi phục mất gói này có các loại: N Voice packets  11 12 13 - Tín hiệu dư thừa (sai lệch) chứa thông tin về tín hiệu kích thích. 16 14 15 x(n) = ∑ a (i ) x(n − i ) + e(n) 17 Lost Lost x x 18 19 20 Tiếng nói ñược tạo ra bằng cách cho tín hiệu kích thích ñi qua một bộ lọc tổng hợp (bộ máy phát âm) Các gói nhận ñược có chỉ thị mất gói (a) 11 12 (b) 13 14 15 Phương pháp bù này ñược thực hiện hoàn toàn từ bên thu ñối với tín Nhiễu Nhiễu 18 19 hiệu PCM. Nguyên tắc cơ bản của thuật toán này là ước tính hệ số LP 20 20 {a(i)} và tín hiệu kích thích {e(n)} của gói (frame) tiếng nói bị mất dựa Khôi phục bằng thay thế nhiễu nền 11 12 13 14 15 15 (3.1) i =1 vào thông tin ñược trích ra từ frame tiếng nói nhận tốt trước ñó. Hai 15 18 19 20 thông số này ñược kết hợp ñể tạo ra xấp xỉ cho gói bị mất. (c) Khôi phục bằng lặp lại gói trước ñó • Bộ phân tích LP Khối này dùng ñể tìm các hệ số LP {a(i)}, mô phỏng hình dạng bộ Hình 3.5. Kỹ thuật phục hồi mất gói từ phía thu theo cơ chế chèn máy phát âm của một frame tiếng nói. 3.1.2.2. Bù mất gói dựa vào mô hình LP Frame tiếng nói nhận tốt trước ñó ñược ñưa vào bộ phân tích LP bậc Kỹ thuật này dùng mô hình dự ñoán tuyến tính LP (Linear 10 ñể ñược tạo ra 10 hệ số dự ñoán tuyến tính nhờ thuật toán Levinson- Prediction) của quá trình tạo tiếng nói. Durbin. 10 hệ số này ñược dùng làm hệ số của bộ lọc dự ñoán và bộ lọc Pitch detector Past samples x(n) tổng hợp. • Các mẫu thuộc frame trước ñó ñược lọc bằng bộ lọc dự ñoán và chỉ Pitch period P Prediction filter e(n) Residual signal LP coefficients a(i) ∧ Excitation generator e(n ) Bộ lọc dự ñoán Synthesis filter Excitation signal LP analysis Reconstructed signal ∧ còn lại tín hiệu dư thừa. Tín hiệu này ñược dùng ñể dự ñoán pitch trong frame tiếng nói và tạo tín hiệu kích thích cho frame bị mất. x(n ) 10 e(n) = x(n) − ∑ a (i ) x(n − i ) (3.2) i =1 • Bộ dự ñoán pitch Khối này thực hiện ước ñoán pitch của frame nhận tốt trước ñó từ tín hiệu dư thừa. Thông tin pitch này ñược dùng ñể xây dựng tín hiệu kích Hình 3.6. Sơ ñồ khối thuật toán bù mất gói dựa vào mô hình LP Theo mô hình LP, tín hiệu tiếng nói x(n) gồm hai thành phần: - Thông số dự ñoán chứa thông tin bộ máy phát âm. thích của frame bị mất. Đối với frame unvoiced, tín hiệu dư thừa không có chu kỳ pitch. 17 18 Đối với frame voiced, vì tần số cơ bản của tiếng nói nằm trong Tín hiệu tiếng nói của frame bị mất ñược tái tạo bằng cách cho tín khoảng 50Hz – 500Hz, chu kỳ pitch ñược xác ñịnh bằng cách tìm ñỉnh hiệu kích thích khi ñi qua bộ lọc tổng hợp ñể ñược thêm vào thông tin bộ của dãy chuẩn hóa re(n)/re(0) trong khoảng thời gian tương ứng 3 ñến máy phát . Các hệ số LP trong bộ phân tích LP ñược dùng làm hệ số 15ms trong frame tiếng nói 20ms theo công thức sau: trong bộ lọc tổng hợp. Bộ lọc tổng hợp là bộ lọc toàn cực bậc 10. ∧ 10 re (n) = ∑ ra (i)r (n − i) (3.3) (3.4) i =1 ∑ • Phương pháp bù mất gói dựa theo mô hình LP là phương pháp ngoại dụng thời gian thực. 3.1.2.3. Bù mất gói dùng dự ñoán tuyến tính ñệ quy s(n)s (n + i) (3.5) n=0 Phương pháp này dùng dự ñoán tuyến tính một cách ñệ quy ñể ước lượng frame (gói) bị mất từ các mẫu (sample) tiếng nói thuộc các frame Chu kỳ pitch bằng giá trị n=Np, với re(Np)/re(0) là lớn nhất. • (3.6) sau vì như thế sẽ tăng thêm thời gian trễ, ñiều này không tốt cho các ứng 10 ra (n) = ∑ ak (i )ak (i + n) N −1 ∧ suy, nó chỉ dùng các frame ñược nhận trước ñó, không dùng các frame và của các mẫu trong 1 frame. r (i ) = ∧ i =1 i =1 Với ra(i), r(n-i) lần lượt là chuỗi tự tương quan của các hệ số dự ñoán 10 x(n) = ∑ a (i ) x(n − i ) + e(n) kế cận nhận ñược. Bộ tạo tín hiệu kích thích Tín hiệu dư thừa và chu kỳ pitch của frame nhận ñược trước ñó ñược dùng ñể tạo ra tín hiệu kích thích cho frame bị mất. Nếu frame nhận ñược trước ñó là unvoiced thì tín hiệu kích thích của frame bị mất là nhiễu. Nếu frame nhận ñược trước ñó là voiced thì tín hiệu kích thích của frame bị mất ñược tạo ra bằng cách: lặp P (pitch) mẫu cuối cùng trong tín hiệu dư thừa nhiều lần cho tới khi ñiền ñầy số mẫu trong tín hiệu kích thích. ñệ quy P P Hình 3.8. Sơ ñồ khối thuật toán bù mất gói dùng dự ñoán tuyến tính Residual signal P P P Excitation signal Bù mất gói ñơn dùng cả dự ñoán trước và dự ñoán sau. Công thức dự ñoán trước (forward prediction) một mẫu từ các mẫu nhận ñược trước ñó: ∧ Hình 3.7. Cách tạo tín hiệu kích thích của frame bị mất từ frame trước ñó • Bộ lọc tổng hợp x f ,n = −1 * N ∑ i=1 a ix n − i (3.7) 19 20 ∧ ∧ Với x f ,n là mẫu ñược dự ñoán thuộc frame bị mất, xn −i là các mẫu x b ,n = − 1 * tiếng nói thuộc frame ñược nhận trước ñó. N là bậc dự ñoán; ai là hệ số ( x n −i với i= 1, 2, …, M và M là chiều dài của frame tiếng nói). Hệ số LPC ñược tính bằng công thức Levinson-Durbin. ∧ Các mẫu sau ñó, x f ,n + i ñược dự ñoán một cách ñệ quy bởi các mẫu ∧ ñã ñược dự ñoán và các mẫu nhận ñược trước ñó. Ví dụ, x f ,n và xi ∧ với i=n-1, n-2,…., n-N+1 ñược dùng ñể dự ñoán mẫu x f ,n +1 . Với ∑ i =1 ∧ LPC ñược tính từ M mẫu thuộc frame nhận ñược trước frame bị mất N b i x n−i+ N +1 (3.9) x b ,n là mẫu ñược dự ñoán sau thuộc frame bị mất, x n − i + N + 1 là các mẫu tiếng nói thuộc frame nhận ñược sau ñó; bi là hệ số LPC ñược tính từ M mẫu thuộc frame nhận ñược sau frame bị mất. Hệ số LPC cũng ñược tính bằng công thức Levinson-Durbin. Vì thực hiện dự ñoán sau nên cần nhận ñược frame phía sau frame bị mất, do vậy, thời gian trễ xử lý tăng lên. Quá trình dự ñoán mẫu ñược lặp lại cho toàn bộ frame bị mất với trật tự thời gian ngược. Độ lợi thích ứng Gb ñược áp dụng theo cách tương tự. G b bắt ñầu bằng 1 tại cuối frame bị mất và bằng 1.8 tại ñầu frame bị mất. Độ lợi ñược nhân vào các mẫu tiếng nói dự ñoán. ∧ ∧ Có hai ước ñoán cho frame bị mất, ñó là x f ,n + i và x b , n + i . Dự ñoán ∧ ∧ Hình 3.9. Sơ ñồ khối thuật toán dự ñoán các mẫu LPC Trong quá trình dự ñoán các mẫu của gói bị mất, hệ số LPC của frame bị mất vẫn dùng nguyên lại hệ số LPC của frame nhận tốt trước ñó. Quá trình dự ñoán mẫu ñược lặp lại cho toàn bộ frame bị mất. ∧ x f ,n + i = −1* ∑ j =1 a j x Do vậy, cần kết hợp hai dự ñoán với trọng số tuyến tính ñể ñạt ñược dự ñoán của một mẫu ñơn giản: ∧ f ,n + i − j (3.8) Khi dự ñoán, ñộ lợi của tiếng nói dự ñoán bị giảm dần. Vì vậy, cần có một ñộ lợi tăng tuyến tính G f thêm vào. G f bắt ñầu bằng 1 tại ñầu frame bị mất và bằng 1.8 tại cuối frame bị mất. Độ lợi ñược nhân vào các mẫu tiếng nói dự ñoán. Dự ñoán sau (backward prediction) là dự ñoán bằng cách dựa vào các mẫu phía sau. Công thức sau là dự ñoán sau của một mẫu từ các mẫu nhận ñược sau ñó: tốt hơn phần sau của frame bị mất. x ∧ N trước x f ,n + i dự ñoán phần ñầu của frame bị mất tốt hơn; x b , n + i dự ñoán ∧ n+i = ( 1 − α ). x ∧ f ,n + i + α .x b ,n + i (3.10) Với α là trọng số tăng tuyến tính, α=0 tại ñầu frame bị mất và bằng 1 tại cuối frame bị mất. Theo phương pháp dự ñoán ñệ quy, bù mất gói ñơn thực hiện nội suy từ gói trước và gói sau của gói bị mất. Nội suy gói bị mất từ gói ở hai chiều cải thiện tốt hơn chất lượng tiếng nói, tuy nhiên, nó làm tăng ñộ trễ xử lý vì phải ñợi thêm gói thoại. 3.2. CÁC PHƯƠNG PHÁP ĐÁNH GIÁ CHẤT LƯỢNG TIẾNG NÓI 3.2.1. Phương pháp ñánh giá chủ quan 3.2.1.1. Phương pháp ñánh giá tuyệt ñối ACR Đánh giá chất lượng tiếng nói theo thang ñiểm MOS từ 1 -> 5 21 22 3.2.1.2. Phương pháp ñánh giá tương ñối Bước 3: Thực hiện các phương pháp bù mất gói dựa trên cơ sở dữ liệu • Đánh giá bằng phương pháp so sánh các mẫu tín hiệu theo CCR Bước 4: Thực hiện ñánh giá chất lượng thoại sau khi ñược bù mất gói • Phương pháp ñánh giá theo sự suy giảm chất lượng DCR Bước 5: Nhận xét & ñánh giá 3.2.2. Phương pháp ñánh giá khách quan 4.3. LƯU ĐỒ CÁC PHƯƠNG PHÁP BÙ MẤT GÓI 3.2.2.1. Đo tỷ số tín hiệu trên nhiễu trên từng khung • Trong miền thời gian • Trong miền tần số Bắt ñầu Bắt ñầu V = Vector mất gói 3.2.2.2. Đo khoảng cách phổ dựa trên LPC • Phương pháp ño LLR • Phương pháp ño IS • Phương pháp ño theo khoảng cách cepstrum 3.2.2.3. Đánh giá mô phỏng theo cảm nhận nghe của con người • • Phương pháp ño Weighted Spectral Slope Phương pháp ñánh giá cảm nhận chất lượng thoại PESQ 3.3. KẾT LUẬN CHƯƠNG Chương này ñã trình bày các phương pháp khôi phục mất gói ở phía phát & ở phía thu, ñồng thời trình bày một số phương pháp chủ quan & khách quan chất lượng tiếng nói. CHƯƠNG 4 – THỰC HIỆN MÔ PHỎNG & ĐÁNH GIÁ CÁC Giả lập mất gói ñơn trên từng câu theo các tỷ lệ mất: 5%, 10%, 15%, 20%, 25%, 30%, 35%, 40% Thực hiện bù mất gói theo các phương pháp: - Thay thế bằng nhiễu - Lặp lại gói nhận ñược trước ñó - Dựa vào mô hình LP - Dự ñoán tuyến tính ñệ quy PHƯƠNG PHÁP BÙ MẤT GÓI 4.1. i = 1; (xét chỉ số thứ i của V) Cơ sở dữ liệu Ứng với mỗi chỉ số chỉ gói bị mất: Lấy gói trước ñó ñể thực hiện bù cho gói bị mất. Nếu mất gói ñầu tiên thì bù gói ñầu tiên bằng gói nhiễu. Từ gói nhận ñược trước ñó, xác ñịnh các thông số: Hệ số dự ñoán tuyến tính LPC Tín hiệu residual Voiced/Unvoiced Chu kỳ pitch P Độ lợi Gain - - GIỚI THIỆU CHƯƠNG Dựa vào lý thuyết ñã nghiên cứu ñược, chương này xây dựng các lưu Cơ sở dữ liệu mới dùng cho việc ñánh giá chất lượng ñồ thuật toán bù mất gói ở bên nhận và thực hiện mô phỏng các thuật - Thực hiện tạo gói bị mất: Nếu gói trước là Unvoiced, gói bị mất có: + Tín hiệu kích thích là nhiễu + Hệ số LPC & Gain là các hệ số của gói trước ñó. Nếu gói trước là Voiced, gói bị mất có: + Tín hiệu kích thích ñược tạo ra bằng cách lấy P giá trị cuối cùng trong tín hiệu residual và lặp lại nhiều lần cho ñến hết chiều dài gói + Hệ số LPC & Gain là các hệ số của gói trước ñó. Thực hiện giải mã LPC cho gói bị mất toán bù này bằng Matlab. Sau ñó ñánh giá các kết quả thu ñược bằng các phương pháp ñánh giá khách quan và chủ quan. 4.2. Kết thúc QUY TRÌNH MÔ PHỎNG BÙ MẤT GÓI VÀ ĐÁNH GIÁ THUẬT TOÁN Bước 1: Xây dựng thuật toán Bước 2: Mô phỏng cơ sở dữ liệu bị mất gói i = i+1; Y i ≤ length(V) Hình 4.1. Lưu ñồ tổng quát thực hiện bù mất gói N Ghép các gói lại theo tỷ lệ chồng lấp overlap là 50% Kết thúc 24 23 Hình 4.2. Lưu ñồ thực hiện bù mất gói dựa vào mô hình LP 4.4. Bắt ñầu Hình 4.3. Lưu ñồ bù mất gói dùng dự ñoán tuyến tính ñệ quy ĐÁNH GIÁ KHÁCH QUAN CHẤT LƯỢNG TIẾNG NÓI SAU KHI ĐƯỢC BÙ MẤT GÓI Có nhiều tiêu chí ñể ñánh giá khách quan chất lượng tiếng nói như: V = Vector mất gói i = 1; (xét chỉ số thứ i của V) Ứng với mỗi chỉ số chỉ gói bị mất: Lấy gói trước ñó và gói sau ñể thực hiện bù cho gói bị mất. Nếu mất gói ñầu tiên thì bù bằng backward prediction Nếu mất gói cuối cùng thì bù bằng forward prediction - Đo tỷ số tín hiệu trên nhiễu trên từng khung - Đo khoảng cách phổ dựa trên hệ số dự ñoán tuyến tính LPC - Đánh giá mô phỏng theo cảm nhận nghe của con người Các tiêu chí ñánh giá khách quan này ñều dựa vào sự so sánh giữa file sạch và file ñã ñược bù mất gói. Forward prediction: - ai Từ gói nhận ñược trước ñó, xác ñịnh: N hệ số dự ñoán tuyến tính LPC Dự ñoán các mẫu của gói bị mất từ các mẫu của gói trước ñó: ∧ x f = , n N − 1 ∑ * a i = 1 - Gf tăng tuyến tính, Gf Từ gói nhận ñược phía sau, xác ñịnh: N hệ số dự ñoán tuyến tính LPC Dự ñoán các mẫu của gói bị mất từ các mẫu của gói phía sau: N ∧ x b ,n = − 1 * ∑ i=1 - Gb tăng tuyến tính, i x n − i = 1 tại ñầu frame bị mất và bằng 1.8 tại cuối frame bị mất. Backward prediction: - (i=1 N). bi bi x Hình 4.5. Đánh giá khách quan theo FWSEG-MARS (i=1 N). n − i+ N +1 Gb = 1 tại cuối frame bị mất và bằng 1.8 tại ñầu frame bị mất. Nội suy gói bị mất từ 2 gói: phía trước và phía sau: ∧ x n + i = (1 − α ∧ ). x ∧ f , n + i + α . x b , n + i Hình 4.10. Đánh giá khách quan theo CEP α tăng tuyến tính, α=0 tại ñầu gói bị mất và bằng 1 tại cuối gói. Hình 4.12. i = i+1; Y i ≤ length(V) N Ghép các gói lại theo tỷ lệ chồng lấp overlap là 50% Kết thúc ánh giá khách quan theo PESQ 25 26 voiced hay voiced  unvoiced) thì bù mất gói không thực hiện tốt. Nếu mất gói có kích thước lớn thì chất lượng xử lý không tốt bằng mất gói có kích thước nhỏ…. Hình 4.12. Đánh giá khách quan theo PESQ 4.5.3. KẾT LUẬN CHƯƠNG ĐÁNH GIÁ CHỦ QUAN CHẤT LƯỢNG TIẾNG NÓI SAU 4.5. KHI ĐƯỢC BÙ MẤT GÓI KẾT LUẬN VÀ KIẾN NGHỊ Mất gói trong VoIP là một yếu tố làm chất lượng thoại suy giảm, do 4.5.1. Phân chia cơ sở dữ liệu cho từng người tham gia ñánh giá vậy việc xem xét và giải quyết vấn ñề này rất quan trọng. 4.5.2. Hoạt ñộng của công cụ ñánh giá Đồ án ñã thực hiện ñược các vấn ñề : 4.5.3. Kết quả Mặc dù sử dụng 3 phương pháp ñánh giá chủ quan (MOS, CCR, - Tìm hiểu cơ chế truyền gói thoại trong mạng IP. DCR) ñể ñánh giá chất lượng tiếng nói sau khi bù mất gói, tuy nhiên, MOS vẫn là phương pháp cho thang ñiểm ñánh giá hợp lý nhất, bởi nó - Tìm hiểu các yếu tố ảnh hưởng ñến chất lượng truyền dẫn thoại. - Tìm hiểu mô hình tạo tiếng nói và hai loại mã hóa tiếng nói thường ñược dùng trong mạng IP: LPC và CELP. phản ánh trực tiếp nhận xét của người nghe ñối với chính chất lượng câu - Tìm hiểu phương pháp sửa mất gói ñối với bên phát và phương ñã ñược xử lý ñấy mà không phải tuân theo thang ñiểm tham chiếu khi so pháp bù mất gói ñối với bên nhận: thay gói bị mất bằng nhiễu, lặp lại gói sánh câu ñược xử lý với câu bị lỗi. trước ñó nhận ñược, dùng mô hình lọc nguồn LP hay dùng tuyến tính ñệ quy. MOS - Tìm hiểu các phương pháp ñánh giá chất lượng tiếng nói chủ quan MOS 5 4 Noise 3 Repeat 2 LP-based 1 Recur_LP và khách quan. - Mô phỏng bù mất gói ñơn bằng ngôn ngữ Matlab; thực hiện ñánh giá hiệu quả các thuật toán bù bằng phương pháp ñánh giá khách quan và kiểm nghiệm lại bằng phương pháp ñánh giá chủ quan. 0 5% 10% 15% 20% 25% 30% 35% 40% Packe t Loss (%) Tuy nhiên, việc thực hiện bù mất gói mới chỉ thực hiện giải quyết ñối với mất gói ñơn; thực hiện ñược một số phương pháp bù ñiển hình: kỹ Hình 4.13.Đồ thị ñánh giá chủ quan chất lượng theo thang ñiểm MOS thuật chèn, ngoại suy và nội suy cho gói bị mất. Bù mất gói chỉ mới thực 4.6. hiện ñối với miền PCM và miền LPC. Do vậy, hướng phát triển của ñề NHẬN XÉT Từ việc thực hiện bù mất gói, ta nhận thấy rằng: các yếu tố mất gói tài trong tương lai sẽ là: thoại khác nhau cũng tác ñộng ñến chất lượng sau khi bù. Nếu mất tại các - Thực hiện các phương pháp bù mất gói ñối với mất gói chùm. gói im lặng (unvoiced) thì việc bù mất gói sẽ cho chất lượng tốt hơn khi - Tìm hiểu thêm các phương pháp bù mất gói khác như: thay ñổi mất gói thoại (voiced). Nếu mất gói tại các vị trí chuyển (từ unvoiced thang thời gian hay tái tạo gói bị mất dựa theo mô hình huấn luyện. 27 - Thực hiện các phương pháp bù mất gói theo các miền mã hóa khác. --- o O o ---
- Xem thêm -