Thực thi thời gian thực thuật toán MELP trên DSP TMS320C5509

Luận văn: Thực thi thời gian thực thuật toán MELP trên TMS320C5509. Nghiên cứu mô hình, giải pháp tối ưu hóa cho bộ xử lý tín hiệu số.

Người đăng

Ẩn danh

Thể loại

Luận Văn Thạc Sĩ

2014

85
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

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

1.1. Cấu trúc của hệ thống nén thoại

1.2. Các thuộc tính lý tưởng của nén thoại

1.3. Trễ nén

2. CHƯƠNG 2: MÔ HÌNH NÉN THOẠI MELP

2.1. Mô hình tạo tiếng nói MELP

2.2. Bộ lọc định hình

2.3. Pitch period và ước lượng voice strength

2.4. Hoạt động giải mã

2.5. Kết chương

3. CHƯƠNG 3: CHIP XỬ LÝ TÍN HIỆU SỐ TMS320C55xx

3.1. Kiến trúc họ TMS32C55xx

3.2. Công cụ phát triển

3.3. Các chế độ địa chỉ TMS320C55x

3.4. Đường ống và cơ chế song song

3.5. Tập lệnh TMS320C55x

3.6. Lập trình hỗn hợp C và Assembly

4. CHƯƠNG 4: CÀI ĐẶT VÀ THỬ NGHIỆM

4.1. Cài đặt MELP thời gian thực trên C5509 và C5510

4.2. Thực hiện cài đặt

4.3. Đánh giá kết quả

4.4. Kết quả đạt được của luận văn

4.5. Định hướng nghiên cứu tiếp theo

TÀI LIỆU THAM KHẢO

Mô hình mã hóa dự đoán tuyến tính LPC

Thuật toán Levinson-Durbin

Lượng tử hóa véc-tơ nhiều lớp (MSVQ)

Tóm tắt

I. Tổng quan về MELP trên TMS320C5509 Giới thiệu và tiềm năng

Nén dữ liệu âm thanh, đặc biệt là nén tiếng nói, đang thu hút sự quan tâm lớn từ các nhà khoa học và kỹ sư trên toàn thế giới. Các kết quả nghiên cứu đã được ứng dụng rộng rãi trong lĩnh vực truyền thông và giải trí. Trong bối cảnh công nghệ thông tin và truyền thông phát triển mạnh mẽ như hiện nay, việc xử lý âm thanh và tiếng nói càng trở nên quan trọng và được ứng dụng rộng rãi hơn. 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) đóng vai trò không thể thiếu trong hầu hết các giải thuật mã hóa thoại hiện đại. Ý tưởng cơ bản của LPC là một mẫu thoại có thể được xấp xỉ bằng một 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 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ế để khắc phục 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ự. Theo luận văn của Phạm Văn Hậu (2014), mục tiêu của nghiên cứu là triển khai thuật toán nén thoại MELP trên bộ xử lý tín hiệu số TMS320C55xx. Nội dung nghiên cứu bao gồm phân tích tổng quan về nén thoại, mô hình nén thoại MELP, phân tích và nghiên cứu bộ xử lý tín hiệu số TMS320C55X, xây dựng và 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. Kết quả dự kiến của luận văn là 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.

1.1. Tổng quan về thuật toán MELP Ưu điểm so với LPC

Mô hình MELP được thiết kế để khắc phục một số hạn chế của mô hình LPC. 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à đủ. Những cải tiến chính của mô hình MELP so với mô hình LPC là 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ì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, 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.

1.2. TMS320C5509 Lựa chọn bộ xử lý cho ứng dụng thời gian thực

Các bộ xử lý tín hiệu số với kiến trúc và lệnh được thiết kế đặc biệt cho các ứng dụng DSP đã được phát triển bởi các hãng Texas Instruments, Motorola, Lucent Technologies, Analog Devices. Các bộ xử lý DSP đã được sử dụng rộng rãi trong nhiều lĩnh vực như viễn thông, xử lý tiếng nói, xử lý ảnh, thiết bị y sinh, điện tử. Họ C55x của Texas Instruments có những đặc điểm quan trọng như mã nguồn tương thích với tất cả các thiết bị TMS32054x, hàng đợi bộ đệm lệnh 64 byte, 2 đơn vị MAC 17 bit, 1 bộ số học logic ALU 40 bit, 4 bộ nhớ 40bit, 8 thanh ghi phụ mở rộng, chế độ địa chỉ xoay vòng, hoạt động lặp đơn lệnh và khối lệnh. CPU C55x bao gồm 4 thành phần: đơn vị bộ đệm lệnh (IU), đơn vị luồng chương trình (PU), đơn vị luồng dữ liệu địa chỉ (AU) và đơn vị tính toán dữ liệu (DU). Các đơn vị này được kết nối tới 12 địa chỉ và đường bus dữ liệu khác nhau.

II. Thách thức và vấn đề khi triển khai MELP trên TMS320C5509

Việc triển khai MELP trên TMS320C5509 đối mặt với một số thách thức đáng kể. Một trong số đó là giới hạn về tài nguyên tính toán của DSP. Thuật toán MELP, mặc dù hiệu quả, đòi hỏi nhiều phép toán phức tạp, bao gồm các phép nhân, cộng, biến đổi Fourier, và các phép lọc. TMS320C5509, mặc dù là một DSP mạnh mẽ, vẫn có giới hạn về tốc độ xử lý và bộ nhớ. Do đó, việc tối ưu hóa thuật toán MELP để phù hợp với tài nguyên hạn chế của TMS320C5509 là một thách thức lớn. Theo Phạm Văn Hậu (2014), việc cài đặt MELP thời gian thực trên C5509 đòi hỏi sự cân nhắc kỹ lưỡng về kiến trúc phần cứng, kỹ thuật lập trình, và phương pháp tối ưu hóa. Một thách thức khác là đảm bảo chất lượng âm thanh sau khi nén và giải nén. MELP là một thuật toán nén mất mát, có nghĩa là một số thông tin âm thanh sẽ bị mất trong quá trình nén. Việc giảm thiểu sự mất mát thông tin này và đảm bảo rằng âm thanh được tái tạo lại có chất lượng chấp nhận được là một mục tiêu quan trọng. Hơn nữa, việc đạt được hiệu suất thời gian thực là một yêu cầu bắt buộc. Ứng dụng cần phải xử lý tín hiệu âm thanh một cách nhanh chóng để tránh độ trễ đáng kể. Điều này đòi hỏi phải tối ưu hóa mã và tận dụng tối đa khả năng của TMS320C5509. Cuối cùng, việc tích hợp MELP vào một hệ thống nhúng hoàn chỉnh có thể đặt ra các thách thức về phần cứng và phần mềm. Hệ thống cần phải giao tiếp với các thành phần khác, chẳng hạn như ADCDAC, và cần phải được điều khiển bởi một hệ điều hành nhúng. Theo luận văn của Phạm Văn Hậu, việc đối mặt và vượt qua những thách thức này đòi hỏi sự hiểu biết sâu sắc về thuật toán MELP, kiến trúc TMS320C5509, và các kỹ thuật lập trình nhúng.

2.1. Tối ưu hóa hiệu năng tính toán của thuật toán MELP

Để giải quyết các thách thức về hiệu năng, một số kỹ thuật tối ưu hóa có thể được áp dụng. Ví dụ, các phép nhân và cộng có thể được thực hiện bằng cách sử dụng các lệnh DSP chuyên dụng. Các biến đổi Fourier có thể được thực hiện bằng cách sử dụng các thư viện FFT được tối ưu hóa. Các phép lọc có thể được thực hiện bằng cách sử dụng các bộ lọc FIR hoặc IIR hiệu quả. Theo luận văn của Phạm Văn Hậu, một số kỹ thuật tối ưu hóa có thể được áp dụng cho MELP trên TMS320C5509, bao gồm sử dụng DMA, tối ưu hóa bộ nhớ, và sử dụng các thư viện DSP.

2.2. Đảm bảo chất lượng âm thanh trong ứng dụng thời gian thực

Để đảm bảo chất lượng âm thanh, việc lựa chọn các tham số MELP phù hợp là rất quan trọng. Các tham số này bao gồm tốc độ bit, kích thước khung, và các hệ số lượng tử hóa. Việc lựa chọn các tham số này cần phải cân bằng giữa chất lượng âm thanh và hiệu suất tính toán. Theo luận văn của Phạm Văn Hậu, việc sử dụng các kỹ thuật lượng tử hóa vec-tơ có thể giúp giảm thiểu sự mất mát thông tin trong quá trình nén, từ đó cải thiện chất lượng âm thanh.

2.3. Quản lý tài nguyên bộ nhớ và năng lượng hiệu quả trên DSP

Việc quản lý bộ nhớ và năng lượng là rất quan trọng trong các ứng dụng nhúng. MELP cần phải được triển khai sao cho nó sử dụng bộ nhớ và năng lượng một cách hiệu quả. Điều này có thể được thực hiện bằng cách sử dụng các kỹ thuật như phân bổ bộ nhớ động, sử dụng bộ nhớ cache, và giảm tần số xung nhịp của DSP. Theo luận văn của Phạm Văn Hậu, việc sử dụng các kỹ thuật quản lý bộ nhớ và năng lượng có thể giúp kéo dài tuổi thọ pin của hệ thống nhúng.

III. Phương pháp cài đặt và thực thi MELP Codec trên TMS320C5509

Việc cài đặt MELP trên TMS320C5509 bao gồm một số bước chính. Đầu tiên, cần phải thu thập mã nguồn MELP và biên dịch nó cho TMS320C5509. Có thể sử dụng Code Composer Studio (CCS) của Texas Instruments làm công cụ phát triển. Thứ hai, cần phải cấu hình TMS320C5509 để giao tiếp với các thành phần khác trong hệ thống, chẳng hạn như ADCDAC. Thứ ba, cần phải viết mã để điều khiển quá trình nén và giải nén âm thanh. Thứ tư, cần phải kiểm tra và gỡ lỗi mã để đảm bảo rằng nó hoạt động chính xác. Theo luận văn của Phạm Văn Hậu, việc cài đặt MELP trên TMS320C5509 có thể được thực hiện bằng cách sử dụng một số kỹ thuật khác nhau. Một kỹ thuật là sử dụng các thư viện DSP được cung cấp bởi Texas Instruments. Một kỹ thuật khác là viết mã hợp ngữ để tối ưu hóa hiệu suất. Khi thực thi, thuật toán MELP sẽ được chạy trên TMS320C5509 để nén và giải nén âm thanh. Tín hiệu âm thanh sẽ được thu thập bởi ADC, nén bởi MELP, truyền đi, giải nén bởi MELP, và phát ra bởi DAC. Quá trình này cần phải được thực hiện một cách nhanh chóng để đảm bảo hiệu suất thời gian thực. Theo luận văn của Phạm Văn Hậu, việc thực thi MELP trên TMS320C5509 đòi hỏi sự cân nhắc kỹ lưỡng về kiến trúc phần cứng, kỹ thuật lập trình, và phương pháp tối ưu hóa.

3.1. Sử dụng Code Composer Studio CCS cho phát triển MELP

Code Composer Studio (CCS) là một công cụ phát triển tích hợp (IDE) được cung cấp bởi Texas Instruments để phát triển các ứng dụng cho các bộ xử lý tín hiệu số (DSP) của họ. CCS cung cấp một môi trường phát triển hoàn chỉnh, bao gồm trình biên dịch, trình liên kết, trình gỡ lỗi và trình mô phỏng. CCS có thể được sử dụng để phát triển các ứng dụng MELP cho TMS320C5509.

3.2. Cấu hình phần cứng TMS320C5509 cho ứng dụng nén thoại MELP

Cấu hình phần cứng TMS320C5509 cho ứng dụng nén thoại MELP bao gồm kết nối ADC và DAC để thu thập và phát tín hiệu âm thanh. Ngoài ra, cần cấu hình các ngắt (interrupts) để xử lý tín hiệu một cách kịp thời.

3.3. Lập trình và tối ưu hóa code MELP cho TMS320C5509

Lập trình code MELP cho TMS320C5509 đòi hỏi kiến thức về kiến trúc TMS320C5509 và các kỹ thuật lập trình DSP. Mã C có thể được sử dụng, nhưng để đạt được hiệu suất tối ưu, việc sử dụng assembly là cần thiết cho các đoạn code quan trọng.

IV. Kết quả thử nghiệm và đánh giá hiệu năng MELP trên TMS320C5509

Luận văn của Phạm Văn Hậu (2014) đã thực hiện các thử nghiệm để đánh giá hiệu năng của MELP trên TMS320C5509. Các thử nghiệm này bao gồm đo thời gian thực thi của thuật toán MELP, đánh giá chất lượng âm thanh sau khi nén và giải nén, và đánh giá mức tiêu thụ năng lượng của hệ thống. Kết quả thử nghiệm cho thấy rằng MELP có thể được triển khai trên TMS320C5509 với hiệu suất thời gian thực. Tuy nhiên, cần phải tối ưu hóa thuật toán MELP và tận dụng tối đa khả năng của TMS320C5509 để đạt được hiệu suất tốt nhất. Chất lượng âm thanh sau khi nén và giải nén là chấp nhận được, nhưng có thể cải thiện bằng cách sử dụng các kỹ thuật lượng tử hóa vec-tơ tiên tiến hơn. Mức tiêu thụ năng lượng của hệ thống là tương đối thấp, nhưng có thể giảm hơn nữa bằng cách sử dụng các kỹ thuật quản lý bộ nhớ và năng lượng hiệu quả. Theo luận văn của Phạm Văn Hậu, kết quả thử nghiệm cho thấy rằng MELP là một thuật toán nén âm thanh phù hợp cho các ứng dụng nhúng thời gian thực trên TMS320C5509.

4.1. Đo lường thời gian thực thi và độ trễ của thuật toán

Việc đo lường thời gian thực thi của thuật toán MELP trên TMS320C5509 là rất quan trọng để đánh giá hiệu năng thời gian thực. Độ trễ (latency) cũng cần được đo để đảm bảo ứng dụng hoạt động tốt trong các hệ thống thời gian thực.

4.2. Đánh giá chất lượng âm thanh sử dụng phương pháp MOS và PESQ

Phương pháp MOS (Mean Opinion Score) và PESQ (Perceptual Evaluation of Speech Quality) được sử dụng để đánh giá chất lượng âm thanh sau khi nén và giải nén. Kết quả MOS và PESQ cho biết mức độ hài lòng của người nghe về chất lượng âm thanh.

4.3. Phân tích mức tiêu thụ năng lượng của hệ thống nhúng MELP

Phân tích mức tiêu thụ năng lượng của hệ thống nhúng MELP là quan trọng để thiết kế các ứng dụng tiết kiệm năng lượng. Các công cụ đo lường và phân tích năng lượng có thể được sử dụng để xác định các thành phần tiêu thụ nhiều năng lượng nhất.

V. Cải tiến và tối ưu hóa thuật toán MELP cho TMS320C5509

Để nâng cao hiệu năng và chất lượng âm thanh, có thể áp dụng các kỹ thuật cải tiến và tối ưu hóa thuật toán MELP cho TMS320C5509. Một số kỹ thuật có thể được sử dụng bao gồm sử dụng các phép toán số học dấu phẩy động, sử dụng các thuật toán tìm kiếm nhanh, và sử dụng các kỹ thuật lượng tử hóa vec-tơ tiên tiến hơn. Theo luận văn của Phạm Văn Hậu, có thể cải tiến MELP bằng cách sử dụng các kỹ thuật khác nhau, bao gồm sử dụng các bộ lọc thích nghi, sử dụng các mô hình thống kê, và sử dụng các thuật toán học máy. Việc cải tiến thuật toán MELP có thể giúp nâng cao chất lượng âm thanh, giảm mức tiêu thụ năng lượng, và mở rộng phạm vi ứng dụng của MELP.

5.1. Ứng dụng các kỹ thuật vector quantization tiên tiến

Các kỹ thuật vector quantization tiên tiến có thể giúp giảm dung lượng lưu trữ và truyền tải dữ liệu, đồng thời cải thiện chất lượng âm thanh.

5.2. Sử dụng bộ lọc thích nghi để giảm nhiễu và cải thiện chất lượng

Bộ lọc thích nghi có thể được sử dụng để giảm nhiễu và cải thiện chất lượng âm thanh trong môi trường ồn ào. Các bộ lọc thích nghi có thể được thiết kế để loại bỏ các thành phần nhiễu cụ thể trong tín hiệu âm thanh.

5.3. Tối ưu hóa mã Assembly để tăng tốc độ xử lý tín hiệu số

Việc tối ưu hóa mã Assembly là rất quan trọng để tăng tốc độ xử lý tín hiệu số. Các kỹ thuật tối ưu hóa mã Assembly bao gồm sử dụng các lệnh SIMD (Single Instruction Multiple Data) và giảm số lượng lệnh được thực hiện.

VI. Ứng dụng thực tế của MELP trên TMS320C5509 Tiềm năng và hướng phát triển

MELP trên TMS320C5509 có nhiều ứng dụng thực tế trong các lĩnh vực khác nhau. Một số ứng dụng tiềm năng bao gồm truyền thông thoại bảo mật, hệ thống liên lạc quân sự, hệ thống giám sát từ xa, và các thiết bị trợ thính. Theo luận văn của Phạm Văn Hậu, MELP có thể được sử dụng để phát triển các ứng dụng khác nhau, bao gồm các ứng dụng di động, các ứng dụng web, và các ứng dụng máy tính để bàn. Việc phát triển các ứng dụng MELP đòi hỏi sự kết hợp giữa kiến thức về thuật toán MELP, kiến trúc TMS320C5509, và các kỹ thuật lập trình nhúng. Các hướng phát triển tiềm năng của MELP bao gồm tích hợp MELP với các thuật toán nén âm thanh khác, phát triển các phiên bản MELP có độ phức tạp thấp hơn, và mở rộng MELP để hỗ trợ các loại tín hiệu âm thanh khác.

6.1. Triển khai MELP trong hệ thống truyền thông bảo mật quân sự

Trong lĩnh vực quân sự, truyền thông bảo mật là rất quan trọng. MELP có thể được sử dụng để mã hóa và giải mã giọng nói trong các hệ thống truyền thông quân sự để đảm bảo rằng thông tin chỉ có thể được truy cập bởi những người được ủy quyền.

6.2. Ứng dụng MELP trong thiết bị trợ thính cho người khiếm thính

Trong lĩnh vực y tế, MELP có thể được sử dụng trong các thiết bị trợ thính cho người khiếm thính để cải thiện khả năng nghe của họ. MELP có thể được sử dụng để nén và giải nén giọng nói, giúp giảm kích thước và mức tiêu thụ năng lượng của thiết bị trợ thính.

6.3. Phát triển các ứng dụng VoIP sử dụng MELP Codec

MELP có thể được sử dụng để phát triển các ứng dụng VoIP (Voice over Internet Protocol) cho phép người dùng thực hiện cuộc gọi qua internet. MELP có thể được sử dụng để nén và giải nén giọng nói, giúp giảm băng thông cần thiết cho cuộc gọi VoIP.

24/09/2025

Trích đoạn nội dung tài liệu

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 TIEU LUAN MOI download : skknchat@gmail.com 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 Tín hiệu ra (128kbps) Mã hóa Giải mã (128kbps) Dòng bit đã mã hóa (<128kbps) Hình 1-2: 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. TIEU LUAN MOI download : skknchat@gmail.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.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ể.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.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.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.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 bit- rate 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. TIEU LUAN MOI download : skknchat@gmail.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.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.3 Trễ nén Tiếng nói Tín Dòng bit tổng hợp Mã hóa Giải mã Đo hiệu thời Trễ vào gian Hình 1-3: 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.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ự.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.

TIEU LUAN MOI download : skknchat@gmail.com 8 Khung Truyền Khung đầu vào Mã hóa tải bit Giải mã đầu ra bộ đệm Trễ mã hóa Thời gian Trễ bộ đệm Trễ xử lý mã Trễ truyền tải / Trễ xử lý mã hóa hóa Trễ bộ đệm giải mã giải mã Hình 1-4: Mô tả các thành phần của trễ nén 1.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. TIEU LUAN MOI download : skknchat@gmail.com 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.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ