Thực thi thời gian thực mô hình thuật toán MELP trên bộ xử lý tín hiệu số TMS320C5509

  • Số trang: 84 |
  • Loại file: PDF |
  • Lượt xem: 9 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM VĂN HẬU THỰC THI THỜI GIAN THỰC MÔ HÌNH THUẬT TOÁN MELP TRÊN BỘ XỬ LÝ TÍN HIỆU SỐ TMS320C5509 Ngành: Công nghệ Điện tử Viễn thông Chuyên ngành: Kỹ thuật điện tử Mã số: 60 52 02 03 LUẬN VĂN THẠC SĨ CÔNG NGHỆ ĐIỆN TỬ VIỄN THÔNG NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TS. TRẦN ĐỨC TÂN Hà Nội - 2014 LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được công bố trong bất kỳ công trình nào khác. Tác giả Phạm Văn Hậu MỤC LỤC LỜI CAM ĐOAN MỤC LỤC MỤC LỤC BẢNG BIỂU MỤC LỤC HÌNH VẼ DANH MỤC VIẾT TẮT  MỞ ĐẦU ....................................................................................................... 1  Chương 1 -  TỔNG QUAN NÉN THOẠI ...................................................... 4  1.1  Cấu trúc của hệ thống nén thoại .................................................................. 4  1.2  Các thuộc tính lý tưởng của nén thoại ........................................................ 6  1.3  Trễ nén ........................................................................................................ 7  1.4  Ứng dụng của các mô hình nén thoại.......................................................... 9  Chương 2 -  MÔ HÌNH NÉN THOẠI MELP ............................................. 10  2.1  Mô hình tạo tiếng nói MELP .................................................................... 10  2.2  Biên độ Fourier (Fourier Manitudes) ........................................................ 11  2.3  Bộ lọc định hình ........................................................................................ 15  2.4  Pitch period và ước lượng voice strength ................................................. 17  2.5  Hoạt động mã hóa ..................................................................................... 24  2.6  Hoạt động giải mã ..................................................................................... 27  2.7  Kết chương ................................................................................................ 30  Chương 3 -  CHIP XỬ LÝ TÍN HIỆU SỐ TMS320C55xx ........................ 32  3.1  Giới thiệu................................................................................................... 32  3.2  Kiến trúc họ TMS32C55xx ....................................................................... 32  3.3  Công cụ phát triển ..................................................................................... 37  3.4  Các chế độ địa chỉ TMS320C55x ............................................................. 42  3.5  Đường ống và cơ chế song song ............................................................... 44  3.6  Tập lệnh TMS320C55x ............................................................................. 47  3.7  Lập trình hỗn hợp C và Assembly ............................................................ 48  Chương 4 -  CÀI ĐẶT VÀ THỬ NGHIỆM ................................................. 51  4.1  Cài đặt MELP thời gian thực trên C5509 và C5510. ................................ 51  4.2  Thực hiện cài đặt ....................................................................................... 52  4.3  Đánh giá kết quả........................................................................................ 59  KẾT LUẬN ..................................................................................................... 63  Kết quả đạt được của luận văn ............................................................................ 63  Định hướng nghiên cứu tiếp theo ........................................................................ 63  TÀI LIỆU THAM KHẢO ................................................................................ 64  PHỤ LỤC ........................................................................................................ i  A.  Mô hình mã hóa dự đoán tuyến tính LPC .................................................... i  B.  Thuật toán Levinson-Durbin ...................................................................... iii  C.  Lượng tử hóa véc-tơ nhiều lớp (MSVQ) .................................................. vii  MỤC LỤC BẢNG BIỂU Bảng 2-1: Sơ đồ cấp phát bit của mã hóa MELP ................................................ 27  Bảng 3-1: Ví dụ về mã C và mã hợp ngữ được trình biên dịch C55x sinh ra .... 37  Bảng 3-2: Ví dụ về tệp lệnh liên kết sử dụng cho bộ mô phỏng C55x ............... 39  Bảng 3-3: Gán các loại tham số tới thanh ghi ..................................................... 49  Bảng 3-4: Sử dụng và duy trì thanh ghi .............................................................. 50  Bảng 4-1: Một số tệp chính của dự án ................................................................ 52  Bảng 4-2: Bảng cho điểm MOS .......................................................................... 60  Bảng 4-3: Mẫu âm thanh dùng để đánh giá ........................................................ 61  Bảng 4-4: Đánh giá PESQ của cài đặt C55x MELP ........................................... 61  Bảng A-1: Bảng so sánh MC đối với các độ phân giải thường gặp...................... x  MỤC LỤC HÌNH VẼ Hình 1-1: Mô hình hệ thống nén thoại ................................................................ 4 Hình 1-2: Mô hình nén thoại ............................................................................... 5 Hình 1-3: Mô hình xác định trễ ........................................................................... 7 Hình 1-4: Mô tả các thành phần của trễ nén ....................................................... 8 Hình 1-5: Đồ thị mẫu truyền bit ở hai chế độ liên tục (trên) và gói (dưới) ........ 8 Hình 2-1: Mô hình tạo tiếng nói ........................................................................ 10 Hình 2-2: Mô phỏng xử lý tín hiệu với bộ lọc tạo xung ................................... 12 Hình 2-3: Mô hình tính toán và lượng tử hóa biên độ Fourier.......................... 12 Hình 2-4: Quá trình tạo kích thích xung ........................................................... 14 Hình 2-5: Sơ đồ bộ lọc tạo hình xung ............................................................... 16 Hình 2-6: Vị trí của các cửa sổ khác nhau tương ứng với khung tín hiệu ........ 18 Hình 2-7: Mô phỏng ước lượng Pitch period bước 1 ........................................ 19 Hình 2-8: Mô phỏng ước lượng voice strength băng thông .............................. 20 Hình 2-9: Một số tín hiệu và giá trị đỉnh của nó ............................................... 22 Hình 2-10: Đỉnh của chuỗi xung không gian đồng nhất ..................................... 22 Hình 2-11: Sai số dự đoán có được từ một sóng âm (bên trái) và đo đạc đỉnh áp dụng cho sai số dự đoán (bên phải) .................................................. 23 Hình 2-12: Mô hình mã hóa MELP..................................................................... 24 Hình 2-13: Mô hình giải mã MELP .................................................................... 28 Hình 2-14: Đáp ứng xung (trái) và đáp ứng biên độ (phải) của bộ lọc phân tán xung ................................................................................................... 30 Hình 3-1: Sơ đồ khối của CPU TMS320C55x .................................................. 33 Hình 3-2: Sơ đồ đơn giản hóa của IU................................................................ 34 Hình 3-3: Mô hình đơn giản hóa của PU .......................................................... 34 Hình 3-4: Bộ điều khiển luồng dữ liệu địa chỉ C55x ........................................ 35 Hình 3-5: Mô hình cấu trúc bộ tính toán dữ liệu ............................................... 36 Hình 3-6: Công cụ và Luồng phát triển phần mềm TMS320C55X .................. 38 Hình 3-7: Phát triển phần mềm TMS320C55X với CCS.................................. 40 Hình 3-8: Ví dụ về lệnh hợp ngữ của TMS320C55X ....................................... 41 Hình 3-9: Sơ đồ hoạt động của đường ống C55x .............................................. 46 Hình 4-1: Mô hình hệ thống cho phát triển mô hình MELP ............................. 51 Hình 4-2: Mô hình triển khai thời gian thực trực tuyến .................................... 52 Hình 4-3: Mô hình tổng quát của một phương pháp đo phổ biến ..................... 60 Hình 4-4: Tệp Vn_M gốc và qua xử lý của C55x MELP ................................. 62 Hình 4-5: Tệp Vn_F gốc (và qua xử lý của C55x MELP ................................. 62 DANH MỤC VIẾT TẮT Từ viết tắt Tiếng Anh đầy đủ Nghĩa tiếng Việt 2-D 2-Demensional Hai chiều AbS Analysis-by-synthesis Phân tích bằng cách tổng hợp ACELP Algebraic code-excited prediction Absolute category rating ACR linear Dự đoán tuyến tính mã kích thích đại số Tỉ lệ phân loại tuyệt đối APCM Adaptive differential pulse code Điều chế mã xung sai phân thích nghi modulation Adaptive pulse code modulation Điều chế mã xung thích nghi AR Tự hồi quy Tự hồi quy ARMA Tự hồi quy moving average Trung bình dịch chuyển tự hồi quy CCR Comparison category rating Tỉ lệ phân loại so sánh CDMA Code division multiple access Đa truy cập chia theo mã CELP Code-excited linear prediction Dự đoán tuyến tính mã kích thích CS-ACELP Conjugate structure algebraic code- Dự đoán tuyến tính mã kích thích đại số excited linear prediction cấu trúc liên hợp DC Direct current Dòng một chiều DCR Degradation category rating Tỉ lệ phân loại suy giảm DFT Discrete Fourier transform Biến đổi Fourier rời rạc DPCM Differential pulse code modulation Điều chế mã xung sai phân DSP Digital signal processing/processor Xử lý tín hiệu số DTAD Digital telephone answering device Thiết bị trả lời thoại số DTFT Discrete time Fourier transform Biến đổi Fourier thời gian rời rạc DTMF Dual-tone multifrequency Âm kép đa tần EFR Enhanced full rate Tăng cường đầy đủ tỉ lệ FFT Fast Fourier transform Biến đổi Fourier nhanh FIR Finite impulse response Đáp ứng xung hữu hạn FM Frequency modulation Điều tần FS Federal Standard Chuẩn liên bang GLA Generalized Lloyd algorithm Thuật toán Generalized Lloyd IDFT Inverse discrete Fourier transform Biến đổi Fourier rời rạc nghịch đảo IIR Infinite impulse response Đáp ứng xung vô hạn LD-CELP Low-delay prediction LMS Least mean square ADPCM code-excited linear Dự đoán tuyến tính mã kích thích trễ thấp Bình phương trung bình tối thiểu LP Linear prediction Dự đoán tuyến tính LPC Linear prediction coding/coefficient Mã hóa dự đoán tuyến tính MA Moving average Trung bình dịch chuyển MNB Measuring normalizing block Khối chuẩn hóa đo đạc MP–MLQ MSE Multipulse–maximum quantization Mean square error Sai số bình phương trung bình MSVQ Multistage vector quantization Lượng tử hóa vector đa lớp PCM Pulse code modulation Điều chế mã xung PESQ PSQM Perceptual evaluation of speech Đánh giá cảm nhận về chất lượng thoại quality Perceptual speech quality measure Đo đạc chất lượng thoại PVQ Predictive vector quantization QCELP Qualcomm prediction RC Reflection coefficient Hệ số phản xạ RV Random variable Biến ngẫu nhiên SD Spectral distortion Sự biến dạng phổ SNR Signal to noise ratio Tỉ lệ tín hiệu trên nhiễu SPG Segmental prediction gain SSE Sum of squared error Tổng sai số bình phương SSNR Segmental signal to noise ratio Tỉ lệ tính hiệu phân đoạn trên nhiễu TDMA Time division multiple access Đa truy cập phân chia thời gian TI Texas Instruments VoIP Voice over internet protocol Truyền âm qua giao thức internet VQ Vector quantization Lượng tử hóa véc-tơ VSELP Vector sum prediction likelihood Chuẩn hóa dạng tối đại đa xung code-excited excited Lượng tử hóa vec-tơ dự đoán linear Dự đoán tuyến tính kích thích mã Qualcomm linear Dự đoán tuyến tính kích thích tổng vectơ 1 MỞ ĐẦU 1. Lý do chọn đề tài Hiện nay, nén dữ liệu âm thanh nói chung và nén dữ liệu tiếng nói nói riêng đã và đang được các nhà khoa học, công nghệ trên thế giới quan tâm nghiên cứu, các kết quả đạt được đã được ứng dụng nhiều trong lĩnh vực truyền thông và giải trí. Đặc biệt, trong điều kiện công nghệ thông tin, truyền thông đang phát triển rất mạnh như hiện nay thì vấn đề xử lý âm thanh, tiếng nói càng được nghiên cứu và ứng dụng rộng rãi. Đã có rất nhiều thuật toán và mô hình xử lý tiếng nói được nghiên cứu và sử dụng, trong đó, mô hình dự đoán tuyến tính (LPC) là một phần không thể thiếu của hầu hết tất cả các giải thuật mã hóa thoại hiện đại ngày nay. Ý tưởng cơ bản là một mẫu thoại có thể được xấp xỉ bằng một kết hợp tuyến tính của các mẫu trong quá khứ. Trong một khung tín hiệu, các trọng số dùng để tính toán kết hợp tuyến tính được tìm bằng cách tối thiểu hóa bình phương trung bình sai số dự đoán; các trọng số tổng hợp, hoặc các hệ số dự đoán tuyến tính được dùng đại diện cho một khung cụ thể. Mô hình MELP (dự đoán tuyến tính kích thích hỗn hợp) được thiết kế để vượt qua một số hạn chế của mô hình LPC, sử dụng một mô hình tạo tiếng nói phức tạp hơn, với các thông số bổ xung để cải thiện độ chính xác. MELP bắt đầu được phát triển bởi McCree từ năm 1995, tích hợp nhiều nghiên cứu tiến bộ vào thời điểm đó, bao gồm cả lượng tử hóa vec-tơ, tổng hợp tiếng nói và cải tiến từ mô hình LPC cơ bản. Hiệu quả của MELP đã được chứng minh thực tế khi được NATO và Mỹ chấp nhận và sử dụng trong nhiều thiết bị quân sự. Tuy nhiên ở Việt Nam thì MELP chưa được chú ý nghiên cứu, phát triển vì tính ứng dụng hẹp: chủ yếu trong lĩnh vực quân sự. Xuất phát từ những lý do trên mà tôi đã chọn đề tài: “Thực thi thời gian thực mô hình thuật toán MELP trên bộ xử lý tín hiệu số TMS320C5509”. 2. Mục tiêu và nhiệm vụ nghiên cứu Mục tiêu của luận văn này là triển khai trong thời gian thực thuật toán nén thoại MELP trên bộ xử lý tín hiệu số TMS320C55xx, với các nội dung như sau: - Phân tích tổng quan về nén thoại. - Mô hình nén thoại MELP. - Phân tích, nghiên cứu bộ xử lý tín hiệu số TMS320C55X . 2 3. - Phân tích, xây dựng, triển khai thực thi thời gian thực mô hình MELP trên bộ xử lý tín hiệu số TMS320C5509, đề xuất cải tiến MELP và đánh giá kết quả thử nghiệm. Đối tượng và phạm vi nghiên cứu + Đối tượng nghiên cứu - Tìm hiểu tổng quan về nén thoại và thuật toán MELP, - Nghiên cứu bộ xử lý tín hiệu số TMS320C55xx. + Phạm vi nghiên cứu 4. - Các vấn đề về nén dữ liệu tiếng nói. - Ứng dụng thuật toán MELP trên bộ xử lý tín hiệu số TMS320C5509 Phương pháp nghiên cứu + Phương pháp nghiên cứu lý thuyết - Nghiên cứu tài liệu, ngôn ngữ và công nghệ liên quan. - Tổng hợp các tài liệu. - Phân tích và thiết kế hệ thống. + Phương pháp nghiên cứu thực nghiệm 5. - Thiết kế và triển khai thuật toán trên chip TMS320C5509 - Đánh giá kết quả đạt được, đề xuất phương án mở rộng kết quả nghiên cứu. Kết quả dự kiến Phân tích, thiết kế hệ thống và triển khai hoàn chỉnh thuật toán MELP trên chip TMS320C5509. 6. Ý nghĩa khoa học và thực tiễn của luận văn + Về mặt lý thuyết - Tìm hiểu tổng quan về nén thoại và thuật toán MELP. - Đề xuất khả năng triển khai thuật toán MELP trên bộ xử lý tín hiệu số + Về mặt thực tiễn 7. - Ứng dụng các công cụ, ngôn ngữ hỗ trợ để triển khai, cài đặt thuật toán MELP trên bộ xử lý tín hiệu số TMS320C5509. - Kết quả của luận văn có thể áp dụng cho ứng dụng thực tiễn, đặc biệt trong lĩnh vực quân sự. Đặt tên đề tài “THỰC THI THỜI GIAN THỰC MÔ HÌNH THUẬT TOÁN MELP TRÊN BỘ XỬ LÝ TÍN HIỆU SỐ TMS320C5509” 3 8. Bố cục luận văn Nội dung chính của luận văn được chia thành 4 chương như sau: Chương 1: Tổng quan về nén thoại Chương 2: Mô hình nén thoại MELP Chương 3: Chip xử lý tín hiệu số TMS320C55x Chương 4: Cài đặt và thử nghiệm Phụ Lục: Mô hình LPC và Lượng tử hóa véc-tơ nhiều lớp 4 Chương 1 - TỔNG QUAN NÉN THOẠI [4] Nén thoại hay mã thoại, là một quá trình phân tích và sau đó có thể tái tạo lại tín hiệu tiếng nói yêu cầu: sử dụng càng ít bít càng tốt mà không làm giảm chất lượng tiếng nói. Do sự bùng nổ của viễn thông, nên nén thoại ngày càng được nghiên cứu và ứng dụng rộng rãi. Kỹ thuật vi điện tử và các bộ xử lý khả trình giá rẻ cũng góp phần thúc đẩy và trợ giúp phát triển, chuyển giao công nghệ nhanh chóng từ nghiên cứu đến thực tiễn. Nén thoại được thực hiện bằng nhiều bước và được đặc tả bằng một thuật toán.Thuật toán là một tập các lệnh, cung cấp các bước tính toán cần thiết để thực hiện công việc cụ thể. Máy tính hoặc bộ vi xử lý có thể thực hiện các lệnh này để hoàn thành nhiệm vụ mã hóa, giải mã. Các lệnh cũng có thể chuyển đổi sang cấu trúc mạch số, thực hiện các tính toán trực tiếp trên phần cứng: FPGA, CPLD… 1.1 Cấu trúc của hệ thống nén thoại Hình 1-1: Mô hình hệ thống nén thoại [4] Hình 1-1 thể hiện mô hình của một hệ thống nén thoại. Tín hiệu thoại tương tự liên tục theo thời gian từ nguồn phát sẽ được đi qua một bộ lọc tiêu chuẩn (khử nhiễu), lấy mẫu (biến đổi thời gian rời rạc), và chuyển đổi tương tựsố (lượng tử hóa chuẩn). Đầu ra sẽ là tín hiệu thoại thời gian rời rạc với các giá trị mẫu cũng được rời rạc hóa, tín hiệu này được gọi là thoại số. Hầu hết các hệ thống nén thoại đều được thiết kế để hỗ trợ các ứng dụng viễn thông, với tần số giới hạn từ 300 đến 3400 Hz. Theo định lý Nyquist, tần số lấy mẫu phải gấp ít nhất là 2 lần băng thông của tín hiệu. Giá trị tần số khoảng 8kHz thường được chọn làm tần số lấy mẫu chuẩn cho tín hiệu thoại. Để chuyển 5 đổi mẫu tương tự sang tín hiệu số, ta sử dụng lượng tử hóa chuẩn và duy trì chất lượng thoại nhiều hơn 8 bits/mẫu. Việc sử dụng 16 bits/mẫu sẽ cung cấp chất lượng thoại cao hơn. Thông thường, chúng ta sẽ sử dụng các tham số cho tín hiệu thoại số như sau: Tần số lấy mẫu: 8 kHz Số lượng bit trên mẫu: 16 Khi đó, bit-rate = 8 * 16 = 128 kbps. Giá trị bit-rate này được gọi là bit-rate đầu vào, chính là giá trị mà bộ mã hóa nguồn cố gắng giảm xuống. Đầu ra của mã hóa nguồn sẽ biểu diễn tín hiệu thoại số đã mã hóa có bit-rate thấp hơn đầu vào càng nhiều càng tốt. Dữ liệu thoại số mã hóa sẽ được xử lý tiếp qua mã hóa kênh, cung cấp khả năng chống sai cho dòng bit trước khi truyền lên kênh truyền tải (bị ảnh hưởng từ rất nhiều nguồn nhiễu). Trong hình 1-1, bộ mã hóa nguồn và mã hóa kênh được tách biệt với nhau nhưng ta cũng có thể phối hợp 2 quá trình này trong một bước. Quá trình giải mã kênh sẽ xử lý dữ liệu đã được chống sai số để lấy lại dữ liệu đã mã hóa, và truyền sang bộ giải mã nguồn để tạo ra tín hiệu thoại số đầu ra với bit-rate ban đầu. Tín hiệu thoại số đầu ra được chuyển đổi sang dạng tín hiệu tương tự thông qua bộ chuyển đổi số-tương tự. Tín hiệu vào (128kbps) Mã hóa Giải mã Dòng bit đã mã hóa (<128kbps) Hình 1-2: Tín hiệu ra (128kbps) Mô hình nén thoại Có thể rút gọn quá trình mã hóa nguồn và giải mã nguồn như hình 1-2. Tín hiệu đầu vào (thời gian rời rạc, bit-rate 128 kbps) được đưa vào bộ mã hóa để tạo ra dòng bit đã mã hóa, hay dữ liệu thoại nén. Bit-rate của dòng bit này thường thấp hơn tín hiệu đầu vào. Bộ giải mã sẽ nhận dòng bit đã mã hóa làm đầu vào và khôi phục thành tín hiệu đầu ra, là tín hiệu thời gian rời rạc có cùng bit-rate của tín hiệu thoại đầu vào ban đầu. Mô hình mã hóa/giải mã trên hình 1-2 được gọi là mô hình nén thoại, với tín hiệu thoại đầu vào được mã hóa tạo ra dòng bit có bit-rate thấp. Dòng bit này lại được truyền đi và làm đầu vào cho bộ giải mã, tạo thành xấp xỉ tín hiệu gốc ban đầu. 6 1.2 Các thuộc tính lý tưởng của nén thoại [4] Mục tiêu chủ yếu của nén thoại, hoặc là tối đa hóa chất lượng cảm nhận ở một bit-rate nhất đinh, hoặc là tối thiểu hóa bit-rate cho một chất lượng cảm nhận nhất định. Bit-rate phù hợp để tiếng nói có thể được truyền tải hoặc lưu trữ, sẽ phụ thuộc vào giá của việc truyền tải hoặc bộ nhớ, giá của việc mã hóa (nén) tín hiệu thoại số, và yêu cầu chất lượng thoại. Trong hầu hết các mô hình nén thoại, tín hiệu được tái tạo sẽ sai khác so với tín hiệu ban đầu. Bit-rate được giảm bằng cách biểu diễn lại tín hiệu thoại với độ chính xác cũng bị giảm và bằng cách loại bỏ các dư thừa từ tín hiệu, kết quả tạo thành một mô hình nén lossy. Các tính chất lý tưởng của một mô hình nén thoại bao gồm: 1.2.1 Bit-rate thấp Bit-rate của dòng bit mã hóa càng thấp thì ta càng cần ít băng thông hơn cho việc truyền tải, hệ thống sẽ hiệu quả hơn. Yêu cầu này là xung đột với các tính chất tốt khác của hệ thống, như: chất lượng thoại. Trong thực tiễn, ta phải trả giá để cân bằng các tính chất tùy theo yêu cầu của ứng dụng cụ thể. 1.2.2 Chất lượng thoại cao Tiếng nói được giải mã cần phải có chất lượng chấp nhận được cho ứng dụng mục tiêu. Có rất nhiều khía cạnh trong sự cảm nhận chất lượng tiếng nói, bao gồm tính dễ hiểu, tính tự nhiên, tính dễ gần, và nhận dạng người nói. 1.2.3 Thích ứng với ngôn ngữ Hệ thống nén thoại cần phải được thiết kế đủ bao quát được đối với người nói khác nhau (người lớn/trẻ em, nam/nữ) và các ngôn ngữ khác nhau. Đây không phải làm một nhiệm vụ đơn giản, bởi vì mỗi tín hiệu âm thanh đều có các đặc trưng riêng. 1.2.4 Khả năng chịu đựng lỗi kênh Điều này rất quan trọng trong truyền thông tín hiệu số, khi mà lỗi kênh có ảnh hưởng không nhỏ đến chất lượng thoại. 1.2.5 Hiệu suất cao đối với tín hiệu không tiếng (unvoiced) Trong hệ thống viễn thông thông thường, nhiều tín hiệu khác sẽ xuất hiện bên cạnh tiếng nói. Các tín hiệu âm như sóng âm đa tần (DTMF) trong tiếng quay số, tiếng nhạc.. thường xuyên xảy ra. Cho dù các hệ thống nén thoại bitrate cao cũng không thể tái tạo lại mọi âm thanh một cách trung thực, ta không nên tạo ra các tín hiệu thay thế có thể gây khó chịu cho người nghe. 7 1.2.6 Kích thước nhớ nhỏ và độ phức tạp tính toán thấp Để triển khai các hệ thống nén thoại vào thực tế, giá thành cài đặt phải thấp, bao gồm bộ nhớ cần thiết và độ phức tạp tính toán phải thấp. 1.2.7 Trễ nén thấp Trong quá trình mã hóa và giải mã tiếng nói, sẽ xuất hiện các trễ, nó là thời gian trễ giữa tiếng nói đầu vào của mã hóa với tiếng nói đầu ra của giải mã. Mức trễ quá cao sẽ khó được chấp nhận trong hệ thống đàm thoại thời gian thực. 1.3 Trễ nén Tín hiệu vào Mã hóa Dòng bit Giải mã Hình 1-3: Tiếng nói tổng hợp Đo thời gian Trễ Mô hình xác định trễ [4] Trễ có được theo mô hình xác định trên gọi là trễ nén, hoặc trễ nén một chiều, nó được tính bởi thời gian tiêu hao từ thời điểm khi một mẫu tiếng nói ở đầu vào mã hóa cho đến thời điểm mẫu đó xuất hiện ở đầu ra giải mã. Cách xác định này không tính tới các yếu tố khác mà thuật toán nén thoại không kiểm soát được như khoảng cách truyền thông hoặc trang thiết bị… Dựa vào định nghĩa này, trễ nén sẽ có 4 thành phần chủ yếu sau: 1.3.1 Trễ bộ đệm mã hóa Nhiều bộ mã hóa tiếng nói cần phải thu thập một số lượng mẫu nhất định trước khi xử lý. Chẳng hạn, các mô hình nén dựa trên dự đoán tuyến tính LP đều cần 1 khung mẫu có phạm vi từ 160 đến 240 mẫu, hoặc 20 đến 30 ms, trước khi xử lý quá trình mã hóa thực sự. 1.3.2 Trễ xử lý mã hóa Quá trình mã hóa tiêu tốn khá nhiều thời gian để xử lý dữ liệu trong bộ đệm và xây dựng dòng bit. Trễ này có thể được giảm bớt bằng cách tăng cường sức mạnh tính toán của phần cứng và sử dụng các thuật toán phần mềm hiệu quả. Trễ xử lý cần phải nhỏ hơn trễ bộ đệm, nếu không quá trình mã hóa sẽ không theo kịp với dữ liệu đưa vào ở khung kế tiếp. 8 Khung đầu vào bộ đệm Truyền tải bit Mã hóa Giải mã Khung đầu ra Trễ mã hóa Trễ bộ đệm mã hóa Trễ xử lý mã hóa Hình 1-4: Trễ truyền tải / Trễ bộ đệm giải mã Thời gian Trễ xử lý giải mã Mô tả các thành phần của trễ nén 1.3.3 Trễ truyền tải Khi bộ mã hóa hoàn thành công việc xử lý một khung dữ liệu đầu vào, dòng bít đã được nén sẽ được truyền tới bộ giải mã. Có rất nhiều chế độ truyền khác nhau và có thể được lựa chọn tùy theo yêu cầu của từng hệ thống. Ở đây, ta chỉ xem xét hai chế độ truyền: liên tục và theo gói. Trễ bộ đệm mã hóa Số lượng bit Thời gian Thời gian Hình 1-5: Đồ thị mẫu truyền bit ở hai chế độ liên tục (trên) và gói (dưới) Trong chế độ liên tục, dòng bit sẽ được truyền đồng bộ ở một tốc độ cố định, là số bit tương ứng trên một khung chia cho độ dài của khung. Ở chế độ này, trễ đường truyền bằng với trễ bộ đệm mã hóa: các bit của khung sẽ được truyền đầy đủ và ngay khi các bit của khung tiếp theo dồn đến. Chế độ này chủ yếu được dùng cho các hệ thống giao tiếp số truyền thống, ví dụ như mạng điện thoại hữu tuyến. 9 Trong chế độ theo gói, mọi bit liên quan đến một khung nào đó sẽ được truyền hoàn toàn trong một khoảng thời gian ngắn hơn trễ bộ đệm mã hóa. Trong trường hợp này, mọi bit sẽ được đưa đi ngay sau khi chúng sẵn sàng, dẫn đến một chút trễ truyền tải không đáng kể. Chế độ này được sử dụng trong mạng internet, nơi mà dữ liệu được nhóm lại và truyền đi thành các gói. Trễ truyền tải còn được gọi là trễ bộ đệm giải mã, bởi vì nó chính là lượng thời gian mà bộ giải mã phải chờ đợi để thu thập toàn bộ các bit liên quan đến một khung để bắt đầu quá trình giải mã. 1.3.4 Trễ xử lý giải mã Đây là khoảng thời gian cần thiết để giải mã, tạo ra tiếng nói tổng hợp. Cũng giống như trường hợp trễ xử lý mã hóa, nó cũng phải nhỏ hơn trễ bộ đệm mã hóa vì toàn bộ một khung dữ liệu tiếng nói tổng hợp phải hoàn thành trong khung thời gian này, sẵn sàng cho khung tiếp theo. Nói chung, trễ bộ đệm mã hóa đóng vai trò quan trọng nhất, nó ảnh hưởng đến cả 3 thành phần trễ còn lại. Bộ đệm mã hóa càng dài thì hiệu quả mã hóa càng cao và bit-rate sẽ thấp hơn. Do đó, hầu hết các mô hình mã hóa có bit-rate thấp thì thường có trễ cao. Trễ nén là trường hợp trả giá thường xuyên nhất để có được bit-rate tốt. 1.4 Ứng dụng của các mô hình nén thoại [4] Nén thoại đóng một vai trò quan trọng trong kỹ thuật âm thanh hiện đại, đặc biệt cho truyền thông thoại số, nơi mà chất lượng và độ phức tạp ảnh hưởng trực tiếp đến giá thành và khả năng chiếm lĩnh thị trường của các sản phẩm, dịch vụ. Có rất nhiều tiêu chuẩn nén thoại được thiết kế đối với một ứng dụng nén thoại cụ thể, ví dụ: - FS1015 LPC: mô hình này được tạo ra từ năm 1984 để cung cấp truyền thông bảo mật cho các ứng dụng quân sự. - TIA IS54 VSELP: mô hình này được tiêu chuẩn hóa từ năm 1989 cho hệ thống điện thoại di động số TDMA ở Bắc Mỹ. - ETSI AMR ACELP: mô hình này được chuẩn hóa năm 1999, là một phần của hệ thống viễn thông di động toàn cầu (UMTS) liên kết với 3GPP. Những năm gần đây, cùng với sự bùng nổ của internet, rất nhiều công ty tập trung phát triển các ứng dụng dựa vào VoIP. Nén thoại cũng đóng vai trò trung tâm trong cuộc cách mạng này. 10 Chương 2 - MÔ HÌNH NÉN THOẠI MELP [4] Mô hình MELP được thiết kế để khắc phục một số hạn chế của mô hình LPC (xem phụ lục). MELP sử dụng một mô hình tạo tiếng nói phức tạp hơn, với các thông số tăng cường để cải thiện độ chính xác. Việc này đòi hỏi thêm chi phí tính toán, nhưng thực tế chỉ cần sử dụng một bộ xử lý tín hiệu số DSP là đủ. MELP bắt đầu được phát triển bởi McCree từ năm 1995, tích hợp nhiều nghiên cứu tiến bộvào thời điểm đó, bao gồm cả lượng tử hóa vec-tơ, tổng hợp tiếng nói và cải tiến từ mô hình LPC cơ bản. Trong chương này, luận văn sẽ mô tả mô hình tạo tiếng nói mà MELP dựa vào và so sánh với LPC, đồng thời phân tích một số kỹ thuật xử lý và hoạt động mã hóa và giải mã của mô hình MELP. 2.1 Mô hình tạo tiếng nói MELP [4] Sơ đồ khối của mô hình tạo tiếng nói MELP được thể hiện trong hình dưới đây, đây là một cải tiến từ mô hình LPC đã có. Tuy mô hình MELP phức tạp hơn LPC nhưng cả hai cùng có một số điểm tương đồng: đều dựa trên một bộ lọc tổng hợp để xử lý tín hiệu kích thích nhằm tạo ra tiếng nói tổng hợp. MELP sử dụng kỹ thuật nội suy phức tạp để tạo ra các chuyển đổi liên khung. Kích thích tuần hoàn Đáp ứng xung Pitch Period Hệ số lọc Bộ tạo chuỗi xung Lọc tạo xung Lọc tạo hình xung Gain Lọc tổng hợp voice strength Tạo nhiễu trắng Hình 2-1: Tiếng nói Lọc tạo hình nhiễu Mô hình tạo tiếng nói Những cải tiến chính của mô hình MELP so với mô hình LPC: + Sử dụng period jitter ngẫu nhiên để làm thay đổi giá trị của pitch period nhằm tạo ra một chuỗi xung không tuần hoàn. Hạn chế cơ bản trong LPC là việc phân loại của một khung tiếng nói thành hai loại: không âm (unvoiced) và có âm (voiced). Mô hình MELP phân 11 thành ba loại: không âm, có âm, và âm jitter (jitter voiced). Trạng thái thứ ba này tương ứng với trường hợp khi các kích thích là không tuần hoàn nhưng không hoàn toàn ngẫu nhiên, mà thường gặp phải trong quá trình chuyển đổi âm thanh từ voiced sang unvoiced và ngược lại. Trạng thái này trong mô hình MELP được kiểm soát bởi tham số kích thích âm sắc và chủ yếu là một số ngẫu nhiên. Qua thực nghiệm, người ta thấy rằng một kích thích tuần hoàn phân bố đều lên đến ±25% của âm sắc sẽ cho các kết quả tốt. +Hình dạng của xung kích thích dùng cho kích thích tuần hoàn được chiết xuất từ tín hiệu đầu vào và là một phần thông tin được đóng gói trong khung truyền. Trong hình thức đơn giản nhất của LPC, kích thích âm bao gồm một chuỗi các xung kích thích. Mỗi kích thích xung có một hình dạng nhất định. Hình dạng của xung chứa các thông tin quan trọng và được phân tích bởi bộ mã hóa MELP thông qua giá trị Fourier manitudes . +Kích thích tuần hoàn và kích thích nhiễu trước hết được lọc bằng cách sử dụng bộ lọc hình dạng xung và bộ lọc hình dạng nhiễu tương ứng; sau đó đầu ra của chúng được cộng vào nhau tạo thành kích thích tổng được gọi là kích thích hỗn hợp. Đây chính là ý tưởng cốt lõi của mô hình MELP và dựa trên những quan sát thực tế mà chuỗi các sai số dự đoán là sự kết hợp của một chuỗi xung với nhiễu. Như vậy, mô hình MELP là thực tế hơn nhiều so với mô hình LPC. Trong hình vẽ 2-1, các đáp ứng tần số của bộ lọc định hình được điều khiển bởi tập hợp các tham số gọi là voice strength. Đáp ứng của các bộ lọc này thay đổi theo thời gian, với các tham số được ước lượng từ các tín hiệu âm đầu vào, và được truyền dưới dạng thông tin theo khung. 2.2 Biên độ Fourier (Fourier Manitudes) [4] Mô hình MELP phụ thuộc vào tính toán các biên độ Fourier từ tín hiệu sai số dự đoán để bắt hình dạng của xung kích thích. Fourier magnitudes là độ lớn của biến đổi Fourier tín hiệu đầu vào. Tham số này được lượng tử hóa và truyền như thông tin trên các khung. Mục tiêu là tạo ra ở phía giải mã một chuỗi tuần hoàn càng gần tín hiệu kích thích ban đầu càng tốt. Ta chỉ tính Fourier manitudes cho khung voiced hoặc jitter voiced. 2.2.1 Bộ lọc tạo xung Mô hình MELP dựa vào bộ lọc tạo xung để tạo ra các kích thích tuần hoàn. Xung kích thích với chu kỳ thời gian T qua bộ lọc tạo xung tạo ra một chuỗi xung ở đầu ra. Kết hợp với độ lớn của biến đổi Fourier (là phổ của chuỗi 12 xung được được tính bằng tích giữa phổ của chuỗi xung và độ lớn đáp ứng của các bộ lọc) ta có thể tính được độ lớn đáp ứng của bộ lọc tạo hình xung. Hình 22 mô tả quá trình tạo xung, việc đo độ cao được thực hiện ở các giá trị tần số ω = 2πi/T, i=1,2,.. khi tìm được đáp ứng độ lớn, thì ta cũng biết được đáp ứng xung của bộ lọc tạo xung và định hình được xung. Chuỗi xung Chuỗi xung Lọc tạo xung Đáp ứng xung Miền thời gian Miền tần số Hình 2-2: Mô phỏng xử lý tín hiệu với bộ lọc tạo xung Trong quá trình mã hóa, ta đo được đỉnh của phổ độ lớn tương ứng với tần số âm sắc. Các giá trị này là Fourier manitudes được truyền tới các bộ giải mã để xây dựng các xung kích thích và đáp ứng xung của bộ lọc xung. 2.2.2 Biên độ Fourier (Fourier magnitudes): tính toán và lượng tử hóa Tiếng nói Lọc sai số dự đoán Cửa sổ Bổ sung mẫu zero Mã hóa VQ Chuẩn hóa FFT LPC Chỉ số Tìm kiếm đỉnh độ lớn Pitch period Hình 2-3: Mô hình tính toán và lượng tử hóa biên độ Fourier
- Xem thêm -