Nghiên cứu nguyên lý về các kỹ thuật nén âm thanh, các kỹ thuật nén âm thanh MPEG và AAC, Đánh giá hiệu quả các kỹ thuật nén âm thanh MPEG và AAC. Tìm hiệu tổng quan về kỹ thuật nén ,Nghiên cứu các thuật toán nén,Đánh giá chất lượng các kỹ thuật nén.
1 MỞ ĐẦU Cơ sở nghiên cứu luận văn So với loại liệu kỹ thuật số, tốc độ liệu âm kỹ thuật số không nén lớn Kỹ thuật nén âm số cho phép lưu trữ truyền tải liệu âm hiệu Nén trình làm giảm tốc độ bit dòng liệu tốc độ cao mà đảm bảo chất lượng hình ảnh âm cần truyền tải Tín hiệu audio số PCM sử dụng truyền hình, truyền thông đa phương tiện nhiều ứng dụng khác Các dòng số có tốc độ bít cao Ví dụ âm lấy mẫu với tần số 48 KHz độ phân giải 16 bít dòng số tạo có tốc độ 1,54 Mbps Một hệ thống âm surround cung cấp dòng số có tốc độ lên tới 4,5 Mbps Bởi vậy, yêu cầu phải có phương pháp nén hiệu cho lưu trữ liệu thời gian dài phân phối liệu qua kênh có bề rộng dải thông hẹp Việc nén audio tổ hợp ứng dụng đa phương tiện sở máy tính, cho phân phối chương trình đĩa CDROM mạng Nó sử dụng truyền dẫn qua vệ tinh quảng bá (Digital Broadcast Satellite-DBS) Mặt dù có nhiều kỹ thuật nén tín hiệu audio như: MPEG layer 1,2,3, AAC, MPEG4 Mỗi tiêu chuẩn có kỹ thuật nén khác để tạo đựơc dòng bít nhỏ so với âm PCM Nhưng để lựa chọn, đánh giá chuẩn nén âm có chất lượng cao sử dụng mục đích sử dụng truyền tải đòi hỏi phải nghiên cứu đánh giá điều thiếu Luận văn tập trung nghiên cứu đánh giá hai chuẩn nén âm xem có chất lượng cao sử dụng ghép truyền tải với truyền hình số là: MPEG AAC Mục đích nghiên cứu Luận văn tập trung nghiên cứu nội dung sau: Nghiên cứu nguyên lý kỹ thuật nén âm Nghiên cứu kỹ thuật nén âm MPEG AAC Đánh giá hiệu kỹ thuật nén âm MPEG AAC Đối tượng phạm vi nghiên cứu 3.1 Đối tượng nghiên cứu Nghiên cứu kỹ thuật nén âm chuẩn MPEG3 AAC 3.2 Phạm vi nghiên cứu Tìm hiệu tổng quan kỹ thuật nén Nghiên cứu thuật toán nén Đánh giá chất lượng kỹ thuật nén Phương pháp nghiên cứu Nghiên cứu lý thuyết kỹ thuật nén Xây dựng File âm Thực chương trình nén Đánh giá Ý nghĩa khoa học đề tài Hổ trợ cho việc sử dụng công nghệ truyền tải liệu truyền hình số Phát triển sử dụng chương trình mã hóa âm Cấu trúc luận văn Luận văn chia làm chương Phần mở đầu luận văn trình bày tóm tắt mục đích nghiên cứu, đối tượng nghiên cứu, phạm vi nghiên cứu, phương pháp nghiên cứu ý nghĩa khoa học đề tài Chương 1: CÁC CHUẨN NÉN TÍN HIỆU AUDIO TRONG TRUYỀN HÌNH SỐ Chương 2: CÁC KỸ THUẬT MÃ HÓA ÂM THANH Chương 3: KỸ THUẬT MÃ HÓA ÂM THANH MPEG-3 VÀ MPEG-2 AAC, Chương 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ Chương 1: CÁC CHUẨN NÉN TÍN HIỆU AUDIO TRONG TRUYỀN HÌNH SỐ 1.1 Một số chuẩn truyền hình số giới [7] Chuẩn truyền dẫn truyền hình số (DTV_ Digital television) sử dụng trình nén xử lý số để có khả truyền dẫn đồng thời nhiều chương trình TV dòng liệu, cung cấp chất lượng ảnh khôi phục tuỳ theo mức độ phức tạp máy thu DTV thay đổi đáng kể công nghiệp sản suất quảng bá sản phẩm truyền hình Nó mang lại tính mềm dẻo tuyệt vời sử dụng có nhiều dạng thức ảnh khác nén số Hiện giới tồn song song ba tiêu chuẩn truyền hình số Đó là: ATSC (Advance Television System Commitee) Mỹ DVB (Digital Video Broadcasting) Châu Âu EDTV_II (Enhanced Definition Television) Nhật 1.1.1 Chuẩn ATSC Hệ thống ATSC có cấu trúc dạng lớp, tương thích với mô hình OSI lớp mạng liệu Mỗi lớp ATSC tương thích với ứng dụng khác lớp ATSC sử dụng dạng thức gói MPEG-2 cho Video, Audio liệu phụ Các đơn vị liệu có độ dài cố định phù hợp với sửa lỗi, ghép dòng chương trình, chuyển mạch, đồng bộ, nâng cao tính linh hoạt tương thích với dạng thức ATM Tốc độ bít truyền tải 20 MHz cấp cho kênh đơn HDTV kênh TV chuẩn đa chương trình Chuẩn ATSC cung cấp cho hai mức HDTV (phân giải cao) SDTV (truyền hình tiêu chuẩn) Đặc tính truyền tải nén liệu ATSC theo MPEG-2 1.1.2 Chuẩn DVB Chuẩn DVB sử dụng Châu Âu, truyền tải Video số MPEG-2 qua cáp, vệ tinh phát truyền hình mặt đất Chuẩn DVB có số đặc điểm sau: Mã hoá Audio tiêu chuẩn MPEG-1 Layer vàd MPEG-2-AAC Mã hoá Video chuẩn MPEG-2 DVB gồm loạt tiêu chuẩn Trong là: DVB - S: Hệ thống truyền tải qua vệ tinh Bề rộng băng thông phát đáp từ 11 đến 12 G hz Hệ thống DVB - S sử dụng phương pháp điếu chế QPSK (Quadratue Phase Shift Keying), sóng mang cho phát đáp Tốc độ bit truyền tải tối đa khoảng 38,1Mbps DVB - C: Hệ thống cung cấp tín hiệu truyền hình số qua mạng cáp, sử dụng kênh cáp có dung lượng từ đến MHz phương pháp điều chế 64_QAM (64 Quadratue Amplitude Modulation) DVB - C có mức SNR (tỉ số Signal/noise) cao điều biến kí sinh (Intermodulation) thấp Tốc độ bit lớp truyền tải MPEG-2 tối đa 38,1 Mbps DVB - T: Hệ thống truyền hình mặt đất với kênh 8MHz Tốc độ bit tối đa 24 Mbps Sử dụng phương pháp điều chế RF COFDM 1.2 Các chuẩn nén âm truyền hình số 1.2.1 Chuẩn mã hóa âm MPEG [7] MPEG-1 thuật toán nén âm tiêu chuẩn quốc tế cho nén âm kỹ thuật số có độ trung thực cao, thông qua Tổ chức tiêu chuẩn quốc tế Ủy ban điện tử quốc tế (ISO / IEC) vào cuối năm 1992 Các thuật toán nén âm MPEG-1 đề cập ba phần (âm thanh, video, hệ thống), tốc độ bít khoảng 1,5(Mbps) Chuẩn nén âm MPEG-1 với tốc độ lấy mẫu 32, 44.1, 48 kHz Tốc độ bít hỗ trợ hai kênh âm xác định khoảng từ 32 đến 224 kbps cho kênh, tương đương với tỷ lệ nén từ 24 đến 2,7 thường tỷ lệ 1/6 (tức là, 16-bit stereo lấy mẫu 48 kHz tốc độ 256 kbps) với tốc độ bít người nghe khó phân biệt đoạn âm mã hóa âm gốc Chuẩn mã hóa âm MPEG phân chia thành lớp Layer có độ phức tạp thấp bitrate cao nhất, dao động từ 32- 224 kbps cho kênh muốn thực tốc độ bít 192 kbps cho kênh Chỉ có sử dụng đặc tính psychoacoustic, độ nhạy thính giác mặt nạ tần số Mỗi khung bao gồm 384 mẫu xử lý 32 subbands có chiều rộng (xem Hình 1.1), subband có chứa 12 mẫu Lớp có độ phức tạp trung trung bình tốc độ bít (bitrate) khoảng 128 kbps cho kênh Sử dụng kỹ thuật mặt nạ tần số thời gian mã hóa Mỗi khung chứa 1.152 mẫu chia thành 32 dãi (subbands) có chiều rộng nhau, dãi sử dụng 36 mẫu (Xem hình 1.1) Ứng dụng cho lớp dùng mã hóa âm cho phát truyền hình số (DAB), lưu trữ đồng chuỗi video âm đĩa CD-ROM Layer có độ phức tạp cao cung cấp chất lượng âm tốt nhất, đặc biệt tốc độ bít (bitrate) khoảng 64 kbps cho kênh Dữ liệu nén lớp đặt tên cho định dạng MP3 Định dạng phát triển vào cuối năm 1980 Viện Fraunhofer kết hợp với trường Đại học Erlangen Ngoài việc sử dụng mặt nạ tần số thời gian, MP3 sử dụng mã hóa (Huffman) với bảng mã thay đổi theo xác suất thông tin mã hóa, để tiếp tục giảm dư thừa Cũng Trong lớp 2, khung chứa 1.152 mẫu chia thành 32 subbands có chiều rộng nhau, subband sử dụng 36 mẫu Kiểm soát nhiểu Mô hình cảm quan Bộ lọc 32 band Biến đổi MDCT 18p/band Mã hóa kênh Đặt hệ số chia tỷ lệ Lượng tử hóa Tổng hợp dòng bít Hình 1.1: Sơ đồ mã hóa âm chuẩn MPEG[7] Khử nhiễu Mã hóa 1.2.2 Chuẩn nén âm AC3 Dolby Digital công nghệ mã hóa âm AC-3 sửng dụng rộng rãi trở thành thiếu máy giải trí gia đình, DVD HDTV Dolby Digital trở nên thiếu đĩa phim DVD-Video thấy thường xuyên đĩa DVD-Audio Hầu hết đầu thu AV Preamp có khả giải mã Dolby Digital Ưu điểm Dolby Digital 1.2.3 Chuẩn nén âm AAC [7] Để tiến đến công nghệ mã hóa âm vượt qua MP3, AC3, nỗ lực thực để tạo mã âm có chất lượng phân biệt tốc độ bít 64 kbps cho mono chuẩn âm MPEG-2 AAC Về mặt kỹ thuật, định dạng AAC tiêu chuẩn hóa vào năm 1997, xây dựng cấu trúc tương tự MP3 giữ lại hầu hết tính thiết kế Nhưng không giống lớp MPEG trước đây, AAC sử dụng cách tiếp cận kiểu mô-đun (xem hình 1.2) Hình 1.2: Sơ đồ mã hóa âm chuẩn MPEG2-AAC[7] Chương 2: KỸ THUẬT MÃ HÓA ÂM THANH 2.1 Tổng quan mã hóa âm Mã hóa tín hiệu audio truyền hình số thực dựa sở mô hình tâm lý thính giác, cảm nhận âm hệ thống thính giác người, hạn chế mặt cảm nhận tượng che lấp thành phần tín hiệu âm 2.1.1 Đặc tính sinh lý cảm nhận âm Hệ thống thính giác người (Human Auditory System-HAS) có đặc điểm phân tích phổ Nó chia dải phổ âm nghe thấy thành băng tần gọi “ băng tới hạn”(critical bands) dãy lọc thông dải Các băng có bề rộng dải thông 100 Hz với tần số 500 Hz tăng theo tần số tín hiệu với tần số lớn 500 KHz Bề rộng dải thông tăng tới vài KHz tần số tín hiệu lớn 10 KHz 2.1.2 Sự che lấp tín hiệu âm Hệ thống thính giác người có đặc điểm vô quan trọng, tính che lấp “ masking” Khi nghe âm mạnh yếu khác với tần số khác xảy lúc, âm mạnh che lấp khiến tai nghe âm yếu Có hai dạng che lấp, : che lấp thời gian che lấp tần số Tiến hành thực nghiệm hệ thống thình giác, người ta xây dựng đặc tuyến che lấp miền thời gian miền tần số Che lấp tần số Sự che lấp mặt tần số tượng âm nghe thấy tần số trở nên không cảm nhận ngưỡng nghe thấy bị dâng lên có mặt âm tần số khác có cường độ mạnh Để tai người nghe thấy, âm tần số đơn phải có mức áp suất âm lớn giá trị ngưỡng xác định Tập hợp tất giá trị ngưỡng tất âm đơn dải tần nghe tạo nên đường cong gọi “ngưỡng nghe thấy tuyệt đối” (absolute hearing threshold), đường đậm nét hình 2.1 Tất âm nằm đường cong khả người cảm nhận Hình 2.1 : Ngưỡng nghe thấy tuyệt đối ngưỡng che phủ tần số[9] Sự che phủ thời gian Sự che phủ thời gian tượng tai người cảm nhận âm sau âm bắt đầu khoảng 200 ms có cảm tưởng âm kéo dài khoảng 200ms sau âm dứt Ngoài ra, thính giác không phân biệt khoảng ngừng nhỏ 50 ms hai âm giống liền Hình 2.2: Mô tả che lấp thời gian[9] 10 2.2 Các kỹ thuật mã hóa âm Sơ đồ mã hóa hình 2.3, cảm nhận âm hệ thống thính giác người phụ thuộc vào độ phân giải tần số Tín hiệu vào chia thành băng (subband) 2.2.1 Kỹ thuật xử lý băng ( Subband ) [7] Do thuộc tính che tần số hệ thống thính giác miền tần số, việc dùng băng (subband) biến đổi lọc dãi (transform filter bank) hiệu phân tích cảm quan cảm nhận âm người Mã hóa giải mã âm khung hình 2.3 Là Bộ mã hóa có khung liệu âm chia thành nhiều subbands không chồng chéo cách sử dụng lọc để kéo dài toàn dải tần số âm (ví dụ, từ đến 22 kHz) Biến đổi Fourier rời rạc (hoặc biến đổi cosin rời rạc, DCT số tần số ) để tính toán toàn tần số khung âm thanh, so sánh lượng mức tín hiệu với ngưỡng mặt nạ subband dựa sở mã hóa cảm quan (psychoacoustics) Lượng tử hóa tính toán tỷ lệ tín hiệu so với mặt nạ (the signal-to-mask ratios ) để định số bít cho lượng tử hóa nhằm giảm thiểu nhiễu lượng tử hóa Bộ lọc 32 band FFT Đặt hệ số chia tỷ lệ lượng tử hóa Mô hình Cảm quan Tổng hợp dòng bít Mã hóa Hình 2.3: Sơ đồ mã hóa tín hiệu âm khung [7] 73 Trình tự lọc định hình nhiễu xác định cách loại bỏ tất hệ số phản ánh với giá trị tuyệt đối nhỏ ngưỡng p tính từ "đuôi" mảng hệ số phản ảnh Số lượng hệ số phản ánh lại thứ tự lọc định hình nhiễu Một ngưỡng thích hợp p = 0,1 Các hệ số phản ánh lại rq chuyển đổi thứ tự thành hệ số dự đoán tuyến tính a [] Các hệ số a [] tính theo LPC sử dụng để mã hóa hệ số lọc nhiễu định hình y[n] = x[n] - a[1]*y[n-1] - - a[order]*y[n-order] (3.61) Các thông tin phụ cho TNS Bảng 3.46: Thông tin TNS Data Element n_filt coef_res coef_compress Length Direction Order coef[] Algorithmic Variable or Value coef_res-3 Number of processed scalefactor bands (upwards) Order of noise shaping filter index[] Sử dụng tùy chọn trường coef_compress cho phép tiết kiệm bit cho hệ số phản ảnh truyền qua nửa hệ số phản ảnh Cụ thể, hai bit quan trọng hệ số phản ánh lượng tử '00 'Hoặc '11', coeff_compress thiết lập giá trị kích thước hệ số phản ánh lượng tử truyền 3.4.6 Lượng tử hóa Module lượng tử hóa kỹ thuật mã hóa AAC thực hai vòng lặp vòng lặp vòng lặp Thực lượng tử hóa vector đầu vào phổ liệu, lặp theo số yêu cầu Các vòng lặp bên lượng tử hóa vector đầu vào làm tăng kích thước bước lượng tử hóa vector đầu mã hóa với số lượng bit định sẵn Sau vòng lặp bên hoàn thành, vòng lặp bên 74 kiểm tra thay đổi hệ số chia tỷ lệ dãi, thay đổi vượt mức cho phép làm giảm dãi hệ số chia tỷ lệ gọi vòng lặp bên lần 3.4.6.1 Thiết lập lại tất biến lặp Tính toán giá trị start_common_scalefac cho lượng tử hóa để tất giá trị biến đổi MDCT lượng tử hóa mã hóa bitstream: start_common_scalefac = ceiling(16/3*(log2( (max_mdct_line ^ (3/4)) /MAX_QUANT))) max_mdct_line hệ số biến đổi MDCT có trị tuyệt đối lớn celling() hàm nguyên dương MAX_QUANT giá trị tối đa lượng tử hóa mã hóa bitstream Scalefactor [sb] thiết lập cho tất giá trị sb 3.4.6.2 Điều khiển bít chứa(Bit Reservoir Control) Bit lưu bit chứa mean_bits sử dụng để mã hóa khung mean_bits = bit_rate * 1024 / sampling_rate bit chứa tối đa gọi 'max_bit_reservoir tính: bit_reservoir _ state[frame]= bit _ reservoir _ state[frame −1]+ mean _ framelength − framelength[frame] ≤ bit_reservoir _ state[frame]≤ max_bit _ reservoir Số bit tối đa bit có sẵn cho khung tổng mean_bits bit lưu bit chứa Số lượng bit sử dụng để mã hóa khung phụ thuộc vào giá trị more_bits tính toán mô hình cảm quan bit có sẵn tối đa Cách đơn giản để kiểm soát bít chứa là: if more_bits > : available_bits = mean_bits + ( more_bits, bit_reservoir_state[frame]) if more_bits < : available_bits = mean_bits + max ( more_bits, bit_reservoir_state[frame] - max_bit_reservoir) 75 3.4.6.3 Lượng tử hóa hệ số MDCT (Quantization of MDCT Coefficients) Công thức lượng tử hóa hệ số biến đổi MDCT sau: x_quant = int (( abs( mdct_line ) * (2^(- ¼ * (sf_decoder - SF_OFFSET))) )^(3/4) + MAGIC_NUMBER) MAGIC_NUMBER = 0.4054 SF_OFFSET = 100 mdct_line: Giá trị đường phổ tính từ biến đổi MDCT giá trị xem hệ số MDCT sf_decoder xem sf[g][sfb] Khi sử dụng với vòng lặp sf_decoder tách thành biến: sf_decoder = common_scalefac - scalefactor + SF_OFFSET Như công thức điều khiển vòng lặp là: x_quant = int (( abs( mdct_line ) * (2^(- ¼ * ( scalefactor - common_scalefac))) )^(3/4) + MAGIC_NUMBER) Dãi hệ số chia tỷ lệ thang đo lượng tử hóa tăng dần theo chiều dương biên độ tín hiệu x_quant giảm dần có sai số cho phép để làm tăng số bít lượng tử 3.4.6.4 Vòng lặp Vòng lặp bên kiểm soát nhiễu lượng tử hóa cách kéo dài bước lượng tử hóa dòng miền tần số vòng lặp bên Các loại nhiễu dãi thang đo nhân với hệ số chia tỷ lệ thang đo thực tế trước lượng tử hóa Các mã sau minh họa cho vấn đề for each scalefactor band sb: from lower index to upper index i of scalefactor band mdct_scaled(i) = abs(mdct_line(i))^(3/4) * 2^(3/16 * scalefactor(sb)) end end 3.4.6.5 Thực gọi vòng lặp Đối với vòng, vòng lặp bên gọi vòng kiểm soát nhiễu (distortion control loop), vòng lặp bên gọi vòng điều khiển tốc độ 76 (rate control loop) Các thông số hệ số chia tỷ lệ thang đo miền tần số áp dụng cho giá trị hệ số chia tỷ lệ thực tế dãi (mdct_scaled (0 1023)), giá trị đầu common_scalefac với số lượng bit lượng tử hóa có sẵn vòng lặp Kết gọi vòng lặp thực hiện, số lượng bit thực tế sử dụng lượng tử hóa x_quant (i), xác lập giá trị common_scalefac Công thức tính lượng tử hóa hệ số MDCT gọi vòng lặp là: x_quant(i) = int (( mdct_scaled (i) * 2^(-3/16 * common_scalefac)) + MAGIC_NUMBER) 3.4.6.6 Giảm hệ số chia tỷ lệ thang đo Việc tính toán thay đổi (error_energy (sb)) dãi hệ số chia tỷ lệ thực sau: for each scalefactor band sb: error_energy(sb)=0 from lower index to upper index i of scalefactor band error_energy(sb) = error_energy(sb) + (abs( mdct_line(i)) - (x_quant(i) ^(4/3) * 2^(¼ * (scalefactor(sb) -common_scalefac))))^2 end end Tất giá trị phổ dãi hệ số chia tỷ lệ thang đo có giá trị thay đổi vượt thay đổi cho phép (xmin (sb)), hệ số chia tỷ lệ i tính theo: for each scalefactor band sb if ( error_energy(sb) > xmin(sb) ) then scalefactor(sb) = scalefactor(sb) - end if end 3.4.6.7 Vòng lặp Các vòng lặp bên tính toán lượng tử hóa thực tế liệu miền tần số (mdct_scaled) với hàm sau đây: 77 quantize_spectrum(x_quant[] , mdct_scaled[] , common_scalefac): for all MDCT coefficients i : x_quant(i) = int ((mdct_scaled (i) * 2^(-3/16 * common_scalefac)) + MAGIC_NUMBER) end Vòng lặp bên thực cách sử dụng xấp xỉ liên tiếp: inner_loop(): if (outer_loop_count == 0) common_scalefac = start_common_scalefac; quantizer_change = 32; else quantizer_change = 1; end if quantize_spectrum(); counted_bits = bit_count(); if (counted_bits > available_bits) then common_scalefac = common_scalefac + quantizer_change; else common_scalefac = common_scalefac - quantizer_change; end if quantizer_change = int (quantizer_change / 2) ; if (quantizer_change == 0) && (counted_bits > available_bits) quantizer_change = 1; end if while (quantizer_change != 0) Do lựa chọn start_common_scalefac, sau chạy lần thông qua vòng lặp số bit cần thiết thường lớn so với bit có sẵn, common_scalefac tăng lên quantizer_change 78 3.4.7 Mã hóa Huffman Mã hóa Huffman sử dụng để biểu diễn cho n-bộ liệu hệ số lượng tử với mã Huffman rút từ 11 codebooks Các hệ số phổ n-bộ liệu xếp theo thứ tự (thấp đến cao) kích thước n-bộ liệu hai bốn hệ số Giá trị tuyệt đối tối đa hệ số lượng tử đại diện từ mã Huffman số lượng hệ số n-bộ liệu từ mã thể bảng 3.47 Có hai từ mã đại diện cho giá trị tuyệt đối tối đa, từ mã đại diện cho hàm phân phối xác suất khác Để tiết kiệm từ mã, lưu trữ hầu hết từ mã đại diện cho giá trị không đánh dấu Đối với từ mã quan trọng hệ số mã hóa Huffman bit đánh dấu hệ số khác không nối thêm vào từ mã Hai từ mã yêu cầu đặc biệt lưu ý: codebook codebook 11 Như đề cập trước đây, codebook tất hệ số phần không Codebook 11 đại diện cho hệ số lượng tử có giá trị tuyệt đối lớn 16 Nếu độ lớn hai hệ số lớn 16, đặc biệt thoát khỏi chế mã hóa sử dụng để đại diện cho giá trị Tầm quan trọng hệ số giới hạn không Huffman lớn 16 tuple-tương ứng mã hóa Các bit dấu hiệu, cần thiết, nối thêm vào từ mã Đối với hệ số cường độ lớn 16, dãy thoát phụ thêm, sau: escape sequence = where is a sequence of N binary “1’s” is a binary “0” is an N+4 bit unsigned integer, msb first and N is a count that is just large enough so that the magnitude of the quantized coefficient is equal to 2^(N+4) + Bảng 3.47: Bảng mã Huffman Codebook index n-Tuple size Maximum absolute value Signed values 79 10 11 4 4 2 2 2 1 2 4 7 12 12 16 (ESC) yes yes no no yes yes no no no no no CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 4.1 Phương pháp đánh giá tỷ số SNR nghe thử Để đánh giá chất lượng mã hóa, có ba phương pháp là: Nghe thử (Đánh giá chủ quan) Đánh giá khách quan Nghe chủ quan 4.1.1 Đánh giá chủ quan sử dụng mô hình MOS( Mean Opinion Score) Dùng chức Recoring thu file âm có tần số lấy mẫu 44100, 48000 dạng *.WAV Chất lượng âm sau thu phân tích tỷ số SNR Sau tiến hành nén file âm với chuẩn mã hóa MPEG-3 MPEG-2 AAC chương trình thực nghiệm Mathlab C++ 80 Nhờ mười người nghe, kiểm tra đánh giá hộ Kết người tính trung bình lập hồ sơ đánh giá 4.1.1.1: Thực kiểm tra tỷ số SNR Các file âm sau ghi, dùng đoạn chương trình mathlab kiểm tra tỷ lệ SNR Sau phân loại theo tỷ số SNR từ thấp đến cao Mã hóa file âm với hai tốc độ bít khác 64kbps 128kbps với tần số lấy mẫu 44.1KHz 48KHz Kiểm tra thực nghiệm tỷ số SNR cho chuẩn mã hóa đoạn chương trình sau: Kiểm tra SNR *WVA x1=wavread('dg5_1.wav'); x2=x1(1:65536); h = daubcqf(6); [s,N] = makesig('HiSine',65536); n = randn(1,N); x1 = x2 + n/10; [yd,yn,opt2] = denoise(x2,h,1,[]); Vwav=snr(x2,yd); disp(['SNR cua WAV la ',num2str(Vwav),' dB']); Kiểm tra SNR chuẩn MP3 x1=mp3read('dg5_1.mp3'); x2=x1(1:65536); h = daubcqf(6); [s,N] = makesig('HiSine',65536); n = randn(1,N); x1 = x2 + n/10; [yd,yn,opt2] = denoise(x2,h,1,[]); Vmp3=snr(x2,yd); disp(['SNR cua MP3 la ',num2str(Vmp3),' dB']); 81 Kiểm tra chuẩn AAC x1=m4aread('dg5_1.aac'); x2=x1(1:65536); h = daubcqf(6); [s,N] = makesig('HiSine',65536); n = randn(1,N); x1 = x2 + n/10; [yd,yn,opt2] = denoise(x2,h,1,[]); Vwav=snr(x2,yd); disp(['SNR cua AAC la ',num2str(Vwav),' dB']); 4.1.1.2 Đánh giá kết SNR cho loại tốc độ bít Fs Đánh giá kết cho file thực file lần, tính trung bình cho file Kết sau: Bảng 3.48: Bảng đánh giá cho tốc độ bít 128Kbps với Fs 48KHz Quality MOS WAV Suy giảm so với file gốc MP3 AAC MP3/AAC Tốt/Tôt 23.72dB 23.45dB 23.69dB Tốt/Tôt 19.34dB 18.98dB 18.92dB Tốt/Tôt 14.60dB 14.49dB 14.31dB Tốt/Tôt 13.57dB 13.31dB 13.24dB Tốt/Tôt 12.60dB 12.28dB 12.32dB Bảng 3.49: Bảng đánh giá cho tốc độ bít 128Kbps với Fs 44,1KHz MOS Quality MP3/AAC Tốt/Tôt WAV 22.97dB So với file gốc MP3 22.67dB AAC 22.92dB 82 Tốt/Tôt 18.48dB 18.29dB 18.07dB Tốt/Tôt 14.31dB 14.07dB 14.00dB Tốt/Tôt 12.96dB 12.78dB 12.62dB Tốt/Tôt MOS 12.39dB 12.12dB 12.05dB Bảng 3.50: Bảng đánh giá cho tốc độ bít 64Kbps với Fs 48KHz Quality WAV Suy giảm so với file gốc MP3 AAC Tb/ 23.72dB 26.34dB 23.77dB Tb/ 19.34dB 23.92dB 19.54dB Tb/ 14.60dB 16.34dB 14.68dB Tb/ 13.57dB 15.64dB 13.47dB Tb/ 12.60dB 14.88dB 12.23dB Bảng 3.51: Bảng đánh giá cho tốc độ bít 64Kbps với Fs 44,1KHz MOS Quality Suy giảm so với file gốc MP3 25.53dB MP3/AAC Tb/Tb WAV 22,97dB Tb/Tb 18,48dB 22.03dB 18.43dB Tb/Tb 14,31dB 15.67dB 14.09dB Tb/Tb 12,96dB 15.24dB 12.71dB Tb/Tb 12,39dB 14.13dB 11.94dB AAC 22.93dB 4.1.1.3 Nghe kiểm tra Kết nghe thử thể bảng 3.49 đến 3.52 “tốt” nghĩa file nén file gốc phân biệt, gần giống file gốc, trung bình méo ồn so với gốc, trung bình méo, ồn đứt đoạn 4.1.1.4 Đánh giá tỷ lệ mã hóa MPEG không làm việc với tốc độ bit cố định mà người dùng tùy chọn tốc độ bit Tốc độ bit thấp dẫn đến tỷ lệ nén tốt chất lượng thấp Theo bảng 3.49, tốc độ bít file gốc là: 83 Bit_rate1=48000*16*2=1,536Mbps Tốc độ bít MP3 AAC là: Bit_rate2=128Kbps Tỷ lệ nén là: 1:12 Theo bảng 3.50 Bit_rate1= 44100*16*2=1,411Kbps Bit_rate2=128Kbps Tỷ lệ nén là:1:11 Bảng 3.51: Bít_rate2=64Kbps Tỷ lệ nén: 1:24 Bảng 3.52: Tỷ lệ nén: 1:22 4.1.1.5.Nhận xét Qua đánh giá thực nghiệm tỷ lệ SNR, nhận thấy tỷ số SNR thay đổi lớn tốc độ bít thấp Tỷ số SNR với chuẩn mã hóa MP3 tăng lên so với file gốc, điều chứng tỏ với tốc độ bít thấp nén MP3 không AAC Qua kết nghe thử cho thấy: Tốc độ bít cao tỷ lệ nén thấp file nén gần file gốc chuẩn MP3 AAC Tỷ lệ SNR không thay đổi nhiều trình mã hóa kể chuẩn 84 KẾT LUẬN VÀ KIẾN NGHỊ Luận văn trình bày hai kỹ thuật mã hóa tín hiệu Audio, nguyên lý nén số khái niệm quan trọng lĩnh vực mã hóa âm Luận văn tập trung trình bầy nguyên lý mã hóa âm theo mô hình cảm quan, nén có tổn hao điển hình dựa vào hiệu ứng tâm lý nghe tai, sử dụng hai kỹ thuật mã hóa MPEG layer MPEG-2 AAC Cả hai chuẩn mã hóa MP3 MPEG-2 AAC nén tín hiệu audio với chất lượng gần chất lượng CD Trong hai chuẩn trên, MP3 phức tạp AAC, AAC cung cấp chất lượng tốt MP3 với tần số lấy mẫu tỷ lệ nén Mục đích luận văn nghiên cứu kỷ thuật mã hóa âm hai chuẩn MPEG-3 MPEG-2 AAC, làm kiến thức cho nghiên cứu tiếp kỹ thuật mã hóa âm chuẩn khác MPEG-4, đáp ứng nhu cầu cần thiết công việc lựa chọn công nghệ 85 86 TÀI LIỆU THAM KHẢO [1] B Grill, B Edler, R Funken, M Hahn, K Iijima, N Iwakami, Y Lee, T Moryia, J Ostermann, S Nakajima, M Nishiguchi, T Nomura, W Oomen, H Purnhagen, E Scheirer, N Tanaka, A Tan, and R Taori, Coding of moving pictures and associated audio for digital storage media at up to about 1.5 mbps part audio, tech report, ISO/IEC JTC1/SC29/WG11, Geneva, Switzerland, November 22, 1991 ISO/IEC 11172-3 International Standard [2] Chi-Min Liu, Wen-Chieh Lee “A unified fast algorithm for cosine Modulate filter banks in current audio coding standards” [3] David J M Robinson “Perceptual model for assessment of coded audio” [4] Davide Rocchesso “Sound Processing” [5] Davis Yen Pan “Digital Audio Compression” [6] Gerald Schuller “Time-Varying Filter Banks with Low Delay for Audio Coding [7] JENQ-NENG HWANG “Multimedia Networking From Theory to PracticeJ” [8] Jusub Kim “Filter Bank Design and Subband Coding” [9] Joebert S Jacaba “Audio compression using modified discrete cosine transform: the mp3 coding standard [10] Michiel van der Veen, Fons Bruekers, Jaap Haitsma, Ton Kalker, Aweke Negash Lemma, and Werner Oomen “robust, multi-functional and high-quality audio watermarking technology” [11] Michiel van der Veen, Fons Bruekers, Jaap Haitsma, Ton Kalker, Aweke Negash Lemma, and Werner Oomen “robust, multi-functional and high-quality audio watermarking technology” [12] Xuancheng Shao and Steven G Johnson “Type-IV DCT, DST, andMDCT algorithms with reduced numbers of arithmetic operations” 87 [13] Thomas Rohdenburg, Volker Hohmann and Birger Kollmeier “Objective perceptual quality measures for the evaluation of noise Reduction schemes [14] Yen-Fu Ou, Zhan Ma, Tao Liu, Yao Wang “Perceptual Quality Assessment of Video Considering both Frame Rate and Quantization Artifacts” [15]Vinay K lngle,John G Proakis “Digital Signal Processing using MatLab v4” [16] Wai C Chu “speech coding algorithms” [17]ISO/IEC 13818-7 INTERNATIONAL STANDARD” Information technology — Generic Coding of moving pictures and Associated audio information-Part 7: Advanced Audio Coding (AAC)”