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 -