1. Trang chủ
  2. » Công Nghệ Thông Tin

CÁC PP MÃ HÓA VÀ NÉN ÂM THANH THEO CHUẨN MPEG, DEMO NÉN ÂM THANH BẰNG THƯ VIỆN LAME PROJECT

62 982 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 649,32 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trân trọng cám ơn bạn đã đọc tài liệu. Để được hỗ trợ về demo chương trình xin liên hệ gmail: hoangnga.tiu@gmail.com

Trang 1

BẢNG PHÂN CÔNG CÔNG VIỆC

Tên công việc Thành viên tham gia

Tìm kiếm tài liệu tham khảo Tất cả thành viên

Trình bày báo cáo

Đánh giá, chỉnh sửa báo cáo

Tạo slide thuyết trình

Thuyết trình

Những vấn đề tổng quan về đề tài,

những nghiên cứu liên quan

Tập tin dạng sóng Wave File

Các phương pháp mã hóa và nén âm

thanh

Phương pháp mã hóa và nén âm thanh

theo chuẩn MPEG

Xây dựng module nén, mã hóa âm thanh

Trang 3

MỤC LỤC

MỞ ĐẦU 1

Chương 1 Tổng quan về vấn đề nghiên cứu 4

1.1 Tổng quan tình hình nghiên cứu về phương pháp nén, mã hóa âm thanh theo chuẩn MPEG 4

1.1.1 Một số nghiên cứu ngoài nước 4

1.1.2 Một số nghiên cứu trong nước 5

1.2 Tổng quan về âm thanh số 6

1.2.1 Chuẩn âm thanh PCM 6

1.2.2 Chuẩn âm thanh MP3 8

1.3 Các vấn đề cơ bản về MPEG 9

1.3.1 Giới thiệu MPEG 9

1.3.2 Các chuẩn MPEG 10

1.3.3 Cơ chế hoạt động 11

Chương 2 Tập tin dạng sóng Wave File 13

2.1 RIFF file 13

2.2 Cấu trúc Wave file 15

2.2.1 Subchunk “fmt” 16

2.2.2 Subchunk “data” 17

2.3 Đọc RIFF Files 18

Chương 3 Chuẩn nén, mã hóa âm thanh MPEG 22

3.1 Điều mã xung PCM 22

3.1.1 Lấy mẫu rời rạc thời gian của tín hiệu audio tương tự 22

3.1.2 Lượng tử hóa và các mẫu rời rạc thời gian 22

3.1.3 Mã hóa dữ liệu 24

3.14 Tỉ số tín hiệu trên sai số (Signal-to-error ratio) 24

3.2 Một số phương pháp mã hóa, nén âm thanh 24

3.2.1 Mã hóa Huffman 24

Trang 4

3.2.2 Mã hóa số học 27

3.2.3 Giải thuật Lempel-Ziv-Welch (LWZ) 30

3.2.4 Nén âm thanh dùng mô hình âm - tâm lý (psychoacoustic) 33

3.3 Mã hóa, nén âm thanh theo chuẩn MPEG 36

3.3.1 Sơ lược về chuẩn MPEG 36

3.3.3 Giải thích về hiệu quả che (masking effect) 37

3.3.4 Các lớp âm thanh MPEG 39

3.3.5 Các thông số dùng trong MPEG 41

3.3.6 Sơ đồ mã hóa MPEG 44

Chương 4 Xây dựng module nén, mã hóa âm thanh 45

4.1 Giới thiệu về LAME Project 45

4.2 Định dạng dữ liệu vào, ra trong module 45

4.2.1 Dữ liệu vào 45

4.2.2 Dữ liệu ra 46

4.3 Giới thiệu một số câu lệnh sử dụng 46

4.3.1 Khởi tạo đối tượng có kiểu WaveStream 46

4.3.2 Khởi tạo đối tượng có kiểu MP3Writer 46

4.3.3 Khởi tạo vùng đệm 47

4.3.4 Đọc và ghi dữ liệu 47

4.4 Module nén, mã hóa âm thanh 47

4.4.1 Giao diện chính 47

4.4.2 Nhập tệp dữ liệu đầu vào 48

4.4.3 Thay đổi tên hoặc đường dẫn tệp dữ liệu ra 49

4.4.4 Cài đặt định dạng mã hóa 50

4.4.5 Mã hóa 51

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 53

TÀI LIỆU THAM KHẢO 54

Trang 5

DANH MỤC CÁC HÌNH ẢNH

Hình 1.1 Biểu đồ âm theo tần số mẫu và bitdepth 7

Hình 1.2 Biểu đồ âm ở các tần số mẫu, bitdepth khác nhau 8

Hình 2.1: Cấu trúc của RIFF chunk 13

Hình 2.2: Cấu trúc mỗi chunk 14

Hình 2.3: Cấu trúc Wave File 15

Hình 3.1: Sơ đồ chuyển đổi analog sang digital 22

Hình 3.2: Lấy mẫu tín hiệu analog 22

Hình 3.3: Lượng tử hóa đều 23

Hình 3.4: Lượng tử hóa không đều 24

Hình 3.5: Cây mã hóa từ “HELLO” sử dụng mã Huffman 26

Hình 3.6: Giới hạn bảng chứa nhãn cho chuỗi lối vào (a1, a2, a3) 29

Hình 3.7: Hiệu ứng che âm thanh 34

Hình 3.8: Ngưỡng nghe của tai người 34

Hình 3.9: Tần số che 35

Hình 3.10: Thời gian che 36

Hình 3.11: Sơ đồ mã hóa của MPEG 44

Hình 4.1: Giao diện chính 47

Hình 4.2: Giao diện chọn tệp dữ liệu đầu vào 48

Hình 4.3: Giao diện sau khi nhập tệp 49

Hình 4.4: Giao diện đổi tên, đường dẫn cho tệp dữ liệu ra 49

Hình 4.5: Giao diện sau khi thay đổi tên, đường dẫn 50

Hình 4.6: Giao diện xem định dạng dữ liệu vào 50

Hình 4.7: Giao diện cài đặt thông số dữ liệu ra 51

Hình 4.8: Giao diện cảnh báo chưa chọn tệp dữ liệu 51

Hình 4.9 Giao diện cảnh báo định dạng không phù hợp 52

Hình 4.10 Giao diện sau khi nén hoàn thành 52

Hình 4.11 Giao diện xác nhận ghi đè tệp 52

Trang 8

MỞ ĐẦU

Việc ứng dụng Công nghệ thông tin được triển khai hầu như trong tất

cả mọi lĩnh vực đời sống của con người ở trên thế giới nói chung và ở ViệtNam nói riêng Mặc dù đã có sự phát triển vượt trội trong công nghệ phầncứng, dung lượng đĩa cứng tăng lên một cách đáng kể nhưng với sự phát triển

ồ ạt này thì ngành công nghệ phần cứng đã không thể đáp ứng được nhữngđòi hỏi mà yêu cầu thực tiễn đặt ra, trong đó có vấn đề không gian lưu trữ vàthời gian xử lý dữ liệu

Chính vì vậy các nhà nghiên cứu phần mềm đã chú ý đến việc pháttriển phần mềm để hỗ trợ phần cứng Họ đã tạo ra những chương trình phầnmềm hỗ trợ tích cực phần cứng, từ đó đã ra đời những phần mềm nén âmthanh, hình ảnh, nén video, tách âm thanh từ những file video để tạo ra nhữngdạng âm thanh, hình ảnh, video như mindi, mpeg, mp3, mp4… những file ảnhdạ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ềntải, truy cập nhanh hơn

Từ năm 1988, Tổ chức ISO/MPEG đảm trách việc nghiên cứu chuẩnhóa các tiêu chuẩn nén, mã hóa âm thanh và hình ảnh cho các phương tiện lưutrữ số bao gồm CD-ROM, DAT, đĩa quang từ MO và ổ cứng máy tính Từ đó,chuẩn MPEG được sử dụng rộng rãi trong việc mã hóa âm thanh và hình ảnh.Mặc dù MPEG là chuẩn nén, mã hóa dành cho cả âm thanh và hình ảnh,nhưng trong phần trình bày của nhóm sinh viên chỉ nằm trong khuôn khổ âmthanh để giúp mọi người hiểu thêm chi tiết về phương pháp nén và mã hóa âmthanh theo chuẩn MPEG, do đó mọi vấn đề liên quan tới hình ảnh sẽ khôngđược đề cập tới

Việc tìm hiểu đề tài là cơ hội để nhóm sinh viên hiểu sâu hơn về cácphương pháp nén, mã hóa nói chung và phương pháp nén âm thanh theochuẩn MPEG nói riêng, đồng thời nâng cao kiến thức, kỹ năng lập trìnhhướng đối tượng

Như đã đề cập đến ở trên, mục tiêu của đề tài là để tìm hiểu các phươngpháp nén và mã hóa âm thanh theo chuẩn MPEG, về định dạng âm thanh chưanén Wave từ đó dựa trên một số mã nguồn và thư viện hỗ trợ Lame Projectnén âm thanh đã có sẵn cùng ngôn ngữ lập trình C# để xây dựng module nén

Trang 9

và mã hóa định dạng âm thanh Wave sang định dạng âm thanh MP3.

Đối tượng nghiên cứu của đề tài là định dạng âm thanh Wave, cácphương pháp nén và mã hóa âm thanh theo chuẩn MPEG, thư viện hỗ trợLame Project nén âm thanh và ngôn ngữ lập trình C#

Phạm vi nghiên cứu là các phương pháp nén và mã hóa âm thanh, địnhdạng âm thanh Wave, ngôn ngữ lập trình C#, thư viện hỗ trợ Lame Projectnén âm thanh để áp dụng vào xây dựng module nén và mã hóa âm thanh ứngdụng trong lưu trữ âm thanh tại trường Đại học Kỹ thuật - Hậu cần CAND,cũng như phục vụ cho nhiệm vụ học tập, tìm hiểu của học phần Truyền thông

đa phương tiện

Đề tài sử dụng kết hợp nhiều phương pháp nghiên cứu khác nhau.Trong đó, phương pháp nghiên cứu tài liệu là phương pháp chủ đạo của đề tài.Đối với phương pháp này, nhóm sinh viên tiến hành sưu tầm, tham khảo,phân tích và nghiên cứu các tài liệu có liên quan đến đề tài như: các giáotrình, sách giáo khoa, các sách chuyên khảo, báo cáo, các công trình nghiêncứu về chuẩn MPEG Tài liệu có thể thu thập được từ nhiều nguồn khác nhau(Ví dụ: Các tạp chí khoa học, báo cáo nghiên cứu đã đăng trên các tạp chí, các

cơ sở dữ liệu như medline, CD, luận văn thạc sĩ, luận án tiến sĩ, internet…).Ngoài ra còn có một số phương pháp bổ trợ khác như: Phương pháp thựcnghiệm, phương pháp chuyên gia (đặt vấn đề thắc mắc với chuyên gia, người

có chuyên môn để được giải đáp)

Tài liệu gồm 4 chương:

Chương 1: Tổng quan về vấn đề nghiên cứu

Chương này đưa ra tổng quan tình hình nghiên cứu liên quan ở cả trong

và ngoài nước Giới thiệu khái quát về âm thanh số và hai chuẩn âm thanh số

là chuẩn PCM và chuẩn MP3 Đồng thời nêu lên những vấn đề cơ bản vềMPEG Đây chính là những nội dung tạo nên cơ sở lý thuyết cho đề tàiphương pháp nén và mã hóa âm thanh theo chuẩn MPEG

Chương 2: Tập tin dạng sóng Wave File

Chương này giới thiệu về định dạng âm thanh Wave, cấu trúc củaWave file, cũng như cách đọc file Wave Đây là cơ sở để xây dựng cácchương trình đọc dữ liệu Wave trong máy tính Chương này sẽ giúp người

Trang 10

đọc hiểu được tổng quát về cấu trúc của tập tin Wave file.

Chương 3: Chuẩn nén, mã hóa âm thanh MPEG

Chương 3 trình bày các một số khái niệm trong chuyển đổi âm thanh

số, nêu lên một số phương pháp nén, mã hóa âm thanh cơ bản Cuối cùng làđưa ra các nội dung về phương pháp nén và mã hóa âm thanh theo chuẩnMPEG Những thông tin, kiến thức được nêu ra trong chương 3 mang ý nghĩaquan trọng đối với quá trình xây dựng module nén và mã hóa âm thanh của đềtài

Chương 4: Xây dựng module nén và mã hóa âm thanh.

Chương này sẽ giới thiệu thư viện hỗ trợ LAME Project nén và mã hóa

âm thanh Đồng thời cũng giới một số câu lệnh chính phục vụ nén và mã hóa

âm thanh sử dụng trong module Cuối cùng, chương này sẽ trình bày cụ thể vềcách hoạt động của module đã xây dựng

Trang 11

Chương 1 Tổng quan về vấn đề nghiên cứu 1.1 Tổng quan tình hình nghiên cứu về phương pháp nén, mã hóa âm thanh theo chuẩn MPEG

1.1.1 Một số nghiên cứu ngoài nước

Trên thế giới, hoạt động nghiên cứu về các phương pháp nén, mã hóa

âm thanh diễn ra rất sớm và ngày càng phát triển Đặc biệt, phương pháp nén,

mã hóa âm thanh theo chuẩn MPEG là phổ biến và được quan tâm hơn cả.Hội nghị MPEG đầu tiên diễn ra vào tháng 5 năm 1988 tại Ottawa, Canada.Tính đến cuối năm 2005, MPEG đã lên tới hơn 350 thành viên tham gia hộinghi từ các lĩnh vực công nghiệp, các trường đại học và viên nghiên cứu khácnhau Điều này càng cho thấy tầm quan trọng và ý nghĩa thực tiễn của chuẩnMPEG trong việc nén và mã hóa âm thanh Dưới đây là một số công trình,sản phẩm về vấn đề này:

“A Tutorial on MPEG/Audio Compression” của Davis Pan, IEEEMultimedia, 1995 Hướng dẫn này bao gồm lý thuyết đằng sau nén âm thanhMPEG, nó khai thác các tính chất cảm nhận của hệ thống thính giác của conngười, đồng thời cũng bao gồm các vấn đề cơ bản của mô hình âm tâm lý vàcác phương pháp để sử dụng thuật toán nén dữ liệu âm thanh

“LAME Project” - một phần mềm mã nguồn mở được sử dụng để mãhóa, nén âm thanh sang định dạng mất mát thông tin MP3 LAME bắt đầuđược phát triển vào khoảng giữa năm 1998 bởi Mike Cheng, dự án nhanhchóng trở thành một dự án nhóm Mike cuối cùng rời lãnh đạo và bắt đầu làmviệc trên tooLAME, một bộ mã hóa MP2 Mark Taylor đã trở thành nhà lãnhđạo và bắt đầu theo đuổi chất lượng, thêm vào tốc độ tốt hơn Ông có thểđược coi là người khởi xướng dự án LAME trong hình thức hiện tại của nó.Ông đã phát triển phiên bản 3.0 có tính năng gpsycho (một mô hình âm - tâm

lý mới mà ông đã phát triển) Vào đầu năm 2003 Mark rời lãnh đạo dự án, và

kể từ đó dự án đã được dẫn dắt qua sự hợp hợp tác của các nhà phát triển

Ngày nay, LAME được coi là một bộ mã hóa MP3 tốt nhất ở bitratetrung bình - cao và VBR, chủ yếu là nhờ vào các sự nỗ lực của các nhà pháttriển và các mô hình cấp giấy phép mã nguồn mở cho phép dự án chạm tớicác nguồn lực kỹ thuật từ khắp nơi trên thế giới Việc cải tiến về chất lượng

Trang 12

và tốc độ vẫn đang diễn ra, giúp cho LAME - bộ mã hóa MP3 không ngừngphát triển.

Trong bài tìm hiểu, nhóm cũng sẽ dựa trên kết quả của công trình này

để xây dựng module nén và mã hóa âm thanh

1.1.2 Một số nghiên cứu trong nước

Ở nước ta hiện nay, mã hóa âm thanh đã có bước phát triển đáng kể, cókhá nhiều đề tài, công trình nghiên cứu về vấn đề này Từ đó ứng dụng vàothực tiễn đời sống, tiêu biểu là ứng dụng trong phát thanh truyền hình, pháttruyền hình số mặt đất, thiết kế CD chạy âm thanh, trình chiếu video, truyềnhình cáp, vệ tinh số vệ tinh DTH, lưu trữ âm nhạc, truyền tải qua internet,…Dưới đây là một số đề tài như vậy:

“Nghiên cứu và ứng dụng công nghệ phát thanh số tại Việt Nam” năm

2005 của Đài tiếng nói Việt Nam Đề tài nhằm phục vụ công việc trọng tâmtrong chiến lược phát triển khoa học công nghệ của Đài Tiếng nói Việt Nam:nghiên cứu các tiêu chuẩn DAB để nhanh chóng chọn lựa ứng dụng phátthanh số ở Việt Nam và bước tiếp theo là mua thiết bị phát, thiết bị đườngtruyền, máy thu thanh số để tiến hành thử nghiệm Trong đề tài cũng đưa ravấn đề về mã hóa âm thanh, các chuẩn MPEG hiện nay đang được sử dụngtrong phát thanh số

“Nghiên cứu các kỹ thuật nén tín hiệu audio trong truyền hình số” Luận văn Thạc sĩ kỹ thuật của Huỳnh Trọng Nguyên Luận văn đã tìm hiểutổng quan về các kỹ thuật nén âm thanh, nghiên cứu các kỹ thuật nén âmthanh MPEG và AAC, đánh giá hiệu quả các kỹ thuật nén âm thanh MPEG vàAAC làm kiến thức cơ bản cho nghiên cứu tiếp các kỹ thuật mã hoá âm thanhcủa các chuẩn khác như MPEG-4, và đáp ứng nhu cầu cần thiết trong côngviệc và lựa chọn công nghệ Luận văn đã góp phần vào việc hỗ trợ cho việc

-sử dụng các công nghệ truyền tải dữ liệu truyền hình số, phát triển -sử dụngchương trình nén âm thanh

“Mã hóa và nén tín hiệu âm thanh ứng dụng trong phát thanh số” Luận văn Thạc sĩ - Trần Thị Minh Huệ Trong luận văn này, tác giả đã trìnhbày kiến thức cơ sở về âm thanh từ đặc điểm của sóng âm đến tín hiệu âmthanh tương tự chuyển đổi sang tín hiệu âm thanh số, tìm hiểu về các giảithuật nén âm thanh và các định dạng âm thanh thực tế, nghiên cứu mã hóa,

Trang 13

nén tín hiệu âm thanh Đề tài nhằm nghiên cứu ứng dụng trong phát thanh số

-mã hóa dải con với tổ hợp hệ số phân chia nhỏ và mô phỏng kết quả

Như vậy các nghiên cứu cả ở trong và ngoài nước đã đề cập và đưa racác phương pháp nén và mã hóa âm thanh, bên cạnh đó là những ứng dụngquan trọng của nó trong các lĩnh vực của đời sống Từ những nghiên cứu đó,nhóm sinh viên đã sử dụng những kiến thức trong đó làm nền tảng, cơ sở lýthuyết cho đề tài của nhóm Tiếp nối những hoạt động nghiên cứu trên, cũngnhư phục vụ nhiệm vụ học tập của học phần Truyền thông đa phương tiện,nhóm sẽ tiến hành tìm hiểu về phương pháp nén và mã hóa âm thanh theochuẩn MPEG, định dạng âm thanh Wave, từ đó kết hợp với thư viện hỗ trợLame Project nén âm thanh và ngôn ngữ lập trình C# để xây dựng modulenén, mã hóa định dạng âm thanh Wave sang định dạng âm thanh MP3

1.2 Tổng quan về âm thanh số

Tín hiệu trong thế giới thực là tín hiệu analog: ánh sáng, âm thanh Trong quá trình xử lý, các tín hiệu thực này được chuyển đổi ra tín hiệu sốdigital bằng cách dùng một mạch gọi là ADC (Analog-to-Digital Converter)trước khi chúng được sử dụng bởi các thiết bị số Khi nào chúng ta cần lại tínhiệu analog, chuyển đổi ngược lại bằng mạch DAC (Digital-to-AnalogConverter)

Nhưng tại sao phải lại lựa chọn âm thanh số digital? Có nhiều lý do cơbản để dùng tín hiệu digital thay cho analog, nhiễu là một lý do Vì tín hiệuanalog có thể ở bất kỳ giá trị nào, nhiễu được biểu thị như là một phần của tínhiệu gốc Ví dụ khi ta nghe máy đĩa phono, vì đường ghi là analog cho nênkim chạy trên đường ghi nó không phân biệt được tín hiệu âm nhạc với nhiễulẫn vào do bụi đất hoặc vết nứt trên đĩa Trái lại, hệ thống digital chỉ có thểhiểu được hai số, số 0 và số 1 Bất kỳ cái nào khác với hai số này đều bị gạt

ra Đó là lý do tại sao ta không nghe bất kỳ một âm thanh lạ nào khi ngheaudio CD, cho dù đã sử dụng hàng ngàn lần trước đó Một lợi ích khác của hệthống digital hơn hẳn analog là khả năng nén dữ liệu

1.2.1 Chuẩn âm thanh PCM

“Điều biến mã xung” (PCM) - Pulse Code Modulation - tạm dịch: điềubiến nhịp tức là việc sử dụng những “nhịp đập” cao thấp khác nhau và liên tục

để diễn tả gần giống nhất với sóng sin - được tạo ra từ năm 1937 và là tiền

Trang 14

thân cho các loại âm thanh analog PCM được biển diễn dưới biểu đồ âmdạng sin hay cos gồm hai thành phần đặc trưng là tần số mẫu (sample rate),

độ sâu bit (bitdepth) Các giá trị biên độ được biểu diễn bởi 2 số 0 và 1 vàthường có quan hệ với độ sâu bit (cho biết 1 dải chứa được bao nhiêu bit, ví

dụ như 16 bit, 24 bit) Con số ta thường thấy như 44100 Hz được gọi làsample rate và cho biết số lần tín hiệu âm thanh được đo và lấy mẫu trong mộtgiây Một số mẫu thu âm có độ phân giải cao hiện nay thường có chuẩn 24bits và tần số lấy mẫu 192000 Hz “Tần số mẫu” (sample rate) cho ta biết sốlần biên độ rung mỗi giây của sóng âm thanh, còn “độ sâu bit” (bitdepth) thểhiện số lượng bit của thông tin đo được từ mỗi mẫu âm thanh, nó tương ứngvới độ phân giải của mỗi bộ dữ liệu âm thanh số

“Âm thanh thực” như ta vẫn nghe thấy hàng ngày là một dải tần kéo dàiliên tục Đối với thế giới số lại khác, để làm rõ cách hoạt động của âm thanh

số, ta hãy so sánh nó với hình ảnh số Trong các đoạn video sử dụng côngnghệ số, những gì ta nghĩ là đang vận động hay trôi chảy thực chất chỉ là mộtchuỗi các hình ảnh tĩnh

Âm thanh số cũng như vậy Biên độ của sóng âm thanh không hề “trôichảy” hay “vận động” mà thay đổi theo những chuẩn nhất định trong mộtkhoảng thời gian cho trước

Hình 1.1 Biểu đồ âm theo tần số mẫu và bitdepth

Như đã nói, PCM cùng với những biến thể của nó là nền tảng cho âmthanh số PCM sẽ hình thành một dạng sóng, sóng này ít nhiều có thể đượcchạy ngay bởi một bộ xử lý tín hiệu số Trong khi hầu hết các định dạng khác

Trang 15

khi thao tác với âm thanh thì cần thông qua các thuật toán điều khiển nên phảigiải mã chúng khi sử dụng.

Âm thanh dạng số được ghi trên đĩa CD với định dạng file có đuôiWAV đồng thời được sử dụng chuẩn định dạng PCM Những tín hiệu âmthanh này là nguyên bản, không bị nén và do đó chiếm nhiều diện tích trong ổcứng, chúng được gọi là Uncompressed (không nén)

Theo chuẩn định dạng này, cứ mỗi giây, âm thanh sẽ được lẫy mẫu vớitần số 44.1 kHz (44100 lần/giây), mỗi mẫu được diễn tả bởi 16 bit dữ liệu.Như vậy, trong 1 phút nhạc/âm thanh, ta sẽ có: 44100 đợt lấy mẫu x 2 kênhtrái phải x 2 bytes (16 bit = 2 bytes) x 60 giây = 10.584.000 bytes = 10.1 Mb

Hình 1.2 Biểu đồ âm ở các tần số mẫu, bitdepth khác nhau

Thông thường, 1 CD có dung lượng là 750 Mb, được lưu khoảng 74phút nhạc Do đó, nếu nhân 10 Mb của mỗi phút cho 74 phút sẽ cho ra dunglượng khoảng 750 Mb như đã nói Như vậy, 1 giây của âm thanh gốc sẽ cóbitrate là 1411 kbps

Một số kiểu tập tin thô thường gặp là WAVE, AIFF,… Trong đề tài,nhóm sinh viên sẽ tập trung tìm hiểu về tập tin Wave File

1.2.2 Chuẩn âm thanh MP3

Ban đầu MP3 hay còn gọi là MPEG-1 Audio Layer III (MPEG âmthanh lớp 3) do Tổ chức MPEG (Moving Picture Experts Group) thiết kế làmột phần của tiêu chuẩn MPEG-1 (tiêu chuẩn nén tổn thất về âm thanh vàhình ảnh), sau đó được mở rộng trong tiêu chuẩn MPEG-2 MPEG-1 Audio

Trang 16

(MPEG-1 Phần 3), trong đó bao gồm MPEG-1 Audio Lớp I, II và III đã đượcphê duyệt thành dự thảo tiêu chuẩn của ISO/IEC vào năm 1991, hoàn thànhvào năm 1992 và công bố vào năm 1993 (xem tại ISO/IEC 11172-3:1993).Sau đó vào năm 1995, ISO/IEC công bố bản sửa đổi của MP3 bổ sung khảnăng tương thích với MPEG-2 Audio (MPEG-2 Phần 3) về tốc độ bít và tỷ lệmẫu (xem tại ISO/IEC 13818-3:1995, sau đó sửa đổi thành ISO/IEC 13818-3:1998).

MP3 là một bộ giải mã nhận biết âm thanh 1 hoặc 2 kênh cho chấtlượng nén tín hiệu âm nhạc (music signal) xuất sắc So với Lớp I và Lớp II,MP3 cung cấp một hiệu suất nén cao hơn Thông thường, MP3 có thể nén dữliệu CD âm thanh chất lượng cao theo hệ số 12 trong khi vẫn có chất lượng

âm thanh cao Nói chung, MP3 là thích hợp cho các ứng dụng liên quan đếnlưu trữ hoặc truyền tải âm nhạc mono (Âm thanh mono là âm thanh được thuhoặc phát ra từ một nguồn âm thanh từ một địa điểm cố định) hay stereo (Âmthanh stereo là âm thanh từ nhiều nguồn âm được phân bổ từ phải sang tráihoặc ngược lại) hoặc tín hiệu âm thanh khác MPEG-1 Lớp III đã được chuẩnhóa cho tần số mẫu cao hơn 32; 44,1 và 48 kHz trong MPEG-1 vào năm1992

Định dạng mp3 là định dạng âm thanh phổ biến nhất để lưu trữ âmnhạc trên nền tảng máy vi tính và truyền tải âm nhạc qua Internet MP3 đã tạo

ra một tên mới cho các thiết bị điện tử tiêu dùng được đặt tên theo nó, đó làmáy nghe nhạc mp3 MP3 được ứng dụng trên hầu hết các đĩa CD và DVD(Digital Versatile Disc hoặc Digital Video Disc là định dạng lưu trữ dữ liệuđĩa quang kỹ thuật số, có đường kính 12 cm cho loại tiêu chuẩn, hay 8 cm choloại nhỏ Nhưng DVD có cách lưu dữ liệu khác với CD, với cách nén dữ liệu

và các lớp quang học có khả năng chứa nhiều dữ liệu hơn CD) và trong các hệthống âm thanh nổi trên xe ô tô và các thiết bị âm thanh nổi mới như mạngmáy chủ âm nhạc Ngoài ra, MP3 cũng được ứng dụng rộng rãi trong truyềnhình vệ tinh phát sóng âm thanh kỹ thuật số và điện thoại di động

1.3 Các vấn đề cơ bản về MPEG

1.3.1 Giới thiệu MPEG

MPEG, viết tắt của cụm từ “Moving Picture Experts Group”, là mộtnhóm chuyên nghiên cứu phát triển các tiêu chuẩn về hình ảnh số và nén âm

Trang 17

thanh theo chuẩn ISO/IEC Ngày nay, nhóm làm việc MPEG đã phát triển vàphát hành các tiêu chuẩn MPEG-1, MPEG-2 và MPEG-4 Chuẩn MPEG-3được kết hợp vào MPEG-2 và không còn tách riêng nữa Nhóm MPEG hiệnnay đã phát triển đến chuẩn MPEG-7 MPEG chỉ là một tên riêng, tên chínhthức của nó là: ISO/IEC JTC1 SC29 WG11.

ISO : International Organization for Standardization

IEC : International Electro-technical Commission

JTC1 : Joint Technical Committee 1

MPEG-2 định nghĩa cho một tiêu chuẩn kỹ thuật truyền hình số ChuẩnMPEG-2 khắc phục một vài nhược điểm của chuẩn MPEG-1 Ví dụ, MPEG-2

có thể tạo hình ảnh lớn gấp 4 lần MPEG-1 với độ nét cao hơn và rõ hơn (720

x 480 và 1280 x 720) Các đặc tính của MPEG-2 bao gồm hình ảnh chấtlượng cao và âm thanh nổi

MPEG-3 định nghĩa một tiêu chuẩn cho High Difinition Television(HDTV), là thế hệ tiếp theo của công nghệ truyền hình theo định dạng số đầy

đủ Tiêu chuẩn này đã không được phát triển hoàn thiện và cuối cùng đượckết hợp vào với chuẩn MPEG-2 MPEG-3 đi đến mục tiêu là các ứng dụngHDTV với kích thước mẫu lên đến 1920x1080x30 Hz và được mã hóa ở tốc

độ bit 20 đến 40 Mbits/s Cuối cùng người ta đã nhận ra rằng với một vài điềuchỉnh thích hợp, MPEG-1 và MPEG-2 làm việc rất tốt đối với HDTV

MPEG-4 định nghĩa một tiêu chuẩn cho các ứng dụng Multimedia Đặcbiệt nó định nghĩa tiêu chuẩn truyền cho dòng phức tạp các hình ảnh, âm

Trang 18

thanh và dữ liệu đồ hoạ và việc tái hợp chúng trên thiết bị thu MPEG-4 đượcphát triển theo 2 giai đoạn, 1 và 2 Chuẩn MPEG-4 định nghĩa các đối tượnghình ảnh mà trong đó các phần của một cảnh có thể được thao tác trong khinhững phần khác vẫn không đổi.

MPEG-5 và MPEG-6 vẫn chưa được công bố

MPEG-7 định nghĩa một tiêu chuẩn về việc biểu diễn nội dung cho cácnghiên cứu thông tin hình ảnh và âm thanh Tên chính thức là “MultimediaContent Description Interface” Mục tiêu của MPEG-7 là chuẩn hóa việc biểudiễn các mô tả về nội dung nghe nhìn Tuy nhiên chuẩn không định nghĩa cáccông cụ để nhận ra nội dung nghe nhìn thật sự

1.3.3 Cơ chế hoạt động

Khi đưa ra phương pháp mã hóa âm thanh, nền tảng của quá trình nàyvẫn là yếu tố “hệ thống nghe” của con người Mặc dù đó không phải 1 thiết bịhoàn hảo để nhận biết âm thanh nhưng là thiết bị duy nhất mà ta có được.Nhưng ta có thể chuyển những khuyết điểm của nó thành ưu điểm: đó là đặctính của ngưỡng nghe và khả năng tương thích của nó

MPEG hoạt động dựa trên hệ thống nghe của con người, đó là cảm giác

về âm mang đặc tính sinh lý và tâm lý

Âm thanh CD ghi lại tất cả tần số, kể cả những tần số bị “che” Âmthanh MPEG chỉ ghi lại những tần số mà tai người có thể nghe

Như vậy, MPEG sẽ bỏ qua những thông tin không quan trọng Dựa trênnghiên cứu về nhận thức âm thanh của con người, bộ mã hóa sẽ quyết địnhnhững thông tin nào là căn bản và những thông tin nào có thể bỏ qua

Hiệu quả này là bao quát nhưng đặc biệt quan trọng trong âm nhạc.Nếu trong một dàn nhạc có một nhạc cụ chơi cực mạnh, làm át tiếng của cácnhạc cụ khác ta không thể nghe được Nhưng máy thu âm vẫn ghi lại đầy đủtất cả tần số của tất cả nhạc cụ, nghĩa là thiết bị thu âm hoàn toàn không cókhả năng thích nghi động như con người Nhưng khi phát lại, ta vẫn khôngnghe được âm thanh của những nhạc cụ bị át Vì vậy việc lưu trữ/ghi lạinhững tần số này là thừa, làm chiếm dung lượng khá nhiều Cách ghi âmtuyến tính trên đĩa CD là hoàn toàn không hiệu quả về khía cạnh này Do đóthay vì phải ghi lại thông tin của những âm không nghe được, ta sẽ dành chỗ

Trang 19

cho các âm có thể nghe được Theo cách này, dung lượng của thiết bị ghi âmcần thiết có thể xem như giảm đi mà không làm giảm chất lượng âm thanh.

Trước khi ta nghe được điều gì, thông tin sẽ được phân tích bởi não bộ.Não bộ sẽ dịch âm thanh và lọc bỏ những thông tin không cần thiết Kỹ thuật

âm thanh MPEG làm việc này thay thế cho não bộ Như vậy, những thông tin

lẽ ra phải được lọc bởi não bộ bây giờ không cần phải lưu trữ, chiếm giữkhông gian đĩa nữa

Trang 20

Chương 2 Tập tin dạng sóng Wave File

Waveform Audio File Format (WAVE, thường được biết đến nhưWAV do phần mở rộng tệp tin của nó có đuôi wav) là một định dạng âmthanh chuẩn của Microsoft và IBM dùng để lưu trữ một audio bitstream trênmáy tính Nó là một ứng dụng của Resource Interchange File Format (RIFF),một phương pháp định dạng bitstream để lưu trữ dữ liệu trong “chunks” Nó

là một định dạng chính được sử dụng bởi hệ thống Window cho các âm thanhthô và thường không nén Sau đây ta sẽ đi tìm hiểu về Wave File

2.1 RIFF file

Wave File là tập tin chứa các dữ liệu của mẫu âm thanh đã được số hóa.Phương pháp số hóa âm thanh hiện nay là phương pháp PCM Phương phápnày sẽ lấy mẫu âm thanh với tần số khoảng 11.025 kHz cho đến 44.1 kHz.Mỗi lần lấy mẫu, số liệu này lại được lượng tử hóa bằng một hay hai byte chomột mẫu âm thanh Như vậy tần số lấy mẫu càng cao, số byte dùng lượng tửhóa càng nhiều thì âm thanh phát lại càng trung thực, nhưng lại tăng số bytecần lưu trữ Với một âm thanh phát ra trong một phút cần phải lưu trữ ít nhất

660 kB Đó là lý do tại sao các File Wave luôn có kích thước khá lớn so vớiMIDI File

Hình 2.1: Cấu trúc của RIFF chunk

Trang 21

Cấu trúc của Wave File thuộc vào lớp file được sử dụng bởi các hàmMultimedia của Windows: đó là RIFF File RIFF là chữ viết tắt của ResourceInterchange File Format (dạng file trao đổi tài nguyên) Một RIFF file gồmmột hoặc nhiều loại chunks, trong mỗi chunk lại chứa con trỏ chỉ đến chunk

kế tiếp

Hình 2.2: Cấu trúc mỗi chunk

Mỗi chunk bao gồm các trường: loại chunk (FOURCC ID), kích thướcchunk (SIZE) và dữ liệu (DATA) theo sau loại chunk đó

RIFF File cũng là một chunk, với FOURCC ID là “RIFF”, tiếp theo làkích thước của chuck Tuy nhiên có định dạng hơi khác các loại chunk còn lại

là RIFF chunk có thêm một trường đặc biệt được thêm vào là FOURCC FILETYPE Đối với File Wave thì trường này thường có giá trị là “WAVE”

Một ứng dụng muốn đọc RIFF file có thể đi qua lần lượt từng chunk,đọc dữ liệu ở chunk nó quan tâm và có thể bỏ qua các chunk mà nó khôngquan tâm, một chunk của RIFF file luôn bắt đầu bởi một header có cấu trúcnhư sau:

Trang 22

Trường FOURCC có 4 bytes chỉ ra loại chunk Nếu loại chunk ít hơn 4

ký tự thì các ký tự còn lại bên phải sẽ được thêm vào các khoảng trắng Cầnchú ý là các ký tự trong FOURCC có phân biệt chữ hoa và chữ thường

Trường DWORD chứa kích thước vùng dữ liệu của chunk, cùng dữliệu này nằm ngay sau header và có kích thước là ckSize bytes

Chunk có thể chứa các subchunks Subchunk cũng là một chunk

2.2 Cấu trúc Wave file

Cấu trúc file wave gồm 3 chunks: chunk mô tả RIFF, subchunk địnhdạng “fmt” và subchunk dữ liệu “data” Trong đó, subchunk định dạng “fmt”

và subchunk dữ liệu “data” là 2 khối subchunk con của khối chunk mô tả địnhdạng RIFF

Hình 2.3: Cấu trúc Wave File

Trang 23

2.2.1 Subchunk “fmt”

Subchunk “fmt” có trường FOURCC ID là “fmt”, tiếp theo đó là kíchthước của chunk Dữ liệu của “fmt” chunk là đối tượng WAVEFORMAT cócấu trúc như sau:

Typedef struct waveformat_tag

- nChannels: Có hai giá trị bằng 1 cho âm thanh mono và bằng 2 cho

âm thanh stereo

- nSamplePerSec: Cho biết tốc độ lấy mẫu, một số giá trị: 11.025 kHz,22.050 kHz, 44.100 kHz

- nAvgBytesPerSec: cho biết số bytes yêu cầu trung bình trong mộtgiây để phát lại mẫu dữ liệu của sóng âm

- nBlockAlign: cho biết số bytes dùng để chứa một mẫu âm thanh Nhưvậy mẫu 8 bit hay ít hơn sẽ yêu cầu 1 byte, mẫu 9 hay 16 bit sẽ yêu cầu 2bytes Nếu âm thanh là Stereo thì yêu cầu gấp 2 lần số byte dùng cho âmthanh mono

Ta thấy trong WAVEFORMAT chưa có thông tin về số bit dùng đểlượng tử hóa một mẫu dữ liệu của sóng âm Thực tế Wave file sẽ xác lập sốbit dùng cho một mẫu dữ liệu bằng một trường gắn vào cuối cấu trúc củaWAVEFORMAT Cấu trúc đó như sau:

Trang 24

Typedef struct pcmformat_tag

8 bits, mà nó có nghĩa là âm thanh được lượng tử hóa chính xác hơn, nghetrung thực hơn

Trong mẫu mono 8 bits, dữ liệu của subchunk “data” gồm chuỗi các giátrị 1 byte Với stereo 8 bits, mỗi mẫu gồm 2 bytes, dữ liệu sẽ được sắp xếpxen kẽ (interleave), với byte đầu (byte chẵn) là mẫu âm thanh của kênh bêntrái, byte sau (byte lẻ) là của kênh bên phải

Tóm lại cấu trúc của Wave File như sau:

Trang 25

wave (thường là PCM)

nAvgBytesPerSec

Các hàm dùng xử lý RIFF file đều có tiền tố là mmio và làm việc vớifile handle dạng HMMIO, để bắt đầu, ta phải mở file bằng đoạn mã sau:

mở file thành công, mmioOpen sẽ trả về một handle loại HMMIO Nếu thấtbại, nó sẽ trả về trị NULL Sau khi mở file xong, ta bắt đầu định vị WAVEchunk bằng đoạn mã sau:

MMCKINFO mmParent;

mmParent.fccType=mmioFOURCC(‘W’,’A’,’V’,’E’);

If(mmioDescend(h,LPMMCKINFO)&mmParent,NULL<MMIO_FINDRIFF))

Trang 26

- Để “đi vào” một chunk, ta cho trường ckid MMCKINFO ở loại chunk

mà ta muốn định vị Có một macro thực hiện việc này là mmioFOURCC Sau

đó gọi hàm mmioDescend để định vị chunk Nếu định vị thành công, hàm nàytrả về zero và đối tượng MMCKINFO truyền cho hàm sẽ được điền vào cácthông tin về chunk

- Trường cksize định nghĩa kích thước tính bằng byte của chunk

- Đối số thứ ba của mmioDescend là cờ MMIO_FINDRIFF Cờ này chỉthị cho mmioDescend tìm một file có ID là RIFF với loại chunk được xácđịnh bởi ckid Nếu muốn tìm một chunk trong Wave file ta cho cờ này làMMIO_FINDCHUNK

- Sau khi đi vào WAVE chunk, ta bắt đầu đi vào fmt subchunk của nó:

MMIOCKINFO mmSub;

MnSub.ckid=mmioFOURCC (‘f’,’m’,’t’);

If(mmioDescend(h,(LPMMCKINFO)&mmSub,(LPMMCKINFO)&

mmParent,MMIO_FINDCHUNK)) {

mmioClose(h,0);

Trang 27

Sau khi đã đọc nội dung của chunk, ta đi ra khỏi chunk để chuẩn bị đọcchunk kế tiếp:

MmAscend(h,(LPMMCKINFO)&mmSub,0);

- Đối số thứ hai của mmAscend là đối tượng MMCKINFO của chunk

mà ta “đi ra” Đối số thứ ba là đối số giả

Công việc còn lại là đọc dữ liệu mã hóa mẫu âm thanh của Wave filevào bộ nhớ Chú ý rằng giá trị cksize trả về bởi mmioDescend được sử dụng

để xác định kích thước vùng đệm cần cấp phát để chứa dữ liệu

GLOBALHANDLE wavehandle;

HPSTR wavepointer;

Trang 28

MmSub.ckid=mmioFOURCC(‘d’, ‘a’, ‘t’, ‘a’);

If(mmioDescend(h,(LPMMCKINFO)&mmSub),

(LPMMCKINFO)&mmParent,MMIO_FINDCHUNK)) {

Trang 29

Chương 3 Chuẩn nén, mã hóa âm thanh MPEG 3.1 Điều mã xung PCM

Để chuyển đổi âm thanh tương tự analog sang âm thanh số digital taphải điều mã xung PCM Việc này được đặc trưng bởi 3 quá trình: lấy mẫu,lượng tử hóa, mã hóa

Hình 3.1: Sơ đồ chuyển đổi analog sang digital

3.1.1 Lấy mẫu rời rạc thời gian của tín hiệu audio tương tự

Hình 3.2: Lấy mẫu tín hiệu analog

Tín hiệu audio tương tự thay đổi liên tục theo thời gian, nghĩa là biên

độ của tín hiệu thay đổi liên tục theo thời gian Lấy mẫu tín hiệu audio tương

tự là xác định biên độ của tín hiệu ở những thời điểm theo những khoảng thờigian cách đều nhau vì vậy các mẫu là các xung có biên độ nhất định Khoảngthời gian cách đều này gọi là chu kỳ lấy mẫu Tm, tần số lấy mẫu fm=1/Tm

3.1.2 Lượng tử hóa và các mẫu rời rạc thời gian

Lượng tử hóa là biểu diễn biên độ của các xung tín hiệu thành một giá

Trang 30

trị số sử dụng hệ thống số nhị phân Người ta dùng một từ (word) có độ dài nbit để biểu diễn giá trị đó Số bits n được chọn tùy thuộc vào giá trị của cácmẫu và n được gọi là độ phân giải lượng tử hóa (quantization level) và độchênh lệch giữa 2 mức liên tiếp gọi là khoảng lượng tử hóa (quantizationinterval).

Ví dụ: ta sử dụng n=8 bit để biểu diễn các giá trị điện thế liên tục từ022.5 V như sau:

nó thuộc mức 1 vì gần giá trị ở mức 1 hơn

Lượng tử hóa bao gồm hai loại: lượng tử hóa đều và lượng tử hóakhông đều

Lượng tử hóa đều là quá trình mà biên độ xung lấy mẫu được chiathành các khoảng bằng nhau, mỗi khoảng là một bước lượng tử đều ∆

Trang 31

Hình 3.3: Lượng tử hóa đều

Lượng tử hóa không đều là quá trình mà biên độ xung lấy mẫu đượcchia thành các khoảng không đều nhau, nguyên tắc là khi biên độ xung lấymẫu càng lớn thì độ dài bước lượng tử càng lớn

Hình 3.4: Lượng tử hóa không đều

3.1.3 Mã hóa dữ liệu

Quá trình mã hóa dữ liệu thực hiện các thao tác mã hóa dữ liệu trước

Ngày đăng: 02/04/2017, 10:34

HÌNH ẢNH LIÊN QUAN

BẢNG PHÂN CÔNG CÔNG VIỆC - CÁC PP MÃ HÓA VÀ NÉN ÂM THANH THEO CHUẨN MPEG, DEMO NÉN ÂM THANH BẰNG THƯ VIỆN LAME PROJECT
BẢNG PHÂN CÔNG CÔNG VIỆC (Trang 1)
Hình 3.6: Giới hạn bảng chứa nhãn cho chuỗi lối vào (a 1 , a 2 , a 3 ) - CÁC PP MÃ HÓA VÀ NÉN ÂM THANH THEO CHUẨN MPEG, DEMO NÉN ÂM THANH BẰNG THƯ VIỆN LAME PROJECT
Hình 3.6 Giới hạn bảng chứa nhãn cho chuỗi lối vào (a 1 , a 2 , a 3 ) (Trang 34)
Hình 3.9: Tần số che - CÁC PP MÃ HÓA VÀ NÉN ÂM THANH THEO CHUẨN MPEG, DEMO NÉN ÂM THANH BẰNG THƯ VIỆN LAME PROJECT
Hình 3.9 Tần số che (Trang 39)
Đồ thị sau: - CÁC PP MÃ HÓA VÀ NÉN ÂM THANH THEO CHUẨN MPEG, DEMO NÉN ÂM THANH BẰNG THƯ VIỆN LAME PROJECT
th ị sau: (Trang 40)
Hình 3.10: Thời gian che - CÁC PP MÃ HÓA VÀ NÉN ÂM THANH THEO CHUẨN MPEG, DEMO NÉN ÂM THANH BẰNG THƯ VIỆN LAME PROJECT
Hình 3.10 Thời gian che (Trang 40)
3.3.6. Sơ đồ mã hóa MPEG - CÁC PP MÃ HÓA VÀ NÉN ÂM THANH THEO CHUẨN MPEG, DEMO NÉN ÂM THANH BẰNG THƯ VIỆN LAME PROJECT
3.3.6. Sơ đồ mã hóa MPEG (Trang 48)
Hình 4.1: Giao diện chính - CÁC PP MÃ HÓA VÀ NÉN ÂM THANH THEO CHUẨN MPEG, DEMO NÉN ÂM THANH BẰNG THƯ VIỆN LAME PROJECT
Hình 4.1 Giao diện chính (Trang 52)
Hình 4.7: Giao diện cài đặt thông số dữ liệu ra - CÁC PP MÃ HÓA VÀ NÉN ÂM THANH THEO CHUẨN MPEG, DEMO NÉN ÂM THANH BẰNG THƯ VIỆN LAME PROJECT
Hình 4.7 Giao diện cài đặt thông số dữ liệu ra (Trang 56)
Hình 4.10 Giao diện sau khi nén hoàn thành - CÁC PP MÃ HÓA VÀ NÉN ÂM THANH THEO CHUẨN MPEG, DEMO NÉN ÂM THANH BẰNG THƯ VIỆN LAME PROJECT
Hình 4.10 Giao diện sau khi nén hoàn thành (Trang 57)
Hình 4.9 Giao diện cảnh báo định dạng không phù hợp - CÁC PP MÃ HÓA VÀ NÉN ÂM THANH THEO CHUẨN MPEG, DEMO NÉN ÂM THANH BẰNG THƯ VIỆN LAME PROJECT
Hình 4.9 Giao diện cảnh báo định dạng không phù hợp (Trang 57)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w