Tải bản đầy đủ

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



1


BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG





TRƯƠNG LÊ PHƯƠNG ANH




NÂNG CAO CHẤT LƯỢNG THOẠI
TRÊN MẠNG IP BẰNG KỸ THUẬT BÙ
MẤT GÓI



Chuyên ngành : Kỹ thuật ñiện tử
Mã số : 60.52.70




TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT



Đà Nẵng, năm 2011


2


Công trình ñươc hoàn thành tại
ĐẠ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ỹ

Phản biện 2: TS. Lương Hồng Khanh



Luận văn sẽ ñược bảo vệ trước Hội ñồng chấm Luận văn
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.



Có thể tìm luận văn tại:
- 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



MỞ ĐẦ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
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
ngày càng phong phú. Tuy nhiên các dịch vụ này lại chiếm rất nhiều
băng thông ñường truyền.
Để sử dụng tài nguyên viễn thông một cách hiệu quả nhất, kỹ thuật
chuyển mạch gói ñã ra ñời. Công nghệ này chia dữ liệu cần vận chuyển
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
truyền khác nhau. Khi toàn bộ các gói dữ liệu ñã ñến nơi nhận thì chúng
sẽ ñược hợp lại thành dữ liệu ban ñầu.
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
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.


4


Phạm vi nghiên cứu : Công nghệ VoIP và các tiêu chuẩn QoS liên quan.
4. MỤC TIÊU NGHIÊN CỨU
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
Về lý thuyết: Thu thập tài liệu ñể nghiên cứu các biện pháp bù mất
gói ñể nâng cao chất lượng thoại.
6. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI
- Ứng dụng lý thuyết của kỹ thuật xử lý tín hiệu và các phương pháp
xử lý tiếng nói ñể nâng cao chất lượng truyền dẫn thoại.
- 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
hành hệ thống VoIP.
7. KẾT CẤU CỦA LUẬN VĂN
Luận văn gồm 4 chương:

CHƯƠNG 1 – TỔNG QUAN VoIP & CHẤT LƯỢNG TRUYỀN
DẪN 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


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
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ộ
ñị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.
Vì ñược thực hiện nhiều quá trình xử lý tại Gateway (DSP, ñóng
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
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
yếu tố ảnh hưởng chất lượng như: trễ, mất gói hay echo; từ ñó ñề ra các
phương thức giảm thiểu những ảnh hưởng này.
1.4.1. Trễ
Trễ trong hệ thống VoIP cơ bản từ hai nguồn: trễ do bản thân
Gateway gây ra và trễ do bản thân mạng dùng ñể kết nối hai Gateway
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
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
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








6


Hình 1.6. Hệ thống VoIP ñiển hình
1.4.1.1. Trễ do Gateway gây ra











Hình 1.7. Quá trình xử lý của Gateway
• Trễ giao diện mạng
• Trễ trong quá trình xử lý tín hiệu số
Xử lý tín hiệu số ñược thực hiện bằng phần cứng DSP chuyên dụng
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,
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
trên từng khung tiếng nói. Quá trình DSP thực hiện xử lý toàn bộ các
khung dữ liệu cùng một lúc.
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ứ
Giao diện mạng
IP
Giao diện mạng
T1, E1
Xử lý gói Xử lý tín hiệu số
DSP coding
Bộ ñệm và ñóng
gói

Bộ ñệm
Jitter

TCP/IP
Ngăn x
ếp giao thức

Giao diện mạng
Ethernet

PCM


7


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
thước nhỏ hơn so với 40 byte header, thì cần ñặt nhiều hơn một khung
thoại mã hóa vào mỗi gói IP ñể giảm lãng phí do header IP gây ra. Tuy
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
kỳ khung khác.
1.4.1.2. Trễ do mạng IP gây ra
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à:
- 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ỏ.
- 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
Router thường có bộ ñệm giao tiếp ở ngõ vào, bộ ñệm hệ thống và bộ
ñệm giao tiếp ở ngõ ra. Mất gói ở ngõ vào thường xảy ra khi Router
không thể xử lý các gói ñủ nhanh. Mất gói ở ngõ ra khi kết nối ở ngõ ra
quá bận.
- 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ễ.
Đố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,
trong trường hợp thông tin thoại thời gian thực, các gói ñến phải nằm
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.


8


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
- Media-independent FEC
- Media-dependent FEC: các gói thoại dự phòng ñược ñi kèm với
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ẻ
nhau trong các gói khác nhau.
• Khôi phục các gói bị mất ở phía thu
- 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
trước hay gói nhận sau.[12]
- 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
Chương 1 ñã trình bày một cách tổng quan về VoIP và các vấn ñề
cần quan tâm ñể nâng cao chất lượng tiếng nói trong mạng IP. Tuy nhiên,
ñể 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
thêm về cơ chế tạo tiếng nói và các kỹ thuật xử lý.
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.

CHƯƠNG 2 - KỸ THUẬT XỬ LÝ TIẾNG NÓI DỰA TRÊN MÃ
HÓA DỰ ĐOÁN TUYẾN TÍNH
2.1. QUÁ TRÌNH TẠO TIẾNG NÓI




9




Hình 2.2. Mô hình cơ học của cơ quan phát âm người
2.2. MÔ HÌNH DỰ ĐOÁN TUYẾN TÍNH






Hình 2.6. Mô hình toán học của việc tạo tiếng nói
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ô hình mã hóa dự ñoán tuyến tính) ñược dùng ñể mô phỏng việc tạo
tiếng nói:[13]
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)
Phụ âm sát và phụ âm bật <=> UV (Unvoiced)
Độ lớn không khí <=> G (Độ lợi)
2.3. FRAMING, OVERLAP-ADDING TRONG XỬ LÝ TÍN HIỆU
TIẾNG NÓI







N : kích thước của frame
m : số lượng frame


10




Hình 2.7. Phân tích tín hiệu thành frame
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.
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ộ
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
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 số. Bộ lọc này là bộ lọc ñệ quy nhưng chỉ lấy ñầu vào là mẫu
â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
k
k
knsanGuns
1
)()()(
(2.2)
Với
k
a 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.
=

)(ns

=

M
k
k
knsa
1
)(
(2.3)
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
k
k
knsansnsnsne
1
)()()()()(
(2.4)
Do vậy, tổng của sai lệch dự ñoán bình phương của cả frame:
(2.5)

∑ ∑∑
=
−−==
n
M
k
k
n
knsansneE
1
22
))()(()(


11



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
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
k
a bằng với 1≤k≤M (2.6)

Hệ số bộ lọc
k
a (hệ số dự ñoán tuyến tính) ñược giải bằng thuật toán
Levinson-Durbin.
Hệ số ñộ lợi có giá trị bình phương bằng năng lượng dư thừa trong
quá trình tối ưu hóa bình phương ñể tìm các thông số a
k
. [13]
2.4.2. Xác ñịnh Voiced/Unvoiced và xác ñịnh chu kỳ pitch
2.4.3. Bộ mã hóa LPC -10
Trong b ộ mã hóa LPC-10, tín hiệu tiếng nói ñược chia thành khung
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
bộ lọc LPC là 10. Thông thường, 10 thông số bộ lọc dự ñoán tuyến tính
ñược chuyển sang thông số cặp phổ vạch LSP tương ñương vì LSP có ñộ
ổ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,
dấu hiệu xác ñịnh voiced/unvoiced và chu kỳ pitch của khung tiếng nói
ñó.
Vì tốc ñộ của bộ mã hóa LPC-10 là 2.4kbps, do vậy, số bit cần dùng
ñể mã hóa 1 khung là: 2400*0.02 = 48 bit.
2.5. PHƯƠNG PHÁP MÃ HÓA CELP






0=


k
a
E
ACB-gain
ACB-index
Spectral parameters
10110
LPC spectral
analysis
Spectral
filtering

Adaptive
codebook search

Stochastic
codebook search

Stochastic
excitation

Adaptive
excitation

Delay
Linear
prediction filter

+

Speech
SCB-gain
SCB-index
Divide into 4 subframes

Divide into N frames


12




Hình 2.9. Thuật toán CELP
2.5.1. Quá trình mã hóa CELP















Hình 2.10. Bộ mã hóa CELP
2.5.2. Quá trình giải mã CELP
Decoded
samples
Gp
Gc

LSP

Pitch delay
Gain

Code index,sign
Fixed
codebook
search

Gain
parameters
Adaptive
codebook
LP filter
extraction
Synthesis
filter
Post
filter
High-pass
filter
+

Pitch
Input speech samples
LPC info
Gc
Preprocessing
LP analysis
quantization
interpolation

Synthesis filter
Fixed codebook
search
Adaptive
codebook
+

Pitch analysis
Fixed codebook
search

Perceptual
weighting

Gain quantization

Encoded bit stream of payload bytes

Gp
LPC info
+

LPC info



13


Hình 2.11. Bộ giải mã CELP
2.6. 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.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)




Khôi phục mất gói ở
phía phát

Redundacy
(Media dependent)

Bị ñộng Chủ ñộng
Truyền lại
gói

Sửa lỗi FEC
(Media independent)

Xen kẻ gói


14


Hình 3.2. Cơ chế phục hồi FEC











Hình 3.3. Ví dụ cơ chế phục hồi gói Redundancy
3.1.1.3. Kỹ thuật sắp xếp xen kẻ (Interleaving)










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


Cơ chế khôi phục mất gói này có các loại:


11 12 13 14 15 Lost
x
Lost
x
18 19 20
(a) Các gói nhận ñược có chỉ thị mất gói
11 12 13 14 15 Nhiễu Nhiễu

18 19 20
20
(b) Khôi phục bằng thay thế nhiễu nền
11 12 13 14 15 15 15 18 19 20
(c) Khôi phục bằng lặp lại gói trước ñó
Hình 3.5. Kỹ thuật phục hồi mất gói từ phía thu theo cơ chế chèn
3.1.2.2. Bù mất gói dựa vào mô hình LP
Kỹ thuật này dùng mô hình dự ñoán tuyến tính LP (Linear
Prediction) của quá trình tạo tiếng nói.











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.
16

17

Voice packets 
Reconstructed
signal

)( nx


LP analysis
Past samples
x(n)
Pitch period P

e(n)

Residual
signal

LP coefficients
a(i)
)( ne



Excitation
signal

Prediction
filter
Pitch
detector
Excitation
generator
Synthesis
filter


16


- Tín hiệu dư thừa (sai lệch) chứa thông tin về tín hiệu kích thích.


=
+−=
N
i
neinxianx
1
)()()()(
(3.1)
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)
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
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
{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
vào thông tin ñược trích ra từ frame tiếng nói nhận tốt trước ñó. Hai
thông số này ñược kết hợp ñể tạo ra xấp xỉ cho gói bị mất.
• 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ộ
máy phát âm của một frame tiếng nói.
Frame tiếng nói nhận tốt trước ñó ñược ñưa vào bộ phân tích LP bậc
10 ñể ñược tạo ra 10 hệ số dự ñoán tuyến tính nhờ thuật toán Levinson-
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
tổng hợp.
• Bộ lọc dự ñoán
Các mẫu thuộc frame trước ñó ñược lọc bằng bộ lọc dự ñoán và chỉ
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.


=
−−=
10
1
)()()()(
i
inxianxne
(3.2)
• 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
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


Đối với frame voiced, vì tần số cơ bản của tiếng nói nằm trong
khoảng 50Hz – 500Hz, chu kỳ pitch ñược xác ñịnh bằng cách tìm ñỉnh
của dãy chuẩn hóa r
e
(n)/r
e
(0) trong khoảng thời gian tương ứng 3 ñến
15ms trong frame tiếng nói 20ms theo công thức sau:


=
−=
10
1
)()()(
i
ae
inrirnr
(3.3)
Với r
a
(i), r(n-i) lần lượt là chuỗi tự tương quan của các hệ số dự ñoán
và của các mẫu trong 1 frame.


=
+=
10
1
)()()(
i
kka
niaianr
(3.4)



=
+=
1
0
)()()(
N
n
insnsir
(3.5)
Chu kỳ pitch bằng giá trị n=N
p
, với r
e
(N
p
)/r
e
(0) là lớn nhất.
• 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.




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




P

P






P





P
P

Residual signal
Excitation signal


18


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
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ộ
máy phát . Các hệ số LP trong bộ phân tích LP ñược dùng làm hệ số
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
1
)()()()(
i
neinxianx
(3.6)
• Phương pháp bù mất gói dựa theo mô hình LP là phương pháp ngoại
suy, nó chỉ dùng các frame ñược nhận trước ñó, không dùng các frame
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
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
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
kế cận nhận ñược.







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
ñệ quy
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 ñó:

=


−=
N
i
ini
nf
xax
1
,
*1
(3.7)


19


Với
nf
x
,

là mẫu ñược dự ñoán thuộc frame bị mất,
in
x

là các mẫu
tiếng nói thuộc frame ñược nhận trước ñó. N là bậc dự ñoán;
i
a là hệ số
LPC ñược tính từ M mẫu thuộc frame nhận ñược trước frame bị mất
(
in
x

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 ñó,
inf
x
+

,
ñượ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ụ,
nf
x
,


i
x
với i=n-1, n-2,…., n-N+1 ñược dùng ñể dự ñoán mẫu
1, +

nf
x .






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.

=
−+

+

−=
N
j
jinf
j
inf
xax
1
,,
*1
(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
f
G thêm vào.
f
G 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 ñó:


20



=
++−

−=
N
i
Nini
nb
xbx
1
1
,
*1
(3.9)
Với
nb
x
,

là mẫu ñược dự ñoán sau thuộc frame bị mất,
1++− Nin
x là các mẫu tiếng nói thuộc frame nhận ñược sau ñó;
i
b 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
b
G ñược áp dụng theo cách tương tự.
b
G
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à
inf
x
+

,

inb
x
+

,
. Dự ñoán
trước
inf
x
+

,
dự ñoán phần ñầu của frame bị mất tốt hơn;
inb
x
+

,
dự ñoán
tốt hơn phần sau của frame bị mất.
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:
inbinfin
xxx
+

+

+

+−=
,,
.).1(
αα
(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


3.2.1.2. Phương pháp ñánh giá tương ñối
• Đánh giá bằng phương pháp so sánh các mẫu tín hiệu theo CCR
• Phương pháp ñánh giá theo sự suy giảm chất lượng DCR
3.2.2. Phương pháp ñánh giá khách quan
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ố
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
PHƯƠNG PHÁP BÙ MẤT GÓI
4.1. 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
ñồ 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
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. 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


22


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
Bước 4: Thực hiện ñánh giá chất lượng thoại sau khi ñược bù mất gói
Bước 5: Nhận xét & ñánh giá
4.3. LƯU ĐỒ CÁC PHƯƠNG PHÁP BÙ MẤT GÓI

























Bắt ñầu
Cơ sở dữ liệu
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
Cơ sở dữ liệu mới dùng cho việc
ñánh giá chất lượng
K
ết thúc

Kết thúc
Hình 4.1. Lưu ñồ tổng quát
thực hiện bù mất gói

N

Ứ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.
V = Vector mất gói
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

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


i = 1;
(xét chỉ số thứ i của V)
i = i+1;
Ghép các gói lại theo tỷ lệ chồng lấp overlap là 50%
i
≤ length(V)

Y

Bắt ñầu


23



Hình 4.2. Lưu ñồ thực hiện bù mất gói dựa vào mô hình LP



























N

K
ết thúc

Ứ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

V = Vector m
ất gói

Forward prediction:
- Từ gói nhận ñược trước ñó, xác ñịnh: N hệ số dự ñoán tuyến tính LPC
i
a
(i=1 N).
- 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 ñó:

=


−=
N
i
ini
nf
xax
1
,
*1

-
f
G
tăng tuyến tính,
f
G
= 1 tại ñầu frame bị mất và bằng 1.8 tại cuối frame bị mất.

i = 1; (xét chỉ số thứ i của V)

i = i+1;
Ghép các gói lại theo tỷ lệ chồng lấp overlap là 50%
i ≤ length(V)
Backward prediction:
- Từ gói nhận ñược phía sau, xác ñịnh: N hệ số dự ñoán tuyến tính LPC
i
b
(i=1 N).
- 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
i
Nini
nb
xbx
1
1
,
*1

-
b
G
tăng tuyến tính,
b
G
= 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:
inbinfin
xxx
+

+

+

+−=
,,
.).1(
αα


α
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.

Bắt ñầu
Y



24





4.4. ĐÁ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ư:
- Đ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.

Hình 4.5. Đánh giá khách quan theo FWSEG-MARS

Hình 4.10. Đánh giá khách quan theo CEP

Hình 4.12. ánh giá khách quan theo PESQ



Hình 4.3. Lưu ñồ bù mất gói dùng dự
ñoán tuyến tính ñệ quy


25





Hình 4.12. Đánh giá khách quan theo PESQ
4.5. ĐÁNH GIÁ CHỦ QUAN CHẤT LƯỢNG TIẾNG NÓI SAU
KHI ĐƯỢC BÙ MẤT GÓI
4.5.1. Phân chia cơ sở dữ liệu cho từng người tham gia ñánh giá
4.5.2. Hoạt ñộng của công cụ ñánh giá
4.5.3. Kết quả
Mặc dù sử dụng 3 phương pháp ñánh giá chủ quan (MOS, CCR,
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ó
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
ñã ñược xử lý ñấy mà không phải tuân theo thang ñiểm tham chiếu khi so
sánh câu ñược xử lý với câu bị lỗi.
MOS
0
1
2
3
4
5
5% 10% 15% 20% 25% 30% 35% 40%
Packet Loss (%)
MOS
Noise
Repeat
LP-based
Recur_LP

Hình 4.13.Đồ thị ñánh giá chủ quan chất lượng theo thang ñiểm MOS
4.6. 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
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
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
mất gói thoại (voiced). Nếu mất gói tại các vị trí chuyển (từ unvoiced


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ỏ….
4.5.3. KẾT LUẬN CHƯƠNG
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
vậy việc xem xét và giải quyết vấn ñề này rất quan trọng.
Đồ án ñã thực hiện ñược các vấn ñề :
- Tìm hiểu cơ chế truyền gói thoại trong mạng IP.
- 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.
- Tìm hiểu phương pháp sửa mất gói ñối với bên phát và phương
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
trước ñó nhận ñược, dùng mô hình lọc nguồn LP hay dùng tuyến tính ñệ
quy.
- Tìm hiểu các phương pháp ñánh giá chất lượng tiếng nói chủ quan
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.
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ỹ
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
hiện ñối với miền PCM và miền LPC. Do vậy, hướng phát triển của ñề
tài trong tương lai sẽ là:
- Thực hiện các phương pháp bù mất gói ñối với mất gói chùm.
- Tìm hiểu thêm các phương pháp bù mất gói khác như: thay ñổi
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

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×