Professional Documents
Culture Documents
Trang 1
2.3.1 Đo tỷ số tín hiê ̣u trên nhiễu trên từng khung..............................26
2.3.2 Đo khoảng cách phổ dựa trên LPC.............................................27
2.3.3 Đánh giá mô phỏng theo cảm nhận nghe của con người............29
2.4 Kết luận chương................................................................................31
3 CHƯƠNG 3: CÁC PHƯƠNG PHÁP GIẢM NHIỄU TRONG XỬ LÝ
TIẾNG NÓI............................................................................................................. 32
3.1 Giới thiệu chương :............................................................................32
3.2 Sơ đồ khối chung của Spectral Subtraction và Wiener Filtering........32
3.3 Thuật toán Spectral Subtraction.........................................................32
3.3.1 Giới thiệu chung.........................................................................32
3.3.2 Spectral subtraction đối với phổ biên độ....................................33
3.3.3 Spectral subtraction đối với phổ công suất.................................34
3.3.4 Nhược điểm của phương pháp trừ phổ:......................................36
3.3.5 Giải pháp khắc phục "musical tone"...........................................36
3.3.6 Non-linear Spectral Subtraction.................................................37
3.4 Thuật toán Wiener Filtering...............................................................38
3.4.1 Giới thiệu chung.........................................................................38
3.4.2 Xây dựng bộ lọc Wiener.............................................................39
3.4.3 Ứng dụng bộ lọc Wiener nâng cao chất lượng tiếng nói.............40
3.5 Tính toán hàm độ lợi theo Priori SNR và Posteriori SNR cho hai thuật
toán :......................................................................................................................41
3.5.1 Hàm độ lợi của thuật toán trừ phổ:.............................................42
3.5.2 Gain Function của bộ lọc Wiener :.............................................44
3.6 Overlap và Adding trong quá trình xử lý tín hiệu tiếng nói...............44
3.6.1 Phân tích tín hiệu theo từng frame..............................................44
3.6.2 Overlap và Adding.....................................................................45
3.7 Ước lượng và cập nhật nhiễu.............................................................46
3.7.1 Voice activity detection..............................................................46
3.7.2 Quá trình ước lượng và cập nhật nhiễu.......................................47
Trang 2
3.8 Kết luận chương................................................................................47
CHƯƠNG 4: THỰC HIỆN VÀ ĐÁNH GIÁ CÁC THUẬT TOÁN..............49
4.1 Giới thiệu chương..............................................................................49
4.2 Quy trình thực hiện và đánh giá thuật toán........................................49
4.3 Lưu đồ thuật toán Spectral Subtraction..............................................51
4.4 Lưu đồ thuật toán Non linear Spectral Subtraction............................52
4.5 Lưu đồ thuật toán Wiener Filtering....................................................53
4.6 Đánh giá chất lượng tiếng nói đã được xử lý.....................................54
4.6.1 Xây dựng cơ sở dữ liệu..............................................................54
4.6.2 Tổng quan về quy trình đánh giá................................................54
4.6.3 Quá trình thực hiện các phương pháp đánh giá..........................55
4.7 Kết luận chương................................................................................67
KẾT LUẬN ĐỒ ÁN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI...........................68
TÀI LIỆU THAM KHẢO..........................................................................70
Trang 3
DANH MỤC CÁC HÌNH VẼ VÀ BẢNG
Hình 1.1 Tín hiệu tiếng nói [2].....................................................................................1
Hình 1.2 Mẫu tiếng nói “eee” được lấy mẫu với tần số lấy mẫu 8kHz [11]..............15
Hình 1.3 Dạng và sự phân bố phổ năng lượng trung bình nhiễu trên xe [4]……….16
Hình 1.4 Dạng và sự phân bố phổ năng lượng trung bình của nhiễu trên tàu [4]….17
Hình 1.5 Dạng và sự phân bố phổ năng lượng trung bình của nhiễu trong nhà
hàng[4]………………………………………………………………………………17
Hình 1.6 Mức nhiễu và tiếng nói (được đo bằng SPL dB) trong các môi trường khác
nhau [4]……………………………………………………………………………...19
Hình 1.7 Dạng sóng tín hiệu tiếng nói của câu “The wife helped her husband” và
dạng sóng của phụ âm “f” trong từ “wife, dạng sóng của đoạn nguyên âm “er”
trong từ “her” [11]
…………………………………………………………………….......20
Hình 1.8 Mặt cắt dọc của cơ quan tạo tiếng nói [11]………………………………21
Hình 1.9 Mô hình kỹ thuật tạo tiếng nói[11]………………………………………..21
Hình 1.10 Bảng phân loại âm vị trong tiếng Anh của người Mỹ [11]………………22
Bảng 2.1.Thang điểm đánh giá chất lượng tiếng nói theo MOS [12]………………..24
Bảng 2.2. Thang điểm đánh giá chất lượng tín hiê ̣u tiếng nói theo CCR……………25
Bảng 2.3. Thang đánh giá DCR……………………………………………………...25
Hình 3.1 Sơ đồ khối cho hai thuật toán SS và WF…………………………………..32
Hình 3.2 Phân tích tín hiệu thành các frame [31]…………………………………..45
Hình 3.3 Quá trình thực hiện overlap và adding [32]................................................46
Hình 4.1 Sơ đồ thực hiện và đánh giá thuật toán tăng cường………………………49
Hình 4.2 Lưu đồ thuật toán Spectral Subtraction…………………………………...51
Hình 4.3 Lưu đồ thuật toán Non Linear Spectral Subtraction……………………...52
Hình 4.4 Lưu đồ thuật toán Wiener Filtering……………………………………….53
Hình 4.5 Quy trình thực hiện đánh giá……………………………………………...55
Hình 4.6 Các phương pháp đánh giá đối với nhiễu trắng…………………………..56
Hình 4.7 Các phương pháp đánh giá đối với nhiễu xe hơi………………………….57
Trang 4
Hình 4.8 Các phương pháp đánh giá đối với nhiễu người nói xung quanh………....58
Hình 4.9 Các phương pháp đánh giá đối với nhiễu tàu hỏa………………………..59
Hình 4.10 Các phương pháp đánh giá đối với thuật toán SS-post……………….....61
Hình 4.11 Các phương pháp đánh giá đối với thuật toán SS-pri………………...…62
Hình 4.12 Các phương pháp đánh giá đối với thuật toán NSS-post………………..63
Hình 4.13 Các phương pháp đánh giá đối với thuật toán NSS-pri…………………64
Hình 4.14 Các phương pháp đánh giá đối với thuật toán Wiener-post………….....65
Hình 4.15 Các phương pháp đánh giá đối với thuật toán Wiener-pri……………...66
Trang 5
DANH MỤC CÁC TỪ VIẾT TẮT VÀ CÁC THUẬT NGỮ TIẾNG ANH
Từ viết
Tiếng Anh Nghĩa tiếng Việt
tắt
SNR Signal Noise Ratio Tỉ số tín hiệu trên nhiễu
PC Personal Computer Máy tính cá nhân
SPL Sound Pressure Level Mức áp suất của âm thanh
Tối thiểu hoá sai lệch trung
MMSE Minium Mean-Squared Error
bình bình phương
SVD Singular Value Decomposition Phép phân tích giá trị đơn
DFT Discrete Fourier Transform Phép biến đổi Fourier rời rạc
FFT Fast Fourier Transform Phép biến đổi Fourier nhanh
Phép biến đổi Fourier của tín
DTFT Discrete-Time Fourier Transform
hiệu rời rạc.
ZT Z Transform Phép biến đổi Z
ROC Region of Convergence Miền hội tụ
Inverse Discrete Fourier Phép biến đổi ngược Fourier
IDTFT
Transform rời rạc
Hệ thống tuyến tính và bất
LTI Linear Time-Invariant
biến theo thời gian
InternationalTelecommunications Hiệp hội tiêu chuẩn viễn
ITU-T
Union-Telecommunication thông quốc tế
ACR Absolute Categories Rating Đánh giá theo giá trị tuyệt đối
Đánh giá theo quan điểm
MOS Mean Opinion Scores
người nghe
CCR Comparison Category Rating Đánh giá bằng cách so sánh
DCR Degradation Category Rating Đánh giá suy giảm chất lượng
SE Subjective Evaluation Đánh giá chủ quan
OE Objective Evaluation Đánh giá khách quan
IS Itakura_Saito
LLR Log likehook Raito
WSS Weighted Spectral Slope Đo theo trọng số của phổ
LPC Linear Prediction Coefficients Hê ̣ số dự đoán tuyến tính
Thăm dò sự hoạt động của
VAD Voice Activity Detection
tiếng nói
Trang 6
Speech Enhancement Nâng cao chất lượng tiếng nói
Thuật toán giảm nhiễu tín
SS Spectral Subtraction hiệu tiếng nói bằng phương
pháp trừ phổ.
Thuật toán giảm nhiễu tín
WF Wiener Filter hiệu tiếng nói bằng cách sử
dụng bộ lọc Wiener.
Thuật toán giảm nhiễu tín
Statistical-model-based hiệu tiếng nói dựa trên
nguyên lý thống kê
Khung tín hiệu.
Frame
MỞ ĐẦU
1. Tính cấp thiết của đề tài
Hầu hết chất lượng tiếng nói trong hệ thống thông tin liên lạc đều bị suy giảm
do ảnh hưởng bởi nhiễu. Nhiễu có thể xuất hiện ở đầu vào của hệ thống, trên kênh
truyền hoặc tại các thiết bị đầu cuối. Tùy theo đặc điểm của từng loại nhiễu và
cường độ nhiễu khác nhau mà ảnh hưởng của nó lên chất lượng tiếng nói khác nhau.
Loại bỏ nhiễu ra khỏi tín hiệu tiếng nói là một công việc không đơn giản, việc xử lý
loại bỏ nhiễu không tốt sẽ mất thông tin, làm suy giảm và méo dạng tiếng nói. Vì
vậy, việc nghiên cứu và đưa ra các phương pháp cải thiện chất lượng tiếng nói đóng
vai trò quan trọng trong việc đảm bảo chất lượng và tính trung thực của tín hiệu
tiếng nói trong các hệ thống thông tin liên lạc.
Trang 7
Việc giảm nhiễu nhằm nâng cao chất lượng tiếng nói cũng là một trong các
giải pháp kỹ thuật quan trọng nhằm hỗ trợ cho các mảng xử lý tiếng nói khác nhau
như nhận dạng người nói, nhận dạng tiếng nói tự động và trợ thính trong các môi
trường nhiễu như xe hơi, đám đông, các xưởng công nghiệp .v.v.
2. Mục đích nghiên cứu
- Nghiên cứu và phát triển các thuật toán giảm nhiễu trong miền Fourier
- Nghiên cứu các phương pháp khách quan đánh giá chất lượng tiếng nói.
3. Đối tượng và phạm vi nghiên cứu
- Nghiên cứu các thuật toán và công cụ để xử lý tín hiệu tiếng nói nói chung
- Nghiên cứu và phát triển các thuật toán giảm nhiễu trong xử lý và nâng cao chất
lượng tiếng nói. Các thuật toán giảm nhiễu được đề cập gồm : thuật toán trừ phổ
công suất, thuật toán trừ phổ công suất phi tuyến và thuật toán sử dụng bộ lọc
Wiener. Các phương pháp tính toán hàm độ lợi theo Posteriror SNR và Priori SNR.
- Nghiên cứu 4 phương pháp đánh giá khách quan : IS, LLR, WSS và segSNR
- Thực hiện xử lý nén nhiễu và đánh giá khách quan chất lượng tiếng nói sau xử lý
bằng ngôn ngữ lập trình Matlab. Xây dựng cơ sở dữ liệu tín hiệu tiếng nói bị tác
động bởi các loại nhiễu khác nhau với các SNR khác nhau. Triển khai đánh giá chất
lượng tín hiệu tiếng nói bằng các phương pháp khách quan, đồng thời qua đó đánh
giá hiệu quả các thuật toán giảm nhiễu. Dựa trên các kết quả đánh giá tiến hành
phân tích lại các thuật toán nhằm hiệu chỉnh và đề xuất giải pháp hiệu quả nhất.
4 . Ý nghĩa khoa học và thực tiễn của đề tài
Thực hiện việc giảm nhiễu tín hiệu tiếng nói trước khi xử lý là yêu cầu
không thể thiếu trong tất cả các hệ thống xử lý tiếng nói nói chung. Việc đánh giá
khách quan độ méo của tín hiệu, qua đó đề xuất được các thuật toán xử lý và giảm
nhiễu tín hiệu tiếng nói hiệu quả nhất sẽ có một ý nghĩa khoa học quan trọng mà đề
tài hướng đến
5. Cấu trúc luận văn
Trang 8
Chương 1: Tổng quan về nâng cao chất lượng tiếng nói. Chương này cũng đề
cập các phương pháp cơ bản được sử dụng trong việc phân tích và tổng hợp tiếng
nói.
Chương 2: Các phương pháp đánh giá chất lượng tiếng nói. Nội dung của
chương này trình bày các phương pháp đánh giá chủ quan và khách quan:
Segmental SNR (segSNR), Itakura-Saito (IS), Weighted Spectral Slope (WSS),
Log-Likehood Ratio (LLR) để đánh giá chất lượng tiếng nói
Chương 3: Các phương pháp giảm nhiễu trong xử lý tiếng nói. Chương này
tập trung nghiên cứu các thuật toán giảm nhiễu gồm: thuật toán trừ phổ, thuật toán
trừ phổ phi tuyến và thuật toán dùng bộ lọc wiener. Các phương pháp tính toán hàm
độ lợi cũng được giới thiệu ở chương này gồm : Posteriror SNR và Priori SNR.
Chương 4: Giảm nhiễu và đánh giá chất lượng tiếng nói sau khi sau khi xử
lý. Xây dựng bằng biểu đồ và thực hiện các thuật toán giảm nhiễu bằng mô phỏng
Matlab, sau đó đánh giá các kết quả thu được bằng phương pháp đánh giá khách
quan.
6. Phân công nhiệm vụ :
- Vương Đình Sơn : Tìm hiểu tổng quan về nâng cao chất lượng tiếng nói,
các phương pháp đánh giá và thuật toán trừ phổ
- Lê Viết Hạnh : Thuật toán trừ phổ phi tuyến và thuật toán dùng bộ lọc
Wiener.
Trang 9
Chương 1 : Tổng quan về nâng cao chất lượng tiếng nói
Trang 10
Chương 1 : Tổng quan về nâng cao chất lượng tiếng nói
công bị ảnh hưởng bởi nhiễu trong buồng lái. Vì vậy mà nâng cao chất lượng tiếng
nói cũng rất cần thiết trong thông tin liên lạc của quân sự. Trong hệ thống hội nghị
qua thoại, thì nguồn nhiễu xuất hiện ở một vùng nào đó thì nó sẽ được truyền đến
tất cả các vùng khác. Các thuật toán nâng cao chất lượng tiếng nói được sử dụng
như tiền xử lý hoặc làm sạch nhiễu trong tiếng trước khi được khuếch đại.
Như các ví dụ minh họa ở trên thì mục tiêu của các thuật toán tăng cường tuỳ
thuộc vào các ứng dụng mà chúng ta đang dùng. Xét trên phương diện lý tưởng, thì
chúng ta mong muốn Speech enhancement cải thiện được cả chất lượng và tính dễ
nghe hay sự trong suốt của tiếng nói. Tuy nhiên, xét trên phương diện thực tế thì các
thuật toán Speech enhancement chỉ có thể cải thiện được chất lượng của tiếng nói.
Nó có thể làm giảm được nhiễu nền trong tiếng nói nhưng nó sẽ làm gia tăng thêm
độ méo của tín hiệu tiếng nói, chính điều này làm giảm đi tính dễ nghe của tiếng
nói. Do đó, yêu cầu chính trong việc thiết kế một thuật toán Speech enhancement
phải đảm bảo nén được nhiễu và không được gây ra méo trong sự cảm nhận tín hiệu
tiếng nói.
Giải pháp tổng quát trong các vẩn đề của Speech enhancement phụ thuộc rất
lớn vào ứng dụng chúng ta cần sử dụng, đó là các vần đề như là nguồn nhiễu và
giao thoa gây ra nhiễu, mối liên hệ giữa nhiễu và tín hiệu sạch, số microphone và
cảm biến có thể có. Sự giao thoa có thể xem như là nhiễu hoặc được xem như tín
hiệu tiếng nói, nó tuỳ thuộc vào môi trường ta đang xét, nó có thể được xem như là
sự tranh chấp giữa các speaker. Đặc tính âm nhiễu có thể được cộng thêm vào tín
hiệu sạch nếu âm thanh được hình thành trong căn phòng bị dội âm thanh. Hơn nữa,
nhiễu có thể có tính tương quan hoặc không tương quan về mặt thống kê với tín
hiệu sạch. Số lượng microphone cũng có khả năng ảnh hưởng đến tính hiệu quả của
các thuật toán Speech enhancement.
Trang 11
Chương 1 : Tổng quan về nâng cao chất lượng tiếng nói
Trang 12
Chương 1 : Tổng quan về nâng cao chất lượng tiếng nói
Một bức ảnh có được bằng cách phơi sáng một tấm phim chụp một cảnh/đối tượng
nào đó. Quá trình tạo tín hiệu như vậy thường liên quan đến một hệ thống, hệ thống
này đáp ứng lại một kích thích nào đó. Trong tín hiệu tiếng nói, hệ thống là hệ
thống phát âm, gồm môi, răng, lưỡi, dây thanh…Kích thích liên quan đến hệ thống
được gọi là nguồn tín hiệu. Như vậy ta có nguồn tiếng nói, nguồn ảnh và các nguồn
tín hiệu khác.
1.3.1.3 Hệ thống và xử lý tín hiệu
Hệ thống là một thiết bị vật lý thực hiện một tác động nào đó lên tín hiệu. Ví
dụ, bộ lọc dùng để giảm nhiễu trong tín hiệu mang tin được gọi là một hệ thống.
Khi ta truyền tín hiệu qua một hệ thống, như bộ lọc chẳng hạn, ta nói rằng đã xử lý
tín hiệu đó. Trong trường này, xử lý tín hiệu liên quan đến lọc nhiễu ra khỏi tín hiệu
mong muốn.
Xử lý tín hiệu là ý muốn nói đến một loạt các công việc hay các phép toán
được thực hiện trên các tín hiệu nhằm đạt mục đích nào đó, như là tách tin tức chứa
bên trong tín hiệu hoặc là truyền tín hiệu mang tin từ nơi này đến nơi khác.
Ở đây ta cần lưu ý đến định nghĩa hệ thống, nó không chỉ đơn thuần là thiết bị
vật lý mà còn là phần mềm xử lý tín hiệu hoặc là sự kết hợp giữa phần cứng và phần
mềm. Ví dụ khi xử lý số tín hiệu bằng mạch logic, hệ thống xử lý ở đây là phần
cứng. Khi xử lý bằng máy tính số, tác động lên tín hiệu bao gồm một loạt các phép
toán thực hiện bởi chương trình phần mềm. Khi xử lý bằng các bộ vi xử lý-hệ thống
bao gồm kết hợp cả phần cứng và phần mềm, mỗi phần thực hiện các công việc
riêng nào đó.
Trang 13
Chương 1 : Tổng quan về nâng cao chất lượng tiếng nói
X ( ) X ( ) e j ( ) (1.21)
ở đây |X( )| là phổ biên độ và ( ) là phổ pha.
Ta dễ dàng chứng minh được rằng đối với tín hiệu thực, phổ biên độ là một
hàm chẵn theo tần số và phổ pha là một hàm lẻ theo .
Do đó, nếu biết phổ X( ) trong khoảng 0 đến , ta có thể suy ra phổ trong
toàn dải tần số. Để dễ giải thích phổ, tần số số từ 0 đến thường được chuyển
đổi thành tần số tương tự từ 0 đến fs/2 nếu tần số lấy mẫu là fs.
Hình 1.2 Mẫu tiếng nói “eee” được lấy mẫu với tần số lấy mẫu 8kHz [11].
Trang 14
Chương 1 : Tổng quan về nâng cao chất lượng tiếng nói
yên một chỗ, ví dụ như nhiễu trong nhà hàng, đó là tiếng nói của nhiều người xen
lẫn với nhiều cách khác nhau với tiếng ồn phát ra từ nhà bếp. Các đặc tính về phổ
cũng như thời gian của nhiễu trong nhà hàng thay đổi không theo quy luật nên việc
nén nhiễu trong các môi trường có nhiễu thay đổi như vậy sẽ khó khăn hơn nhiều so
với các nguồn nhiễu đứng yên không thay đổi.
Các đặc tính đặc biệt khác nhau của các loại nhiễu đó là hình dạng của phổ và
sự phân bố của năng lượng nhiễu trong miền tần số. Ví dụ, nhiễu gây ra bởi gió thì
năng lượng của nó tập trung ở tần số thấp dưới 500Hz. Nhưng đối với nhiễu trong
nhà hàng, trên xe, trên tàu thì khác, năng lượng của nó được phân bố trên một dải
tần số rộng [3].
Hình 1.3 Dạng và sự phân bố phổ năng lượng trung bình nhiễu trên xe [4].
Trang 15
Chương 1 : Tổng quan về nâng cao chất lượng tiếng nói
Hình 1.4 Dạng và sự phân bố phổ năng lượng trung bình của nhiễu trên tàu
[4].
Hình 1.5 Dạng và sự phân bố phổ năng lượng trung bình của nhiễu trong nhà
hàng[4].
Trang 16
Chương 1 : Tổng quan về nâng cao chất lượng tiếng nói
1.3.2.2 Nhiễu và mức tín hiệu tiếng nói trong các môi trường khác nhau
Điểm tới hạn trong việc thiết kế các thuật toán của Speech enhancement là sự
nhận biết dải biến thiên của tiếng nói và mức độ cường độ nhiễu trong môi trường
thực tế. Từ đó, chúng ta có thể mô tả miền biến thiên của mức độ tỷ số tín hiệu trên
nhiễu(SNR) được bắt gặp trong môi trường thực tế. Điều này rất quan trọng để đánh
giá tính hiệu quả của các thuật toán Speech enhancement trong việc nén nhiễu và
cải thiện chất lượng của tiếng nói trong dải biến thiên của mức SNR.
Mức độ của tiếng nói và nhiễu được đo lường bằng mức độ âm thanh. Phép đo
lường ở đây là đo mức độ áp suất của âm thanh tính bằng dB SPL(sound pressure
level)[4]. Khoảng cách giữa người nói và người nghe cũng ảnh hưởng đến mức
cường độ âm thanh, nó tương ứng với phép đo được thực hiện khi microphone được
đặt tại những vị trí có khoảng cách khác nhau. Khoảng cách đặc trưng trong giao
tiếp face-to-face là 1m, khi khoảng cách đó tăng gấp đôi thì mức cường độ âm giảm
đi 6 dB[6].
Hình bên dưới này là sự tổng hợp về mức độ âm trung bình giữa tiếng nói và
nhiễu trong các môi trường khác nhau. Mức độ của nhiễu nhỏ nhất ở trong các môi
trường như phòng học, trong nhà ở, trong bệnh viện và trong các toà nhà. Trong các
môi trường khác nhau, thì mức độ âm của nhiễu nằm trong phạm vi biến thiên từ 50
đến 55 dB SPL, và mức độ âm của tiếng nói là 60 đến 70 dB SPL. Và khuyến nghị
đưa ra là mức tỷ số SNR có hiệu quả trong các môi trường này là 5 đến 15 dB. Mức
độ âm của nhiễu rất cao trong các môi trường ở tàu điện ngầm, ở trên máy bay, nó
đạt khoảng 70 đến 75 dB SPL. Và mức độ âm của tiếng nói trong các môi trường
này cũng đạt mức đó, nên mức tỷ số SNR trong các môi trường này gần như là 0
dB.
Trang 17
Chương 1 : Tổng quan về nâng cao chất lượng tiếng nói
Hình 1.6 Mức nhiễu và tiếng nói (được đo bằng SPL dB) trong các môi
trường khác nhau [4].
1.4 Các thuật toán sử dụng nâng cao chất lượng tiếng nói
1.4.1 Trừ phổ
Spectral-subtraction (SS) hay còn gọi là trừ phổ là một thuật toán giảm nhiễu
đơn giản nhất. Nó dựa trên nguyên lý cơ bản là nó sẽ mô tả và cập nhật nhiễu trong
tín hiệu có nhiễu bằng cách thu nhiễu khi không có sự hiện diện của tín hiệu. Và
nhiễu đó sẽ được trừ với tín hiệu có nhiễu, kết quả là tín hiệu của chúng ta sau khi
xử lý bằng thuật toán này sẽ được loại đi nhiễu và xét trên phương diện lý tưởng thì
nó là tín hiệu sạch. SS lúc ban đầu được đề xuất bởi Weiss[8] trong miền tương
quan, và sau đó được đề xuất bởi Boll [9] trong miền chuyển đổi Fourier.
1.4.2 Mô hình thống kê
Vấn đề của nâng cao chất lượng tiếng nói là phải đề ra được khung mô tả
mang tính thống kê. Nó là một tập các phép đo tương ứng với hệ chuyển đổi Fourier
của tín hiệu nhiễu, và chúng ta mong muốn sẽ tìm ra được một phương thức ước
lượng tuyến tính hoặc phi tuyến các tham số có lợi, đó là hệ chuyển đổi của tín hiệu
sạch. Hai thuật toán được sử dụng đó là thuật toán Wiener và minium mean-squared
error(MMSE)[10].
Trang 18
Chương 1 : Tổng quan về nâng cao chất lượng tiếng nói
Hình 1.7 Dạng sóng tín hiệu tiếng nói của câu “The wife helped her
husband” và dạng sóng của phụ âm “f” trong từ “wife, dạng sóng của đoạn
nguyên âm “er” trong từ “her” [11].
Dạng sóng của tín hiệu có thể được chia thành một số phân đoạn tương ứng
với các âm/từ. Trong ví dụ trên ta thấy một số phân đoạn có dạng sóng gần như tuần
hoàn còn số khác thì không có tính tuần hoàn và bị nhiễu
Những kiểu của đoạn tiếng nói_chu kỳ, nhiễu, khoảng lặng… thường được
tìm thấy trong tiếng nói trôi chảy với sự thay đổi về cường độ, khoảng thời gian và
đặc tính phổ.
Trang 19
Chương 1 : Tổng quan về nâng cao chất lượng tiếng nói
Hình 1.8 Mặt cắt dọc của cơ quan tạo tiếng nói [11].
1.6.2 Mô hình kỹ thuật của việc tạo tiếng nói
Trang 20
Chương 1 : Tổng quan về nâng cao chất lượng tiếng nói
Hình 1.10 Bảng phân loại âm vị trong tiếng Anh của người Mỹ [11]
1.6.4 Thuộc tính âm học của tiếng nói
Tín hiệu tiếng nói là tín hiệu tương tự, biểu diễn cho thông tin về mặt ngôn
ngữ và được thể hiện bằng các âm vị khác nhau. Số lượng các âm vị tuỳ thuộc vào
từng ngôn ngữ, vào khoảng 20 đến 30 và không vượt quá 50. Đối với từng loại âm
vị nó có đặc tính âm thanh khác nhau.Tổ hợp các âm vị tạo nên âm tiết. Âm tiết
đóng vai trò một từ trọn vẹn mang ngữ nghĩa.
1.7 Kết luận chương
Chương này đã trình bày được mục đích chính của speech enhancement là
triệt nhiễu hoặc là nén nhiễu trong tín hiệu tiếng nói đã bị nhiễu. Ngoài ra, nội dung
của chương cũng đã nêu rõ được các loại nhiễu xuất hiện trong từng môi trường cụ
thể để từ đó chúng ta có tìm ra được thuật toán xử lý thích hợp ứng với mỗi trường
hợp cụ thể.
Trang 21
Chương 2: Các phương pháp đánh giá chất lượng tiếng nói
Trang 22
Chương 2: Các phương pháp đánh giá chất lượng tiếng nói
ITU-T đã đưa ra các khuyến nghị ban hành trong các chuẩn từ ITU-T Rec P.800
đến ITU-T Rec P.899. Có hai loại đánh giá chính là Tuyệt đối và Tương đối. Sự
đánh giá dựa trên các thang điểm chuẩn đã được đề ra trong chuẩn ITU-T
Rec.P.800[11]
1.9.1 Các phương pháp đánh giá tuyệt đối
1.9.1.1 Phương pháp đánh giá tuyệt đối ACR
ACR được sử dụng rộng rãi. ITU-T[11] đã khuyến nghị dùng phương pháp
này trong hầu hết các ứng dụng. Thang đo được khuyến là
Mean Opinion Scores (MOS)
Được mô tả trong khuyến nghị P.800 của ITU-T, MOS là một
phép đo chất lượng thoại nổi tiếng. Đây là một phương pháp đo chất
lượng mang tính chất chủ quan. Có hai phương pháp kiểm tra là đánh giá
đàm thoại và đánh giá độ nghe.
Bảng 2.1.Thang điểm đánh giá chất lượng tiếng nói theo MOS [12]
Score Quality of the Speech Level of Distortion
5 Excellent Imperceptible
4 Good Just perceptible, but not annoying
3 Fair Perceptible and slight annoying
2 Poor Annoying but not Objectinable
1 Bad Very annoying and Objectionable
Trang 23
Chương 2: Các phương pháp đánh giá chất lượng tiếng nói
Đánh giá bằng cách so sánh Comparison Category Rating (CCR) được
khuyến nghị bởi ITU-T để đánh giá các hệ thống dùng nâng cao chất lượng tiếng
nói. [13]
Bảng 2.2. Thang điểm đánh giá chất lượng tín hiê ̣u tiếng nói theo CCR
Rating Quality of Speech
3 Much better
2 Better
1 Slightly Better
0 About the Same
-1 Slightly Worse
-2 Worse
-3 Much Worse
Theshold Test hay còn gọi là Isopreference Test là một biến thể của
Preference Test. Phương pháp này là so sánh tín hiệu đã qua xử lý với tín hiệu gốc
chuẩn mà độ suy giảm chất lượng của nó có thể được kiểm soát. Được đề ra trong
chuẩn ITU-T Rec.P.810
1.9.2.2 Phương pháp đánh giá theo sự suy giảm chất lượng
Đánh giá sự suy giảm chất lượng Degradation Category Rating (DCR) Sự
giảm sút về chất lượng của tín hiệu đã qua xử lý so với tín hiệu chất lượng cao chưa
qua xử lý được xác định qua năm thang điểm
Trang 24
Chương 2: Các phương pháp đánh giá chất lượng tiếng nói
Nm N 1
10 M 1 x 2 (n)
SNRseg m0 log10 n Nm
Nm N 1
M [x( n) xˆ ( n)]2
n Nm [12] (2.1)
Trang 25
Chương 2: Các phương pháp đánh giá chất lượng tiếng nói
Mô ̣t cách xác định SNRseg khác được đề xuất bởi Richards [17] trong đó hàm
log có thay đổi so với công thức 2.1
Nm N 1 2
10 M 1 x ( n)
SNRseg m0 log10 1 Nm N 1[x(n) xˆ(n)]2
n Nm
(2.2)
n Nm
M
Như vâ ̣y có thể tránh được các giá trị sai lệch lớn trong suốt các khoảng lă ̣ng
của tín hiê ̣u tiếng nói. Chú ý rằng giá trị nhỏ nhất có thể đạt được của SNRsegR bây
giờ là 0 thì đã tốt hơn nhiều so với những giá trị âm vô cùng. Ưu điểm chính của
viê ̣c xác định trước phân đoạn SNR là tránh được viêc̣ cần thiết phải làm rõ ràng
giữa các khoảng tiếng nói và khoảng lă ̣ng
Đo SNR cho từng khung có thể được mở rô ̣ng trong miền tần số theo
F 2 (m, j )
K
B log
F ( m, j ) Fˆ 2 ( m, j )
j 1 j 10
10 (2.3)
m0
M 1
fwSNRseg
j 1 B j
K
M
Trang 26
Chương 2: Các phương pháp đánh giá chất lượng tiếng nói
axˆ Rx axˆ T
d LLR ax , axˆ log T (2.4)
a x Rx a x
hê ̣ số LPC của tín hiê ̣u sạch
hê ̣ số của tín hiê ̣u đã được tăng cường chất lượng
Rx là (p+1)*(p+1)ma trâ ̣n tự tương quan(Toeplitz) của tín hiê ̣u sạch
1.10.2.2 Phương pháp đo IS
Đo IS được xác định như sau
[12] (2.5)
Gx và lần lượt là hê ̣ số khuếch đại của tín hiê ̣u sạch và tín hiê ̣u tăng
cường.
1.10.2.3 Phương pháp đo theo khoảng cách cepstrum
Không giống với đo LLR, IS chú trọng sự khác nhau giữa hê ̣ số khuếch đại ,
sự khác nhau về mức phổ của tín hiệu sạch và tín hiệu tăng cường. Bên cạnh đó
cũng có thể là hạn chế của đánh giá IS, sự khác nhau giữa các mức phổ có tác động
nhỏ đến chất lượng[18]
Hệ số LPC cũng có thể xuất phát từ khoảng cách đo được dựa trên hệ số
cepstrum. Khoảng cách này quy định sự ước lượng khoảng cách log của phổ của
giữa hai phổ tín hiệu. Hệ số cepstrum có thể thu được từ phép đệ quy hệ số LPC
{aj} sử dụng công thức sau
(2.6)
Với p là bậc của phân tích LPC .Phép đo dựa trên hệ số cepstrum có thể được
tính như sau [19]
(2.7)
1.10.3 Đánh giá mô phỏng theo cảm nhận nghe của con người
Những phương pháp đánh giá đã được đề cập trên được ưa dùng vì tính đơn
giản để thực hiện và dễ dàng đánh giá. Tuy nhiên, khả năng dự đoán chất lượng chủ
Trang 27
Chương 2: Các phương pháp đánh giá chất lượng tiếng nói
quan của chúng thì hạn chế khi mà các phương pháp xử lý tín hiệu đó không tính
đến phạm vi nghe của con người.
1.10.3.1 Phương pháp đo Weighted Spectral Slope
Phương pháp đánh giá này được tính bởi dốc phổ đầu tiên được tìm thấy của
mỗi dải phổ. Xét Cx(k) là phổ dải tới hạn của tín hiệu sạch và là của tín hiệu tăng
cường, xét trong đơn vị dB. Phương trình sai phân bậc nhất được dùng để tính độ
dốc phổ được cho như sau:
(2.8)
Với và lần lượt biểu diễn cho độ dốc dải tần thứ k của tín hiệu sạch và tín
hiệu tăng cường. Sự khác nhau giữa các độ dốc phổ phụ thuộc vào trọng số một là
dải tần gần với đỉnh hoặc rãnh, hai là đỉnh là đỉnh lớn nhất của phổ. Trọng số của
dải thứ k, ký hiệu W(k) được tính như sau
(2.9)
độ rộng loga lớn nhất của phổ trong tất cả các băng, là giá trị của đỉnh gần
với băng k nhất, và , là hằng số có được bằng phép phân tích hồi quy để cực đại hóa
sự tương quan giữa đánh giá chủ quan và giá trị của đánh giá khách quan. Với
những thí nghiệm đã được thực hiện thì người ta tìm được sự tương quan lớn nhất
sẽ có được với = 20 và = 1[13]
Phép đo WSS tính cho mỗi khung của tín hiệu thoại:
(2.10)
Với L là số lượng dải tới hạn
Giá trị WSS được tính bằng cách lấy trung bình các giá trị WSS thu được từ
các khung trong câu.
WSS là phương pháp đánh giá khá hấp dẫn bởi vì nó chỉ chú ý tới vị trí đỉnh
phổ và ít nhạy cảm với các đỉnh xung quanh cũng như các chi tiết của phổ ở các
vùng thấp. Đánh giá LPC cơ bản (ví dụ như đánh giá LLR) nhạy với các tần số
formant khác, nhưng cũng nhạy với sự thay đổi biên độ và sự thay đổi độ nghiêng
phổ. Không có gì là bất ngờ khi đánh giá WSS mang lại một sự tương quan lớn
Trang 28
Chương 2: Các phương pháp đánh giá chất lượng tiếng nói
(ρ=0.74) hơn đánh giá LPC, với sự đánh giá chất lượng chủ quan của tiếng nói bị
giảm chất lượng bởi sự mã hóa[20]
1.10.3.2 Phương pháp đo Bark Distortion
Phương pháp đánh giá WSS là bước đầu làm mẫu cho việc làm thế nào để con
người nhận biết được tiếng nói, đặc biệt là nguyên âm. Các phương pháp đánh giá
sau này càng dựa vào sự xử lý âm thanh của tai người, cách mà thính giác con
người xử lý âm thanh và nhiễu. Những phương pháp đánh giá mới này đã dựa trên
những lập luận sau:
1. Sự phân tích tần số của tai người là không thay đổi, tức là sự phân tích
tần số của tín hiệu âm thanh không dựa trên phạm vi tần số tuyến tính
2. Độ nhạy của tai người phụ thuộc vào tần số âm thanh
3. Âm thanh to tương ứng với độ mạnh của tín hiệu trong miền phi tuyến
tính
Thính giác con người phỏng theo một loạt biến đổi của tín hiệu âm thanh. Cả
tín hiệu gốc và tín hiệu đã qua xử lý phải trải qua hàng loạt các biến đổi này, dẫn
đến cái gọi là phổ âm lượng. Đánh giá BSD sử dụng khoảng cách giữa các phổ này
như là đánh giá chất lượng chủ quan
1.10.3.3 Phương pháp đánh giá cảm nhận chất lượng thoại PESQ
Trong các phương pháp đánh giá OE thì PESQ là phương pháp đánh giá phức
tạp nhất và được khuyến nghị bởi ITU_T cho đánh giá chất lượng thoại băng hẹp
(3,2KHz) và là một phương pháp đánh giá khách quan có tính tương quan cao với
đánh giá theo cảm nhận của người nghe
1.11 Kết luận chương
Chương này đã trình bày một số phương pháp đánh giá chất lượng tiếng nói
sau khi xử lý giảm nhiễu bằng các thuật toán tăng cường tiếng nói. Các đánh giá SE
được giới thiệu gồm có các phương pháp đánh giá tuyệt đối và đánh giá tương đối.
Các phương pháp đánh giá OE được trình bày chính trong chương này gồm : Đo
SNRseg, đánh giá LLR, IS và WSS, trong phần này cũng đã giới thiệu sơ bộ về
BSD và PESQ
Trang 29
Chương 2: Các phương pháp đánh giá chất lượng tiếng nói
Trang 30
Chương 3: Các phương pháp giảm nhiễu trong xử lý tiếng nói
Trang 31
Chương 3: Các phương pháp giảm nhiễu trong xử lý tiếng nói
bản, thừa nhận sự có mặt của nhiễu, nó có thể đạt được mục đích ước lượng phổ của
tiếng nói sạch bằng cách trừ đi phổ của nhiễu với phổ của tiếng nói đã bị nhiễu. Phổ
của nhiễu có thể được ước lượng, cập nhật trong nhiều chu kỳ khi không có mặt của
tín hiệu. Sự thừa nhận đó chỉ được thực hiện đối với nhiễu không đổi hoặc có tốc độ
xử lý biến đổi chậm, và khi đó phổ của nhiễu sẽ không thay đổi đáng kể giữa các
khoảng thời gian cập nhật. Việc tăng cường tín hiệu đạt được bằng cách tính
IDFT(biến đổi Fourier rời rạc ngược) của phổ tín hiệu đã được ước lượng có sử
dụng pha của tín hiệu có nhiễu. Thuật toán này là một phép tính ước lượng đơn giản
vì nó chỉ gồm biến đổi DFT thuận và DFT ngược.
Quá trình xử lý hiệu đơn giản như vậy phải trả một cái giá, nếu quá trình xử lý
không được thực hiện một cách cẩn thận thì tiếng nói của chúng ta sẽ bị méo. Nếu
như việc lấy hiệu quá lớn thì có thể loại bỏ đi một phần thông tin của tiếng nói, còn
nếu việc thực hiện lấy hiệu đó nhỏ thì nhiễu sẽ vẫn còn được giữ lại trong tín hiệu.
Có rất nhiều phương pháp được đề xuất để giảm đi hầu hết méo trong quá trình xử
lý tiếng nói bằng spectral subtraction[21], và trong số đó cũng có một vài trường
hợp bị loại bỏ.
2.3.2 Spectral subtraction đối với phổ biên độ
Giả thiết rằng y[n] là tín hiệu vào đã bị nhiễu, nó tổng của tín hiệu sạch x[n]
và tín hiệu nhiễu d[n]:
y[n] = x[n] + d[n] (3.1)
Thực hiện biến đổi Fourier rời rạc cả 2 vế,ta được
Y ( ) X ( ) D( ) (3.2)
Chúng ta có thể biểu diễn Y( ) dưới dạng phức như sau:
j y ( )
Y ( ) | Y ( ) | e (3.3)
Khi đó |Y( )| là biên độ phổ, và y ( ) là pha của tín hiệu đã bị nhiễu.
Phổ của tín hiệu nhiễu D( ) có thể được biểu diễn dạng biên độ và pha:
D ( ) | D ( ) | e jd ( ) (3.4)
Trang 32
Chương 3: Các phương pháp giảm nhiễu trong xử lý tiếng nói
Biên độ phổ của nhiễu |D( )| không xác định được, nhưng có thể thay thế
bằng giá trị trung bình của nó được tính trong khi không có tiếng nói(tiếng nói bị
dừng), và pha của tín hiệu nhiễu có thể thay thế bằng pha của tín hiệu bị nhiễu
y ( ) , việc làm này không ảnh hưởng đến tính dễ nghe của tiếng nói [22], có thể
ảnh hưởng đến chất lượng của tiếng nói là làm thay đổi pha của tiếng nói nhưng
cũng chỉ vài độ.
Khi đó chúng ta có thể ước lượng được phổ của tín hiệu sạch:
X ( ) [| Y ( ) | | D ( ) |]e
j y ( )
(3.5)
ở đây | D ( ) | là biên độ phổ ước lượng của nhiễu được tính trong khi không
" "
có tiếng nói hoạt động. Ký hiệu để chỉ rằng giá trị đó là giá trị ước tính gần
đúng. Tín hiệu tiếng nói được tăng cường có thể đạt được bằng cách rất đơn giản là
biến đổi IDFT của X ( ) . Từ công thức (3.5), có thể thực hiện thuật toán trừ phổ
biên độ bằng cách nhân phổ Y( ) với hàm là hàm độ lợi H ( ) như sau :
j y ( )
X ( ) [| Y ( ) | | D ( ) |]e
| Dˆ | j y
1 |Y | e H Y
| Y |
| Dˆ |
Khi đó : 1
H (3.6)
| Y |
Trang 33
Chương 3: Các phương pháp giảm nhiễu trong xử lý tiếng nói
và không có một sự tương quan nào với tín hiệu sạch x[n], thì E{ X( ). D ( ) } và
E{ X ( ).D ( ) } xem là 0. Khi đó phổ công suất của tín hiệu sạch có thể tính được
như sau
^ ^
| X ( ) | | Y ( ) | | D( ) |2
2 2 (3.8)
Công thức trên biểu diễn thuật toán trừ phổ công suất. Như công thức trên, thì
phổ công suất được ước lượng | X ( ) |2 không được đảm bảo luôn là một số dương,
nhưng có thể sử dụng phương pháp chỉnh lưu bán sóng như đã trình bày ở trên. Tín
hiệu được tăng cường sẽ thu được bằng cách tính IDFT của | X ( ) | (bằng cách lấy
2
căn bậc hai của | X ( ) | ), có sử dụng pha của tín hiệu tiếng nói bị nhiễu. Chú ý
rằng, nếu chúng ta lấy IDFT cả hai vế của công thức (3.8) trên thì ta có một phương
trình tương tự trong miền tự tương quan:
tín hiệu tiếng nói bị nhiễu, và tín hiệu nhiễu đã được ước lượng [23,24].
Khi đó phổ công suất của tín hiệu sạch được tính lại như sau :
^
| X ( ) |2 H 2 ( ) | Y ( ) |2 ( 3.10)
Trang 34
Chương 3: Các phương pháp giảm nhiễu trong xử lý tiếng nói
| Dˆ |2
| H | 1
2
| Y |2
Trong đó =2, =0.5 cho thuật toán trừ phổ biên độ và =1 và =1 cho
thuật toán trừ phổ công suất.
2.3.4 Nhược điểm của phương pháp trừ phổ:
Trong thực tế các loại nhiễu có tính chất thống kê biến động rất phức tạp trong
cả miền thời gian lẫn miền tần số. Do đó, phổ nhiễu được ước lượng có thể không
chính xác. Biên độ phổ của tín hiệu đã được tăng cường là
| X ( ) | (| Y ( ) | | D( ) |) , có thể bị âm do sự sai sót trong việc ước lượng phổ của
nhiễu. Tuy nhiên, biên độ của phổ thì không thể âm, nên chúng cần phải đảm bảo
rằng khi thực trừ hai phổ thì phổ của tín hiệu tăng cường |X( )| luôn luôn không
âm. Giải pháp được đưa ra để khắc phục điều này là chỉnh lưu bán sóng hiệu của
phổ, nếu thành phần phổ nào mà âm thì chúng ta sẽ gán nó bằng 0:
^ ^
X ( ) Y ( ) | D( ) |
0 ,
, | Y ( ) | | D( ) |
(3.12)
Phương pháp xử lý bằng chỉnh lưu bán sóng là một trong những cách để đảm
bảo cho |X( )| không bị âm. Tuy nhiên, phương pháp này lại tạo ra những nhọn
riêng lẻ tại những tần số ngẫu nhiên ở các khung khác nhau. Chính các đỉnh nhọn
phân bố ngẫu trong miền tần số - thời gian này sẽ tạo cho người nghe cảm giác âm
của một loại nhiễu mới , gọi là "musical tone". Loại nhiễu này thường được nghe rất
rõ trong những khung không có tiếng nói (SNR rất thấp) của tín hiệu gốc y(n), và
càng làm cho người nghe khó chịu.
Một nhược điểm khác của phương pháp trừ phổ là pha tín hiệu sau khi tăng
cường được thay bằng pha của tín hiệu bị nhiễu ban đầu do đó có thể ảnh hưởng
đến tính dễ nghe nhưng không ảnh hưởng nhiều đến chất lượng của tín hiệu.
2.3.5 Giải pháp khắc phục "musical tone"
Nhằm giảm thiểu ảnh hưởng của musical tone đến chất lượng tín hiệu tiếng
nói sau khi xử lý, một thuật toán được đề xuất nhằm che giấu các đỉnh nhọn xuất
Trang 35
Chương 3: Các phương pháp giảm nhiễu trong xử lý tiếng nói
hiện trong mặt phẳng tần số - thời gian hoặc nâng cao độ chính xác trong ước lượng
phổ nhiễu cần phải trừ.
2.3.5.1 Trải nhiễu nền nhân tạo (flooring)
Mục đích của giải pháp này là phủ đầy mặt phẳng tần số - thời gian bởi một
nền nhiễu nhân tạo có biên độ nhỏ nhằm giảm sự nhấp nhô giữa các ô bất kỳ trong
mặt phẳng tần số-thời gian, từ đó sẽ giảm hiệu ứng " musical tone". Hàm ánh xạ
Trong đó hệ số đặc trưng cho mối quan hệ giữa phổ biên độ tăng cường và
phổ tín hiệu bị nhiễu trước khi xử lý ( ví dụ phổ biên độ có =0.01 tương đương
với lượng suy giảm 40dB). Mức nhiễu nền có thể là giá trị hằng số hoặc là chính
mức nền | Y | .
Trong đó hệ số thông thường có giá trị lớn hơn 1. Tuy nhiên do sự phân bố
năng lượng nhiễu là khác nhau tại mỗi thành phần tần số khác nhau và do đặc tính
thống kê động của tín hiệu tiếng nói nên việc đặt giá trị là hằng số không đem lại cải
thiện đáng kể tác động của "musical tone". Thay vào đó là giải pháp trừ phổ phi
tuyến được trình bày tiếp theo.
2.3.6 Non-linear Spectral Subtraction
Một vài nhóm nghiên cứu đề xuất kỹ thuật trừ phổ phi tuyến NSS ( Non-linear
Spectral Subtraction) với thông số trong công thức (3.14) thay đổi tùy theo SNR
của tín hiệu bị nhiễu đầu vào , nghĩa là dựa trên hàm [SNR] như sau:
| Xˆ || Y | SNR | D | (3.15)
Trang 36
Chương 3: Các phương pháp giảm nhiễu trong xử lý tiếng nói
Điều này làm tăng chất lượng của tín hiệu ngõ ra khi đầu vào có SNR quá
thấp. Tỷ số SNR của tín hiệu đầu vào được ước lượng trong một vài khoảng nhất
định (khoảng lặng – không có tiếng nói) để nâng cao được chất lượng tín hiệu đầu
ra ở những khung tín hiệu có SNR quá bé. Một trong các hàm [ ]SNRα tương đối
hiệu quả được đề xuất bởi [4] như sau:
3
0 SNR (3.16)
20
trong đó 0 là hệ số tại SNR=0dB. Giá trị SNR trong trường hợp này được
ước lượng cho từng khung tín hiệu và được gọi là tỷ số tín hiệu trên nhiễu sau (a
posteriori SNR). Tỷ số này được tính dựa trên công suất tín hiệu bị nhiễu | ( ) |2
Trang 37
Chương 3: Các phương pháp giảm nhiễu trong xử lý tiếng nói
phổ của nhiễu từ phổ của tính hiệu tiếng nói có nhiễu. Với cách làm này tín hiệu
tiếng nói sạch không thể có được bằng cách tối ưu nhất. Để khắc phục nhược điểm
này ta sử dụng thuật toán Wiener Filtering (WF).
WF là thuật toán được sử dụng rộng rãi trong nâng cao chất lượng tiếng nói.
Nguồn gốc cơ bản của thuật toán WF là tạo ra tín hiệu tiếng nói sạch bằng cách nén
nhiễu. Ước lượng được thực hiện bằng cách hạ thấp sai số bình phương trung bình
(Mean Square Error) giữa tín hiệu mong muốn và tín hiệu ước lượng.
H và Y là biến đổi Fourier của h(n) và y(n). Tại tần số k , sai số ước lượng
là: E X k Xˆ k X k H k .Y k (3.20)
Ta cần tìm được hàm truyền H(ω) để có thể đạt sai lệch bình phương bé nhất.
Ta có sai số bình phương được tính như sau:
2
E | E | E X k H k .Y k * X k H k .Y k
E | X k |2 H k E X * k Y k H * k E X k Y * k
| H k |2 E | Y k |2
với Pyy E | Y k | là phổ công suất của y(n), và Pxy E Y k . X k là
2 *
phổ công suất chéo giữa y(n) và x(n), ta có thể biểu diễn lại như sau:
J E | E |
2
Trang 38
Chương 3: Các phương pháp giảm nhiễu trong xử lý tiếng nói
Để tìm được H k tối ưu, ta lấy đạo hàm J theo H k và cho bằng 0:
J
H * k Pyy k Pyx k
H k
= H k Pyy k Pxy k = 0
*
Giải phương trình trên ta có dạng tổng quát của bộ lọc Wiener trong miền tần
số là:
Pxy k
H k (3.21)
Pyy k
2.4.3 Ứng dụng bộ lọc Wiener nâng cao chất lượng tiếng nói
Trong vấn đề giảm nhiễu nâng cao chất lượng tín hiệu tiếng nói bị nhiễu
y(n) = x(n) + d(n), bộ lọc Wiener được ứng dụng để phục hồi tín hiệu tăng cường
x(n). Dựa vào biểu thức tổng quát của bộ lọc Wiener ở trên , ta cần phải tính
Pdy k và Pyy k . Với giả thiết tín hiệu nhiễu d(n) và tín hiệu tiếng nói x(n)
không tương quan nhau, công suất phổ chéo Pxy k được tính như sau:
Pxy k E X k X k D k
*
E X k X k E X k D* k
Pxx k
Pyy k E X k D k . X k D k
*
E X k . X * k E D k .D* k
E X * k .D k E X k .D* k
Pxx k Pdd k
Trang 39
Chương 3: Các phương pháp giảm nhiễu trong xử lý tiếng nói
Như vậy bộ lọc Wiener có thể được tổng quát hóa bởi công thức chung cho
bình phương biên độ của hàm độ lợi:
E | D |2
| H k | 1
k
2
(3.22)
E | Y k |2
trong đó 1 và 1 cho bộ lọc Wiener.
2.5 Tính toán hàm độ lợi theo Priori SNR và Posteriori SNR cho hai thuật
toán :
Đặt Priori SNR và Posteriori SNR như sau[11]:
2
E{ X ( ) } (3.23)
SNR pri 2
E{ D( ) }
2
E{ Y ( ) } (3.24)
SNR post 2
E{ D ( ) }
Một khó khăn trong các thuật toán nâng cao chất lượng tiếng nói là ta không
có tín hiệu trước tín hiệu sạch s[n] nên ta không thể biết phổ của nó. Do đó ta không
thể tính được SNR pri mà trong các hệ thống nâng cao chất lượng giọng nói thì
SNR pri là tham số rất cần thiết để ước lượng tín hiệu sạch.Trong các hệ thống nâng
cao chất lượng giọng nói có thể ước lượng được SNR pri và SNR post bằng cách cho
các thông số thích hợp vào các phương trình sau[12]:
t t 1
(3.25)
2
P d ( ) P d ( ) (1 ) D t ( )
2
E{ Y ( ) }
SNR post (3.26)
t
P d ( )
2
^ t 1
X ( )
(3.27)
SNR tpri ( ) (1 ) P SNR tpost ( ) 1
P d ( )
Trang 40
Chương 3: Các phương pháp giảm nhiễu trong xử lý tiếng nói
Trong đó P[.] là hàm chỉnh lưu bán sóng có dạng như sau:
0
(3.28)
X , X
P( X )
0 ,
Và chỉ số [.]t để tín hiệu tại khoảng thời gian đang xử lý.
Trong phương trình nếu cho hệ số ta có thể ước lượng được SNR pri bằng
SNR post . Trong thực tế hệ số =0.98 rất tốt cho các tín hiệu có SNR<4dB.
2.5.1 Hàm độ lợi của thuật toán trừ phổ:
E | Y | E | D |
E | Y |
E | X |
(3.29)
E | X | E | D |
Trong đó P[.] là hàm chỉnh lưu bán sóng có dạng như sau:
X , X 0
P( X )
0 ,
E | D( ) |2
H ( ) 1
E | Y ( ) |2
Trang 41
Chương 3: Các phương pháp giảm nhiễu trong xử lý tiếng nói
2 2
E{ Y ( ) } E{ D( ) }
2
E{ Y ( ) }
2
E{ X ( ) }
2 2 (3.32)
E{ X ( ) } E{ D( ) }
E | D( ) |2
H ( ) 1 [SNR]
E | Y ( ) |2
2 2
E{ Y ( ) } [SNR]E{ D( ) }
2
E{ Y ( ) }
2
E{ X ( ) }
2 2 (3.36)
E{ X ( ) } [SNR]E{ D( ) }
Trang 42
Chương 3: Các phương pháp giảm nhiễu trong xử lý tiếng nói
2.6 Overlap và Adding trong quá trình xử lý tín hiệu tiếng nói
2.6.1 Phân tích tín hiệu theo từng frame
Do tín hiệu cần xử lý của chúng ta là tín hiệu liên tục, nên khi chúng ta biến
đổi FFT trực tiếp tín hiệu từ miền thời gian mà không thông qua một quá trình tiền
xử lý nào trước đó thì tín hiệu sau khi được biến đổi FFT sẽ biến đổi nhanh, lúc đó
chúng ta không thể thực hiện được các thuật toán xử lý triệt nhiễu trong tín hiệu vì
khi đó tín hiệu được xem là động.
Chính vì vậy, tín hiệu của chúng ta cần phải được phân tích thành những
khung tín hiệu(frame) liên tục trong miền thời gian trước khi chuyển sang miền tần
số bằng biến đổi FFT. Khi tín hiệu được phân tích thành các frame liên tục, thì
trong từng frame, tín hiệu của chúng ta sẽ biến đổi chậm và nó được xem là tĩnh.
Nếu tín hiệu được phân tích theo từng frame thì khi đó các thuật toán xử lý triệt
Trang 43
Chương 3: Các phương pháp giảm nhiễu trong xử lý tiếng nói
nhiễu trong tín hiệu mới có thể thực hiện được một cách hiệu quả. Và cách phân
tích tín hiệu của chúng ta là “frame by frame”.
Để thực hiện việc phân tích tín hiệu thành các frame, cần sử dụng các loại cửa
sổ thích hợp. Ở đây, chúng ta sử dụng cửa sổ Hamming, với N = 256 mẫu trong
từng frame :
1 0.85185. cos((2k 1) / N ) , k 0,..., N 1 (3.42)
Hình 3.2 Phân tích tín hiệu thành các frame [31].
2.6.2 Overlap và Adding
Sau khi phân tích tín hiệu thành các frame liên tục trong miền thời gian bằng
cửa sổ Hamming, nếu các frame này liên tục với nhau và không theo một điều kiện
nào cả thì khi thực hiện biến đổi FFT thì vô tình chúng ta đã làm suy giảm tín hiệu
do Hamming là cửa sổ phi tuyến.
Nên khi thực hiện phân tích tín hiệu thành các frame thì yêu cầu đặt ra là các
frame phải sắp xếp chồng lên nhau, gọi là “overlap”. Việc xếp chồng các frame với
nhau sẽ được thực hiện theo một tỷ lệ chồng lấp thích hợp, thông thường là 40%
hoặc 50%.
Sau khi các frame tín hiệu được xử lý triệt nhiễu trong miền tần số, các frame
này được liên kết lại nhau bằng phương pháp thích hợp với phương pháp phân tích
tín hiệu thành các frame ở đầu vào gọi là “adding”.
Tập hợp các mẫu tín hiệu trong cùng một frame sau khi được phân tích ở đầu
vào gọi là một “segment”. Với cách thực hiện phân tích và liên kết các frame bằng
Trang 44
Chương 3: Các phương pháp giảm nhiễu trong xử lý tiếng nói
phương pháp overlap và adding thì tín hiệu của chúng ta thu được sau khi xử lý triệt
nhiễu sẽ không bị méo dạng và sẽ không xuất hiện hiện tượng “giả nhiễu”.
Trang 45
Chương 3: Các phương pháp giảm nhiễu trong xử lý tiếng nói
detection (VAD). Thuật toán VAD có tín hiệu ra ở dạng nhị phân quyết định trên
một nền tảng frame-by-frame, khi đó frame có thể xấp xỉ 20-40 ms. Một đoạn tiếng
nói có chứa tiếng nói hoạt động thì VAD = 1, còn nếu tiếng nói không hoạt động
hay đó chính là nhiễu thì VAD = 0.
Có một vài thuật toán VAD được đưa ra dựa trên nhiều đặc tính của tín hiệu.
Các thuật toán VAD được đưa ra sớm nhất thì dựa vào các đặc tính như mức năng
lượng, zero-crossing, đặc tính cepstral, phép đo khoảng cách phổ Itakura LPC, phép
đo chu kỳ.
Phần lớn các thuật toán VAD đều phải đối mặt với vấn đề là điều kiện SNR
thấp, đặc biệt khi nhiễu bị thay đổi. Một thuật toán VAD có độ chính xác trong môi
trường thay đổi không thể đủ trong các ứng dụng của Speech enhancement, nhưng
việc ước lượng nhiễu một cách chính xác là rất cần thiết tại mọi thời điểm khi tiếng
nói hoạt động [26].
2.7.2 Quá trình ước lượng và cập nhật nhiễu
Nhiễu sẽ được ước lượng lúc ban đầu bằng cách lấy trung bình biên độ phổ
của tín hiệu bị nhiễu
M 1
1
Di ( )
M
Y ( )
i 0
i (3.43)
Sau đó, sử dụng phương pháp VAD để nhận biết các frame tiếp theo, frame
nào là frame nhiễu và sẽ cập nhật nhiễu đó cho các frame tiếp theo. Để có thể nhận
biết được frame nào là nhiễu thì chúng ta thực hiện so sánh biên độ phổ của nhiễu
được ước lượng với biên độ phổ của tín hiệu bị nhiễu :
1 Yi ( )
T 20 log
2
| D i 1 ( )
| d (3.44)
Nếu T 12dB thì frame đó không phải là frame có tiếng nói, khi đó ta có
thể cập nhật lại nhiễu đã được ước lượng trước đó.
Trang 46
Chương 3: Các phương pháp giảm nhiễu trong xử lý tiếng nói
có thể thực hiện được thì cần phải phân tích tín hiệu thành các frame và các frame
phải xếp chồng lên nhau, và sau khi các frame được xử lý trong miền tần số và
chuyển đổi về lại miền thời gian thì các frame đó phải được liên kết lại với nhau
theo đúng phương pháp tương ứng với phương pháp phân tích tín hiệu ở đầu vào,
quá trình đó gọi là overlap và adding. Chính điều đó sẽ làm cho tín hiệu của chúng
ta sau khi xử lý triệt nhiễu sẽ không bị méo, đảm bảo chất lượng của tiếng nói. Nội
dung của chương cũng trình bày vấn đề ước lượng tín hiệu sạch bằng cách tính toán
ước lượng hàm độ lợi H ( ) theo hai phương pháp dựa theo Priori SNR và
Posteriori SNR. Tùy theo mỗi thuật toán và các tính toán ước lượng hàm độ lợi mà
nó sẽ quyết định tính hiệu quả của thuật toán và chất lượng của tiếng nói sau khi xử
lý triệt nhiễu. Việc phân tích đánh giá hiệu quả của mỗi phương pháp sẽ thực hiện
trong chương tiếp theo.
Trang 47
Chương 4: Thực hiện và đánh giá các thuật toán
Hình 4.1. Sơ đồ thực hiện và đánh giá thuật toán tăng cường
Xây dựng thuật toán : dựa trên các cơ sở toán học, các phép biến đổi trong
miền thời gian và tần số đối với xử lý tín hiệu số để xây dựng nên các thuật toán xử
lý nhiễu trong tiếng nói.
Triển khai trên Matlab: từ thuật toán đã xây dựng được, thực viết mã nguồn
bằng ngôn ngữ lập trình và sử dụng các công cụ trên Matlab tạo nên chương trình
thực hiện xử lý nhiễu trong tiếng nói trên nền Matlab.
Trang 48
Chương 4: Thực hiện và đánh giá các thuật toán
Thực hiện xử lý tiếng nói bằng các thuật toán: thực hiện xử lý triệt nhiễu trong
các file âm thanh bị nhiễu bằng chương trình đã xây dựng ở trên.
Thực hiện các phương pháp đánh giá dựa trên các kết quả đạt được sau khi
xử lý : sau khi các file âm thanh bị nhiễu với các mức độ và loại nhiễu khác nhau đã
được xử lý triệt nhiễu, cùng với các file âm thanh sạch tương ứng, ta sử dụng các
phương pháp đánh giá của Speech enhancement để thực kiểm tra, đánh giá tính hiệu
của thuật toán.
Nhận xét đánh giá: từ các kết quả sau khi thực hiện các phương pháp đánh giá
đã có ở trên, đưa ra các kết luận đánh giá : thuật toán nào thích hợp cho loại nhiễu
nào, với mức độ bao nhiêu, thuật toán nào có khả xử lý nhiễu tốt hơn trong mọi
trường hợp.
Trang 49
Chương 4: Thực hiện và đánh giá các thuật toán
VAD
SpeechFlag==1? S S
Giảm nhiễu dư
Đ I<number of frame
Đ
S
X
Thực hiên IFFT và nối =
các frame X
End
Trang 50
Đ S S
Chương 4: Thực hiện và đánh giá các thuật toán
VAD
ĐS
SpeechFlag
==0?
Cập nhật nhiễu
S
Đ
I<number
Đ
of frame
X
S
End
Trang 51
Chương 4: Thực hiện và đánh giá các thuật toán
Begin
VAD
S
SpeechFlag==1? S
Đ
I<number of frame
S
Thực hiên IFFT và nối các X =
frame X
End
Trang 52
Đ ĐS S
Chương 4: Thực hiện và đánh giá các thuật toán
Trang 53
Chương 4: Thực hiện và đánh giá các thuật toán
thực hiện quá trình tinh chỉnh thông số để được các kết quả khác nhau từ đó so sánh
và đưa ra các thông số tối ưu nhất có thể. Quá trình này là thực hiện đánh giá thuật
toán.
Nhận xét
2.14.3 Quá trình thực hiện các phương pháp đánh giá
Các đánh giá OE được dùng bao gồm :
- Itakura-Saito (IS)
- Log Likelihood Ratio (LLR)
- Segmental Signal-to-Noise Ratio (SNR)
- Weighted Spectral Slope (WSS)
Trang 54
Chương 4: Thực hiện và đánh giá các thuật toán
Hình 4.6 Các phương pháp đánh giá với nhiễu trắng
- Từ kết quả đánh giá trên, ta thấy đối với nhiễu trắng, các thuật toán được nghiên
cứu đều xử lý tốt và có độ ổn định cao. Vì các thuật toán xử lý đều dựa trên ước
lượng và cập nhật nhiễu , trong khi nhiễu trắng có phổ nhiễu hẹp, công suất ổn định,
dẫn đến việc ước lượng và cập nhất nhiễu chính xác hơn.
Trang 55
Chương 4: Thực hiện và đánh giá các thuật toán
- Qua các phép đánh giá khách quan thì nhìn chung, thuật toán Wiener sử dụng
phương pháp Priori SNR để tính hàm độ lợi xử lý nhiễu trắng tốt hơn so với các
thuật toán khác
Hình 4.7 Các phương pháp đánh giá với nhiễu xe hơi
Từ các kết quả đánh giá trên chỉ ra rằng :
- Các kết quả sau khi xử lý nén nhiễu nhìn chung cho chỉ số đánh giá tốt hơn so với
chưa xử lý.
Trang 56
Chương 4: Thực hiện và đánh giá các thuật toán
- Đánh giá IS và LLR cho thấy, các thuật toán NSS-pri xử lý tốt nhất, độ ổn định cao,
nhưng đánh giá SegSNR lại cho thấy tỉ số tín hiệu trên nhiễu thấp. Trong khi đó
thuật toán Wiener-pri có tỉ số tín hiệu trên nhiễu tốt nhất.
2.14.3.3 Đánh giá xử lý đối với nhiễu người nói xung quanh
Hình 4.8 Các phương pháp đánh giá với người nói xung quanh
Qua các phép đánh giá khách quan, có thể thấy được rằng :
- Nhiễu người nói xung quanh được sáu thuật toán xử lý không tốt như khi xử lý
nhiễu trắng và nhiễu tiếng ồn xe hơi
Trang 57
Chương 4: Thực hiện và đánh giá các thuật toán
- Đánh giá segSNR chỉ ra rằng, thuật toán Wiener-pri xử lý tốt nhất. Đánh giá IS lại
cho thấy NSS-pri xử lý tốt nhất, còn thuật toán NSS-post xử lý kém hiệu quả nhất.
Hình 4.9 Các phương pháp đánh giá với nhiễu tàu hỏa
Trang 58
Chương 4: Thực hiện và đánh giá các thuật toán
Trang 59
Chương 4: Thực hiện và đánh giá các thuật toán
Hình 4.10 Các phương pháp đánh giá với thuật toán SS-post
- Đánh giá segSNR cho thấy, thuật toán SS-post xử lý loại trừ nhiễu ở nhiễu người
nói xung quanh khá tối. Trong khi xử lý nhiễu trắng, nhiễu xe hơi và nhiễu tàu hỏa
tốt hơn.
Trang 60
Chương 4: Thực hiện và đánh giá các thuật toán
Hình 4.11 Các phương pháp đánh giá với thuật toán SS-pri
- Đánh giá IS cho thấy sự không ổn định khi xử lý nhiễu tàu hỏa (ở mọi mức tín hiệu
trên nhiễu) trong khi nhiễu trắng và nhiễu xe hơi thì được xử lý khá ổn định.
- Nhiễu trắng được xử lý tốt nhất và ổn định nhất đối với đánh giá segSNR, nhưng
đối với đánh giá IS và WSS, nhiễu xe hơi lại là nhiễu được xử lý tốt nhất.
Trang 61
Chương 4: Thực hiện và đánh giá các thuật toán
Hình 4.12 Các phương pháp đánh giá với thuật toán NSS-post
- Thuật toán NSS-post thực sự tốt cho nhiễu xe hơi và nhiễu trắng, có độ ổn định rất
cao đối với nhiễu trắng ở mọi mức tín hiệu trên nhiễu.
- Nhiễu tàu hỏa được xử lý cho ra kết quả không cao và kém ổn định.
Trang 62
Chương 4: Thực hiện và đánh giá các thuật toán
Hình 4.13 Các phương pháp đánh giá với thuật toán NSS-pri
- Đánh giá segSNR chỉ ra rằng, thuật toán này tối ưu nhất đối với xử lý nhiễu trắng,
trong khi đánh giá IS lại cho rằng, nhiễu xe hơi mới là nhiễu được xử lý tốt nhất.
Trang 63
Chương 4: Thực hiện và đánh giá các thuật toán
Hình 4.14 Các phương pháp đánh giá với thuật toán Wiener-post
- Qua các đánh giá ta có thể thấy ở thuật toán Wiener-post đã xử lý rất ổn định đối
với nhiễu tàu hỏa. Điều mà các thuật toán đã đánh giá ở trước chưa xử lý được
Trang 64
Chương 4: Thực hiện và đánh giá các thuật toán
Hình 4.15 Các phương pháp đánh giá với thuật toán Wiener-pri
- Một điều dễ nhận thấy là đối với phương pháp IS, thuật toán Wiener-pri lại không
thành công trong việc xử lý cũng như độ ổn định của thuật toán này đối với nhiễu
tàu hỏa
- Tuy nhiên, phương pháp segSNR lại cho thấy tính ổn định của thuật toán này đối
với các loại nhiễu được đề cập đến
Trang 65
Chương 4: Thực hiện và đánh giá các thuật toán
Trang 66
Kết luận đồ án và hướng phát triển đề tài
Trang 67
Kết luận đồ án và hướng phát triển đề tài
Phát triển chương trình đã thực hiện đối với các dịch vụ ứng dụng thời gian
thực và các dịch vụ trong lĩnh vực truyền thông đa phương tiện như : thoại, âm
nhạc, truyền hình hội nghị.
Trang 68
Tài liệu tham khảo
Trang 69
Tài liệu tham khảo
[14] Hansen J. and Pellon B. , “An effective quality evaluation protocol for Speech
Enhancement algorithms”, Proc. Int Conf. Spoken Language Process, 1998.
[15] http://en.wikipedia.org/wiki/Code_Excited_Linear_Prediction
[16] Beey Y. , Shpiro Z. , Simchony T. , Shatz L. and Piasetzky J., “An efficient
variable_bit_rate_low_delay (VBR_LP_CELP) code” , New York, Marcel Pekker,
1990.
[17] Yi Hu and Philipos C. Loizou, “Evaluation of Objective Quality Measures for
Speech Enhancement”, IEEE.
[18] Klatt D., “Prediction of perceived phonetic distance from critical band
spectra”, Proc IEEE Int. Conf. Acoust. Speech Signal Process.
[19] Kitawaki N., Nagabuchi H., and Itoh K., “Objective Evaluation for low bit_rate
Speech Coding systems”, IEEE J, Sel. Areas Commun.
[20] Quackenbush S., Barnwell T. and Clements M., “Objective Measure of Speech
Quality”, Englewood Cliffs NJ: Prenticư Hall.
[21]. Boll, S.F(1979), Suppression of acoustic noise in speech using spectral
subtraction, IEEE Trans. Acoust. Speech Signal Process., 27(2), 113-120.
[22]. Paliwal, K. and Alsteris, L.(2005), On the usefulness of STFT phase spectrum
in human listening tests, Speech Commun., 45(2), 153-170.
[23]. Weiss, M., Aschkenasy, E., and Parsons, T., (1974), Study and the
Development of the INTEL Technique for Improving Speech Intelligibility,
Technical Report NSC-FR/4023, Nicolet Scientific Corporation.
[24]. Deller, J., Hansen, J.H.L., and Proakis, J. (2000), Discrete –time Processing of
Speech Signals, New York : IEEE Press.
[25]. Guastafsson, H., Nordholm, S., and Claesson, I.(2001), Spectral subtraction
using reduced delay convolution and adaptive averaging, IEEE Trans. Speech
Audio Process., 9(8), 799-807.
[26]. Philippos C.Loizou, Speech Enhancement Theory and Practice,pp. 100.
[27]. Paliwal, K. and Alsteris, L.(2005), On the usefulness of STFT phase spectrum
in human listening tests, Speech Commun., 45(2), 153-170.
Trang 70
Tài liệu tham khảo
Trang 71
Phụ lục
Phụ lục
Toàn bộ mã nguồn của chương trình thực hiện được lưu trong đĩa CD đính kèm
Trang 72