Mã hóa tiếng nói và ứng dụng trong liên lạc di động
I. GIỚI THIỆU
Tiếng nói là phương tiện chủ yếu mà con người sử dụng để liên lạc và giao tiếp hằng ngày.
Ngày nay khi các phương tiện truyền thông phát triển và số người sử dụng các phương tiện
liên lạc tăng lên thì mã hoá tiếng nói được nghiên cứu và ứng dụng rộng rãi trong các cuộc gọi
điện thoại truyền thống, gọi qua mạng di dộng, qua mạng Internet, qua vệ tinh, v.v...
Mặc dù với sự phát triển của công nghệ truyền thông qua cáp quang đã làm cho băng thông
không còn là vấn đề lớn trong giá thành của các cuộc gọi truyền thống. Tuy nhiên, băng thông
trong các cuộc gọi đường dài, các cuộc gọi quốc tế, các cuộc gọi qua vệ tinh hay các cuộc gọi
di động thì cần phải duy trì băng thông ở một mức nhất định. Vì vậy việc mã hoá tiếng nói là rất
cần thiết, giúp giảm thiểu số lượng tín hiệu cần truyền đi trên đường truyền nhưng vẫn đảm
bảo chất lượng của cuộc gọi.
II. CÁC VẤN ĐỀ CƠ BẢN TRONG MÃ HOÁ TIẾNG NÓI
1. Mô hình hoá quá trình tạo tiếng nói
Khi không khí bị ép từ phổi lên đi qua các dây thanh âm dao động (theo sự điều khiển của não
bộ) và đi dọc theo cơ quan phát âm sẽ tạo ra tiếng nói. Sự dao động của các dây thanh âm tạo
ra sự đóng mở tương tự như một cánh cửa (thanh môn). Sự đóng mở này sẽ làm cho luồng
không khí từ phổi đi lên bị ngắt quãng khác nhau, làm cho tiếng nói tạo ra cũng khác nhau.
Ngoài sự tác động của các dây thanh âm, tiếng nói tạo ra còn phụ thuộc vào sự thay đổi của
cơ quan phát âm gồm: vòm họng, lưỡi, miệng, khoang mũi và mũi. Hình 1 biểu diễn mô hình
cơ học của cơ quan phát âm.
Hình 1. Mô hình cơ học cơ quan phát âm người
Với mô hình cơ học như trên, có thể biểu diễn cơ quan phát âm bằng một mô hình gần đúng
gồm các hình trụ có độ dài bằng nhau nhưng có đường kính khác nhau như trong Hình 2.
Chính hình dáng này đã tạo ra sự cộng hưởng âm thanh và các tần số cộng hưởng này gọi là
các tần số formant. Các tần số này tạo ra các âm vị khác nhau tuỳ theo hình dáng cơ quan
phát âm. Mô hình này có thể được biểu diễn một cách chính xác bằng một tập hợp các
phương trình toán học [5]. Trong quá trình phát âm người ta thấy rằng hình dáng cơ quan phát
âm thay đổi rất chậm , do đó trong một khoảng thời gian ngắn (trong một âm vị) có thể xem
như sự thay đổi là không đáng kể. Vì vậy ta có thể biểu diễn cơ quan phát âm bằng một hệ
thống tuyến tính bất biến theo thời gian; có nghĩa là suốt trong một âm vị, các tham số của hệ
thống này sẽ gần như không đổi nhưng chúng sẽ thay đổi rất lớn từ âm vị này sang âm vị
khác.
Hình 2. Mô hình dạng ống của cơ quan phát âm người
Ngoài mô hình hoá cơ quan phát âm thì mô hình hoá sự kích thích của luồng không khí từ phổi
đi qua thanh môn lên cơ quan phát âm cũng rất quan trọng. Tuỳ theo loại âm thanh mà có cách
mô hình hoá thích hợp để tiếng nói sau khi tái tạo đạt được chất lượng theo yêu cầu.
2. Các tính chất cơ bản của tiếng nói người
Trong kỹ thuật mã hoá tiếng nói, dựa vào sự dao động của các dây thanh âm người ta chia
tiếng nói ra thành hai loại âm chính sau đây:
+ Âm hữu thanh (voiced sound): âm hữu thanh được tạo ra khi các dây thanh âm dao động
đóng mở làm ngắt quãng luồng không khí và sự ngắt quãng này được xem gần như là tuần
hoàn tác động lên cơ quan phát âm. Theo thực nghiệm chu kì tuần hoàn này khoảng từ 2 -
20ms. Do đó với âm hữu thanh, tín hiệu kích thích được mô hình hoá là các xung tuần hoàn.
+ Âm vô thanh (unvoiced sound): âm vô thanh được tạo ra khi luồng không khí đi qua thanh
môn tác động lên cơ quan phát âm không theo một qui luật nào cả (không tuần hoàn). Do đó
với âm vô thanh, tín hiệu kích thích được mô hình hoá tương tự như một nhiễu.
Nhìn chung, các âm của tiếng nói là một trong hai loại âm trên hoặc là sự kết hợp của chúng.
Theo thống kê, người ta đã xác định được hầu hết các âm là hữu thanh.
3. Các phương pháp mã hoá tiếng nói
Mã hoá tiếng nói được chia ra thành ba loại chính là mã hoá dạng sóng, mã hoá nguồn và mã
hoá lai. Tốc độ bit và chất lượng tiếng nói sau khi tổng hợp lại của các bộ mã hoá này được
biểu diễn ở Hình 3.
Hình 3. Chất lượng tiếng nói so với tốc độ bit của các bộ mã hoá
a. Mã hoá dạng sóng: người ta chia mã hoá dạng sóng ra làm hai loại chính
Trong miền thời gian: mã hoá điều biến xung mã (PCM), điều biến xung mã sai lệch (DPCM)
và điều biến xung mã sai lệch thích nghi (ADPCM).
Trong miền tần số: mã hoá băng con SBC (subband coding) và mã hoá biến đổi thích nghi ATC
(Adaptive Transform Coding).
b. Mã hoá nguồn:
Mã hoá nguồn sử dụng mô hình quá trình tạo ra nguồn tín hiệu và khai thác các thông số của
mô hình này để mã hoá tín hiệu. Những thông số của mô hình sẽ được truyền đến bộ giải mã.
Đối với tiếng nói, các bộ mã hoá nguồn được gọi là vocoder hoạt động dựa trên mô hình cơ
quan phát âm như đã nói ở trên và được kích thích với một nguồn nhiễu trắng đối với các
đoạn tiếng nói vô thanh hoặc được kích thích bằng một dãy xung có chu kì bằng chu kì pitch
đối với đoạn tiếng nói hữu thanh. Do đó thông tin được gởi đến bộ giải mã là các thông số kỹ
thuật của bộ lọc, một thông tin chỉ định đoạn tiếng nói là hữu thanh hay vô thanh, sự thay đổi
cần thiết của tín hiệu kích thích và chu kì pitch nếu đó là đoạn tiếng nói hữu thanh.
Có nhiều kỹ thuật để mã hoá nguồn như: mã hoá kênh, mã hoá formant, mã hoá tham số và
mã hoá đồng hình. Tuy nhiên, hiện nay chủ yếu tập trung vào nghiên cứu và phát triển các bộ
mã hoá tham số như mã hoá dự đoán tuyến tính kích thích bằng hai trạng thái (mã hoá LPC),
mã hoá dự đoán tuyến tính có sự kích thích kết hợp MELP và mã hoá dự đoán tuyến tính kích
thích bằng tín hiệu sau dự đoán RELP. Các bộ mã hoá tham số này thường dùng cho điện
thoại qua vệ tinh và trong quân đội.
c. Mã hoá lai
Mã hóa lai có nhiều phương pháp nhưng phương pháp phổ biến nhất là mã hoá phân tích
bằng cách tổng hợp AbS (Analysis-by-Synthesis). Bộ mã hoá này cũng sử dụng mô hình cơ
quan phát âm của người giống như mã hoá nguồn. Tuy nhiên, thay vì sử dụng các mô hình tín
hiệu kích thích đơn giản như mã hoá nguồn thì ở đây tín hiệu kích thích được chọn sao cho cố
gắng đạt được dạng sóng tiếng nói tái tạo càng giống với dạng sóng tiếng nói ban đầu càng
tốt. Đây chính là đặc tính phân biệt sự khác nhau giữa các bộ mã hoá kiểu AbS. Thuật toán tìm
ra dạng sóng kích thích này quyết định tới độ phức tạp của bộ mã hoá.
III. MÃ HOÁ TIẾNG NÓI TRONG LIÊN LẠC DI ĐỘNG
Hầu hết các tiêu chuẩn mã hoá tiếng nói trong liên lạc di động đều sử dụng phương pháp mã
hoá lai AbS. Vì vậy trong phần này, xin giới thiệu chi tiết về mã hoá lai AbS.
1. Sơ đồ chung của một bộ mã hoá tiếng nói dùng phương pháp mã hoá lai AbS
Hình 4. Sơ đồ khối của một bộ mã hoá lai điển hình
Trong các bộ mã hoá lai, các thông số của hệ thống sẽ được xác định bằng kỹ thuật dự đoán
tuyến tính như trong mã hoá tham số (ở phương pháp mã hoá nguồn) và tín hiệu kích thích
được xác định bằng một vòng kín (phân tích bằng cách tổng hợp).
Hình 4 là một bộ mã hoá lai điển hình. Hệ thống này bao gồm một bộ lọc dự đoán thời gian
ngắn (STP) A(z), một bộ lọc dự đoán thời gian dài (LTP) A
L
(z), một bộ lọc nhấn cảm nhận
W(z), một bộ giảm thiểu sai số cung cấp thông tin cần thiết cho bộ tạo tín hiệu kích thích. Trong
đó, bộ tạo tín hiệu kích thích là quan trọng nhất vì nó tạo ra hay chọn tín hiệu kích thích sao
cho sai số bình phương trung bình đã đi qua W(z) là nhỏ nhất. Tuỳ theo mỗi loại mã hoá mà bộ
tạo tín hiệu kích thích này khác nhau. Mặc dù sơ đồ trên là chung cho các bộ mã hoá lai nhưng
một số loại không sử dụng bộ lọc LTP hoặc vị trí STP và LTP thay đổi.
2. Dự đoán tuyến tính (LP) dựa trên mô hình phát âm
Dự đoán tuyến tính là một công cụ rất quan trọng trong xử lí số tín hiệu. Nó cung cấp cho
chúng ta một kỹ thuật rất mạnh để ước lượng các thông số của một đoạn tiếng nói như pitch,
tần số formant, phổ, ... với độ chính xác cao và tốc độ tính toán nhanh.
Hình 5. Sơ đồ rút gọn của quá trình tạo tiếng nói
Dựa trên hàm truyền đạt biểu diễn mô hình cơ quan phát âm và bỏ qua các yếu tố khác tác
động đến quá trình phát âm như môi, khoang mũi thì mô hình phát âm có thể được biểu diễn
một cách gần đúng như trong Hình 5.
Trong Hình 6 biểu diễn hai quá trình tổng hợp và phân tích tiếng nói. Giả sử tín hiệu kích thích
u[n] là nhiễu trắng thì tín hiệu e[n] cũng phải là nhiễu trắng nếu H(z) là một hàm truyền đạt toàn
cực, không có điểm không.
Hình 6. Quá trình tổng hợp và phân tích trong mã hoá tiếng nói
3. Dự đoán thời gian ngắn (STP) và dự đoán thời gian dài (LTP)
Bộ dự đoán thời gian ngắn thực chất là bộ lọc tổng hợp tiếng nói. Bộ lọc này sẽ thực hiện việc
tổng hợp tiếng nói khi có tín hiệu kích thích đưa đến ngõ vào của nó. Các hệ số của bộ lọc này
sẽ được xác định bằng phương pháp dự đoán tuyến tính như đã đề cập ở trên.
Các đoạn tiếng nói hữu thanh có dạng sóng tuần hoàn và sự tuần hoàn này có thể được khai
thác để trợ giúp cho quá trình dự đoán tiếng nói. Từ điều này người ta đã đưa ra khái niệm về
dự đoán thời gian dài hay dự đoán pitch. Cũng giống như các bộ STP, các bộ LTP cũng là các
bộ dự đoán tuyến tính nhưng trong khi STP thực hiện việc dự đoán dựa trên các mẫu kề nhau
thì LTP dựa trên các mẫu từ một hay nhiều chu kì pitch trước đó. Đây là lí do gọi nó là dự đoán
thời gian dài.
4. Bộ lọc nhấn cảm nhận
Ngoài việc khai thác các tính chất tiếng nói để mã hoá, người ta còn khai thác sự cảm nhận âm
thanh của tai người (tai người không cảm nhận được những âm thanh bị che đi bởi các âm
thanh khác có năng lượng lớn hơn một mức nhất định) trong mã hoá tiếng nói bằng khái niệm
bộ lọc nhấn cảm nhận.
Hình 7. Biểu diễn hiệu ứng của W(z)
Sự tác động của bộ lọc này được biểu diễn trong Hình 7. Ta thấy phổ của nhiễu có hai vùng
nằm phía trên của đáp ứng tần số của bộ lọc LPC do đó các tần số nằm trong vùng này sẽ bị
nhiễu che đi. Bộ lọc nhấn cảm nhận W(z) sẽ nâng biên độ của nhiễu trong vùng tần số formant
(vùng đỉnh của đáp ứng tần số bộ lọc LPC) và nén biên độ của nhiễu trong các vùng trũng của
đáp ứng tần số. Phổ của nhiễu sau khi đi qua W(z) sẽ có dạng là đường liền nét mảnh (có
hình dạng phổ tương tự như phổ của bộ lọc LPC) và nhiễu sẽ dễ dàng bị các tần số formant
che đi (năng lượng các tần số formant che năng lượng nhiễu). Tóm lại, W(z) sẽ định dạng
nhiễu hay các sai số sao cho chúng bị che đi bởi các tần số formant năng lượng cao.
5. Một số loại mã hoá lai dùng trong liên lạc di động
Tuỳ theo cách tạo ra tín hiệu kích thích mà người ta đưa ra các loại mã hoá lai khác nhau như
mã hoá đa xung MPE, mã hoá xung đều RPE, mã hoá kích thích bằng mã CELP, mã hoá kích
thích vectơ tổng VSELP. Trong các tiêu chuẩn dùng cho liên lạc di động có ba loại sau đây
thường được sử dụng là: RPE-LTP, ACELP và VSELP.
a. Mã hoá kích thích bằng xung đều RPE-LTP [1]:
Đây là loại mã hoá sử dụng tín hiệu kích thích kết hợp giữa xung đều và tín hiệu sau dự đoán
từ chu kỳ pitch trước đó (được xác định bằng một bộ dự đoán thời gian dài LTP để tính chu kì
pitch và độ lợi pitch cho tín hiệu kích thích).
b. Mã hoá kích thích bằng mã CELP và ACELP:
Mã hoá kích thích bằng mã hay bằng vectơ CELP [1] mã hoá tiếng nói ở tốc độ bit thấp hơn
mã hoá RPE-LTP nhưng tiếng nói tổng hợp vẫn có chất lượng cao tương đương với các bộ
mã hoá dạng sóng có tốc độ bit trung bình tuy nhiên độ phức tạp của bộ mã hoá CELP sẽ cao
hơn. Trong thuật toán CELP, người ta đưa ra khái niệm codebook. Đây là nơi chứa các vectơ
(hay từ mã) kích thích và mỗi vectơ đó có độ dài cố định. Các vectơ này được tạo thành từ các
dãy nhiễu Gauss. Tín hiệu kích thích cho mỗi đoạn tiếng nói sẽ được tìm kiếm trong codebook.
Do đó, mỗi vectơ kích thích trong codebook sẽ có số phần tử bằng với số mẫu trong một đoạn
tiếng nói. Ngoài codebook chứa các vectơ tín hiệu kích thích thường được gọi là stochastic
codebook, còn có một codebook khác liên quan đến bộ dự đoán LTP gọi là codebook thích
nghi (adaptive codebook). Codebook thích nghi chứa các giá trị độ trễ t (có giá trị từ 20 ¸147).
Việc tìm giá trị t và độ lợi pitch b cho bộ lọc LTP là quá trình tìm một giá trị thích hợp sao cho
tín hiệu kích thích tổng hợp đưa vào bộ lọc STP là tốt nhất, tức là làm cho sai số dự đoán là
nhỏ nhất.
Mã hoá kích thích bằng mã đại số ACELP [1] (Algebraic CELP) cũng là một dạng mã hoá
CELP. Tuy nhiên, các vectơ trong stochastic codebook ở ACELP được tạo thành từ các giá trị
nhị phân (chỉ gồm hai giá trị) hoặc tam phân (chỉ gồm ba giá trị).
c. Mã hoá kích thích bằng tổng vectơ VSELP:
Thuật toán VSELP [1] được Gerson và Jasiuk đề xuất ra ứng dụng trong truyền thông di động.
Thuật toán này sử dụng các codebook có cấu trúc tốt để giảm thiểu độ phức tạp trong tính
toán. Tín hiệu kích thích trong VSELP là sự kết hợp của các vectơ từ ba codebook gồm
codebook thích nghi và hai stochastic codebook có cấu trúc tốt.
IV. MỘT SỐ CHUẨN MÃ HOÁ TIẾNG NÓI THÔNG DỤNG
Ứng dụng
Tốc độ bit
(kbps)
Băng thông
(kHz)
Tổ chức đặt
ra chuẩn
Kí hiệu
chuẩn
Thuật toán dùng cho
chuẩn
Điện thoại
thông thường
64 3,2 Itu g.711
m-law hoặc A-law PCM
32 3,2 Itu g.726 adpcm
Hội nghị qua
điện thoại
48-64 7 Itu g.722 Subband-adpcm
16 3,2 Itu g.728 Low delay Celp
Điện thoại di
động số
13 3.2 Gsm Full-rate Rpe-ltp
12,2 3.2 Gsm Efr Acelp
8,0 3.2 Tia IS-54 Vselp
6,5 3.2 Gsm Half-rate Vselp
8,0 3.2 Itu g.729 Acelp
Các ứng
dụng có tốc
độ bit thay
đổi
16-40 3,2 Itu g.727 Adpcm
5,3-6,3 3,2 Itu g.723.1 Mplpc, celp
4,75-12,2 3,2 Gsm Amr Acelp
1-8 3,2 Cdma IS-96 Qcelp
Liên lạc cần
bảo mật
2,4 3,2 Ddvpc Fs1015 Lpc-10
2,4 3,2 Ddvpc Melp Melp
4,8 3,2 Ddvpc Fs1016 Celp
Điện thoại
qua vệ tinh
4,15 3,2 Inmarsat M Imbe
3,6 3,2 Inmarsat Mini-m Ambe
Tài liệu tham khảo
[1]. ANDREAS SPANIAS, Speech coding: A tutorial review, Arizona State University, USA -
1994.
[2]. THOMAS P. BARNWELL III, KARMBIZ NAYEBI & CRAIG H. RICHARDSON, Speech
Coding: A computer Laboratory Textbook, John Wiley & Sons. Inc – 1996.
[3]. JOHN G. PROAKIS, DIMITRIS G. MONOLAKIS, Introduction to digital signal processing,
Macmillan Publishing Company – 1989.
[4]. N. JAYANT, Signal Compression: Coding of Speech, Audio, Text, Image and Video, World
Scientific Publishing Co. Pte. Ltd. – 1997.
[5]. B.S. ATAL and SUZANNE L. HANAUER, Speech Analysis and Synthesis by Linear
Prediction of the Speech Wave, The journal of the Acoustical Society of America, Vol 50, pp.
637 ¸ 655 – 1971.