Nội dung của luận văn sẽ đề cập đến vấn đề nén tín hiệu tiếng nói và ứng dụng xử lý số để nén tín hiệu tiếng nói, bao gồm các phần sau: Chương 1: Cơ sở lý thuyết nén tín hiệu Chương này
Trang 1Lời nói đầu
Hiện nay, việc số hoá các hệ thống thông tin liên lạc đã và đang được thực hiện mạnh mẽ ở trên thế giới cũng như ở Việt nam Chính vì vậy mà xử
lý tín hiệu và lọc số đã trở thành một lĩnh vực khoa học khá quan trọng Nó
được phát triển nhanh chóng bởi sự ra đời các vi mạch điện tử cỡ lớn VLSI làm nền tảng cho sự phát triển của phần cứng số chuyên dụng giá thành rẻ, kích thước nhỏ gọn, tốc độ tính toán cao, mềm dẻo linh hoạt, đáng chú ý là các chip chuyên cho xử lý số tín hiệu ứng dụng của lĩnh vực khoa học này là rất to lớn, như xử lý tiếng nói, xử lý ảnh,…
Từ lâu, lĩnh vực nén tín hiệu tiếng nói đã được các nhà khoa học rất quan tâm nghiên cứu để ứng dụng cho mục đích quân sự, sau này phát triển cho cả các mục đích chung khác Những kiến thức cơ bản về xử tín hiệu và lọc
số là rất cần thiết để tiếp cận với ngành khoa học này Nội dung của luận văn
sẽ đề cập đến vấn đề nén tín hiệu tiếng nói và ứng dụng xử lý số để nén tín hiệu tiếng nói, bao gồm các phần sau:
Chương 1: Cơ sở lý thuyết nén tín hiệu
Chương này trình bày những lý thuyết chung nhất về nén dữ liệu
Chương 2: Nén và xử lý số tín hiệu tiếng nói
Chương này trình bày tổng quát các phương pháp nén tín hiệu tiếng nói và xử
lý số tín hiệu tiếng nói, xây dựng mô hình số tạo tín hiệu tiếng nói dựa trên mô hình lý tưởng, từ đó dự đoán các tham số của tín hiệu tiếng nói, phân tích theo phương pháp tự tương quan
Chương 3: Nén tín hiệu tiếng nói bằng phương pháp mã hoá băng con Chương này tìm hiểu và trình bày phương pháp mã hoá băng con để nén tín hiệu tiếng nói, cũng như các bộ lọc băng đi kèm
Chương 4: Thiết kế, chế tạo thiết bị ngoại vi nén phổ tín hiệu thoại
Trang 2Mục lục: là các chương trình và sơ đồ thiết kế Phần cuối cùng là kết luận và tài liệu tham khảo
Trang 3Môc lôc
Lêi nãi ®Çu 1
Ch−¬ng 1: C¬ së lý thuyÕt nÐn tÝn hiÖu 4
1.1 Giíi thiÖu 4
1.2 C¸c kü thuËt nÐn 5
1.3 §¸nh gi¸ kh¶ n¨ng thùc hiÖn 6
1.4 KÕt luËn 7
Ch−¬ng 2 NÐn vµ xö lý sè tÝn hiÖu tiÕng nãi 8
2.1 NÐn tÝn hiÖu tiÕng nãi 9
2.2 Mét sè ph−¬ng ph¸p c¬ b¶n 10
2.3 Xö lý sè tÝn hiÖu tiÕng nãi 27
2.4 Ph−¬ng ph¸p dù ®o¸n tuyÕn tÝnh trong xö lÝ sè tÝn hiÖu tiÕng nãi 36
2.5 KÕt luËn 39
Ch−¬ng 3 NÐn tÝn hiÖu tiÕng nãi b»ng ph−¬ngph¸p m· ho¸ b¨ng con 40
3.1 Giíi thiÖu chung 40
3.2 C¬ së kü thuËt m· ho¸ b¨ng con 40
3.3 C¸c bé läc 43
3.4 ThuËt to¸n m· b¨ng con c¬ b¶n 45
3.5 ThiÕt kÕ c¸c nh¸nh läc 48
3.6 Kh«i phôc hoµn thiÖn sö dông c¸c nh¸nh läc hai kªnh 53
3.7 CÊp ph¸t bit 54
3.8 øng dông bé m· tiÕng nãi G722 56
Ch−¬ng 4 ThiÕt kÕ ngo¹i vi nÐn phæ tÝn hiÖu tho¹i 58
Phôc lôc 72
Trang 4Chương 1 Cơ sở lý thuyết nén tín hiệu
1.1/ Giới thiệu:
Trong một vài thập kỷ qua sự phát triển của khoa học và kỹ thuật truyền tin thực sự là một cuộc cách mạng đối với phương tiện truyền thông Đáng kể nhất là các mạng internet, mạng viễn thông di động, và truyền thông video Trong thực tế sẽ không mô tả được các hình ảnh, chưa nói gì đến audio và video hay các website nếu chúng ta không có các thuật toán nén dữ liệu Các mạng điện thoại tế bào không thể không nén khi số lượng đầu cuối tăng, tín hiệu truyền hính số không thể thiếu quá trình nén, thực hiện một cuộc liên lạc
đường dài cũng cần nén, rồi các dịch vụ tuyền hình vệ tinh,… đều cần nén Trong một thời gian khá dài kỹ thuật nén dữ liệu chỉ nhận được sự quan tâm của một nhóm nhỏ các nhà khoa học và kỹ sư, ngày nay là một lĩnh vực rất quan trọng và được đông đảo mọi người quan tâm [1,2]
Như vậy, nén dữ liệu là gì ? và tại sao lại thực sự cần thiết ? Ta đã quen nghe JPEG ( Joint Photographic Expert Group) và MPEG ( Moving Picture Expert Group ), đó là các chuẩn nén ảnh tĩnh ( picture ) và ảnh động ( video ) Các thuật toán nén dữ liệu được sử dụng trong các chuẩn này đều giảm số các bít yêu cầu đối với một bức ảnh hay một chuỗi các ảnh Tóm lại, nén dữ liệu là một nghệ thuật hay một khoa học đưa ra dạng thông tin cô đọng Chúng ta tạo
ra dạng cô đọng này bằng cách nhận dạng và sử dụng các cấu trúc tồn tại trong dữ liệu Dữ liệu có thể là ký tự trong một file text, dãy số của các mẫu trong tín hiệu tiếng nói hay các tín hiệu dạng sóng của ảnh, hoặc chuỗi các số
được sinh ra từ các nguồn khác … Lý do cần nén dữ liệu rất nhiều và cũng rất nhiều thông tin sinh ra ở dạng số theo các byte dữ liệu Số các byte yêu cầu để cho dữ liệu xử lý là rất lớn Ví dụ, để có được các số trong một giây tín hiệu video mà không có nén, chúng ta cần hơn 20Mbyte ( hay 160Mbit ) Nếu xét thời gian xử lý trong vài giây ta sẽ hiểu tại sao cần nén
Trang 5Sự phát triển bùng nổ của dữ liệu đòi hỏi phải được truyền và được lưu giữ, tại sao không tập trung phát triển các kỹ thuật truyền và lưu giữ ? Điều này vẫn đang xảy ra, nhưng chưa đủ Đã có rất nhiều tiến bộ quan trọng cho phép truyền thông tin được truyền và lưu giữ với dung lượng lớn không có nén như CD-ROM, hệ thống cáp quang, ADSL (Đường thuê bao số không đối xứng), modem… Với các công nghệ mới, hai nội dung lưu giữ và truyền có khả năng tăng lên đáng kể, dù quá trình truyền dữ liệu chịu rất nhiều tác động không mong muốn, khả năng cải tiến chậm hơn so với lưu dữ liệu Tuy vậy sự nhảy vọt về công nghệ mới trong lưu giữ dữ liệu cũng chỉ là một mặt của vấn
đề Thực tế cho thấy sự đầu tư về công nghệ mới cho cơ sở vật chất tốn kém hơn gia công và nén tín hiệu để dùng trên cơ sở hạ tầng cũ [3]
1.2 Các kỹ thuật nén:
Kỹ thuật nén và thuật toán nén Trên thực tế thuộc về hai thuật toán Đó
là thuật toán nén đầu vào là X và đưa ra X∧ yêu cầu một số bít nào đó, và một thuật toán khôi phuc lại, hoạt động trên cơ sở tín hiệu đã được nén X∧ để khôi phục lại Y Ta qui ước gọi hai thuật toán này là thuật toán nén
Dựa trên các yêu cầu về khôi phục dữ liệu Các sơ đồ nén có thể chia ra làm hai loại, đó là các sơ đồ nén không tiêu hao, theo đó Y giống hệt X và các
sơ đồ nén tiêu hao, mức nén cao hơn nhiều so với nén không tiêu hao
(lossless) nhưng Y khác X
1.2.1 Kỹ thuật nén không tiêu hao:
Các kỹ thuật nén không tiêu hao, có hàm ý là không mất thông tin Nếu như dữ liệu đã được nén, thì ở phía thu có thể khôi phục chính xác dữ liệu gốc Các kỹ thuật nén này sử dụng cho các ứng dụng cần khôi phục chính xác so với tín hiệu gốc ban đầu
Nén văn bản, là thí dụ điển hình của nén không tiêu hao Sau khi khôi phục văn bản thu được phải giống hệt văn bản gốc, như vậy chỉ cần một khác
Trang 6biệt nhỏ cũng có thể dẫn đến kết quả sai hẳn về ý nghĩa của câu Nhiều loại dữ liệu đòi hỏi khắt khe đối với dữ liệu khôi phục và dữ liệu gốc
Có rất nhiều ứng dụng yêu cầu nén khôi phục chính xác nguyên gốc Song cũng có một số ứng dụng chỉ có các yêu cầu đơn giản là nén được nhiều
dữ liệu Đó là kỹ thuật nén có tiêu hao
1.2.2 Kỹ thuật nén có tiêu hao:
Các kỹ thuật nén có tiêu hao đòi hỏi mất một số thông tin, dữ liệu đã
được nén bằng kỹ thuật tiêu hao thì không thể khôi phục hay xây dựng lại
được chính xác Sự sai lệch này coi như phải chấp nhận khi khôi phục lại Nén
có tiêu hao có thể đạt được tỷ lệ nén cao hơn rất nhiều so với nén không tiêu hao
Trong nhiều ứng dụng, sự sai lệch giữa dữ liệu gốc và dữ liệu khôi phục
là không quá phải quan tâm Ví dụ khi lưu dữ và truyền tiếng nói, giá trị chính xác của mỗi frame tín hiệu tiếng nói là không cần thiết Giả sử có mất một lượng tín hiệu thông tin đáng kể trong mỗi mẫu tín hiệu tiếng nói thì chất lượng tiếng nói sau khi khôi phục vẫn có thể chấp nhận được do sự nhạy cảm
đặc biệt của tai người Nếu như chất lượng tiếng nói sau khôi phục nghe được như trong điện thoại, thì việc mất tín hiệu thông tin là có thể bỏ qua Tuy nhiên khi yêu cầu chất lượng tiếng nói sau khôi phục hoàn hảo, thì lượng thông tin bị mất phải thấp
Khi xem lại một đoạn Video nhận được, thực tế nó khác với bản gốc, nhưng không quan trọng lắm, miễn là sự khác nhau đó không gây cảm giác khó chịu Do đó video được sử dụng kỹ thuật nén có tiêu hao
Nếu xây dựng được lưu đồ nén, cần đánh giá khả năng thực hiện Vì phạm vi các ứng dụng rất khác nhau [2]
1.3 Đánh giá khả năng thực hiện:
Một thuật toán nén có thể được đánh giá theo một nhiều phương pháp khác nhau Có thể đánh giá độ phức tạp của thuật toán nén, yêu cầu bộ nhớ để
Trang 7thực hiện thuật toán, chu kỳ máy để thực hiện thuật toán, tỷ lệ nén, dữ liệu sau khôi phục so với dữ liệu gốc
Một cách rất logic đánh giá thuật toán nén là xét tỷ lệ các bit yêu cầu của dữ liệu trước và sau khi nén Tỷ lệ này được gọi là tỷ lệ nén
Một cách khác để mô tả khả năng nén là đưa ra số bít yêu cầu trung bình cho một mẫu Tham số mô tả này gọi là tốc độ, ví dụ tín hiệu tiếng nói
được lấy mẫu ở tần số 8khz, mỗi mẫu cần dùng là 4 bit để mã, thì tốc độ là 32kbps
Trên đây là tính ưu việt của kỹ thuật nén dữ liệu nói chung Trong hai
xu hướng nén cơ bản thấy qua các cách đánh giá khả năng thực hiện thuật toán nén Trong chương sau sẽ đề cập đến các phương pháp nén tiếng nói nói chung và các phương pháp mã hoá tiếng nói
1.3 Kết luận:
Trong chương này luận văn đã khái quát tầm quan trọng của nén dữ liệu, các kỹ thuật nén cơ bản và cách đánh giá khả năng thực hiện một lưu đồ nén Trong chương hai, luận văn giới thiệu các kỹ thuật nén tín hiệu tiếng nói tổng quát, sơ đồ khối của một hệ thống nén và giải nén tín hiệu tiếng nói và một số phương pháp nén tiếng nói cơ bản Trong chương này cũng giới thiệu
về phương pháp xử lý số tín hiệu tiếng nói dựa trên mô hình tín hiệu số để tạo tín hiệu tiếng nói và trình bày các tham số dự đoán tiếng nói qua phương pháp
tự tương quan
Trang 8Chương 2 nén vμ xử lý số tín hiệu tiếng nói
2.1 nén tín hiệu tiếng nói
2.1.1 Giới thiệu chung
Trong các hệ thống liên lạc ( analog và digital ) vấn đề hạn chế phổ tần tín hiệu là rất đáng quan tâm Nó hiệu quả trong xử lý, lưu trữ và truyền dẫn tín hiệu Sự phát triển của công nghệ tích hợp IC đã cho ra đời các vi mạch cỡ rất lớn VLSI và xử lý tín hiệu số DSP làm xu hướng phát triển của các hệ thống thông tin là số hoá, chúng thực hiện một quá trình biến đổi tín hiệu từ nguồn tin liên tục ( như tiếng nói, hình ảnh, âm nhạc, ) thành chuỗi tín hiệu
số, chuỗi tín hiệu số này dễ xử lý theo các thuật toán khác nhau, góp phần nâng cao chất lượng tín hiệu và hiệu quả sử dụng phổ tần trong truyền dẫn Sau khi xử lý, lọc, truyền dẫn, hệ thống thông tin số sẽ chuyển đổi ngược tín hiệu sang tương tự để phù hợp với tín hiệu tự nhiên Hình 2.1 minh hoạ hệ thống mã hoá tiếng nói
lưu giữ hay truyền Lọc A/D Phân tích lượng tử mã hoá
giải mã
lượng tửtổng hợp
D/A Lọc
Hinh 2.1 Sơ đồ khối hệ thống mã hoá tiếng nói
Trang 9Các bộ nén phổ tín hiệu tiếng nói bao gồm đầy đủ các bước trên Cơ bản của một bộ nén tín hiệu tiếng nói là tỷ lệ giữa tốc độ bit được truyền đi và chất lượng tiếng nói đạt được Tuỳ theo từng ứng dụng cụ thể mà điều chỉnh tốc độ bít thấp nhất nhưng tiếng nói vẫn phải đạt chất lượng theo yêu cầu
( Hình 2.2 minh hoạ mối quan hệ này)
Ta biết là giới hạn phổ tần tín hiệu tiếng nói là 200 – 3400Hz, theo tiêu chuẩn Nyquist thì tần số lấy mẫu là 8KHz và như vậy khi số hoá tín hiệu thì phổ tần sẽ mở rộng
( Theo CCITT dùng bộ mã PCM 8 bit, tốc độ sẽ là 64000bps) Khi nén tín hiệu tiếng nói các mẫu sẽ được thể hiện bằng một số ít bít có thể Khi khôi phục lại chất lượng tiếng nói tương tự như không mã hoặc gần như thế [3,4]
Để đơn giản các kỹ thuật nén tín hiệu tiếng nói có thể chia ra làm ba loại
Hình 2
Chất lượng tiếng nói
Rất tốt Mã hóa lai Mã hoá dạng sóng
Trang 10(Hình 2.3) là: các bộ mã hoá dạng sóng ( Waveform Codes ), các bộ mã nguồn ( source codes ) và các bộ mã hoá lai ( hybrid codes )
Trong chương này luận văn sẽ tổng hợp một số phương pháp trong kỹ thuật nén và mã hoá tiếng nói này Các bộ mã dạng sóng được dùng Khi cần chất lượng tiếng nói rất tốt và không cần tốc độ bít thấp Các bộ mã nguồn ( source codes ) có thể đạt được tốc độ bít rất thấp, tiếng nói đạt được bằng cách tổng hợp các âm ( hữu thanh và vô thanh) Các bộ mã hoá lai là sự kết hợp của hai kỹ thuật mã hoá dạng sóng và mã hóa nguồn, chất lượng tiếng nói là tốt và tốc độ bít trung bình Trong các kỹ thuật nén lại có rất nhiều phương pháp khác nhau để thực hiện, chẳng hạn trong kỹ thuật mã hoá dạng sóng có các phương pháp như : PCM_ điều chế xung mã, DM_ điều chế delta, DPCM_
điều chế xung mã vi phân, ADPCM_ điều chế xung mã vi phân thích nghi,
Kỹ thuật mã nguồn có các phương pháp Vocoder, mã dự đoán tuyến tính,… Chương này sẽ giới thiệu các phương pháp cụ thể mà hiệu quả nén và chất lượng tiếng nói là chấp nhận được như Vocoder, mã dự đoán tuyến tính, lượng
tử hoá vector,…
2.2 Một số phương pháp nén cơ bản:
2.2.1 Các phương pháp mã hoá dạng sóng:
Các phương pháp nén tín hiệu tiếng nói
Miền thời gian:
PCM, DPCM,
ADPCM,
Miền tần số:
Mã hoá băng con Mã hoá thích nghi Mã hóa biến đổi
Mã dự đoán tuyến
tính LPC
Trang 11Đối với các phương pháp mã hoá dạng sóng, Không nhất thiết phải biết tín hiệu cần mã được sinh ra như thế nào, khi khôi phục lại tín hiệu dạng sóng
có thể đạt gần như tín hiệu gốc ban đầu Về lý thuyết tín hiệu này là độc lập,
và chúng có thể làm việc với cả các tín hiệu không phải là tín hiệu tiếng nói Nói chung đó là những phương pháp mã đơn giản, chất lượng tiếng nói tốt khi tốc độ khoảng trên 16kbps Khi tốc độ dữ liệu yêu cầu thấp hơn mức này thì khi khôi phục lại chất lượng tiếng nói suy giảm rất nhanh ( như hình 2.2)
Dạng đơn giản nhất của mã hoá dạng sóng là điều chế xung mã, tín hiệu dạng sóng đầu vào được lấy mẫu, lượng tử Với tiếng nói dải tần hẹp, giới hạn là 4kHz , tần số lấy mẫu là 8kHz Nếu sử dụng lượng tử hoá tuyến tính, tiếng nói đạt chất lượng tốt cần khoảng 12 bit cho mỗi mẫu, Khi đó tốc độ bit
ra là 96kbit/s Tốc độ bít này có thể giảm xuống đáng kể bằng cách lượng tử không đều cho các mẫu theo tín hiệu, tuy nhiên đây là một việc làm rất khó, trong thực tế người ta có giải pháp lấy xấp xỉ Trong mã hoá tiếng nói gần
đúng, thường dùng lượng tử hoá logarit Lượng tử hoá logarit là lượng tử hoá
đều các tín hiệu được nén, như thế sẽ đạt tỷ lệ S/N là một hằng số, với 8 bit/mẫu tốc độ đạt được là 64kbps và khi khôi phục, sự sai khác với tín hiệu nguyên thuỷ hầu như không phân biệt được Các luât nén logarit được chuẩn hoá từ những năm 1960, nhưng cho đến nay vẫn được dùng ở Mỹ dùng theo luật μ, trong khi đó ở Châu Âu dùng luật A
ln(1+μ|x|) Luật μ: y= sign(x) - ; -1 <= x =< 1 (2.1)
ln(1+μ)
A|x|
sign(x) - ; 0 <= |x| =< 1/A (2.2) Luật A: y= 1 + ln A
1 + ln A|x|
sign(x) - ; 1/A <= |x| =< 1
1 + ln A
Trang 12Theo CCITT : A= 87,6, μ =255 hoặc 100
Phương pháp trên có ưu điểm là đơn giản, tiếng nói khôi phục đạt chất lượng cao, tuy vậy yêu cầu tốc độ bít vừa phải, và dễ nhạy cảm lỗi đường truyền [4]
Một kỹ thuật chung hay được sử dụng trong mã hoá tiếng nói là dự
đoán trước giá trị của mẫu tiếp theo từ các mẫu trước Điều này là thực hiện
được dựa vào độ tương quan giữa các mẫu tiếng nói là khá lớn, sai lệch giữa hai mẫu kề nhau khá nhỏ so với giá trị của từng mẫu [4] Khi dự đoán này là hợp lý thì sai lệch tín hiệu giữa các mẫu dự đoán và các mẫu tín hiệu thực tế sẽ
có sự khác nhau thấp hơn các mẫu tín hiệu nguyên thuỷ Do đó thay vì mã hoá các giá trị mẫu của tín hiệu tiếng nói vào ta chỉ cần mã sai lệch giữa các mẫu với một số ít bit hơn tín hiệu tiếng nói nguyên thuỷ Đây chính là nguyên tắc
cơ bản của điều chế xung mã vi sai DPCM_ Differential Pulse Code
Modulation Sơ đồ khối cách điều chế DPCM với bộ dự đoán như hình vẽ 2.4
Các phương pháp mã trên có thể được cải tiến nếu các quá trình dự đoán và lượng tử được thực hiện một cách thích nghi để chúng thay đổi thích hợp với
đặc điểm của tín tiệu tiếng nói cần mã Đó là phương pháp ADPCM_ điều chế
xung mã vi sai thích nghi Vào giữa năm 1980, CCITT đã chuẩn hoá tốc độ
của bộ mã ADPCM là 32kbps, với tốc độ này chất lượng tiếng nói đạt rất gần với bộ mã PCM 64kbps Về sau ADPCM 16, 24 và 40kbps cũng đã được chuẩn hoá [1]
hiệu tín vào sai lệch tín hiệu DPCM tín hiệu
Trang 13Tất cả các phương pháp mã hoá dạng sóng được mô tả trên có thể được thực hiện trên miền thời gian Trong miền tần số cũng có thể thực hiện và nó
có đôi chút thuận lợi Ví dụ như trong cách mã hoá băng con ( SBC _ SubBand Coding ) tín hiệu tiếng nói đầu vào được chia thành một số băng tần (gọi là các băng con), mỗi băng tần con được mã độc lập bằng các bộ mã như ADPCM ở bên thu, các tín hiệu băng con được giải mã và kết hợp lại sau đó lọc và khôi phục lại tín hiệu tiếng nói Lợi ích của việc chia băng này là nhiễu
ở mỗi băng con là độc lập, và chỉ được mã trong băng đó Do đó có thể cấp phát nhiều bit hơn cho các băng con mà cảm thấy là quan trọng để nhiễu trong các vùng băng tần này thấp, trong khi ở các băng tần khác chúng ta có thể cho phép mức độ nhiễu là cao hơn, vì nhiễu ở các vùng băng tần này ít quan trọng Trong tương lai cách tổ chức cấp phát bit thích nghi như vậy có thể sẽ được sử dụng để khai thác ý tưởng này Trong các hệ thống truyền thông, các thuật toán mã băng con cho chất lượng tiếng nói đạt chuông ở dải tốc độ
16 – 32kbps Do việc cần các bộ lọc để chia tín hiệu tiếng nói thành các băng con, nên chúng phức tạp hơn các phương pháp DPCM và gây ra độ trễ lớn hơn Tuy nhiên độ phức tạp và độ trễ đó vẫn có mức độ thấp khi so sánh với hầu hết các phương pháp mã hoá lai
Ngoài ra trong miền tần số, có các kỹ thuật mã hoá dạng sóng khác như ATC_ Mã biến đổi thích nghi, sử dụng biến đổi nhanh ( ví dụ như DCT_ biến
đổi cosin rời rạc, KLT_ biến đổi Kalmal, Walsh Hadamark Transform, DFT _biến đổi rời rạc nhanh ) để chuyển các khối ( hay các frame ), tín hiệu tiếng nói thành các số cụ thể của các băng tần Mục tiêu trong việc lựa chọn chuyển tín hiệu từ miền thời gian sang miền tần số nhằm giành được các đoạn phổ không tương quan Để đạt được hiệu quả khi mã, số các bit được dùng để mã mỗi một hệ số chuyển đổi, phải cấp phát nhiều hơn cho các đoạn phổ quan trọng, và ngược lại là cấp phát ít bít hơn cho các đoạn phổ kém quan trọng Thêm vào đó, bằng cách sử dụng việc cấp phát động trong việc phân chia số
Trang 14bít trong các hệ số của phổ, ta có thể thích nghi theo sự thay đổi có thống kê của tín hiệu tiếng nói Chất lượng tiếng nói cơ bản có thể đạt được ở tốc độ bít thấp hơn 16kbps
2.2.2 Các phương pháp mã hoá nguồn âm ( source codes ):
Các phương pháp mã hoá nguồn âm hoạt động trên cơ sở phân tích bộ máy phát âm của con người và quá trình tạo ra âm thanh tiếng nói, từ đó rút ra các tham số tín hiệu bên mã, sau đó được gửi tới bên giải mã Các phương pháp mã hoá nguồn âm được gọi là các phương pháp vocoder làm việc như sau: Bộ máy phát âm được mô tả như là một bộ lọc biến đổi theo thời gian mà
được kích thích bởi nguồn nhiễu trắng đối với đoạn âm vô thanh ( unvoice ), hoặc là một chuỗi các xung độc lập, chuỗi xung này được quyết định bởi chu
kỳ pitch đối với âm hữu thanh ( voice ) Thông tin này phải được gửi tới bên giải mã để bộ lọc định rõ đâu là vô thanh, đâu là hữu thanh, nhất thiết phải thay đổi tín hiệu kích thích và chu kỳ pitch của âm thoại, cứ khoảng 10 – 20ms lại phải cập nhật theo sự thay đổi tự nhiên của tiếng nói.[1]
Các tham số kiểu này có thể được xác định theo một số cách, dùng các
kỹ thuật xử lý trong miền thời gian hay miền tần số Cũng như vậy, các tham
số có thể được mã hoá và truyền đi theo nhiều cách khác nhau Các phương pháp Vocoder chủ yếu hoạt động ở khoảng tốc độ 2400bps hoặc thấp hơn
2.2.2.1 Phương pháp Vocoder: Không giống như các phương pháp dạng
sóng, các phương pháp vocoder sẽ làm suy yếu các tín hiệu không phải là hữu thanh và dựa vào đặc trưng của tiếng nói để phân tích nó, chủ yếu như là dựa vào kiểu hệ nguồn phát âm Thử nghe một người phát âm một vần, sau đó nghe người khác phát âm lại Ta thấy người giọng cao (high-pitch), người giọng thấp ( low-pitch), người nói rõ , người luyến nhưng ta vẫn hiểu được nội dung Phương pháp Vocoder phân tích phổ tiếng nói thành các tham số đặc trưng ( các tham số của mô hình tạo tiếng nói ), sau đó các tham số này để tổng hợp thành tín hiệu hữu thanh có đầy đủ nội dung như ban đầu mà tai
Trang 15ng−êi cã thÓ hiÓu ®−îc Tuy nhiªn kÕt qña cña d¹ng sãng tÝn hiÖu sau khi tæng hîp cã thÓ kh«ng ®−îc nh− tÝn hiÖu lóc ®Çu
H×nh 2.5 BiÓu diÔn hai nguån ©m t¹o ra tiÕng nãi
Trang 16Đánh giá về phương pháp vocoder thì hiệu quả phổ tần tốt ( tốc độ bit 9,6kbps ), tuy nhiên chất lượng tiếng nói còn nhiều hạn chế và chỉ thích hợp cho các ứng dụng trong an ninh và quân sự Tuy nhiên trong những năm gần
2,4-đây, công nghệ DSP phát triển, các thuật toán mới cũng dựa vào phương pháp này, tất cả sử dụng các phép cộng, phép nhân để xử lý chuỗi các giá trị số liệu
và các hệ số… , Có rất nhiều kiểu vocoder khác nhau như Vocoder kênh, H Vocoder homomorphic, Vocoder pha Tuy nhiên tất cả đều chia tín hiệu ra thành đoạn ngắn để xử lý ta gọi đó là các cửa sổ [1,2]
2.2.2.2/ Phương pháp vocoder kênh:
Phương pháp vocoder kênh sử dụng các bộ hạn băng nanalog để phân tích tín hiệu tiếng nói thành các băng con khoảng 100 – 300Hz, độ rộng của các băng con qua các bộ lọc được thiết kế tăng dần tỷ lệ thích hợp với phản ứng của tai con người, số lượng các băng con được chia khoảng 16- 20 cho một băng tiếng nói 0-4000Hz, tương ứng với nó là từng ấy các bộ lọc FIR, các
bộ lọc băng dải hẹp hơn dùng cho các băng tần thấp, các bộ lọc băng dải rộng hơn dùng cho các băng tần cao Đầu ra của các băng con được đưa vào các bộ sửa và lọc thông thấp nhằm xác định đường bao Độ rộng băng của các bộ lọc thông thấp được lựa chọn phù hợp với thời gian biến đổi theo đặc điểm của bộ máy phát âm, Ví dụ như độ lớn của phổ thay đổi ở tốc độ 50Hz ( mỗi giá trị mẫu là 20ms) thì độ rộng bộ lọc thông thấp được chọn trong dải 20 - 25Hz Khi đó đầu ra của nó có thể được lấy mẫu ở tốc độ 50Hz, được lượng tử và truyền tới nơi nhận
Hơn nữa tiếng nói cũng phải được phân tích ra các cao độ (pitch) trong các cửa sổ tín hiệu Tần số các pitch cho biết tiếng nói là hữu thanh hay vô thanh, Hình 2.6 là bộ lọc băng chia kênh cho mục đích phân tích tín hiệu tiếng nói Đây là phần quan trọng trong phương pháp Vocoder và phần lớn các thuật toán tách Pitch đã được phát minh từ những năm trước Đầu ra phần tách hưu thanh khi mã cần một bit cho mỗi khung (frame) tín hiệu tiếng nói Để biểu diễn được cho cả chu kỳ pitch của tín hiệu voice cần khoảng 6 bit cho mỗi
Trang 17khung (frame) Nếu chúng ta sử dụng một bộ vocoder 16 kênh và tốc độ lấy mẫu là 50Hz cho mỗi bộ lọc, ở đây mỗi mẫu được mã bởi 3 hay 4 bit, khi đó kết quả được tốc độ giải bit ra là 2400 – 3200 bps Trong tương lai tốc độ này
có thể giảm còn 1200bps bằng cách tận dụng tần số tương quan của độ lớn phổ tín hiệu Trong thực tế ta có thể dùng mã PCM cho băng đầu và DPCM để mã cho các mẫu phổ phía bên kia băng tần trong mỗi khung (frame)
Các bộ vocoder đầu tiên sử dụng các mạch analog cho các mạch lọc hạn băng Với kỹ thuật cùng với công nghệ DSP ngày nay chúng ta có thể làm việc với các bộ vocoder kỹ thuật số
ở phần nhận, tín hiệu tiếng nói được tổng hợp ( như hình 2.7 ) Các mẫu tín hiệu cho qua bộ chuyển đổi DAC, khi đó các đầu ra sẽ được dồn lại theo các tín hiệu voice và unvoice sau đó các tín hiệu được cho qua các bộ hạn băng,
đầu ra các bộ hạn băng được cộng lại và tổng hợp thành tín hiệu tiếng nói
lọc giải thông
tách Pitch
ADC
Trang 18tiếng nói ra
l Hình 2.7 Nhận , tổng hợp và khôi phục lại tiếng nói
Tóm lại: thông tin về pitch và các thông số hữu thanh được nén với các thông tin về băng con và được truyền đi, phía nhận tổng hợp và khôi phục lại như Hình 2.7
2.2.2.3/ Phương pháp vocoder pha:
Phương pháp này tương tự như phương pháp vocoder kênh ở phạm vi các bộ lọc được sử dụng để ước lượng đường bao phổ tần trong một đoạn ngắn của tín hiệu tiếng nói Tuy nhiên , thay vì dự đoán cao độ (pitch), phương pháp vocoder pha dự đoán pha của tín hiệu từ đầu ra của mỗi bộ lọc Khi mã và truyền pha loại vocoder này sẽ phá hỏng các thông tin về pha trong số các tín hiệu điều hoà khác nhau của tín hiệu tiếng nói Hình 2.8 là sơ đồ phân tích của
hệ thống vocoder phase
DAC
DAC
thông tin tiếng nói
chu kỳ cao độ
lọc giải thông
tạo xung tạo tạp
∑
Trang 19Cos ωkn ak(n) Đường bao phổ tần hữu hạn
Hình 2.8 Sơ đồ phân tích của hệ thống vocoder pha
2.2.2.4 Phương pháp Phân tích đồng hình ( cepstral vocoder):
Như ta đã biết, tiếng nói theo mô hình nguồn phát thanh được tạo từ hai thành phần là hữu thanh và vô thanh, Phương pháp này giả sử rằng thành phần hữu thanh được sinh ra bởi nguồn kích thích tác động rất chậm vào bộ lọc của
hệ thống phát âm theo một chuỗi có chu kỳ, và thành phần vô thanh được sinh
ra bởi nguồn kích thích vào bộ lọc là một chuỗi nhiễu trắng Trong cả hai trường hợp, đáp ứng hệ thống phát âm là biến đổi rất chậm, trong khi nguồn kích thích biến đổi nhanh hơn nhiều Sự khác nhau cơ bản giữa nguồn kích thích và đáp ứng hệ thống phát âm này là sự khai thác của Phương pháp
cepstral vocoder Nguyên lý chung của phương pháp này dựa trên nguyên lý
xếp chồng, tín hiệu đầu ra là tích chập của đặc tính xung của ống dẫn âm và chuỗi xung đầu vào nếu lấy trong thời gian ngắn Tích chập này dùng phép biến đổi Fourier ta sẽ được tích trên miền tần số, biến đổi Fourier ngược ta sẽ
được tín hiệu dạng sóng tiếng nói
Hình 2.9 là sơ đồ khối phân tích của Cepstral Vocoder hữu hạn
Lọc thông thấp
Vi phân
Vi phân
Lọc thông thấp
Tính toán
đường bao phổ tần
và
điểm
đầu của pha trong băng
o de
r X
X
Trang 20Trong Hình 2.9:
Từ A – E là thực hiện tính toán phổ hưu hạn dùng biến đổi Fourier DFT,
log| | = log | ∑ml=m-N+1f(l;m)e-jω (2.3) f(n;m) là một frame tín hiệu tiếng nói có độ dài N tại thời điểm m; W(n) là một cửa sổ tín hiệu
Low – time lifter: bộ lọc thông thấp trong miền thời gian, dùng để chuyển
Cs(n) thành Cθ(n), Cθ(n)dự đoán θ(n) ( Theo [2])
Dự đoán pitch cho mẫu f(n;m):
Như ta đã nói, tín hiệu voice của tiếng nói trong miền thời gian là tích chập của chuỗi xung kích thích và đáp ứng xung của hệ thống phát thanh
Xét một mẫu tại thời điểm m:
fs(n;m) = s(n)w(n-m) = [e(n)*θ(n)]w(n-m) (2.5)
fs(n;m) ≈ e(n)w(n-m)*θ(n) = fe(n;m)*θ(n) (2.6) trong đó fe(n;m) là frame của e(n) xác định bởi cửa sổ tại thời điểm m
f(n;m) Cs( ω;m)
s(n) Cθ(n;m) Kênh
A B C D E F
Cs(n;m) cửa sổ số liệu
W(m-n)
Hình 2.9 sơ đồ khối phân tích của Cepstral Vocoder hữu hạn
Biến đổi Fourier gián
đoạn
stDTFT
X log| | Biến
đổi ngược Fourier IDTFT
X
Dự đoán pitch của phổ cho
Trang 212.2.2.5 Phương pháp mã dự đoán tuyến tính (LPC):
Giả sử có tín hiệu liên tục theo thời gian s(t), để áp dụng phương pháp
xử lý số tín hiệu, s(t) cần phải rời rạc với tần số lấy mẫu là Fs thoả mãn định lý lấy mẫu của Shannon Như vậy tín hiệu s(t) chỉ lấy các giá trị rời rạc tại các
điểm theo thời gian có chu kỳ T= 1/Fs Kết quả của phép rời rạc này là chuỗi tín hiệu {s(nT)}, trong đó n= 1, 2, … Để đơn giản hoá ta đặt s(nT) = s(n) Tín hiệu s(n) có thể được coi là tín hiệu ra của một hệ thống nào đó mà tín hiệu vào là chuỗi u(n), các tín hiệu này thoả mãn phương trình sai phân hệ số hằng
có dạng:
p q s(n) = -∑ αis(n-i) + G ∑ βiu(n-j) ( 2.7 )
Phương pháp LPC rất được ưa dùng, xuất phát từ thực tế là trong các ứng dụng đòi hỏi tốc độ bít cực thấp Thêm vào đó thì các tham số LPC đảm bảo đầy đủ thông tin về tín hiệu tiếng nói, do đó LPC có thể được sử dụng cho nhận dạng tiếng nói Bộ phát âm trong LPC có thể được coi như là bộ lọc toàn cực ( mô hình tạo tiếng nói) IIR , Hình 2.10
H(x)
Trang 22Nếu kể cả độ lợi G, thì hàm truyền của mạch lọc là:
Trong đó: p là bậc của bộ lọc, e(n) là hàm kích thích, s(n) là đáp ứng đầu ra của bộ tổng hợp tiếng nói, các hệ số ai của bộ lọc (bộ dự đoán) thay đổi theo từng frame của tín hiệu
Trong miền thời gian : s(n) = Ge(n) – a1s(n-1) - – aps(n-p) (2.9)
Đầu ra của các mẫu khác kết hợp tuyến tính với các mẫu trước đó cộng với tín hiệu kích thích nên có tên là LPC_ mã dự đoán tuyến tính Chú ý rằng các hệ
số ai của bộ lọc thay đổi theo mỗi frame
ở phần phân tích tiếng nói, cửa sổ đầu vào đầu tiên thường là cửa sổ Hamming (khoảng 20 – 40ms) Các cửa sổ sẽ được lặp lại sau 10 – 30ms, như vậy các cửa sổ liên tục được chồng lên nhau Sự lựa chọn hai tham số này phụ thuộc vào tốc độ bít ra mong muốn sao cho nhỏ hơn hai giá trị, lớn hơn tốc độ bít để
đạt chất lượng tiếng nói yêu cầu
Như ta đã biết trong phần trước âm thoại có đặc trưng là chỉ tập chung thông tin ở vùng tần số thấp Để đảm bảo rằng bộ Vocoder LPC làm việc chính xác trên tất cả các tần số, thì tín hiệu đầu tiên phải cho qua bộ lọc thông cao để loại bỏ các tần số cao, phần tổng hợp sau đó sẽ dùng bộ lọc để bù lại
Các hệ số lọc âm được xác định bằng cách dự đoán tín hiệu s’(n) kết hợp với p mẫu trước đó:
s’(n) = -a1s(n-1) - …- aps(n-p) (2.10) Khi đó xác định các giá trị của ai theo các sai số dự đoán trung bình bình phương:
n Tổng này càng nhỏ thì s’(n) càng chính xác với s(n)
cuối cùng ta có các phương trình:
e(n) 1 + a1z-1 + + apz-p 1 + ∑ aiz-1
Trang 23a1r(0) + a2r(1) + … + apr(p-1) = -r(1) (2.12)
a1r(1) + a2r(0) + … + apr(p-2) = -r(2)
a1r(p-1) + a2r(p-2) + … + apr(0) = -r(p)
N-i-1
ở đây: r(i) = r(-i) = ∑ s(n).s(n+i) (2.13)
n=0 Các giá trị r(i) được gọi là các hệ số tương quan
2.2.3 Phương pháp mã hoá lai ( Hybrid codes):
Phương pháp mã hoá lai là lấp đầy khoảng giữa ( hay nằm giữa ) các phương pháp mã nguồn âm và mã hoá dạng sóng Như đã mô tả ở trên, các phương pháp mã hoá dạng sóng có khả năng cho chất lượng tiếng nói tốt đến tốc độ bit 16kbps, nhưng đây là giới hạn dưới đối với phương pháp này Các phương pháp Vocoder có thể cho chất lượng tiếng nói có thể hiểu được ở tốc
độ 2400bps hoặc thấp hơn, nhưng chất lượng không được tự nhiên ở bất cứ tốc
độ nào Mặc dù các phương pháp khác với các phương pháp mã Hybrid đã có, hầu hết là thường được phân tích theo tổng hợp trên miền thời gian ( AbS: phân tích qua tổng hợp ) Như là Phương pháp LPC xây dựng các bộ lọc dự
đoán tuyến tính giống như bộ máy phát âm Tuy nhiên thay vì chỉ đơn giản
đưa vào hai trạng thái hữu thanh và vô thanh, các phương pháp này tìm các giá trị đầu vào cần thiết cho bộ lọc cũng như tín hiệu kích thích được chọn sao cho thích hợp với quá trình tái tạo lại dạng sóng tín hiệu tiếng nói gần nhất có thể với dạng sóng tín hiệu nguyên thuỷ Các loại mã Hybrid điển hình như MPE_ kích thích đa xung, RPE_ kích thích xung đều, CELP_ dự đoán tuyến tính mã kích thích Dưới đây ta sẽ tóm lược qua các phương pháp này
Trang 24Hình 2.11 sơ đồ khối tổng quát của các mã dạng AbS
Trong sơ đồ trên: Bộ lọc tổng hợp, là một bộ lọc toàn cực (như trong các bộ mã hoá kiểu phát âm LPC), biến đổi theo thời gian để mô hình hoá
đường bao phổ ngắn hạn của dạng sóng tiếng nói Nó thường được gọi là các
bộ lọc tương quan ngắn hạn, do các hệ số của nó được tính bằng cách dự đoán một mẫu tiếng nói từ một vài (8-16) mẫu trước đó
Các phương pháp AbS chia tín hiệu tiếng nói đầu vào để mã thành từng frame 10 – 30ms Các tham số của mỗi frame được xác định bởi một bộ lọc tổng hợp và sau đó xác định nguồn kích thích cho bộ lọc này Tín hiệu kích thích được tối ưu hoá kỹ lưỡng và được mã một cách có hiệu quả nhờ sử dụng các kỹ thuật mã hoá dạng sóng Thực chất của việc làm này là tìm nguồn kích thích nào mà khi cấp cho bộ lọc tổng hợp nó cực tiểu hoá được sai số giữa tiếng nói tái tạo và tiếng nói đầu vào, khoảng thời gian cho tối ưu hoá kích thích là quãng 4,5 – 7ms Cuối cùng mỗi frame ở phía mã truyền đi các thông
Tín hiệu vào
s(n) u(n) s∧(n) e(n)
Tính trọng số sai số (theo thụ cảm, giữa tiếng
nói gốc & tổng hợp)
Nguồn
kích thích
Lọc tổng hợp
Trang 25tin mô tả các tham số của bộ lọc tổng hợp và nguồn kích thích, và ở bên nhận
đưa nguồn kích thích đã giải mã vào bộ lọc tổng hợp để tái tạo lại tiếng nói
Như ta đã nói ở trên, các bộ lọc tổng hợp thường là bộ lọc toàn cực, ngắn hạn, bộ lọc tuyến tính có dạng:
a i z -i làbộ lọc dự đoán sai số được xác định bằng cách tối
thiểu hoá năng lượng tín hiệu còn dư khi một đoạn tín hiệu tiếng nói nguyên thuỷ đi qua nó Bậc p của bộ lọc có giá trị khoảng 10
Bộ lọc tổng hợp cũng có thể bao gồm một bộ lọc cao độ (pitch) có chu
kỳ dài hạn cho tín hiệu tiếng nói Sự lựa chọn các chu kỳ dài hạn này cũng có thể lợi dụng một bảng mã thích nghi trong nguồn kích thích để mà tạo tín hiệu kích thích u(n) bao gồm cả thành phần dự đoán chu kỳ pitch Nói chung các phương pháp MPE và RPE vẫn sẽ làm việc khi không có bộ lọc pitch mặc dù chúng sẽ được cải tiến đáng kể nếu có Nhưng với phương pháp CELP một bộ lọc pitch là vô cùng quan trọng
Khối tính trọng số sai số được dùng sắp xếp phổ của sai số tín hiệu để làm giảm tiếng ồn chủ quan của sai số này (phổ trơn) Vì sai số tín hiệu ở trong các vùng tần số ( formant ) mà nơi nào tín hiệu tiếng nói có năng lượng cao nó sẽ bị che đi ít nhất một phần bởi tiếng nói Bộ lọc trọng số nâng tạp
âm trong các vùng tần số mà ở đó nội dung tiếng nói thấp hay nói cách khác phần lớn tạp âm nhận được trong bộ mã sinh ra từ các vùng tần số ở đó mức tín hiệu thấp Do đó tối thiểu hoá trọng số sai số là tập trung năng lượng của sai số tín hiệu ở các vùng tần số ở đó tiếng nói có năng lượng cao Do đó sai
số tín hiệu sẽ bị che đi ( một phần hay toàn phần) bởi tiếng nói Như vậy việc tìm ra trọng số sai số là hết sức có ý nghĩa trong việc khôi phục tiếng nói cho các bộ mã AbS
Một đặc trưng dễ thấy của các phương pháp AbS là bộ lọc tổng hợp chọn nguồn kích thích là dạng sóng u(n) Nguồn kích thích được tối thiểu hoá
Trang 26trọng số sai số giữa tín hiệu nguyên thuỷ và tín hiệu sau tái tạo phía mã hoá và nguồn kích thích này được gửi sang bên giải mã để dùng lại cho bộ lọc tổng hợp Đây là một vòng kín xác định nguồn kích thích giúp cho các bộ mã dạng AbS đạt chất lượng tiếng nói tốt ở tốc độ thấp Tuy nhiên độ phức tạp của tín hiệu kích thích cho bộ lọc tổng hợp có thể là rất lớn
Sự khác nhau giữa các phương pháp MPE, RPE và CELP xuất phát từ tín hiệu kích thích u(n) được sử dụng Trong các cách mã đa xung (Multi Pulse) u(n) được cố định bởi một số xung non-zero cho mỗi frame tiếng nói
Vị trí và biên độ của các xung này trong mỗi frame phải được xác định bởi bên mã ( trong mạch vòng tối thiểu hoá theo từng xung một ) rồi gửi sang bên giải mã Trong lý thuyết nó có thể tìm các giá trị chính xác nhất cho tất cả các
vị trí và các biên độ của các xung, nhưng trong thực tế đây là một việc làm không thể vì thực hiện nó là rất phức tạp Trong thực tế có một vài phương pháp tối ưu nhỏ để tìm các vị trí và các biên độ cho các xung được sử dụng Theo cách này người ta dùng cứ 5ms khoảng 4 xung, và như thế tốc độ để cho chất lượng tiếng nói tốt sau khôi phục quãng 10kbps
Giống như mã MPE, giải pháp mã RPE cũng sử dụng một số các xung khác không để tạo tín hiệu kích thích u(n) Tuy nhiên trong cách mã RPE dãy các xung kích thích đối với một khung độ dài N bao gồm M xung được phân
bố đều với khoảng cáchvà cố định D trong đó M= N div D, tuỳ thuộc vào vị trí xung đầu sẽ có D mẫu kích thích khác nhau, vị trí các xung là
Trong đó k= 0, 1, …, D-1 là vị trí của xung đầu tiên hay còn gọi là pha đầu
i= 0, 1, …, M-1
ở bên mã chỉ cần xác định vị trí xung đầu tiên và biên độ của tất cả các xung
Do đó cần ít thông tin hơn về các vị trí xung khi truyền sang bên giải mã, và
do đó các cách RPE có thể dungf nhiều xung khác không hơn phương pháp MPE Với RPE ở tốc độ 10kbps cứ mỗi 5ms cần khoảng 10 xung, điều này cho phép chất lượng tiếng nói sau khôi của RPE là tốt hơn MPE Tuy nhiên đi
Trang 27theo nó là độ phức tạp nhiều hơn Hệ thống điện thoại di động châu Âu sử dụng một cách mã đơn giản RPE với bộ dự đoán dài hạn, hoạt động ở tốc độ 13kbps đạt chất lượng tiếng nói chuông
Mặc dù các cách mã MPE và RPE có thể cho chất lượng tiếng nói tốt ở tốc độ quãng 10kbps hoặc cao hơn, chúng không thích hợp ở tốc độ thấp hơn tốc độ này Vì chúng phải truyền một lượng lớn các thông tin về vị trí các xung kích thích và biên độ của chúng tới bên nhận Nếu chúng ta cố gắng giảm tốc độ bit bằng cách dùng ít hơn vài xung hoặc lượng tử không đúng các biên độ của chúng, thì khi tái tạo lại chất lượng tiếng nói giảm rất nhanh Hiện tại thuật toán được sử dụng chung nhất cho chất lượng tiếng nói tốt ở tốc độ dưới 10kbps là CELP được Schroeder và Atal đề xuất năm 1985 Không giống như các phương pháp MPE và RPE, đối với CELP tín hiệu kích thích là do lượng tử hoá vector Nguồn kích thích có đươc từ hai nguồn là bảng mã (codebook) lượng tử hoá vector lớn và độ lợi G Kích cỡ của codebook là 1024 ( chỉ số codebook = 10bit) và mã độ lợi G khoảng 5 bit Do đó cần truyền quãng 15 bit tới bên giải mã, so với mã RPE thì nó giảm rất lớn Nhờ đó mà tốc độ nén của CELP có thể đạt 1:16 trong khi chất lượng tiếng nói vẫn rất tốt
Hình 2.12 là thuật toán ( mã và giải mã ) của phương pháp mã CELP Trong sơ đồ đầu vào tín hiệu tiếng nói được lấy mẫu ở tần số 8khz được chia
và cất trong các frame có kích thước 240 mẫu tương ứng với một cửa sổ 30ms, thuật toán dùng một lọc dự đoán ngắn hạn bậc 10, các tham số LPC được tính
toán theo phương pháp tự tương quan
Trang 282.3 Xử lý số tín hiệu tiếng nói
2.3.1 Các đặc trưng của xử lý tín hiệu số:
2.3.1.1 Xử lý tín hiệu số ( DSP ) là gì: Trong môi trường quanh ta có rất nhiều
tín hiệu mà ta có thể cảm nhận được, như âm thanh, ánh sáng, nhiệt độ,
Trong trường hợp âm thanh, chúng ta sẽ dùng tai của mình để chuyển chúng thành các xung điện rồi chuyển đến não Khi đó ta phân tích chúng thành các đặc tính như biên độ, tần số và pha để phân loại âm thanh giúp ta xác định chúng là âm nhạc, tiếng nói, tiếng chó sủa,
Nếu là nhiệt độ, thì các dây thần kinh ngoài ra có trách nhiệm cảm nhận rồi đưa lên não phân tích rồi có những đáp ứng thích hợp Với ánh sáng cũng vậy, nhưng là do mắt cảm nhận Nói chung loài người được trang bị đầy đủ và giải quyết được hầu hết các sự kiện cảm nhận được Tuy nhiên không phải lúc nào, công việc gì con người cũng trực tiếp xử lý, càng ngày người ta dùng máy móc để xử lý thay cho bộ não người Yêu cầu các máy là phải có các bộ cảm
LPT-1 SPT-1
Bảng mã
cố định
LPT-1 SPT-1
Trang 29nhận (sensor) để nó làm nhiệm vụ thu nhận và chuyển thành tín hiệu thích hợp Khi đó cần có một bộ phận tính toán, xử lý giống như bộ não con người Tuy nhiên bộ não con người làm việc với các tín hiệu có trong thực tế là các tín hiệu biến thiên liên tục, các tín hiệu kiểu này gọi chung là tín hiệu Analog Cũng theo cách của con người, nhưng chúng ta dùng các sensor để chuyển thành các tín hiệu điện, nhưng phải đổi chúng thành các số, quá trình này gọi
là chuyển từ tương tự ( analog ) sang số ( digital) hay A/D Sau đó đầu ra được
đưa qua bộ tính toán số để xử lý và như vậy được gọi là xử lý tín hiệu số hay DSP (Digital Signal Processing) Bộ xử lý số ở đây thường được thiết kế đặc biệt chuyên cho các thuật toán xử lý tín hiệu số
2.3.1.2 Lợi ích của xử lý tín hiệu số: có rất nhiều thuận lợi khi dùng xử lý tín
hiệu số nói chung Các thuận lợi của xử lý tín hiệu số như sau:
- Dễ chương trình hoá
- Độ ổn định cao
- Tính lặp lại cao
- Dễ dàng thực hiện các thuật toán thích hợp
- Có khả năng thực hiện các thuật toán sửa sai phức tạp
- Khả năng truyền và lưu trữ dữ liệu tốt
- Có thể thực hiện nén dữ liệu
- Có nhiều các chức năng đặc biệt khác
+/ Tính dễ chương trình hoá ở đây được hiểu là trong cùng một cấu trúc phần
cứng, có thể cho ra rất nhiều các ứng dụng khác nhau bằng các chương trình khác nhau, hoặc có thể nâng cao tính năng sản phẩm mà không phải thay đổi lại cấu trúc phần cứng, trong khi đó với mạch tương tự chỉ còn cách thay linh kiện mới Nói tóm lại là rất mềm dẻo
+/ Một số tính năng đặc biệt mà chỉ có thể thực hiện trên kỹ thuật số, như các
bộ lọc pha tuyến tính, nén tín hiệu,
Trang 302.3.1.3 Các thuật toán cho DSP: Các phép toán cơ bản cho xử lý tín hiệu liên
tục là dựa trên các phép biến đổi Fourier và Laplace Chuỗi Fourier là công cụ cơ bản để phân tích tín hiệu có tính chu kỳ ( tính lặp lại ) và Biến đổi Fourier cho các tín hiệu không có chu kỳ Các biến đổi Fourier và Laplace như DFT, FFT, Z, Z-1 sẽ thường xuyên dùng, các phép biến đổi này làm giảm đáng kể số các phép tính nhân trong quá trình tính toán
2.3.2 Mô hình số của tín hiệu tếng nói:
2.3.2.1 Mô hình số tạo tín hiệu tiếng nói:
Lý thuyết khoa học hiện đại về tạo tiếng nói thể hiện qua ba yếu tố tham gia vào quá trình tạo tiếng nói được biểu diễn bằng những phương trình toán học phức tạp Tuy nhiên, trong thực tế khi phải chọn mô hình tạo tiếng nói người ta phải xem xét mô hình nào có độ phức tạp tối thiểu và độ chính xác tối đa Độ phức tạp ở đây có nghĩa là số phép tính toán trong mô hình
được chọn Còn độ chính xác có nghĩa mô hình được chọn có khả năng tạo nên tiếng nói có chất lượng tốt, đảm bảo tính tự nhiên và dễ hiểu Trên hình 2.13 là sơ đồ khối chung, nó đại diện cho đa số các mô hình và được coi là cơ
sở cho quá trình tạo tiếng nói Các mô hình này có điểm chung là tính chất nguồn kích thích được tách khỏi tính chất tuyến âm và tán xạ Sự ảnh hưởng tuyến âm và tán xạ được tính chung vào hệ thống tuyến tính thay đổi theo thời gian, nhằm mô hình hoá sự cộng hưởng Nguồn kích thích sẽ tạo nên tín hiệu
là chuỗi xung trong khe thanh môn , hoặc là tín hiệu ngẫu nhiên (nhiễu tạp) Các tham số của nguồn kích thích và hệ thống tuyến tính thay đổi theo thời gian được chọn sao cho tín hiệu ra mang tính chất như tín hiệu mong muốn
Hình 2.13 Sơ đồ khối của mô hình tạo tín hiệu tiếng nói
Trang 31Để tạo tiếng nói thường sử dụng mô hình dựa trên giả thiết rằng tuyến
âm được biểu diễn bằng chuỗi M đoạn ống âm học lý tưởng, là những đoạn ống có độ dài bằng nhau, và từng đoạn riêng biệt có thiết diện mặt cắt là Am(gọi tắt là thiết diện) khác nhau theo chiều dài đoạn ống ( Hình 2.14) Tổ hợp thiết diện {Am} của các đoạn ống được chọn sao cho chúng xấp xỉ hàm thiết diện A(x) của tuyến âm
Ngoài ra ta giả thiết thêm mô hình tuyến âm lúc này là tuyến tính và không nối với khe thanh môn, hiệu ứng của tuyến mũi nếu được bỏ qua, ta sẽ
có mô hình tạo tiếng nói lý tưởng và việc phân tích mô hình ống âm học trở nên ít phức tạp hơn Mô hình này có nhiều tính chất chung với mạch lọc số nên có thể được biểu diễn bằng cấu trúc mạch lọc số với các tham số thay đổi phù hợp với sự thay đổi tham số của ống âm học
Sự chuyển động của không khí trong một đoạn ống âm học có thể được mô tả bằng áp suất âm thanh và tốc độ thay đổi âm, đó là những hàm phụ thuộc độ theo độ dài ống (x) và thời gian (t) Trong những đoạn riêng biệt đó , giá trị của hai hàm này được coi là tổ hợp tuyến tính các giá trị của chúng đối với sóng thuận và sóng ngược ( được ký hiệu là dấu + và - một cách tương ứng ) Sóng thuận là sóng truyền từ khe thanh môn đến môi , sóng ngược lại truyền từ môi đến khe thanh môn
Mối quan hệ giữa sóng thuận và ngược trong những đoạn kế cận phải
đảm bảo áp suất và tốc độ thay đổi âm liên tục về cả thời gian và không gian tại mọi điểm của hệ thống Chúng ta thấy rằng , khi sóng thuận trong một
A5 A4 A3 A2 A1
Hình2.14 Mô hình biểu diễn tuyến âm
Trang 32đoạn gặp phần thay đổi về thiết diện ( mối nối hai đoạn kế cận ), một phần của
nó sẽ truyền tiếp sang đoạn kế tiếp , trong khi một phần kia lại phản xạ dưới dạng sóng ngược Hoàn toàn tương tự , khi sóng ngược gặp mối nối một phần của nó được truyền tiếp sang đoạn trước đó , còn phần kia lại phản xạ dưới dạng sóng thuận
Có thể xây dựng được mô hình ống âm học lý tưởng cho tuyến âm gồm
M đoạn ống âm học có chỉ số từ 0 ữ M-1, bắt đầu từ môi, 2M phần tử giữ chậm và M-1 mối nối ( đặc trưng bằng hệ số phản xạ μm)
Xét điều kiện về phía môi và khe thanh môn có khác với các đoạn ống
đã xét ở trên Khi phát âm sóng thuận u0+(t-τ) đi qua mối nối môi mà không gặp một trở ngại sẽ không phản xạ
Theo mô hình tạo tiếng nói , tuyến âm được điều khiển bởi nguồn kích
âm, nguồn tốc độ âm lượng uG(t) với trở kháng nguồn ZG Do đó đoạn thứ M-1 ( mà bờ phía trái là thanh môn ) được coi là nối với đoạn thứ M ( là đoạn nhân tạo ) có trở kháng phối hợp với ZG Bằng cách thêm đoạn nhân tạo thứ M, mọi phản xạ tại thanh môn tập trung vào mối nối giữa đoạn thứ M-1 và M chứ không phải giữa đoạn thứ M-1 và nguồn tốc độ âm lượng của dòng không khí Thời gian giữ chậm do đi qua đoạn M được bù vào nguồn kích , có nghĩa là
uG(t+2τ) Vị trí của khe thanh môn trong mô hình ống âm lọc đặt tại x=1/2 của đoạn thứ M-1 , do đó tốc độ âm lượng của nguồn bằng tổng tốc độ âm lượng đi qua trở kháng ZG và tốc độ âm lượng qua ống âm lọc , có nghĩa là:
1
uG(t)= PM-1(-1/2,t)+ uM-1(-1/2,t) (2.16)
ZG Trong đó P là mật độ không khí trong đoạn ống âm
Do đó hệ số phản xạ được tính sau như :
ZG- pc/AM-1
ZG+ pc/AM-1
Trang 33ra uLsau 2Mτ Gọi 4τ là thời gian truyền của hai loại sóng trong một đoạn ống
âm học , T là chu kỳ đồng hồ của mô hình rời rạc Do các phép tính trong mô hình nàysẽ phải thực hiện đồng bộ với chu kỳ T nên khi T=4τ, mỗi đoạn thời gian 2τ sẽ được thay bằng sự giữ chậm 1/2 mẫu , như vậy độ giữ chậm 2Mτ
sẽ tương ứng với dịch M/2 mẫu Vì trong biến đổi z, z-1 biểu diễn một phần tử giữ chậm, chúng ta có thể chuyển graph có hướng của mô hình ống âm học tuyến âm thành hệ thống rời rạc theo thời gian tương đương với độ giữ chậm truyền là z-1/2
Hàm truyền cho mô hình M đoạn ống được biểu diễn như sau:
Điều này đưa lại tác dụng tương đương việc thêm nhiều cực
Như vậy, tuyến âm được mô hình hoá bằng ống âm học lý tưởng có hệ thống rời rạc theo thời gian tương thích Đó là mô hình biểu diễn tiếng nói mang tính chất “tương tự đầu ra”, có nghĩa là tín hiệu ra mang tính chất giống như tiếng nói khi mô hình được điều khiển bằng một bộ hệ số có liên quan đến quá trình tạo tiếng nói Nhưng mô hình này chỉ tương đương với mô hình lý học tại đầu
ra còn cấu trúc bên trong của mô hình không giống hệt với qúa trình vật lý
Trang 34trong qúa trình tạo tiếng nói Chúng ta thấy rằng mô hình ống lý tưởng với hàm truyền (2.19) thoả mãn được yêu cầu trên Như trên ta đã thấy rằng tính chất của tín hiệu tiếng nói thay đổi chậm theo thời gian, do đó những tính chất của nguồn kích thích và tuyến âm được coi là cố định trong khoảng 10-20ms,
và hệ thống rời rạc theo thời gian lúc này phải là hệ thống tuyến tính thay đổi chậm theo thời gian với tín hiệu vào là chuỗi xung tuần hoàn để tạo âm hữu thanh hoặc nhiễu ngẫu nhiên để tạo âm vô thanh
G(z)= [1- exp(-(σGT)z-1)]-2 (2.20) Trong thực tế để thuận tiện người ta thường nối liên tiếp các thành phần xung qua khe thanh môn G(z), tán xạ R(z) và tuyến âm V(z) vào một hệ thống tuyến tính biến đổi chậm theo thời gian, và hàm truyền biểu diễn mô hình này
được chọn như hàm thiết diện cho mô hình ống lý tưởng hoặc các formant và giải thông của chúng đối với mô hình có cấu trúc lọc số
A(z) = i=0∑M ai z-1 , a0 = 1 (2.23)
1 ≈ -
Như vậy ta thấy bộ lọc A(z) là bộ lọc các điểm cực không, và gọi là bộ lọc ngược, vì hàm truyền của nó ngược với hàm truyền tuyến âm Còn bộ lọc 1/ A(z) là bộ lọc toàn cực đặc trưng của nó biểu diễn phổ trơn của mô hình tạo tiếng nói Các tham số của mô hình này là tham số phân loại hữu thanh / vô thanh (phụ thuộc vào kiểu tín hiệu tiếng nói), chu kỳ cao độ (pitch) cho âm
Trang 35hữu thanh, hệ số khuyếch đại G và các hệ số {ai}của bộ lọc số Tất nhiên những tham số này thay đổi chậm theo thời gian
2.3.2.2 Mô hình dự đoán tuyến tính:
Như trong phần mã dự đoán tuyến tính LPC của muc 2.2.2 ta đã biết tín hiệu rời rạc s(n) có thể dự đoán từ một tổ hợp tuyến tính giá trị các mẫu tín hiệu vào xảy ra trước cũng như tại thời điểm n
Nếu tín hiệu vào u(n) và tín hiệu ra s(n) có biến đổi z là U(z) và S(z) tương ứng thì hàm truyền của hệ thống là:
Khi hệ trở thành toàn cực, tín hiệu ra được dự đoán từ p - mẫu tín hiệu
ra trước đó, và hàm truyền (2.24) khi đó là:
S(n) G H(z)= - = - (2.25)
U(n) 1 +i=1∑pαiz-1
Nếu giá trị {αi}và p của công thức này chính xác bằng {ai}và M của (2.23) một cách tương ứng, có nghĩa hệ thống dự đoán tuyến tính này mang tính chất “tương tự đầu ra” với hệ thống (2.22) và (2.25) hoàn toàn trùng với (2.22) Như vậy quá trình tạo tiếng nói được mô hình bằng ống âm học lý tưởng và được biểu diễn bằng hệ thống rời rạc với hàm truyền (2.22) hoàn toàn tương đương với hệ thống dự đoán tuyến tính với cùng hàm truyền, có nghĩa là hệ thống dự đoán tuyến tính có thể tạo ra tiếng nói một cách chính xác
Từ (2.22) thấy rằng nếu U(z) và S(z) là biến đổi z của tín hiệu kích thích u(n) và tín hiệu tiếng nói s(n) một cách tương ứng thì có thể coi hệ thống là
Trang 36mô hình tổng hợp tiếng nói với mối quan hệ tín hiệu ra – tín hiệu vào nh− sau:
G
A(z)
Mô hình phân tích là: GU(z) = S(z)A(z)
Khi đó trong miền thời gian rời rạc có thể viết:
Gu(n) = i=0∑M ais(n-i) , a0 = 1
s∧(n) = i=1∑pαis(n-1)
G H(z)= -
Trang 37Ta có Gu(n) = s(n) - s∧(n) (2.29)
ở đây s∧(n) là mẫu dự đoán bằng tổ hợp tuyến tính từ p mẫu trước đó, còn giá trị thực của nó là s(n) Vì vậy nếu gọi e(n) là lỗi dự đoán tuyến tính giữa mẫu tín hiệu thực và mẫu tín hiệu dự đoán thì:
Và như vậy e(n) = Gu(n), Khi đó lỗi này càng nhỏ s∧(n) càng chính xác với s(n) Từ đây ta đã đưa ra mô hình dự đoán tuyến tính để tạo tín hiệu tiếng nói với các tham số trùng với các tham số của mô hình tạo tiếng nói rời rạc
Kí hiệu {ai} là các hệ số của bộ dự đoán và M là bậc của chúng Ta lần lượt xem xét và xác định các tham số của mô hình dự đoán tuyến tính
2.4 Phương pháp dự đoán tuyến tính trong xử lý số tín hiệu tiếng nói:
Như trong phần trước đã đưa ra các tham số của mô hình dự đoán tiếng nói cần phải xác định, trong đó tín hiệu dự đoán được biểu diễn bằng biểu thức:
s∧(n) = - i=1∑pais(n-1) (2.31)
và lỗi dự đoán là: e(n)= s(n) - s∧(n) = s(n) + i=1∑pais(n-1) (2.32)
Lỗi này càng nhỏ thì kết quả dự đoán càng chính xác
Do đó bài toán đặt ra là tìm các hệ số dự đoán {ai}, i=1, 2, …, M sao cho lỗi tín hiệu là nhỏ nhất Để giải bài toán này chọn tiêu chí sai số bình phương tối thiểu trên một đoạn ngắn của dạng sóng tiếng nói, vì nhờ bản chất chất tự nhiên của tín hiệu, có thể tạo hệ phương trình tuyến tính đơn giản, tìm nghiệm dễ dàng và cho kết quả tuyệt vời trong khi phân tích tín hiệu Để có thể xác định các hệ số dự đoán có nhiều phương pháp như Phương pháp tự tương quan (AUTO), phương pháp tương quan chéo, phương pháp tương quan riêng phần (PARCOR), Phương pháp hiệp biến (COVAR) Dưới đây ta chỉ xét một phương pháp là tự tương quan
Trang 382.4.1/ Phương pháp phân tích dự đoán tuyến tính:
Để xác định các hệ số dự đoán, chúng ta xét hai trường hợp tín hiệu tiếng nói s(n) là đơn định và s(n) là tín hiệu ngẫu nhiên
Giả sử rằng có một chuỗi N mẫu tín hiệu tiếng nói s(n)= s(0), s(1),…, s(N-1)
c0i = - i=1 ∑M akcik , 1≤ i ≤ M (2.36)
Từ (2.36), tập này gồm M ẩn số với M phương trình, giải hệ phương trình tuyến tính tìm được các hệ số bộ dự đoán chưa biết {ak} trên đoạn [n0,n1] Từ (2.33) và (2.34) ta có thể tìm được sai số bình phương tối thiểu
EM = n=n0 ∑n1 s2(n) + k=1 ∑M ak ∑n=n0n1 s(n)s(n-k) (2.37)
Hoặc nếu áp dụng (2.36) vào (2.37) sai số bình phương tối thiểu có thể được biểu diễn:
EM = c00 + k=1 ∑M ak c0k (2.38) Như vậy để tìm các hệ số dự đoán tối ưu, đầu tiên ta phải tính giá trị cik bằng (2.35) với 1≤ i ≤ M và 0≤ k ≤ M sau đó dựa vào (2.36) để tìm các giá trị của
ak Trong quá trình tính sai số bình phương theo (2.33) phụ thuộc vào chỉ số lấy tổng người ta đưa ra phương pháp tự tương quan (AUTO)
Trang 392.4.2.Phương pháp tự tương quan
Ta xét giới hạn đoạn tín hiệu là [0;N] , ngoài khoảng này s(n) = 0, trong đó N
là độ dài khung phân tích LPC Điều này tương đương với việc nhân tiếng nói
đầu vào với một hàm cửa sổ có độ dài hữu hạn w(n) ( ví dụ như cửa sổ Hamming) , đoạn tín hiệu có thể được xác định một cách tiện lợi như sau:
Trang 40-Tín hiệu ngẫu nhiên: Giả sử tiếng nói là một quá trình lựa chọn ngẫu nhiên
Theo chuẩn sai số bình phương nhỏ nhất, chúng ta sẽ tối thiểu giá trị trung bình của bình phương sai số được xem xét cho lựa chọn này Như vậy:
E = ξ E2(n) = ξ[ s(n) + i=1 ∑M ais(n-i) ]2 (2.42)
ở đây ξ[.] là kỳ vọng toán học
Bằng cách tìm tương tự như tín hiệu đơn định, hệ phương trình (2.34) khi tín hiệu là ngẫu nhiên có dạng
xử lý tín hiệu số, đưa ra mô hình lý tưởng và mô hình số tạo tín hiệu tiếng nói
Từ đó sẽ phân tích và dự đoán các tham số của tín hiệu tiếng nói theo phương pháp tự tương quan
Trong chương 3 luận văn đi vào tìm hiểu và nghiên cứu cụ thể phương pháp mã hoá băng con, tìm hiểu các mạch lọc băng, cách lấy mẫu lên, lấy mẫu xuống,