Tiểu luận môn xử lý số nâng cao Nén tín hiệu tiếng nói bằng phương pháp mã hóa băng con. Chương 1 : Cơ sở lý thuyết nén tín hiệu Chương 2 : Nén và xử lý số tín hiệu tiếng nói Chương 3 : Nén tín hiệu tiếng nói bằng phương pháp mã hóa băng con
Trang 1Mục Lục
Mục Lục I Lời nói đầu II
Chơng I Cơ sở lý thuyết nén tín hiệu 1
1.1 Giới thiệu: 1
1.2 Các kỹ thuật nén: 2
1.3 Đánh giá khả năng thực hiện: 3
1.4 Kết luận: 3
CHƯƠNG 2 nén và xử lý số tín hiệu tiếng nói 4
2.1 Nén tín hiệu tiếng nói 4
2.1.1 Giới thiệu chung 4
2.2 Một số phơng pháp nén cơ bản: 6
2.2.1 Các phơng pháp mã hoá dạng sóng 6
2.2.2 Các phơng pháp mã hoá nguồn âm ( source codes ) 9
2.2.3 Phơng pháp mã hoá lai ( Hybrid codes) 15
2.3 Xử lý số tín hiệu tiếng nói 19
2.3.1 Các đặc trng của xử lý tín hiệu số 19
2.4 Kết luận: 21
Chơng 3 Nén tín hiệu tiếng nói bằng phơng pháp M hoá băng conã hoá băng con 22
3.1 Giới thiệu chung 22
3.2 Cơ sở kỹ thuật mã hoá băng con 22
3.3 Các bộ lọc 25
3.3.1 Một số bộ lọc sử dụng trong m∙ băng con: 26
3.4 Thuật toán mã băng con cơ bản 26
3.4.1 Phân tích 27
3.4.2 Lợng tử và mã hoá 28
3.4.3 Tổng hợp 28
3.5 Thiết kế các nhánh bộ lọc 29
3.5.1 Lấy mẫu dới 30
3.5.2 Lấy mẫu trên 32
3.5 Thiết kế mạch lọc 29
3.5 1 Lấy mẫu dới 30
3.4.2 Lấy mẫu trên 33
3.6 Kết luận 34
Lời nói đầu
Trang 2Hiệ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 đờicá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êndụ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 tolớ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êncứ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 chungkhá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ớingành khoa học này Nội dung của tiểu luậ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ơng1: Cơ sở lý thuyết nén tín hiệu
Chơng 2: Nén và xử lý số tín hiệu tiếng nói.
Chơng 3: Nén tín hiệu tiếng nói bằng phơng pháp mã hoá băng con
Em xin chân thành cảm ơn thầy giáo TS.Nguyễn Ngọc Minh đã nhiệt tình, tận tụy giúp
đỡ nhóm em hoàn thành tiểu luận này
Trang 3Chơng I 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áchình ảnh, chưa nói gì đến audio và video hay các website nếu chúng ta không có cácthuậ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 đầucuố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ênlạ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ộtthờ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ácnhà 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ờiquan tâm
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ácchuẩ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ỗicá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 tincô đọ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úctồ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 trongtí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ácnguồ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
Sự phát triển bùng nổ của dữ liệu đòi hỏi phải đợc truyền và đợc lu giữ, tại sao khôngtập trung phát triển các kỹ thuật truyền và lu 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àlu giữ vớidung 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 lu 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ôngmong muốn, khả năng cải tiến chậm hơn so vớilu dữ liệu Tuy vậy sự nhảy vọt về côngnghệ mới trong lu 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ũ
1.2 Các kỹ thuật nén:
Trang 4Kỹ 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ánnén đầu vào là X và đa ra yêu cầu một số bít nào đó, và một thuật toán khôi phục lại,hoạt động trên cơ sở tín hiệu đã đợc nén để khôi phục lại Y Ta qui ớc gọi hai thuậttoá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ứcnén cao hơn nhiều so với nén không tiêu hao (lossless) nhng 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ảnthu đợc phải giống hệt văn bản gốc, nh vậy chỉ cần một khá biệt nhỏ cũng có thể dẫn đếnkế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ệukhô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ấtnhiề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 lu dữ và truyền tiếng nói, giá trị chính xác của mỗi frame tínhiệ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ể trongmỗ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ụcnghe đợ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ênkhi 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ảithấ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ôngquan 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
Trang 5Nếu xây dựng đợc lu đồ nén, cần đánh giá khả năng thực hiện Vì phạm vi các ứngdụng rất khác nhau.
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ớ để thự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ệutrướ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ộtmẫ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éncơ 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 chung và các phơng pháp mã hoá tiếng nói
1.4 Kết luận:
Trong chơng này đã 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ộtlu đồ nén
CHƯƠ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ý, lu trữ và truyền dẫn tín hiệu Sự phát triển củacô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ố DSPlà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ànhchuỗ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ầnnâ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
Trang 6Hình 2.1 Minh hoạ hệ thống mã hoá tiếng nói.
Cá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 nhng tiếng nóivẫ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ẩnNyquist 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ếngnó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ếngnó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:
Trang 7(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 ).
Hình 2.3 Phân loại các phơng pháp mã hoá tiếng nói
Trong Chơng này sẽ tổng hợp một số phơng pháp trong kỹ thuật nén và mã hoá tiếngnó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ầntố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ếngnó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ơngnà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ấpnhậ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
Đố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ầnmã đợ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ínhiệ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
Trang 8tí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ơnmứ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 12bit 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àmrấ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 đợcné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à khikhô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âtné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
Theo 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, tuyvậ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ậtchung hay đợc sử dụng trong mã hoá tiếng nói là dự đoán trước giá trị của mẫutiế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ácmẫ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
Trang 9mẫ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ẫutí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ớimộ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ềuchế 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
Hình 2.4: Sơ đồ khối điều chế xung mã vi sai có dự đoán
Các phơng pháp mã trên có thể đợc cảI tiến nếu các quá trình dự doán và lợng tử đợcthự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ếngnói cần mã Đó là phơng pháp ADPCM_ điều chế xung mã vi sai thích nghi Vào giữanăm 1980, CCITT đã chuẩn hoá tốc độ của bộ mã ADPCM là 32kbps, với tốc độ này chấtlợng tiếng nói đạt rất gần với bộ mã
Tấ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ênmiề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ậpbằ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ạisau đó 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 bithơ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àythấ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 bitthích nghi như vậy có thể sẽ đợc sử dụng để khai thác ý tưởng này Trong các hệ thốngtruyề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
Trang 10chú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ứctạ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ằmgiành đợc các đoạn phổ không tương quan Để đạt đợc hiệu quả khi mã, số các bit đợcdù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ổ quantrọ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ố bí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ếngnó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 âmcủ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ênmã, 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
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
Trang 11( 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ápVocoder phân tích phổ tiếng nói thành các tham số đặc trng ( các tham số của mô hìnhtạ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ộidung như ban đầu mà tai ngời có thể hiểu được Tuy nhiên kết qủa của dạng sóng tínhiệu sau khi tổng hợp có thể không đợc nh tín hiệu lúc đầu.
Hình 2.5: Hai nguồn âm tạo ra tiếng nói
Đánh giá về phơng pháp vocoder thì hiệu quả phổ tần tốt ( tốc độ bit 2,4-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 đây, công nghệ DSP phát triển, cácthuậ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 nhVocoder 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ệutiế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ăngcon đợ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 ấycá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ăngdả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 đợclự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ôngthấ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
Trang 12Hơ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ínhiệ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ọcbă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 trongphơng pháp Vocoder và phần lớn các thuật toán tách Pitch đã đợc phát minh từ nhữngnăm trớc Đầu ra phần tách hu thanh khi mã cần một bit cho mỗi khung (frame) tín hiệutiế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 chomỗi khung (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ằngcá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ỗikhung (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ố
Hình 2.6 Bộ lọc băng chia kênh đẻ phân tích tín hiệu nói
ở 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 choqua 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 đượccộng lại và tổng hợp thành tín hiệu tiếng nói
Trang 13Hì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 Tuynhiê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ôngtin 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
Trang 14Hình 2.8 Sơ đồ phân tích của hệ thống vocoder pha2.2.2.4 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ínhiệ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, … Để đơngiả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ốngnà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:
trong đó : { } i=1, 2, p ; { } j = 0, 1, , q; và G là các tham số của hệ thống tuyến tính đang đề cập đến
Nh vậy s(n) có thể đợc dự đoán từ một tổ hợp tuyến tính các giá trị của các mẫu tínhiệu vào xảy ra trớc cũng nh tại thời điểm n Ta gọi s(n) là tín hiệu nhận đợc bằng phơngpháp dự đoán tuyến tính
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ệutiế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.9
Trang 15Hình 2.9 Mô hình tạo tiếng nói
Nế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ínhiệ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ệukí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ọcthay đổ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ốnsao 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 trng là chỉ tập chung thông tin ở vùngtầ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ổnghợ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:
Trang 16∑(s(n) – s’(n))2
(2.11)n
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, nhng đâ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, nhng 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à ờ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
th-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ơngphá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ọnsao 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ớidạ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 đaxung, 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