Đề tài Nén âm thanh file wav theo chuẩn mpeg

Sự tồn tại của chuẩn JPEG (Joint Photographic Experts Group) chỉ để giảm tốc độ bit và chủ yếu phục vụ cho hình ảnh, rõ ràng là không đủ đáp ứng cho hình ảnh động có kèm âm thanh. Để đáp ứng nhu cầu của thị trường, một nhóm các chuy ên gia về hình ảnh động (Moving Picture Experts Group), gọi tắt là MPEG, được thành lập để nghiên cứu đưa ra những lược đồ mã hóa phù hợp cho việc truy ền hình ảnh động và ghi lại chúng theo tiêu chuẩn trong các thiết bị lưu trữ số như CD-ROM, Video CD. Phần trình bày của luận văn chỉ nằm trong khuôn khổ "Aâm thanh". Do đó mọi vấn đề liên quan tới h ình ảnh sẽ không được đề cập tới, dù chuẩn MPEG là dùng cho cả âm thanh và hình ảnh. Mục tiêu của đề tài chủ y ếu chỉ để tìm hiểu về các phương pháp mã hố và nén âm thanh theo chuẩn Mpeg, từ đó dựa trên một số source code (viết bằng C) đã có trên mạng Internet viết lại b ằng ngôn ngữ Visual C++, nhằm hiểu sâu hơn về giải thuật, đồng thời tạo ra một giao diện thân thiện hơn

pdf79 trang | Chia sẻ: nhungnt | Lượt xem: 2186 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Đề tài Nén âm thanh file wav theo chuẩn mpeg, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG……………………… KHOA…………………… ĐỒ ÁN TỐT NGHIỆP: Đề tài: " Nén âm thanh file WAV theo chuẩn MPEG " Khoa CNTT – ĐHBKHN GVHD thầy: Dư Thanh Bình SVTH: Đỗ Văn Tuấn Trang 1 Mục lục................................................................................................................. 1 Lời nói đầu ........................................................................................................... 3 PHẦN I . LÝ THUYẾT ...................................................................................... 4 CHƯƠNG 1. CÁC KIẾN THỨC CƠ BẢN VỀ ÂM THANH............................ 5 I. NHỮNG KHÁI NIỆM CƠ BẢN - SÓNG CƠ ................................................. 6 1.1. Sự hình thành sóng trong môi trường đàn hồi ................................. 6 1.2. Các đặc trưng của sóng. .................................................................... 7 1.3. Phương trình sóng. ............................................................................ 8 II. SÓNG ÂM VÀ ĐẶC TÍNH ÂM THANH. ..................................................... 8 2.1 Dao động âm và sự truyền dao động. ................................................ 8 2.2 Đơn vị vật lý của âm thanh. ............................................................... 9 2.3. Đặc tính sinh lý về sự cảm thụ âm. ................................................... 12 CHƯƠNG 2. WAVE FILE. ................................................................................. 16 I. MULTIMEDIA WINDOWS. ......................................................................... 16 II. CẤU TRÚC WAVE FILE. ............................................................................. 17 2.1 RIFF file. ............................................................................................. 17 2.2 Cấu trúc File Wave............................................................................. 17 III. ĐỌC RIFF FILES ......................................................................................... 21 CHƯƠNG 3. LÝ THUYẾT XỬ LÝ TÍN HIỆU SỐ ........................................... 25 I. TÍN HIỆU VÀ HỆ THỐNG RỜI RẠC ........................................................... 25 1. Giới thiệu ................................................................................................ 25 2. Đáp ứng xung trong hệ TTBB ............................................................... 25 3. Tính chất của tổng chập của hệ TTBB .................................................. 26 4. Hệ nhân quả ........................................................................................... 27 5. Tính ổn định ........................................................................................... 27 6. Phương trình sai phân tuyến tính hệ số hằng ....................................... 28 7. Biểu diễn các hệ rời rạc trong miền tần số ............................................ 28 8. Định lý lấy mẫu Shannon ....................................................................... 30 II. PHÉP BIẾN ĐỔI FOURIER RỜI RẠC ....................................................... 30 1. Chuỗi Fourier rời rạc của tín hiệu rời rạc tuần hồn ............................ 30 2. Biến đổi Fourier rời rạc của tín hiệu có độ dài hữu hạn ................................. 31 3. Phép biến đổi nhanh Fourier (FFT) ................................................................ 32 CHƯƠNG 4. GIỚI THIỆU VỀ MPEG. ............................................................. 33 I. GIỚI THIỆU. .................................................................................................. 33 1. MPEG là gì? ........................................................................................... 33 2. So sánh các chuẩn MPEG ..................................................................... 33 3. Aâm thanh MPEG ................................................................................. 34 4. Các khái niệm cơ bản ............................................................................ 35 5. Hoạt động ............................................................................................... 38 II. CÁC KHÁI NIỆM TRONG ÂM THANH MPEG ....................................... 40 1. Lược đồ mã hóa Perceptual Sub-band.................................................. 40 2. Giải thích hiệu qủa che (masking efficiency) ........................................ 41 3. Các lớp của âm thanh MPEG ................................................................. 43 III. CÁC THÔNG SỐ. ......................................................................................... 45 CHƯƠNG 5. CÁC GIẢI THUẬT NÉN ÂM THANH ....................................... 50 I. LÝ THUYẾT THÔNG TIN ............................................................................ 50 II. CÁC GIẢI THUẬT NÉN KHÔNG CÓ TỔN THẤT .................................... 51 1. Mã hóa Huffman .................................................................................... 51 2. Mã hóa Huffman sửa đổi ....................................................................... 53 Khoa CNTT – ĐHBKHN GVHD thầy: Dư Thanh Bình SVTH: Đỗ Văn Tuấn Trang 2 3. Mã hóa số học ......................................................................................... 54 4. Giải thuật Lempel-Ziv-Welch (LZW) ................................................... 55 III. CÁC GIẢI THUẬT NÉN CÓ TỔN THẤT ................................................. 57 1. Các phương pháp nén âm thanh đơn giản ............................................ 57 2. Nén âm thanh dùng mô hình âm tâm lý ................................................ 57 3. Nén âm thanh theo chuẩn MPEG .......................................................... 58 PHẦN II. THIẾT KẾ CHƯƠNG TRÌNH .......................................................... 60 CHƯƠNG 6. LƯU ĐỒ GIẢI THUẬT VÀ CẤU TRÚC DỮ LIỆU ................... 61 I. SƠ ĐỒ KHỐI. .................................................................................................. 61 II. CẤU TRÚC DỮ LIỆU VÀ ĐỊNH NGHĨA .................................................... 62 A. CẤU TRÚC DỮ LIỆU ................................................................................... 62 1. Các cấu trúc về file ................................................................................ 62 2.Các cấu trúc về dòng bít dữ liệu............................................................. 63 3.Các cấu trúc để định dạng dòng bít dữ liệu ........................................... 63 4.Các cấu trúc huffmancodetab. ............................................................... 67 5.Các cấu trúc tính MDCT ........................................................................ 67 6.Các cấu trúc scalefac_struct ................................................................... 67 B. CÁC ĐỊNH NGHĨA ........................................................................................ 68 1.Các định nghĩa dùng trong truy xuất dữ liệu ........................................ 68 2.Các định nghĩa dùng trong tính tốn FFT............................................... 68 3.Các định nghĩa dùng trong định dạng dòng dữ liệu .............................. 68 4.Các định nghĩa dùng trong bộ mã hố Huffman ..................................... 68 5.Các định nghĩa dùng trong phân tích dữ liệu ........................................ 69 6.Các định nghĩa dùng trong mô hình âm tâm lý ..................................... 69 7.Các định nghĩa dùng trong truy xuất nhập dữ liệu ............................... 69 8.Các định nghĩa dùng trong cấu trúc file Wave và file Mpeg ................ 69 III. LƯU ĐỒ ........................................................................................................ 71 CHƯƠNG 7: GIAO DIỆN VÀ THUYẾT MINH CHƯƠNG TRÌNH ............... 75 I. GIỚI THIỆU ................................................................................................... 75 II. GIAO DIỆN ..................................................................................................... 75 III.CHƯƠNG TRÌNH ......................................................................................... 77 TÀI LIỆU THAM KHẢO ................................................................................... 87 Lời nói đầu Công nghệ thông tin là ngành công nghiệp mũi nhọn của thế giới nói chung và của việt nam nói riêng, nó đã phát triển mạnh mẽ không ngừng trong những năm gần đây. Khi đời sống được nâng lên khoa học kỹ thuật phát triển nhu cầu về giải trí cũng đa dạng lên, các loại hình giải trí không ngừng gia tăng và ngày càng phong phú, đa dạng các loại hình giải trí như: trò chơi điện tử, nghe nhạc xem phim, xem ca nhạc(video), và đặc biệt là những trong chơi dạng không gian ba chiều. Sự phát triển ồ ạt này đã dẫn tới ngành công nghệ phần cứng đã không thể đáp ứng được những đòi hỏi về lưu trữ, đồng hành với sự phát triển này là mạng máy tính đó chính là Internet ngày càng phát triển số lượng người tham gia truy cập ngày càng lớn và nhu cầu của họ thì ngày càng phong phú và đa dạng về tất cả các loại hình nói trên. Do đó tốc độ truy cập, tốc độ truyền tải trên Khoa CNTT – ĐHBKHN GVHD thầy: Dư Thanh Bình SVTH: Đỗ Văn Tuấn Trang 3 mạng được quan tâm hơn để cho người dùng không phải sốt ruột ngồi chờ những trang web mà mình truy cập, họ không phải bực mình khi download những file âm thanh và những bài hát mà họ ưa thích vì đường truyền quá chậm trong khi công nghệ phần cứng đã phát triển mạnh. Chính vì vậy các nhà nghiên cứu phần mềm đã chú ý đến việc phát triển phần mềm để hỗ trợ phần cứng. Họ đã tạo ra những chương trình phần mềm hỗ trợ tích cực phần cứng, từ đó đã ra đời những phần mềm nén âm thanh, hình ảnh, nén video, tách âm thanh từ những file video…để tạo ra những dạng âm thanh, hình ảnh, video như mindi, mpeg, mp3, mp4… những file ảnh dạng gif, jpeg…với dung lượng lưu trữ vô cùng nhỏ mặc dù chất lượng có giảm đi đôi chút nhưng không đáng kể so với những gì nó đạt được để truyền tải, truy cập nhanh hơn. Sự tồn tại của chuẩn JPEG (Joint Photographic Experts Group) chỉ để giảm tốc độ bit và chủ yếu phục vụ cho hình ảnh, rõ ràng là không đủ đáp ứng cho hình ảnh động có kèm âm thanh. Để đáp ứng nhu cầu của thị trường, một nhóm các chuyên gia về hình ảnh động (Moving Picture Experts Group), gọi tắt là MPEG, được thành lập để nghiên cứu đưa ra những lược đồ mã hóa phù hợp cho việc truyền hình ảnh động và ghi lại chúng theo tiêu chuẩn trong các thiết bị lưu trữ số như CD-ROM, Video CD.. Phần trình bày của luận văn chỉ nằm trong khuôn khổ "Aâm thanh". Do đó mọi vấn đề liên quan tới hình ảnh sẽ không được đề cập tới, dù chuẩn MPEG là dùng cho cả âm thanh và hình ảnh. Mục tiêu của đề tài chủ yếu chỉ để tìm hiểu về các phương pháp mã hố và nén âm thanh theo chuẩn Mpeg, từ đó dựa trên một số source code (viết bằng C) đã có trên mạng Internet viết lại bằng ngôn ngữ Visual C++, nhằm hiểu sâu hơn về giải thuật, đồng thời tạo ra một giao diện thân thiện hơn. Do trình độ và kiến thức có hạn nên không tránh khỏi những thiếu sót, em kính mong thầy tham gia và giúp đỡ em để em hồn thành được tốt hơn. Em xin chân thành cám ơn thầy đã tạo điều kiện thuân lợi nhất giúp em hồn thành báo cáo này. Khoa CNTT – ĐHBKHN GVHD thầy: Dư Thanh Bình SVTH: Đỗ Văn Tuấn Trang 4 PHẦN I LÝ THUYẾT CƠ BẢN Khoa CNTT – ĐHBKHN GVHD thầy: Dư Thanh Bình SVTH: Đỗ Văn Tuấn Trang 5 Khoa CNTT – ĐHBKHN GVHD thầy: Dư Thanh Bình SVTH: Đỗ Văn Tuấn Trang 6 CHUƠNG 1. CÁC KIẾN THỨC CƠ BẢN VỀ ÂM THANH. I. NHỮNG KHÁI NIỆM CƠ BẢN - SÓNG CƠ 1.1. Sự hình thành sóng trong môi trường đàn hồi. a. Định nghĩa: Các môi trường chất khí, chất lỏng, chất rắn là môi trường đàn hồi. Môi trường đàn hồi có thể coi là những môi trường liên tục gồm những phân tử liên kết chặt chẽ với nhau, lúc bình thường mỗi phân tử có một vị trí cân bằng bền. b. Sự hình thành sóng trong môi trường đàn hồi:  Do tính chất của môi trường đàn hồi, cho nên nếu tác dụng lên phân tử nào đó của môi trường thì phân tử này rời khỏi vị trí cân bằng bền.  Do tương tác, các phân tử lân cận một mặt kéo phân tử A về vị trí cân bằng, mặt khác nhận một phần năng lượng do phân tử A truyền sang, do đó cũng dao động theo, hiện tượng này xảy ra liên tiếp tạo thành sóng. Sóng đàn hồi (sóng cơ) là sự lan truyền dao động trong môi trường đàn hồi. Sóng cơ không thể truyền được trong chân không, vì chân không không phải là môi trường đàn hồi.  Cần lưu ý trong khi truyền dao động, các phân tử của môi trường không di chuyển theo các dao động được lan truyền mà chỉ dao động quanh vị trí cân bằng của nó. c. Một số khái niệm về sóng:  Nguồn sóng: là ngoại vật gây ra kích động sóng.  Tia sóng: là phương truyền sóng.  Môi trường sóng: là không gian mà sóng truyền qua.  Mặt sóng: là mặt chứa những điểm (phân tử) có cùng trạng thái dao động tại một thời điểm nào đó. Tia sóng luôn vuông góc với mặt sóng.  Sóng cầu: mặt sóng là những mặt cầu phân bố đều trong không gian, tâm là nguồn sóng. Trong môi trường đồng chất và đẳng hướng sẽ có sóng cầu. Đối với sóng cầu tia sóng trùng với bán kính của mặt cầu.  Sóng phẳng: mặt sóng là những mặt phẳng song song nhau, tia sóng vuông góc với mặt sóng. Nếu nguồn sóng ở rất xa môi trường đang xét thì mặt sóng có thể coi là những mặt phẳng song song. Khoa CNTT – ĐHBKHN GVHD thầy: Dư Thanh Bình SVTH: Đỗ Văn Tuấn Trang 7  Sóng dọc: là sóng trong đó các phân tử của môi trường dao động quanh vị trí cân bằng trên phương trùng với tia sóng. Khi có sóng dọc, trên phương của tia sóng các phân tử của môi trường khi thì bị nén chặt, khi thì giãn ra làm cho các phân tử của môi trường có chỗ dày chỗ thưa.  Sóng ngang: là sóng trong đó các phân tử của môi trường dao động quanh vị trí cân bằng trên phương vuông góc với tia sóng. d. Nguyên nhân gây ra sóng ngang và sóng dọc:  Tùy tính chất của môi trường đàn hồi mà trong đó có thể xuất hiện sóng ngang hay sóng dọc. - Khi một lớp của môi trường bị lệch đối với lớp khác làm xuất hiện các lực đàn hồi có xu hướng kéo lớp bị lệch về vị trí cân bằng thì trong môi trường đó có thể truyền được sóng ngang. Vậy vật rắn là một môi trường có tính chất đó. - Nếu trong môi trường không có các lực đàn hồi khi các lớp song song bị lệch đối với nhau thì sóng ngang không thể hình thành được. Chất lỏng và chất khí là những môi trường đó. - Khi bị biến dạng nén hay căng mà trong môi trường có các lực đàn hồi xuất hiện thì trong môi trường đó có thể truyền được sóng dọc. Chẳng hạn khi bị nén, chất lỏng hay chất khí sẽ tăng áp suất, lực nén giữ vai trò lực đàn hồi.  Như vậy trong chất lỏng và chất khí chỉ có sóng dọc truyền được, còn trong chất rắn có thể truyền được cả hai loại sóng. 1.2. Các đặc trưng của sóng. a. Vận tốc truyền sóng (C) : Là quãng đường mà sóng truyền được trong một đơn vị thời gian. b. Bước sóng : Là quãng đường mà sóng truyền được sau một thời gian bằng 1 chu kỳ T. Như vậy  là khoảng cách bé nhất giữa các phân tử dao động cùng pha. Theo định nghĩa ta có :  = CT. c. Chu kỳ và tần số:  Chu kỳ T là thời gian cần thiết để sóng truyền được 1 bước sóng .  Tần số f là số chu kỳ thực hiện được trong 1 giây : Khoa CNTT – ĐHBKHN GVHD thầy: Dư Thanh Bình SVTH: Đỗ Văn Tuấn Trang 8 F = 1/T (Hz) 1.3. Phương trình sóng.  Sóng phẳng truyền dọc theo phương OY với vận tốc C thì phương trình sóng biểu thị mối quan hệ giữa độ chuyển dời X của phân tử dao động kể từ vị trí cân bằng với thời gian t và khoảng cách y đến các vị trí cân bằng các phân tử dao động trên phương truyền sóng như sau : X = asin(t – y/c)  Nếu sóng phẳng truyền theo hướng ngược với hướng tính khoảng cách y thì : X = asin(t + y/c)  Đối với sóng cầu thì biên độ a của dao động sóng tại vị trí cách nguồn bằng bán kính r, tỉ lệ nghịch với r, phương trình sóng có dạng: X = a/r sin(t – r/c) II. SÓNG ÂM. 2.1. Dao động âm và sự truyền dao động.  Sóng âm là một loại sóng cơ có biên độ dao động nhỏ mà thính giác nhận biết được. Thí dụ dao động phát ra từ dây đàn, mặt trống.. đang rung động. Sóng âm là một loại sóng cơ nên mọi khái niệm và hiện tượng về dao động và sóng cơ trên đây đều áp dụng cho sóng âm.  Trong không khí cũng như trong mọi chất khí khác, những dao động truyền đi dưới dạng sóng dọc, khi đến tai ngườ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 động đà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ới đị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  Việc phân chia sóng hạ âm, sóng siêu âm và sóng âm (âm thanh) liên quan tới khả năng sinh lý của thính giác Khoa CNTT – ĐHBKHN GVHD thầy: Dư Thanh Bình SVTH: Đỗ Văn Tuấn Trang 9 2.2. Đơn vị vật lý của âm thanh.  Âm thanh hay tiếng động mà con người nhận biết được do tác động của sóng âm lên màng nhĩ tai.  Các dao động âm phát ra từ nguồn lan truyền trong môi trường đàn hồi như không khí.. dưới dạng sóng đàn hồi gọi là sóng âm. Sóng âm đến kích động màng nhĩ tai gây cảm giác về âm, do đó cần phân biệt hai loại đại lượng về âm: - Đại lượng âm khách quan: những đại lượng thuần túy vật lý, không phụ thuộc vào tai người. - Đại lượng âm chủ quan: những đại lượng tâm lý vật lý phụ thuộc vào tai người. 2.2.1. Đơn vị âm khách quan: a. Aùp suất âm: Khi sóng âm tới một mặt nào đó, do các phân tử môi trường dao động tác dụng lên mặt đó một lực gây ra áp suất. Aùp suất ở đây là áp suất dư do sóng âm gây ra ngồi áp suất khí quyển. Trong phạm vi nghe được, áp suất âm trong khoảng từ 2.10-4 đến 2.102 bar, chênh lệch 106 lần, đó là một phạm vi rất rộng. b. Cường độ âm (I): - Cường độ âm ở một điểm nào đó trên phương đã cho trong trường âm là số năng lượng âm đi qua đơn vị diện tích của mặt S vuông góc với phương truyền âm, tại điểm đó trong đơn vị thời gian. - Một vài cường độ âm đáng chú ý: Người nói thường I = 2.10-3 W/m2 Còi ô-tô I = 5 W/m2 Còi báo động I = 3.000 W/m2 - Trong điều kiện chuẩn (to = 20oC, áp suất 760mmHg): Vận tốc âm trong không khí : C = 340 m/s  = 0,00121 gr/cm3.  = Cp/Cv = 1,4 Khoa CNTT – ĐHBKHN GVHD thầy: Dư Thanh Bình SVTH: Đỗ Văn Tuấn Trang 10 - Trong tính tốn người ta quy ước lấy âm đơn tần số f = 1000 Hz làm chuẩn để so sánh (gọi là âm chuẩn). - Đối với âm chuẩn, trong phạm vi nghe được Áp suất âm nhỏ nhất Pmin = 2.10-4 bar Cường độ âm nhỏ nhất Imin = 10-16 W/cm2. - Aùp suất âm và cường độ âm lớn nhất mà tai người có thể chịu được là: Pmax = 2.102 bar Imax = 10-4 W/cm2. - Công suất âm nhỏ nhất có thể nghe thấy được Wmin = 10-12 Watt. 2.2.2. Đơn vị âm chủ quan:  Tai người trung bình có thể nhận được những sóng âm có tần số từ 16 đến 20000 Hz, hiệu qủa này có liên quan tới khả năng sinh lý của tai người.  Như vậy, âm thanh là một hiện tượng tâm lý vật lý, không phải bất cứ sóng âm nào tới tai cũng gây ra cảm giác âm thanh như nhau. Aâm có tần số khác nhau gây ra cảm giác khác nhau.  Cường độ âm nhỏ nhất của một sóng âm xác định mà tai người nghe thấy được gọi là “Ngưỡng nghe”. Aâm có tần số khác nhau giá trị ngưỡng nghe cũng khác nhau. Tai người thính nhất với âm có tần số trong khoảng từ 1000 đến 3000 Hz, trong phạm vi này cường độ âm ngưỡng nghe nhỏ nhất. Những tần số khác, tai kém thính hơn, ngưỡng nghe có giá trị lớn hơn.  Đối với âm chuẩn, cường độ và áp suất ở ngưỡng nghe bằng: Po = 2.10-5 N/ m2. Io = 10-12 W/m2.  Do cảm giác âm thanh phụ thuộc vào đặc tính sinh lý của tai người, cho nên phải có một số đại