Các thuật toán mã hóa MP3 làm việc dựa trên các quy tắc về mức độ cảm nhận âm thanh của tai người. Tai con người chỉ có khả năng cảm nhận được những âm thanh nằm trong khoảng tần số từ 16 Hz 20 KHz, âm thanh nằm ngoài dải tần số đó coi như vô nghĩa. Hơn nữa tại cùng một thời điểm, khi nghe những âm thanh với âm lượng lớn, người dùng sẽ khó có thể cảm nhận được những âm thanh có âm lượng rất nhỏ. Bằng cách sử dụng các thuật toán riêng giúp MP3 có thể phân biệt được các đoạn âm thanh có tần số quá cao hay quá thấp, và loại bỏ những tạp âm không cần thiết.
Trang 1─────── * ───────
BÁO CÁO BÀI TẬP LỚN
HỌC PHẦN: TRUYỀN THÔNG ĐA PHƯƠNG TIỆN IT4681
NÉN ÂM THANH DẢI RỘNG MP3
Giảng viên hướng dẫn: PGS.TS Nguyễn Thị Hoàng lan Nhóm sinh viên thực hiện:
Trang 2Mục lục
Mục lục 2
Danh mục hình vẽ 4
Phần 1 Giới thiệu âm thanh số theo chuẩn MPEG 5
1.1 Giới thiệu chuẩn MPEG-1 5
1.2 Các khác niệm 6
1.2.1 Âm thanh dải rộng 6
1.2.2 Bitrate 6
1.2.3 Tần số lấy mẫu 6
1.2.4 Ngưỡng nghe, ngưỡng che 7
1.2.5 Các kiểu kênh 7
Phần 2 Công nghệ nén âm thanh dải rộng MP3 8
2.1 Tổng quan MP3 8
2.2 Cấu trúc file MP3 8
2.3 Công nghệ nén âm thanh MP3 10
2.3.1. Bộ lọc (Filterbank) 10
2.3.1. Mô hình thụ cảm (Perceptual Model) 10
2.3.1 Âm thanh nổi kết hợp (Joint Stereo) 10
2.3.1 Rút gọn và mã hóa (Quantization and Coding) 11
2.4 Các kỹ thuật liên quan 12
2.4.1 Mô hình thụ cảm (Mô hình âm thanh tri giác) 12
Phần 3 Phân tích, so sánh với phương pháp nén tiếng nói thoại chuẩn ITU 15
3.1 Phương pháp mã âm thanh theo các chuẩn ITU 15
3.1.1 Các phương pháp mã hóa tiếng nói 15
3.1.2 Kiến trúc của hệ thống mã hóa âm thanh thoại 16
Phần 4 Thử nghiệm ứng dụng MP3 19
4.1 Các tiêu chí Đánh giá chất lượng âm thanh 19
Trang 34.2 Công cụ và quy trình thực hiện 19
4.2.1 Công cụ 19
4.2.2 Quy trình thực hiện 20
4.3. Thực nghiệm Đánh giá chất lượng âm thanh 20
4.4 So sánh mã âm thanh MP3 với mã hóa âm thanh theo chuẩn ITU 22
Phần 5 Ảnh hưởng codec đến chất lượng âm thanh 23
5.1 Giải thích sơ đồ xử lý nén âm thanh số MP3 23
5.1.1 Giàn lọc (Filterbank) - MDCT 23
5.1.2 FFT-Mô hình cảm quan(Psychoacoustic model) 23
5.1.3 Lượng tử hóa và mã hóa (Quantization and Coding) 24
5.1.4 Định dạng dòng bit (bitstream formatting) 24
5.2 Phân tích ảnh hưởng của nén đến chất lượng âm thanh 25
Phần 6 Đánh giá hoạt động nhóm 26
6.1 Phân chia công việc 26
6.2 Mức độ đóng góp và hoàn thành công việc 26
6.3 Tổng kết 26
Tài Liệu Tham Khảo 27
Trang 4Danh mục hình v
Hình 1 Sơ đồ nén âm thanh dải rộng MP3 10
Hình 2 ngưỡng nghe theo tần số 12
Hình 3 Mặt nạ tần số 13
Hình 4 Mặt nạ thời gian 13
Hình 5 Sơ đồ khối của hệ thống xử lý tín hiệu thoại 17
Hình 6 Sơ đồ khối đơn giản hóa của bộ mã hóa âm thoại 18
Hình 7 Âm thanh lossless và âm thanh MP3 thông dụng 20
Hình 8 Cùng tần số lấy mẫu nhưng bitrate khác nhau 21
Hình 9 Cùng bitrate nhưng tần số lấy mẫu khác nhau 21
Hình 10 MP3 thông dụng (128 KBps -44100Hz) với âm thanh tiếng nói thoại chuẩn G711 22
Hình 11 Tỷ số nén của file nhạc lossless thực nghiệm, sau khi nén với các thông số khác nhau 22
Hình 12 Giải thích sơ đồ xử lý nén âm thanh số MP3 23
Trang 5Phần 1 Giới thiệu âm thanh số theo chuẩn MPEG
1.1 Giới thiệu chuẩn MPEG-1
MPEG (The Moving Picture Experts Group Phase) là chuẩn mã hóa dữ liệu đa phương tiện, bao gồm chuẩn mã hóa hình ảnh, âm thanh, dữ liệu truyền hình, truyền hình HD…
Tiêu chuẩn MPEG-1 ( ISO/IEC 11172) là định dạng âm thanh, phim ảnh của
nhóm chuyên gia ảnh động là một tiêu chuẩn cho định dạng âm thanh, phim ảnh của tổ chức ISO/IEC phát triển nhằm hỗ trợ các thiết bị trình chiếu âm thanh, phim ảnh Mã hóa ảnh động và âm thanh kết hợp cho phương tiện lưu trữ thông tin số 1,5Mbit/s, bao gồm 05 phần:
- ISO/IEC-11172-1- Hệ thống (lưu trữ và đồng bộ\ âm thanh, phim ảnh và các dữ
liệu khác)
- ISO/IEC-11172-2 - Phim ảnh (chứa nội dung của phim ảnh nén)
- ISO/IEC-11172-3 - Âm thanh (chứa nội dụng của âm thanh nén)
- ISO/IEC-11172-4 - Kiểm thử khả năng tương thích (kiểm tra việc triển khai tiêu
chuẩn)
- ISO/IEC-11172-5 - Phần mềm tham chiếu (phần mềm mẫu thực hiện việc mã
hóa và giải mã như thế nào)
MPEG-1 phần Âm thanh (ISO/IEC-11172-3) được chia làm 03 lớp: MPEG-1 phần Âm thanh Lớp I có tỉ lệ bitrate từ 32 – 448 kbit/s (32, 64, 96… 416, 448 kbit/s), Lớp II có tỉ lệ bitrate từ 32-384 kbit/s (32, 48, 56, 64, 80…256, 320, 384 kbit/s), Lớp III có tỉ lệ bitrate từ 32-320 kbit/s (32, 40, 48, 56, 64, 80…224, 256, 320 kbit/s) Việc
mã hóa/giải mã sẽ phức tạp hơn trong lớp cao hơn và sử dụng hiệu quả ở tỉ lệ bitrate thấp hơn
MPEG-1 phần Âm thanh Lớp I có định dạng tệp tin là (.mp1) và định dạng tệp tin của Lớp II là (.mp2), chủ yếu được sử dụng trong phát sóng truyền thanh, truyền
Trang 6hình MPEG-I phần Âm thanh Lớp III, thường được gọi là MP3, có định dạng tệp tin là
(.mp3), là định dạng âm thanh phổ biến trong ngành công nghiệp âm nhạc, giải trí trên Internet do kích thước nhỏ gọn và chất lượng âm thanh của tệp tin.mp3
1.2 Các khác niệm
1.2.1 Âm thanh dải rộng
Dựa trên dải tần của tín hiệu âm thanh, người ta chia thành 2 loại như sau:
là 128 kbit/s).
1.2.3 Tần số lấy mẫu
44100 mẫu trong 1 giây).
Trang 7 Tần số lấy mẫu càng cao:
1.2.4 Ngưỡng nghe, ngưỡng che
a Ngưỡng nghe.
Chú ý: Kênh đôi được tạo ra bởi hai kênh đơn độc lập với nhau Mỗi cái sẽ sử
dụng chính xác một nửa bitrate của file Hầu hết các bộ giải mã đều xuất chúng ra dưới dạng stereo, nhưng không phải trong tất cả các trường hợp đều thế
Trang 8Phần 2 Công nghệ nén âm thanh dải rộng MP3
2.1 Tổng quan MP3
Các thuật toán mã hóa MP3 làm việc dựa trên các quy tắc về mức độ cảm nhận
âm thanh của tai người Tai con người chỉ có khả năng cảm nhận được những âm thanh
nằm trong khoảng tần số từ 16 Hz - 20 KHz, âm thanh nằm ngoài dải tần số đó coi như
vô nghĩa Hơn nữa tại cùng một thời điểm, khi nghe những âm thanh với âm lượng lớn,người dùng sẽ khó có thể cảm nhận được những âm thanh có âm lượng rất nhỏ Bằng cách sử dụng các thuật toán riêng giúp MP3 có thể phân biệt được các đoạn âm thanh
có tần số quá cao hay quá thấp, và loại bỏ những tạp âm không cần thiết
Nói một cách đơn giản hơn đó là chuẩn MP3 có thể nén các tập tin bằng cách
loại bỏ đi những âm thanh dư thừa bao gồm cả tiếng ồn, âm tầng quá cao hoặc quá thấp
và âm nhiễu của sóng điện do dụng cụ thu âm gây ra Đây cũng là những âm thanh chiếm khá nhiều dung lượng của bản nhạc
Ngoài ra còn có 1 thông số ảnh hưởng đến khả năng nén dữ liệu là bit rate của file Mp3, nó có giá trị 128Kbps, 192Kbps, 256Kbps và 320Kbps nhỏ hơn rất nhiều so với 1411Kbps của âm thanh chuẩn, việc giảm bit rate này không ảnh hưởng nhiều đến chất lượng âm thanh do MP3 vẫn có một số thuật toán để bù đắp lại những chỗ mất mát
mà nó đã lược bỏ bằng cách tạo ra những âm thanh méo mó so với âm gốc, mà vẫn không làm giảm chất lượng cảm nhận của tai người khi so sánh với các tập tin chưa qua nén MP3
2.2 Cấu trúc file MP3
File MP3 được chia thành nhiều khối dữ liệu nhỏ, mỗi khối chứa dữ liệu âm
thanh của 0.026s, kích thước mỗi khối dựa trên giá trị bit rate của file
[TAG] Block1 Block2 Block3 … … Block n [TAG]
Trang 9Mỗi khối có 4 bytes đầu quy định các thông số dữ liệu
Block n Header (4bytes) Data
Bits 0-10: đồng bộ hóa các khối, đều được quy định là 1, giúp máy tính phát hiện ra bit
bắt đầu của mỗi khối
Bits 11-12: ID phiên bản MPEG (file MP3 là ‘11’ )
Bits 13-14: Layer (MP3 là ‘01’)
Bits 15: mã kiểm thử CRC (file MP3 không có nên bit này có giá trị ‘1’)
Bits 16-19: Giá trị bit rate của file MP3
010 0
010 1
011 0
011 1
100 0
100 1
101 0
101 1
110 0
110 1
111 0
111 1 FRE
E
32 40 48 56 64 80 96 112 128 160 192 224 256 320 bad
Bits 20-21: Tần số lấy mẫu (file MP3 có giá trị ‘00’, tần số lấy mẫu 44100 nghĩa là mỗi
1/44100 giây của file audio được giải mã ra tín hiệu âm thanh)
Bits 22: Đệm bù dữ liệu (có/không)
Bits 23: Không rõ
Bits 24-25: Kênh (MP3 thường dùng kênh ‘joint stereo’ giá trị là ’01’)
Bits 26-27: Chế độ mở rộng (hiển thị chế độ Joint stereo đang dùng)
Bits 28: Bản quyền (có/không)
Bits 29: Bản gốc (có/không)
Bits 30-31: Không rõ
Ở trước và sau các khối dữ liệu audio trên có 2 thẻ quy định thông tin về tác giả, năm
sx, tên …
Trang 102.3 Công nghệ nén âm thanh MP3
Hình 1 Sơ đồ nén âm thanh dải rộng MP3
1.1.1. Mô hình thụ cảm (Perceptual Model)
Các mô hình thụ cảm chủ yếu là xác định chất lượng của một quá trình mã hóa nhất định Nó sử dụng một bộ lọc riêng biệt hoặc kết hợp tính toán các giá trị năng lượng (energy values) (tạo ra các tính toán che - masking calculations) và các bộ lọc chính Đầu ra của mô hình thụ cảm bao gồm các giá trị cho ngưỡng che hoặc nhiễu chophép đối với mỗi phân vùng mã hóa Nếu nhiễu rút gọn có thể giữ dưới ngưỡng che thì kết quả nén không thể phân biệt các tín hiệu ban đầu
1.1.1 Âm thanh nổi kết hợp (Joint Stereo)
Mã hóa âm thanh nổi tận dụng ưu điểm của cả hai kênh của một cặp kênh âm thanh nổi chứa các thông tin tương tự phía xa Những bất cập và dư thừa âm thanh nổi được khai thác để giảm tổng số tốc độ bít Âm thanh nổi kết hợp được sử dụng trong
Trang 11trường hợp chỉ có tốc độ bít thấp có sẵn nhưng các tín hiệu âm thanh nổi được thỏa mãn.
1.1.1 Rút gọn và mã hóa (Quantization and Coding)
Một hệ thống hai vòng lặp lồng nhau là giải pháp phổ biến để làm tròn và mã hóa trong một bộ mã hóa MP3 Quá trình làm tròn được thực hiện thông qua một hệ số nén dạng lũy thừa Bằng cách này, các giá trị lớn hơn sẽ được tự động mã hóa với độ chính xác kém hơn và một vài dạng nhiễu (noise shaping) đã được tạo trong quá trình rút gọn Các giá trị rút gọn được mã hóa bởi mã hóa Huffman và được gọi là mã hóa không nhiễu âm (noiseless coding) vì nhiễu âm không được thêm vào tín hiệu âm thanh
Quá trình để tìm lợi ích tối ưu và hệ số cho một khối nhất định, tốc độ bít và đầu
ra từ mô hình thụ cảm thường được thực hiện bởi hai vòng lặp lồng nhau theo phương pháp phân tích tổng hợp như sau:
Các bảng mã hóa Huffman gán những mã ngắn hơn (thường xuyên hơn) cho những giá trị hệ số nhỏ hơn Nếu số lượng các bít kết quả từ hoạt động mã hóa vượt quá số lượng bít có sẵn để mã hóa một khối dữ liệu nhất định, việc này có thể thay đổi bằng cách điều chỉnh lợi ích tổng thể cho phép kích thước bước nhảy rút gọn lớn hơn, dẫn đến giá trị rút gọn nhỏ hơn Hoạt động này được lặp đi lặp lại với các kích thước bước nhảy rút gọn khác nhau cho đến khi bít yêu cầu cho mã hóa Huffman là đủ nhỏ Vòng lặp được gọi là vòng lặp tốc độ vì nó thay đổi tốc độ bít của bộ mã hóa cho đến khi nó thuộc vào phạm vi cho phép
Để tạo nhiễu rút gọn cho ngưỡng che, các hệ số được áp dụng cho mỗi băng tần
hệ số Các hệ thống bắt đầu với một hệ số mặc định là 1,0 cho mỗi băng tần Nếu phát hiện nhiễu rút gọn trong một băng tần cho trước vượt quá ngưỡng che (nhiễu cho phép)được cung cấp bởi mô hình thụ cảm, hệ số cho băng tần này được điều chỉnh để giảm nhiễu rút gọn Để thu được một nhiễu rút gọn nhỏ hơn, đòi hỏi số các bước nhảy rút
Trang 12gọn lớn hơn và tốc độ bít cao hơn, tốc độ điều chỉnh vòng lặp phải được lặp đi lặp lại mỗi khi các hệ số mới được sử dụng Nói cách khác, tốc độ vòng lặp được lồng trong vòng lặp kiểm soát nhiễu Vòng lặp bên ngoài (kiểm soát nhiễu) được thực hiện cho đến khi nhiễu thực tế (tính từ các giá trị phổ ban đầu trừ đi các giá trị phổ rút gọn khác nhau) dưới ngưỡng che cho mỗi băng tần hệ số (tức là băng tần quan trọng).
2.4 Các kỹ thuật liên quan
1.1.2 Mô hình thụ cảm (Mô hình âm thanh tri giác)
Là một kỹ thuật dựa vào cảm giác nghe của tai người, chỉ ra những tín hiệu có thể xóa
bỏ mà không ảnh hưởng chất lượng âm thanh
Bao gồm 3 kỹ thuật chính là ngưỡng nghe, mặt nạ tần số và mặt nạ thời gian
Độ nhạy của tai thay đổi theo mỗi thành phần tần số khác nhau nên ta lượng tử hóa tín hiệu audio với số bit khác nhau để giảm kích thước dữ liệu
Hình 2 ngưỡng nghe theo tần số
Hiệu ứng này xảy ra khi nghe hai âm thanh mạnh yếu khác nhau với tần số khác nhau xảy ra cùng lúc, âm mạnh hơn có thể“che khuất” khiến tai không nghe được âm yếu hơn
Trang 14Nén Huffman
Huffman là một thuật toán nén không tổn hao, nó dựa trên bảng tần suất xuất hiệncác kí tự cần mã hóa để xây dựng một bộ mã nhị phân cho các kí tự đó sao cho dung lượng (số bít) sau khi mã hóa là nhỏ nhất
Thuật toán được đề xuất bởi David A Huffman khi ông còn là sinh viên Ph.D tạiMIT, và công bố năm 1952
Dữ liệu đầu vào:
Tập n ký tự A={a1, a2, … , a n}
Tập các trọng số (tần số xuất hiện) W ={w1, w2, … , w n}
Dữ liệu đầu ra:
Bộ mã C ( A , W )={c1,c2, … , c n} là tập hợp các từ mã (codeword) nhị phân với c i là
Giải thuật tham lam
Trong giải thuật tham lam giải bài toán xây dựng cây mã tiền tố tối ưu của
Huffman, ở mỗi bước ta chọn hai chữ cái có tần số thấp nhất để mã hóa bằng từ mã dài
Khởi tạo: Tạo một rừng gồm n cây, mỗi cây chỉ có một nút gốc, mỗi nút gốc tương ứng với một kí tự và có trọng số là tần số/tần suát của kí tự đó W(i)
Lăp:
Mỗi bước sau thực hiện cho đến khi rừng chỉ còn một cây:
Chọn hai cây có trọng số ở gốc nhỏ nhất hợp thành một cây bằng cách thêm một gốc mới nối với hai gốc đã chọn Trọng số của gốc mới bằng tổng trọng số của hai gốc tạo thành nó
Như vậy ở mỗi bước số cây bớt đi một Khi rừng chỉ còn một cây thì cây đó biểu
Trang 15Phần 3 Phân tích, so sánh với phương pháp nén
tiếng nói thoại chuẩn ITU
3.1 Phương pháp mã âm thanh theo các chuẩn ITU
3.1.1 Các phương pháp mã hóa tiếng nói
Mã hóa tiếng nói gồm 3 phương pháp chính:
a Phương pháp mã hóa tín hiệu dạng sóng (waveform)
Bao gồm 2 loại chính:
Mã hóa trong miền thời gian:
Bao gồm các chuẩn từ G.710 đến G.719
chuẩn hóa với chuẩn G.711: mã hóa trực tiếp tín hiệu lấy mẫu tiếng nói, âm thanh dùng các luật lượng tử hóa µ-law, a-law
DPCM
Adaptive Differential Pulse Code Modulation - ADPCM với chuẩn G.726
Mã hóa trong miền tần số
b Phương pháp mã hóa nguồn
Vocoder, tạo ra âm thanh tiếng nói từ tập các tham số Vocoder thanh và nguồn
nhiễu trắng tạo ra âm vô thanh Từ đó, nó mô phỏng hệ thống phát âm bằng hệ thốnglọc dự đoán tuyến tính PLC được kích thích bằng hai trạng thái nguồn
Trang 16 Ưu điểm của phương pháp này là đạt được tốc độ dòng bit thấp, phân tích được các tham số nguồn kích thích, có thể sửa đổi nội dung tiếng nói theo ý muốn Tuy nhiên, nhược điểm của nó là tiếng nói nhận được là tiếng nói tổng hợp không phải làgiọng nói con người.
c Phương pháp mã hóa lai
Analysis-by-Synthesis AbS Phương pháp này sử dụng mô hình phát âm của người của mã hóa nguồn, nhưng mặt khác, tín hiệu kích thích đạt được từ bộ phân tích tín hiệu tiếng nói của chính người nói và được chọn sao cho dạng sóng tiếng nói tái tạo giống với dạng sóng tiếng nói ban đầu nhất Thuật toán tìm ra sóng kích thích này quyết định
độ phức tạp của bộ mã hóa
CELP, RPE-LTP, MPE…
Đánh giá chung về 3 phương pháp: Mã hóa dạng sóng nói chung không cho
phép đạt chất lượng tiếng nói tốt ở tốc độ bit dưới 16Kbps Mã hóa Vocoder có thể đạt được tốc độ bit rất thấp nhưng nhược điểm là rất khó nhận diện được người nói Còn mã hóa lai thường được dùng theo chuẩn GSM
3.1.2 Kiến trúc của hệ thống mã hóa âm thanh thoại
Hình 1 mô tả sơ đồ khối của hệ thống mã hóa âm thoại Tín hiệu âm thoại tương
tự liên tục có từ nguồn cho trước – Speech source sẽ được số hóa bởi bộ một bộ lọc chuẩn - Filter, bộ lấy mẫu (bộ chuyển đổi thời gian rời rạc, lượng tử hóa - Sampler),
và bộ chuyển tín hiệu tương tự sang tín hiệu số - A/D converter Tín hiệu ngõ ra là tín hiệu âm thoại thời gian rời rạc với các giá trị lấy mẫu cũng rời rạc hóa Tín hiệu này được xem là tín hiệu âm thoại số
Trang 17Hình 5 Sơ đồ khối của hệ thống xử lý tín hiệu thoại
Thông thường, hầu hết các hệ thống mã hóa âm thoại được thiết kế để hỗ trợ các
ứng dụng viễn thông, với tần số giới hạn giữa 300 và 3400Hz Tần số lấy mẫu tối thiểu phải lớn hơn hai lần băng thông của tín hiệu liên tục thời gian Giá trị 8kHz thường
được lựa chọn là tần số lấy mẫu chuẩn cho tín hiệu thoại Bộ mã hóa kênh – Channel
encoder thực hiện việc mã hóa hiệu chỉnh lỗi của chuỗi bit truyền trước khi tín hiệu
được truyền trên kênh truyền - Channel, nơi mà tín hiệu sẽ bị thay đổi do nhiễu cũng như giao thoa tín hiệu… Bộ giải mã Channel decoder thực hiện việc hiệu chỉnh lỗi để
có được tín hiệu đã mã hóa, sau đó tín hiệu được đưa vào bộ giải mã Source decoder
để có được tín hiệu âm thoại số có cùng tốc độ với tín hiệu ban đầu Lúc này, tín hiệu
số sẽ được chuyển sang dạng tương tự thời gian liên tục nhờ D/A converter Như vậy,
bộ phận thực hiện việc xử lý tín hiệu thoại chủ yếu của mô hình hệ thống xử lý thoại là
bộ mã hóa và giải mã
Liên hệ với các mô hình thực tế, các khối Filter, Sampler và A/D converter nằm
trên các thiết bị thu âm thanh như micro, có nhiệm vụ thu và số hóa âm thanh chuyển
cho bộ mã hóa – giải mã CODEC Tương tự, ở nên người nhận, các khối D/A
Converter và Filter là một phần của hệ thống phát âm như tai nghe, loa Bộ CODEC
chỉ có thể làm việc với tín hiệu số Bộ CODEC ở bên gửi có nhiệm vụ mã hóa, làm giảm dung lượng của âm thanh, sau đó đóng gói vào các chunk để đặt vào các gói dữ liệu chuyển đi trên mạng IP CODEC ở bên người nhận sẽ nhận, giải mã các gói tin,