TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
BÁO CÁO BÀI TẬP LỚN
TRUYỀN THÔNG ĐA PHƯƠNG TIỆN
Đề tài:Công nghệ nén âm thanh dải rộng MP3
Giáo viên hướng dẫn : PGS.TS NGUYỄN THỊ HOÀNG LAN
Nhóm sinh viên:
1. Nguyễn Đức Mạnh 20101862
2. Cao Thanh Hoàng 20101569
3. Trịnh Công Nam 20101926
HÀ NỘI 12-2014
1
MỤC LỤC
I.Tìm hiểu công nghệ nén âm thanh số mp3
I.1Cơ bản âm thanh dải rộng
Bản chất của âm thanh là tín hiệu, dựa trên dải tần của tín hiệu người ta chia thành
2 loại như sau:
• Âm thanh dải tần cơ sở (âm thanh tiếng nói thoại) với dải tần số từ 300Hz đến
4KHz
• Âm thanh tiếng nói dải rộng (tiếng nói trình diễn, hát, âm nhạc…) với dải tần số từ
100Hz đến 20KHz.
Âm thanh đầu vào của quá trình nén file mp3 là âm thanh dải rộng .
I.2Công nghệ xử lý nén âm thanh MP3
I.2.1 Chuẩn MPEG-1
Tổ chức tiêu chuẩn quốc tế (ISO) là một liên đoàn quốc tế nhằm mục đích là tạo
thuận lợi cho việc trao đổi hàng hóa quốc tế và các dịch vụ bằng cách đưa ra các chuẩn
quốc tế. MPEG (Moving Picture Experts Group) là một chuẩn phổ biến được quy định để
mã hóa/nén của hình ảnh động, âm thanh và sự kết hợp của chúng. Tiêu chuẩn này có đặc
tính chung, có nghĩa là bất kỳ bộ giải mã nào sử dụng chuẩn này đều có khả năng giải mã
một luồng bit được tạo ra bởi một bộ mã hóa ngẫu nhiên sử dụng cùng một chuẩn. Hơn
nữa, việc đảm bảo chất lượng cho hình ảnh và âm thanh cũng là hết sức cần thiết.
Quá trình phát triển bắt đầu vào năm 1988 và hoàn thành vào năm 1992 đã cho ra
chuẩn MPEG-1. Chuẩn này bao gồm ba thành phần khác nhau:
• Phần âm thanh
• Phần hình ảnh
• Phần hệ thống.
Phần hệ thống là một mô tả cách thức truyền tải nhiều tín hiệu âm thanh và hình
ảnh dựa trên sự sắp xếp của một phương tiện duy nhất. Việc sử dụng chuẩn MPEG-1 cho
phép truyền tải hình ảnh và kết hợp với âm thanh với bitrate trong khoảng 1-2Mbits/s.
Đối với phàn âm thanh, có ba mức độ nén và phức tạp được định nghĩa: Layer I,
Layer II và Layer III. Tăng độ phức tạp yêu cầu bằng thông để truyền ít hơn kể từ lúc các
2
chương trình nén bắt đầu trở nên có hiệu quả hơn. Bảng 4,1 sẽ cho thấy tốc độ truyền cần
thiết cho mỗi Layer :
Lớp thứ ba nén một file âm thanh PCM gốc bằng thừa số của 12 mà không có bất
kỳ sự giảm chất lượng đáng chú ý nào, làm cho layer này nén có hiệu quả nhất và phức
tạp nhất trong ba layer. Chuẩn MPEG-1 Layer III thường được gọi là MP3.
.
I.1.2 Bitrate
Bitrate là một tùy chọn người dùng mà đã được thiết lập trước khi mã hóa. Nó sẽ
thông báo cho các bộ mã hóa về số lượng dữ liệu được phép chạy cho mỗi giây của âm
thanh không nén. Điều này cho phép người dùng có cơ hội lựa chọn chất lượng của luồng
dữ liệu được mã hóa. Chuẩn Layer III định ra các bitrate trong khoảng từ 8 kbit/s đến 320
kbit/s , mặc định thường là 128 kbit/s. Một thông số bitrate cao hơn có nghĩa là các mẫu
sẽ được đo chính xác hơn đem đến một âm thanh có chất lượng được cải thiện hơn.
I.1.3 Tần số lấy mẫu
Độ phân giải âm thanh chủ yếu phụ thuộc vào tần số lấy mẫu, mà có thể được xác
định bằng số lần trên một giây tín hiệu được lưu trữ. Một bitrate cao sẽ cho độ chính xác
cao hơn về một giá trị lấy mẫu trong khi một tần số lấy mẫu cao cho phép có khả năng
lưu trữ được nhiều hơn các giá trị, mà lần lượt đưa ra một phổ tần số rộng hơn.
Các kiểu kênh
Có bốn kiểu kênh khác nhau được định nghĩa:
• Kênh đơn
• Kênh đôi ( các kênh được mã hóa đọc lập với nhau)
• Stereo
• Joint Stereo
3
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ế.
I.1.4 Một số kĩ thuật nén dữ liệu
Các lý thuyết về nén dữ liệu lần đầu tiên được xây dựng bởi Claud E. Shannon vào
năm 1949 khi ông đưa ra luận văn của mình “A Mathematical Theory of
Communication”. Ông đã chứng minh được rằng, trong một giới hạn nhất định thì ta có
thể nén dữ liệu mà không làm mất mát thông tin trong đó.Điều này có nghĩa là khi dữ liệu
bị nén được giải nén thì luông dữ liệu bit sẽ giống hệt với luồng dữ liệu bit ban đầu. Kiểu
nén dữ liệu này được gọi là “lossless” - nén không mất mát thông tin . Giới hạn này, hệ
số entropy, phụ thuộc vào xác suất các chuỗi bit nhất định của dữ liệu. Có thể nén dữ liệu
với hệ số nén tiến gần tới hệ số entropy. Lưu ý rằng hệ số entropy chỉ được áp dụng để
nén mà không làm mất mát dữ liệu.
Ngoài nén không làm mất mát dữ liệu cũng có nén nhưng làm mất mát dữ liệu.
Dữ liệu được giải nén ở đây không được chính xác như dữ liệu gốc ban đầu. Thay vào đó
một khối lượng thông tin bị biến dạng nhất định được phép xảy ra. Nén bị mất mát thông
tin có thể được chấp nhận đối với các nguồn như là lời nói và hình ảnh mà ta không cần
biết tất cả các chi tiết để hiểu được.
Sau đây, ta sẽ tìm hiểu về ba kỹ thuật nén không mất mát cơ bản.
Runlength Encoding (RLE)
Thay cho việc ta sử dụng bốn bit cho các bit 0 đầu tiên kế tiếp nhau thì một cách
đơn giản là chỉ ra có bốn bit 0 kế tiếp nhau. Điều này chỉ có ý nghĩa khi chuỗi bit là
không ngẫu nhiên, và đó là một tập các bit kế tiếp nhau.
Move To Front Encoding (MTF)
Đây là kỹ thuật lý tưởng cho các chuỗi với thuộc tính mà sự xuất hiện của một ký
tự cho cho thấy nó có nhiều khả năng xảy ran ngay sau đó. Một bảng giống như bảng
trong hình 2.1 sẽ được sử dụng. Bảng ban đầu sẽ được xây dựng bởi các vị trí của các ký
tự sắp được nén. Bởi vậy, bởi vậy nếu dữ liệu bắt đầu với các ký tự ‘AEHTN…’, N ban
đầu sẽ được mã hóa là 5. Các thủ tục tiếp theo sẽ di chuyển N lên đầu bảng. Giả sử ký tự
4
ngay sau đó là N nó sẽ được đại diện bởi 1, giá trị thấp hơn. Đây chính là gốc rễ của mã
hóa Entropy, các ký tự hay xảy ra hơn sẽ được mã hóa với giá trị nhỏ hơn.
RLE và MTF thường được sử dụng như các thủ tục phụ trong các phương thức khác.
Huffman Coding
Khái niệm Entropy cũng được áp dụng cho Huffman, vì thế các ký tự thường
xuyên xuất hiện hơn sẽ được biểu diễn bằng các mã thấp hơn. Xác suất xuất hiện của các
ký tự có thể được xác định rõ trước khi nén.
Một cây nhị phân được xây dựng với xác suất xuất hiện cụ thể của mỗi ký tự. Việc
mã hóa cho một ký tự nhất định là chuỗi từ gốc cho tới nút là có chưa ký tự đó. Thuật
toán “tham lam” được sử dụng cho việc xây dựng cây tối ưu:
Tìm hai ký tự với khả năng xuất hiện thấp nhất.
Tạo một ký tự mới bằng cách sát nhập hai ký tự đó và thêm xác suất tương ứng
của chúng. Nó phải làm thế nào để xem các ký tự đó với một xác suất bằng nhau.
Lặp lại bước 1 và bước 2 cho đến khi tất cả các ký tự được đưa vào.
Khi giải mã thì bảng xác suất xuất hiện phải được truy xuất đầu tiên. Để biết khi
nào sự biểu diễn của một ký tự kết thúc thì cách đơn giản là ta đi theo cây từ gốc tới khi
ký tự đó được tìm thấy.
I.3 Công nghệ nén âm thanh MP3
5
I.2.1 Sơ đồ mã hóa MP3
Quá trình mã hóa mp3 chia làm 2 giai đoạn :
+ Encoding time domain : PCM Input , Analysis polyphase Fitterbank , FFT , MDCT
with Window .
+ Encoding frequency domain : Posycho-acoustic Model , Scale and Nonunniform
Quantizer , Code of Side Information , Huffman coding , Bitstream Formatting And CRC
word generation .
File mp3 chia ra thành nhiều frame. Cấu trúc mỗi frame như sau:
• Header: chứa thông tin về sysworld(dấu hiệu bắt đầu frame) tấn số lấy mẫu,
bitrate, kênh, tầng nén(layer).
• Side info: chứa thông tin về cây Huffman, hệ số hiệu chỉnh, thông số lượng tử hóa
và lựa chọn cửa sổ.
• Main data: chứa dữ liệu phổ đã được mã hóa bằng mã Huffman.
6
• Ancillary data: dữ liệu phụ trợ được thêm bởi người dùng, không được định nghĩa
trong chuẩn.
• Kích thước cũng là tùy thuộc vào tần số lấy mẫu theo công thức sau:
I.2.2 Băng lọc ánh xạ (Analysis filterbank)
Một băng lọc được dùng để phân tách tín hiệu vào thành các mẫu nhỏ hơn (trên
miền thời gian hoặc tần số) kèm theo đó có thể là một bộ lọc đơn giản. Cùng với băng lọc
tương ứng ở bộ giải mã, nó tạo thành một hệ thống phân tích và tổng hợp.
Một chuỗi 1152 mẫu PCM được lọc qua 32 subband tương đương phụ thuộc vào
tần số Nyquist của tín hiệu PCM. Nếu tần số lấy mẫu của tín hiệu PCM là 44.1 kHz thì
tần số Nyquist sẽ là 22.05 kHz. Mỗi subband sẽ có độ rộng xấp xỉ 22050/32 = 689 Hz.
Subband thấp nhất sẽ có khoảng từ 0 – 689 Hz, tiếp theo là 689 – 1378… Mỗi mẫu có thể
chứa các thành phần tín hiệu từ 0 – 22.05 kHz và sẽ được lọc vào các subband thích hợp.
Điều này có nghĩa là số lượng mẫu sẽ được tăng lên theo một nhân tố của 32 khi mỗi
subband chứa một phổ con của mẫu. Ví dụ, lọc 100 mẫu sẽ tăng số lượng mẫu lên 3200.
100 mẫu này trong mỗi subband sau đó sẽ được chia cho 32. Số lượng mẫu bây giờ giảm
từ 3200 về 100.
I.2.3 Modified discrete cosine transform (MDCT)
Bằng việc áp dụng một MDCT vào mỗi khung thời gian của các mẫu subband,
mỗi subband sẽ được chia thành 18 subband nhỏ hơn, tạo ra 576 dòng tần số. Nhưng
trước MDCT, mỗi tín hiệu subband phải được qua hàm cửa sổ.
Cửa sổ được dùng để giảm sai số gây ra bởi các cạnh của đoạn tín hiệu thời gian.
Có bốn loại cửa sổ khác nhau được định nghĩa trong chuẩn MPEG. Phụ thuộc vào độ của
tĩnh của mô hình âm thanh tri giác sẽ quyết định loại cửa sổ nào được áp dụng và chuyển
thông tin tới khối này.
Nếu mô hình âm thanh tri giác quyết định rằng tín hiệu subband ở khung thời gian
hiện tại thể hiện ít sự khác biệt với khung thời gian trước đó thì loại cửa sổ dài được áp
dụng nhằm làm tăng cường độ phân giải phổ được đưa ra bởi MDCT. Nếu tín hiệu
subband thể hiện sự khác biệt tương đối với khung thời gian trước đó, loại cửa sổ ngắn sẽ
được áp dụng. Loại cửa sổ này chứa ba loại cửa sổ ngắn gối lên nhau và sẽ tăng cường độ
phân giải thời gian được đưa ra bởi MDCT. Một độ phân giải thời gian cao hơn là cần
7
thiết để kiểm soát thời gian. Để nhận được một sự thích nghi tốt hơn khi chuyển tiếp các
cửa sổ, hai loại cửa sổ được định nghĩa là cửa sổ bắt đầu và cửa sổ kết thúc.
Một cửa sổ dài trở thành một cửa sổ bắt đầu nếu nó ngay sau nó là một cửa sổ
ngắn. Tương tự, một cửa sổ dài trở thành một cửa sổ kết thúc nếu ngay trước nó là một
cửa sổ ngắn. Những phần nhiễu tạo ra bởi băng lọc bây giờ được cắt bỏ để làm giảm
lượng thông tin cần truyền đi.
I.2.4 Fast Fourier Transform (FFT)
Cùng lúc khi tín hiệu được xử lý bởi băng lọc, nó cũng được chuyển sang miền tần
số bởi một FFT. Cả 1024 và 256 điểm FFT được thực hiện trên 1152 mẫu PCM tại cùng
thời điểm để đạt được độ phân giải tần số cao hơn và thông tin trên phổ thay đổi theo thời
gian.
I.2.5 Mô hình âm thanh tri giác (Psychoacoustic Model)
Khối này truy nhập dữ liệu vào từ đầu ra của FFT. Khi các mẫu ở trong miền tần
số, chúng có thể áp dụng cho một tập các thuật toán. Các thuật toán này sẽ mô hình cảm
giác âm thanh con người và từ đó có thể cung cấp thông tin về phần tín hiệu âm thanh
nào nghe được và phần nào không. Thông tin này rất hữu ích để quyết định loại cửa sổ
nào cho MDCT áp dụng và cũng là để cung cấp thông tin làm thế nào để lượng tử hóa các
dòng tần số cho khối Nonuniform Quantization.
8
Để biết được loại cửa sổ nào được gửi tới khối MDCT, ta sẽ so sánh hai phổ FFT
ngay sau đó và hai phổ ngay trước đó. Nếu có sự khác biệt thật sự thì sẽ yêu cầu một cửa
sổ ngắn. Ngay khi không còn sự khác biệt, khối MDCT sẽ chuyển lại thành cửa sổ dài.
Mô hình âm thanh tri giác cũng phân tích phổ FFT để phát hiện âm chi phối tại
mỗi subband để tính toán ngưỡng che. Các thành phần tần số dưới ngưỡng che này sẽ bị
lọc. Các ngưỡng giới hạn cho mỗi băng được sử dụng cho khối lượng tử hóa để giữ nhiễu
lượng tử hóa dưới những giới hạn này (không bị nghe bởi con người).
9
10
Phổ của một tín hiệu âm thanh bao gồm 1 âm mạnh tại 11.250 kHz và nhiễu. Đồng
thời cũng cho thấy việc ảnh hưởng của một ngưỡng che đối với các ngưỡng xung quanh
(a) Tính toán ngưỡng che bao gồm cả ngưỡng che và ngưỡng nghe
(b) Tín hiệu tỷ lệ mặt nạ
(c) Tín hiệu đã được che
I.2.6 Lượng tử hóa không đồng dạng (Nonuniform Quantization)
Khối lượng tử hóa được áp dụng cho 576 giá trị phổ cùng lúc. Điều này được thực
hiện trong hai vòng lặp lồng nhau, một vòng lặp kiểm soát sự sai khác (vòng lặp bên
ngoài) và một vòng lặp kiểm soát tốc độ (vòng lặp bên trong).
Vòng lặp kiểm soát tốc độ
+ Vòng lặp tốc độ thực hiện lấy mẫu trên miền tần số quyết định độ lớn của bước lượng
tử hóa. Ngoài việc chia giá trị lớn thành các vùng, quyết định chọn bảng Huffman cho
mỗi vùng và việc tính toán biên giữa các vùng cũng được diễn ra ở đây.
+ Ta sẽ bắt đầu với các mẫu được lượng tử hóa với bước lượng tử hóa tăng dần cho tới
khi giá trị lượng tử hóa có thể mã hóa sử dụng một trong các giá trị của bảng mã
Huffman. Một bước lượng tử hóa lớn hơn sẽ dẫn theo một giá trị lượng tử hóa nhỏ hơn.
Sau đó bit tổng của mã Huffman được tính toán và so sánh với các bit hiện có. Nếu bit
tổng vượt quá số bit hiện có, bước lượng tử hóa sẽ tăng lên và các thủ tục còn lại sẽ lặp
lại cho tới khi đủ các bit hiện có.
+ Sự phi tuyến đạt được bằng cách lũy thừa mỗi mẫu lên ¾.
Vòng lặp kiểm soát sai khác
+Vòng lặp này kiểm soát các nhiễu lượng tử được tạo ra bởi quá trình lượng tử hóa các
dòng trên miền tần số trong vòng lặp kiểm soát tốc độ. Mục đích là để giữ nhiễu lượng tử
dưới ngưỡng che (cho phép các tiếng ồn do mô hình âm thanh tri giác tạo ra).
+Để định hình nhiễu lượng tử, nhân tố tỉ lệ (mặc định bằng 1.0) được dùng vào các
dòng tần số trong mỗi băng. Các nhân tố tỉ lệ của các băng và bước lượng tử hóa sau đó
được lưu lại trước khi vòng lặp kiểm soát tốc độ được gọi. Sau vòng lặp kiểm soát tốc độ
(bên trong), nhiễu lượng tử hóa sẽ được tính toán. Điều này lặp lại cho tới khi không có
băng nào có tiếng ồn lớn hơn ngưỡng cho phép. Các giá trị của nhân tố tỉ lệ của các băng
quá ồn sẽ tăng cho mỗi vòng lặp được lặp lại. Cuối cùng tai người sẽ không nghe được
tiếng ồn do quá trình lượng tử hóa tạo ra và vòng lặp kết thúc.
11
+Vẫn có những trường hợp cả hai vòng lặp tính toán vô hạn. Để tránh trường hợp này,
có thể kiểm tra một vài điều kiện trong vòng lặp kiểm soát sai khác để dừng quá trình lặp
lại sớm hơn.
Đầu vào vòng lặp:
• Vector độ lớn của 576 giá trị phổ.
• Sự sai khác cho phép của các băng.
• Số lượng băng.
• Các bit hiện có của mã Huffman và mã của nhân tố tỉ lệ.
• Số bit trung bình.
Đầu ra vòng lặp:
• Vector của 576 giá trị lượng tử hóa.
• Nhân tố tỉ lệ.
• Độ lớn thông tin bước lượng tử hóa.
• Số bit hiện không sử dụng .
• Cờ nhấn mạnh trước vòng lặp.
• Mã Huffman liên quan tới thông tin bên lề.
o big_values (số cặp mã giá trị Huffman, trừ “count1”)
o count1table_select (bảng mã Huffman của các giá trị <= 1 ở phía trên của
phổ)
o table_select (bảng mã Huffman của các vùng)
o region0_count và region1_count (dùng để tính biên giữa các vùng).
o Part2_3_length
I.2.7 Mã hóa Huffman
Các giá trị lượng tử hóa là mã Huffman. Mỗi phép chia phổ tần số có thể mã hóa
dùng các bảng khác nhau. Mã Huffman là một trong những lý do chính khiến cho MP3
có được chất lượng cao tại bitrate thấp.Tất cả thông số bộ mã hóa tạo ra được thu thập để
cho phép bộ giải mã tạo ra tín hiệu âm thanh. Đây là những thông số trong phần thông tin
bên cạnh của khung.
12
II. So sánh sơ đồ công nghệ nén âm thanh MP3 so với sơ đồ mã hóa tiếng nói
theo chuẩn G729 - ITU-T và giải thích sự khác nhau
II.1. Sơ đồ mã hóa tiếng nói theo chuẩn G729 ITU-T
II.2. So sánh hai sơ đồ nén và giải thích
Khác nhau về đối tượng: âm thanh mp3 thường là âm thanh dải rộng có tần số là 100 Hz
– 20kHz. Trong khi đấy âm thanh của tiêng nói nằm từ 300 Hz – 4 kHz. Âm thanh mp3
sẽ cần nhiều bit để lưu trữ hơn. Mặt khác, 1 phần yêu cầu về dung lượng lưu trữ nên mp3
cần thêm mã hóa để giảm dung lượng lưu trữ.
Khác nhau về mục đích sử dụng: âm thanh mp3 thường được sử dụng cho mục đích giải
trí nên chất lượng tốt hơn, chuẩn nén G729 ITU-T sử dụng để thoại nên thường yêu cầu
dung lượng thấp do nhu cầu về chất lượng không cao và hạn chế băng thông đường
truyền.
13
Chất lượng nghe tốt hơn do có ứng dụng mô hình hệ thống thính giác của con
người với ưu điểm này còn giảm được dung lượng mp3.
14
III. Khảo sát các ứng dụng và thử nghiệm chất lượng âm thanh mp3
III.1 Những tiêu chí đánh giá chất lượng âm thanh :
Âm sắc là sự hòa âm, sự tương tác của những âm chính. Âm sắc được biết là
phẩm chất của một nốt nhạc hoặc âm thanh. Âm sắc giúp phân biệt những loại nhạc cụ
khác nhau. Những tính chất vật lý của âm thanh ảnh hưởng đến sự nhận thức âm sắc và
cường độ của người nghe, cái này được biết đến như là chất lượng âm thanh hay “màu
sắc” của âm thanh .
Biến điệu là sự thay đổi pha và tần số của âm thanh .
Cao độ là một đặc tính của tri giác cho phép chúng ta có thể sắp xếp những
âm thanh khác nhau thành một chuỗi những âm có mối tương quan với nhau về tần
số dao động, tức là độ “cao”, “thấp” của âm thanh phụ thuộc vào tần số giao động.
Tần số dao động càng lớn thì âm càng cao và ngược lại.
Tính chân thật của âm thanh có nghĩa là khi người nghe cảm nhận thì âm
thanh phát ra từ loa của thiết bị có chân thật không hay là bị méo.
Tỉ số nén là một thông số nói lên sự chênh lệnh về dung lượng và tốc độ dữ
liệu của một file nhạc mp3. Tỉ số nén càng cao thì chất lượng âm thanh càng tốt.
còn tỉ số nén thấp thì sau khi nén thì dung lượng của file nhạc đã bị cắt giảm rất
nhiều nên chất lượng âm thanh kém.
Bitrate (tốc độ dữ liệu) là đơn vị được đo bởi dung lượng của ổ nhớ cần
thiết để lưu một thời gian nhất định của file nhac. Có 2 loại tốc độ dữ liệu là tốc độ
dữ liệu trước nén và sau nén.
Tần số lấy mẫu trong quá trình biến đổi tín hiệu tương tự thành tín hiệu số
thì có quá trình lấy mẫu có nghĩa là một thời gian nhất định thì được lấy bao nhiêu
mẫu, thì số mẫu đó là tần số lấy mẫu.Tần số này phải thỏa mãn nguyên lý lấy mẫu.
III.2 Công cụ để đánh giá chất lượng âm thanh
Trong phần này thì em chon công cụ spek để đánh giá chất lượng âm thanh. Công
cụ spek là công cụ phân tích phổ tần của một file âm thanh từ đó ta có thể đánh giá được
chất lượng của nó. Từ những tiêu chí trên và phổ tần của spek đã cung cấp thì ta có thể
biết được birate là bao nhiêu, tần số tối đa là bao nhiêu và tránh được sự giả mạo về tốc
15
độ dữ liệu của file nhạc như trên từng trang web hiện nay đang cung cấp. Công cụ này là
phần mềm mã nguồn mở được cung cấp bởi FFMPEG. Trong công cụ này thì để phân
tích phổ tần của một file nhạc thì đã sử dụng các hàm phân tích như là perspective filter
ported from libmpcodecs, Read EXIF metadata và các bộ lọc Aecho filter, Compand filter
. Nguồn download https:// spek.googlecode.com/files/spek-0.8.2.msi .
III.3 Tiến hành đánh giá chất lượng âm thanh.
Từ file nhạc gốc 1 lossless 48000_16_2 .flac.png với bitrate 768 kbit/s , tần số lấy
mẫu là 48000 Hz , mã hóa 16 bit , nguồn đôi stereo chúng ta dùng phần mềm convert
thành các file nhạc :
File 1 : bitrate 320 kbit/s – tần số lấy mẫu 44100 Hz – nguồn đôi .
File 2 : bitrate 128 kbit/s – tần số lấy mẫu 44100 Hz – nguồn đôi .
File 3 : bitrate 128 kbit/s – tần số lấy mẫu 11025 Hz – nguồn đôi .
File 4 : bitrate 32 kbit/s – tần số lấy mẫu 44100 Hz – nguồn đôi .
File 5 : bitrate 32 kbit/s – tần số lấy mẫu 11025 Hz – nguồn đôi .
Ta có các ảnh phổ lần lượt là :
File không mất mát thông tin
16
File 1
File 2
17
File 3
18
File 4
File 5
19
Trong quá trình nén âm thanh theo chuẩn mpeg 1 – layer3 thì có thể nén được
theo nhiều bitrate hoặc tần số lấy mẫu khác nhau.Điều đó đến có rất nhiều các loại nhạc
chất lượng khác nhau => Chúng ta phải đánh giá được chất lượng của các file nén.Công
cụ Spek cho ta biết phổ tần và từ đó ta có thể đánh giá được chất lượng của âm thanh
mp3 .
20
IV. Phân tích ảnh hưởng CODEC đến chất lượng âm thanh mp3.
IV.1 CODEC.
Codec là từ được kết hợp từ Coder-Decoder (hoặc là
CompressorDecompressor),một chương trình phần mềm cho phép mã hóa và giải mã các
luồng dữ liệu số hoặc là tín hiệu .Ta thấy có 2 tham số ảnh hưởng đến chất lượng âm
thanh khi mã hóa mp3 là bitrate và tần số lấy mẫu .
IV.2 CODEC ảnh hưởng đến chất lượng âm thanh mp3 .
Khi bitrate giảm và tần số lấy mẫu không đổi sẽ làm cho dung lượng file giảm
theo , thành phần tần số cao thu được sẽ ít hơn , thành phần tần số thấp sẽ thu được nhiều
hơn. Khi đấy âm thanh sẽ nghe trầm hơn , và khó nghe do chất lượng âm thanh giảm .
Không có thanh phần tần số cao sẽ làm không phân biệt được 1 số âm sắc .
Khi tần số lấy mẫu giảm và bitrate không đổi thì dung lượng file cũng sẽ nhỏ hơn ,
thành phần tần số cao giảm mạnh , các thành phần tần số thấp sẽ thu được nhiều hơn .
Chất lượng âm thanh giảm mạnh là do chu kì lấy mẫu lớn , chênh lệch biên độ lấy mẫu
thu được sẽ nhận sẽ lớn hơn. Nếu đem nguyên dạng đi mã hóa thì âm thanh của chúng ta
thu được sẽ rất khó nghe . Do thành phần tần số cao lúc này đóng vai trò như là tạp âm .
Bắt buộc chúng ta phải lọc các thành phần tần số cao. Lúc này , chúng ta sẽ thu được các
thành phần tần số thấp hơn . Khi đó số mức để mã hóa trong huffman sẽ ít đi rất nhiều .
Nên dung lượng file sẽ giảm đi nhanh chóng .
21
V. Bổ sung kiến thức sau buổi báo cáo và tài liệu tham khảo.
V.1. Bổ sung kiến thức buổi báo cáo bài tập lớn.
Câu 1: Thế nào là dữ liệu số của âm thanh trước khi nén( định dạng dữ liệu)? Tốc độ
dòng dữ liệu?
Dữ liệu số của âm thanh trước khi nén là tín hiệu số sử dụng chuẩn định dạng
PCM (Pulse – Code Modulation). Âm thanh dải rộng có tốc độ 768 kbit/s còn tiếng nói là
64kbit/s.
Âm thanh gốc: 1 CD Audio ( định dạng WAV) được sử dụng chuẩn định dạng
PCM (Pulse- Code Modulation). Trong tín hiệu, dạng sóng của tín hiệu Analog là dạng
Sin, tín hiệu Digital là những bậc cao thấp khác nhau 1 cách liên tục( kiểu như dạng bậc
thang). Âm thanh dạng PCM là chưa bị nén. PCM có các chuẩn: tần số lấy mẫu là
44100Hz, số bit mã hóa của mỗi mẫu là 16 bit. Tại sao khi lưu MP3 vào 1 cái đĩa CD thì
được hơn trăm bài, mà burn thành đĩa nhạc chỉ được có trên 10 bài?
Lý do là vì: dung lượng 1 file nhạc dạng WAV trong 1 giây bằng tần số lấy mẫu nhân số
bit mã hóa của mỗi mẫu. 1 bài nhạc có 2 kênh trái và phải nên dung lượng phải nhân 2
(do 2 kênh độc lập) và 16 bits =2 bytes.
Vậy ta có: 44100 Hz x 2 kênh x 2 bytes x 1 s = 176400 bytes = 172,27 Kb
Suy ra 1 phút nhạc WAV có dung lượng = 172,27 x 60s =10336,2 Kb = 10,1 Mb
Vậy 1 đĩa CD chỉ lưu được khoảng 70 – 80 phút.
Tốc độ chuẩn của file WAV là: 44200 Hz x 2 kênh x 16 bit = 1411Kbps
Như vậy 1 giây của âm thanh gốc sẽ có bitrate là 1411kbps.
22
Câu 2: công thức độ tổn hao?
L
mp3
= ((768 * F
F
) / (B
F
* F
B
))
Trong đó : B
F
là bitrate khi chọn mã hóa và F
f
và F
B
lần lượt là các tần số lấy mẫu khi mã
hóa và tần số chuẩn khi lấy mẫu ban đầu khi vào khối PCM thường là 48kHz hoặc
44.1kHz . Nhưng do mã hóa huffman không mất mát thông tin nên công thức tính đô tổn
hao là :
L
mp3
= ( F
F
/ F
B
) .
23
V.2. Tài liệu tham khảo
Tài liệu tham khảo trên các trang website :
/> />24