Bài thuyết trình Đồ án Nén âm thanh file *.wav theo chuẩn MPEG

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI  
TRƯỜNG ĐẠI HỌC THUỶ SẢN  
KHOA CÔNG NGHỆ THÔNG TIN  
ĐỒ ÁN TỐT NGHIỆP  
Đề tài:  
NÉN ÂM THANH FILE *.WAV THEO CHUẨN MPEG  
Giáo viên hướng dẫn : TS Dư Thanh Bình  
Sinh viên thực hiện : Đỗ Văn Tuấn  
 
PHẦN I LÝ THUYẾT  
CƯNG1 CÁC KIẾN THỨC Ơ BẢN VỀ ÂM THANH  
CƯNG 2 WAVE FILE  
CƯNG 3 LÝ THUYẾT XỬ LÝ TÍN HIỆU SỐ  
CƯNG 4 GIỚI THIỆU VỀ MPEG  
CƯNG 5 CÁC GIẢI THUẬT NÉN ÂM THANH  
PHẦN II THIẾT KẾ CƯNG TRÌNH  
CƯNG 6 Ơ ĐỒ KHỐI CỦA GIẢI THUẬT  
CƯNG 7 GIAO DIỆN VÀ THUYẾT MINH CƯNG TRÌNH  
 
Sóng âm.  
Sóng âm là một loại sóng ơ có biêộ daộng nhỏ mà  
thính giác nhận biếđợc. Thí dụ dao ộng phát ra từ dây àn,  
mặt trống.ang rung ộng.  
Trong không khí cũng nư trong mọi chất khí khác, những  
dao ộng truyi ới dạng sóng dọc, khến tai nời  
những dao ộng có tần số từ 16 ến 20000 Hz sẽ gây cảm giác  
ặc biệt về âm.  
Các dao ộng àn hồi có tần số f>20.000 Hz là sóng siêu  
âm.  
Các dao ộnàn hồi có tần số f<16 Hz là sóng hạ âm.  
Mỗi âm có một tần số riêngđn vị của tần số là héc (Hz)  
vớịnh nghĩa:”Héc là tần số của một qúa trình dao ộng âm  
trong ó mỗi giây thực hiện đợc một dao ộng”.  
1 Héc (Hz) = 1 dao ộng / 1 giây.  
 
Cấu trúc của Wave File nư sau  
typedef struct {  
WORD wFormatTag;  
WORD nChannels;  
DWORD nSamplesPerSec;  
DWORD nAvgBytesPerSec;  
WORD nBlockAlign;  
} WAVEFORMAT;  
 
Biến ổi Fourier của tín hiệu rời rạc:  
Biến Fouriecủdãy rờrạ.  
Đối với tín hiệu tuần hoàn.  
Phép biến đổi Fourier thuận.  
Phép biến đổi Fourier nghịch.  
Phép biến ổi nhanh Fourier(FFT).  
N1  
X (k) = x(n).e j(2kn)/ N  
k=0  
 
Các khái niệm trong âm thanh MPE.  
Hiệu ứng ch(masking): nóđn giản là âm lớn át âm bé, âm  
mạnh át âm yếu.  
Nỡng nghe và mức nhạy cả. Nỡng nghe” là mức mà  
ới nó 1 âm thanh không thể nghđợc. Hầu hết mọi nời  
ều nhạy cảm ở mức 2 ến 5 kHz. Một nời có nghđợc âm  
thanh hay không tùy thuộc vào tần số của âm vộ to của âm  
ó ở trên hay ới nỡng nghe tại tần số ó. Tai nhạy cảm ở  
mức 2 ến 5 kHz .  
Che tần số (Frequency Masking)  
Che nhất thờ. (che thời gian)  
 
ợc ồ mã hóa Perceptual Subban.  
 
Các thông s:  
Chuẩn MPEG cho phép ta chọn lựa các thông số cho việc nén  
âm thanh tốt nhất phù hợp với ứng dụng mà ta sử dụngợc  
ồ mã hóa cho các loại là tổng quát. Các thông số có thể chọn  
lựa trong bộ mã hóa MPEG bao gồm: Mode, Sampling  
frequency, bitrate, và Layer.  
 
Các giải thuật nén không có tổn thất  
1Mã hóa Huffma.  
Khởi tạođa tất cả các node vào danh sách OPEN theo thứ  
tự tại mọi thờiểm.  
Lặp lại cho ến khi danh sách OPEN chỉ còn một node bên  
trái nư sau:  
Từ danh sách OPEN, chọn hai node có xác suất thấp nhất,  
tạo node cha cho chúng. Gán tổng các xác suất cho node cha  
vđa node cha vào danh sách OPEN. Gán các mã 0,1 vào  
các nhánh của cây, xóa các node con khỏi danh sách OPEN.  
 
2Mã Huffman sửa .  
Bộ mã hóa  
Bộ giải mã  
Initialize_model(); Initialize_model();  
while ((c = getc  
(input)) != eof)  
while ((c = decode  
(input)) != eof)  
{
{
encode(c, output); putc(c, output);  
update_model(c); update_model(c);  
}
}
 
3Mã hóa số họ.  
Ý ởng: giả sử mẫu tự là [X,Y] và P(X) = 2/3  
P(Y) = 1/3.  
Nếu ta chỉ quan tâm với chiều dài mã hóa là 2 thông iệp, thì  
ta có thể ánh xạ tất cả thông iệp có thể có vào những oạn  
trong phạm vi [0..1]  
X
Y
XX  
XY  
YX  
YY  
Để mã hóa thông iệp, chỉ dùng vừa ủ số bit cần thiết cho  
mỗoạn.  
ưng tự, ta có thể ánh xạ tất cả chiều dài 3 thông iệp vào  
oạn trong [0..1].  
Nói chung, số biđợc xáịnh bằng kích tớc của oạn.  
 
4. Giải thuật Lempel-Ziv-Welch(LZW).  
Giả sử chúng ta muốn mã hóa cho một cuốn từ iển Tiếng  
Anh 159,000 từ. Nư vậy mỗi từ cần 18 biể mã hóa.  
Nợc:Dùng qúa nhiều bit. Chỉ làm việc cho ký tự tiếng  
Anh.  
Giải pháp:Cần phải tìm một cách mã hóa cuốn từ iển cho  
thích hợp.  
w = NIL;  
Giải thuật:  
while (read a character k)  
{
if wk exists in the dictionary  
w = wk;  
else  
add wk to the dictionary;  
output the code for w;  
w = k;  
}
 
Các giải thuật nén có tổn thất.  
1Các pưng pháp nén âm thanh đn giản:  
Nén “silence”: dò các khoảng “yên lặng”, giống nư mã hoá ru-  
length.  
LPC (Linear Predictive Coding).  
CELP (Code Excited Linear Predictor).  
2Nén âm thanh dùng mô hình ââm tâm l.  
aHệ thống nghe và phát âm của con n.  
Phạm vi nghđợc từ 20 Hến 20 kHz, nhạy cảm ở 5kHz.  
Phạm vi phát âm bình tờng từ 500 Hz ến 2 kHz.  
bChe tần số (Frequency masking)  
“Nỡng che” (Threshold masking):sinh ra từ hiệu ứng che, mỗi âm  
với một tần số và mức to (dB) xác ịnh sẽ có một “nỡng che”  
cng giới hạn  
ng giới hạn có ộ rộng là 100Hối với các tần số che < 500Hz,  
và càng ng lên ối với các tần số >500Hz.  
d
Che nhất thời (Temporal masking)
che theo thời gian.  
 
3Giải thuật Nén âm thanh MPEG.  
Dùng bộ lọc thônể chia tín hiệu âm thanh thành các su-  
band theo tần số, ưng ứng với 32 ng giới hạn lọc su-  
band.  
ịnh số ợng che của mỗi band gây bởi các band lân  
cận bằng các kết qủa ớc mô hình âm tâm lý.  
Nếu mức to của một ng mà nhỏ n nỡng che thì không  
mã hóa nó.  
Nợc lại, xáịnh số bit cần thiếể mã hóa sao cho nhiễu  
sinh ra bởi việc ợng tử hóa này thấp n đờng cong che.  
Định dạng dòng dữ liệu bit :  
 
Cấu hình mặc định  
Set_default()  
SƠ ĐỒ KHỐI.  
Thay đổi hay giữ nguyên cấu hình  
Đặt input và output file;  
Mở input file và kiểm tra;  
Wave_open();  
Start compress ()  
Open_bit_stream_w();  
Memset();  
Chuẩn bị vùng đệm  
L3_psycho_initialise();  
L3_subband_initialise();  
L3_mdct_initialise();  
L3_loop_initialise();  
Khởi tạo mô hình âm-tâm lý  
Tính các hệ số của bộ lọc tần số  
Khởi tạo dữ liệu tính MDCT  
Khởi tạo mảng pow43[i].0<i<1024  
Chuẩn bị Frame dữ liệu  
S
wave_get(buffer)<>0  
Đ
Làm sạch buffer  
L3_FlushBitstream()  
Dùng mô hình âm-tâm lý để phân tích dữ liệu  
L3_psycho_analise();  
Đóng thiết bị ghi  
Dùng bộ lọc nhiều pha để xử lý dữ liệu  
L3_window_subband();  
Close_bit_stream_w();  
L3_filter_subband();  
Đóng file nguồn  
Wave_close();  
Tính MDCT cho các đường ra nhiều pha  
L3_mdct_sub();  
Xác định số bit để mã hoá một mẫu dữ liệu  
Kết thúc  
L3_interation_loop();  
Ghi frame vào dòng bit  
L3_format_bitstream();  
 
Giao diện chương trình  
 
KẾT QUẢ ĐẠT ĐƯỢC  
Đồ án tốt nghiệp đã hoàn thành các nhiệm vụ đề ra trong phạm vi  
cho phép. Do điều kiện về thời gian cũng như trình độ còn hạn chế nên đồ  
án này dừng lại ở mức nghiên cứu một số phương pháp nén âm thanh.  
Trên cơ sở đó xây dựng phần mềm thử nghiệm nén âm thanh theo chuẩn  
MPEG_I layer3. Mặt khác, do mới chỉ đánh giá âm thanh theo phương  
pháp chủ quan nên chất lượng âm thanh sau khi nén chưa được như mong  
muốn.  
Thế nhưng những gì đạt được trong đồ án này chủ yếu là nhằm  
giúp em có thể nắm bắt được vững hơn về mặt lý thuyết.  
Các kết quả này rất quan trọng và hữu ích cho mọi hoạt động nghiên cứu  
sau này.  
Hướng phát triển  
Từ những kết quả đạt được là cơ sở để em nghiên cứu tiếp và áp  
dụng không chỉ nén âm thanh mà còn ứng dụng để nén nhiều dạng dữ liệu  
khác.  
Cuối cùng em xin bày tỏ lòng biết ơn sâu sắc đến Thầy giáo: TS  
Dư Thanh Bình các thầy cô trong khoa CNTT-ĐHBKHN ĐHTS  
đ
ã h
ướng dẫn và giúp đỡ tận tình để em hoàn thành đề tài này.  
 
ppt 17 trang yennguyen 13/04/2022 2880
Bạn đang xem tài liệu "Bài thuyết trình Đồ án Nén âm thanh file *.wav theo chuẩn MPEG", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pptbai_thuyet_trinh_do_an_nen_am_thanh_file_wav_theo_chuan_mpeg.ppt