Bài thuyết trình Đồ án Nén âm thanh file *.wav theo chuẩn MPEG
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 truyềi ớ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á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á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.
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
Để 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
cá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).
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.
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.
Xáị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();
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 và các thầy cô trong khoa CNTT-ĐHBKHN và ĐHTS
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:
- bai_thuyet_trinh_do_an_nen_am_thanh_file_wav_theo_chuan_mpeg.ppt