b. LPC Vocoder 2,4Kbps
2.3. Mã hóa âm thanh
Tín hiệu âm thanh có thểđược số hóa bởi một thiết bị ADC (Bộ chuyển đổi tương tự/số). ADC nhận tín hiệu đầu vào là điện áp của tín hiệu và đầu ra là các số nhị phân. Xem một ví dụ về một tín hiệu âm thanh ở dạng sóng hình sin (Hình 2.18a). Để biểu diễn tín hiệu này ở dạng số, trước tiên chúng ta lấy mẫu tín hiệu này theo chu kỳ T (Hình. 2.18b). Nếu một tín hiệu âm thanh không phải là một sóng sin chuẩn mà là một sóng sin tổ hợp tuyến tính của nhiều sóng sin khác, và có tần số lớn nhất là f, thì theo định lý Nyquist, tần số lấy mẫu là 2f.
38
Hình 2.18: (a) Một tín hiệu âm thanh hình sin; (b) Lấy mẫu; (c) Lượng tử hóa Kỹ thuật số hóa bằng cách lấy mẫu không bao giờ chính xác. Các mẫu trong hình 2.18c chỉ cho phép có 9 mức giá trị, từ -1,00 đến 1,00 với mỗi bước là 0,25. Việc lấy mẫu 8-bit, cho phép có 256 giá trị. Lấy mẫu 16-bit, sẽ cho 65.536 giá trị. Những lỗi xẩy ra khi giới hạn một số lượng bit trong khi lấy mẫu được gọi là sai số lượng tử hóa. Nếu sai số
quá lớn thì tai người sẽ phát hiện được.
Hai ví dụ rõ nhất khi sử dụng lấy mẫu âm thanh là điện thoại và đĩa CD nhạc. Trong hệ thống điện thoại, sử dụng 8-bit để lấy mẫu và tần số 8000 lần trong 1 giây. Ở
Bắc Mỹ và Nhật Bản, 7 bit là cho dữ liệu và 1 là cho kiểm soát; ở Châu Âu đang có tất cả
8 bit cho dữ liệu. Hệ thống này cho phép truyền dữ liệu 56.000 bps hay 64.000 bps. Với việc lấy tần số 8.000 mẫu / giây, thì những tần số lớn hơn 4 kHz sẽ mất.
Các đĩa CD được số số hóa với một tỷ lệ lấy mẫu 44.100 mẫu/giây, đủ để số hóa các tần số lên tới 22.050 Hz, đó là đủ tốt cho nhiều người, nhưng xấu cho những người yêu âm nhạc. Lưu ý lấy mẫu 16-bit, chỉ cho phép có 65.536 giá trị khách nhau. Do đó, bằng cách sử dụng chỉ 16 bit trong mỗi mẫu sẽ sinh ra nhiễu lượng tử. Với 44.100 mẫu / sec/16 mỗi bit, một đĩa CD âm thanh cần băng thông 705,6 Kbps cho âm thanh mono và 1,411Mbps cho âm thanh stereo. Mặc dù yêu cầu thấp hơn nhu cầu để truyền video nhưng nó vẫn còn chiếm gần nhưđầy đủ một kênh T1 để truyền đĩa âm thanh CD chất lượng stereo (không nén) trong thời gian thực.
Số hoá âm thanh có thể dễ dàng xử lý bằng các phần mềm máy tính. Có rất nhiều chương trình viết cho máy tính cá nhân cho phép người sử dụng ghi chép, hiển thị, chỉnh sửa, pha trộn, và lưu trữ âm thanh từ nhiều nguồn.
Như chúng ta đã biết, để truyền âm thanh chất lương CD yêu cầu băng thông là 1,411 Mbps, do vậy cần thiết phải nén để truyền đi trên Internet. Vì lý do này, các thuật toán nén âm thanh đã được phát triển. Có lẽ là phổ biến nhất là chuẩn nén âm thanh
39
MPEG, trong đó MP3 (MPEG audio layer 3) là mạnh và được biết đến nhiều nhất. Có một lượng lớn âm nhạc dạng MP3 có sẵn trên Internet hiện nay. MP3 thuộc phần âm thanh của tiêu chuẩn nén video MPEG.
Nén âm thanh có thểđược thực hiện theo một trong hai cách. Cách thứ nhất là mã hóa dạng sóng, các tín hiệu được biến đổi toán học bằng phép biến đổi Fourier thành các thành phần tần số. Các biên độ của mỗi thành phần sau đó được mã hóa. Mục tiêu là để
tái tạo lại dạng sóng một cách chính xác với số lượng bit mã hóa thấp nhất có thể. Cách thứ hai là mã hóa dựa trên cảm nhận của các giác quan của con người. Ở đây, người ta khai thác một số điểm yếu trong hệ thống thính giác của con người để mã hoá một tín hiệu, đó là mã hóa dựa trên khoa học tâm sinh lý nghe (Psychoacoustics) – cách thức con người cảm nhận âm thanh. Chuẩn nén MP3 dựa trên mã hóa cảm nhận này (perceptual coding).
Đặc tính chính của mã hóa cảm nhận là một số âm thanh có thể che các âm thanh khác. Hãy tưởng tượng bạn thổi sáo trong một ngày mùa hè ấm áp. Sau đó, đột ngột có một nhóm thợ gần đó bật búa khoan và bắt đầu phá mặt đường. Khi đó không ai có thể
nghe được sáo nữa. Âm thanh của tiếng sáo đã bị che bởi âm thanh của tiếng búa. Do vậy
để mã hoá chỉ cần tần số bằng tần số của búa bởi vì không thể nghe được tiếng sáo. Đây là gọi là che tần số (frequency masking) - khả năng một âm thanh lớn trong một băng tần số sẽ che những âm thanh có tần số thấp hơn và do vậy chỉ có thể nghe những âm thanh có tần số lớn. Trong thực tế, ngay cả sau khi âm thanh của tiếng búa ngừng, cũng không thể nghe thấy các âm thanh của tiếng sao trong một khoảng thời gian ngắn. Hiện tượng này được gọi là che thời gian (temporal masking).
Để hiểu rõ thêm chúng ta xem xét một số thí nghiệm sau. Đầu tiên, một người trong một phòng yên lặng đã cắm tai nghe vào máy tính. Máy tính tạo ra một sóng sin 100 Hz ở mức thấp, nhưng dần dần tăng lên. Người này sẽ nhấn vào một nút để báo hiệu khi nghe thấy. Máy tính sẽ lưu lại những ngưỡng này. Tiến hành lặp lại thử nghiệm ở các tần sô 200 Hz, 300 Hz, và tất cả các tần số khác cho đến giới hạn nghe của con người. Khi tính trung bình trên nhiều người, ta có một đồ thị ghi lại những ngưỡng nghe thấy theo như hình 2.19a. Kết quả cho thấy không bao giờ cần thiết phải lưu trữ bất kỳ tần số
nào mà nhỏ hơn tần số con người có thể nghe được. Ví dụ, nếu âm thanh có tần số 100 Hz và âm lượng 20 dB trong 2.19b, thì nó có thể bị bỏ qua mà không thể nhận ra được bởi vì nó nằm dưới ngưỡng nghe của con người.
40
Hình 2.19: (a) Đồ thị ngưỡng nghe theo tần số; (b) Che tần số
Thí nghiệm 2: Các máy tính chạy ở thí nghiệm trước thêm lần nữa, nhưng cốđịnh biên độở 150Hz. Chúng ta thấy là ngưỡng nghe với âm thanh có tần số gần 150 Hz được nâng lên, như hiển thị trong hình 2.19b.
Kết quả quan sát mới này cho thấy chúng ta có thể loại bỏ nhiều hơn nữa khi mã hóa tín hiệu. Trong 2.19b, các tín hiệu có tần số 125Hz có thể được bỏ qua hoàn toàn ở đầu ra, và không ai có thể thấy sự khác biệt. Bản chất của MP3 là sử dụng biến đổi Fourier để lấy điểm ngưỡng cho mỗi tần số và sau đó chỉ truyền tải những tần số không bị che.
Với những thông tin nền tảng như vậy, bây giờ chúng ta có thể xem mã hóa được thực hiện như thế nào. Các âm thanh nén được thực hiện bằng cách lấy mẫu ở dạng sóng tại 32 KHz, 44,1 KHz và 48 KHz. Mẫu có thể được thực hiện trên một hoặc hai kênh, ở
trong bất kỳ bốn cấu hình: 1. Monophonic (một đầu vào).
2. Dual Monophonic (hai đầu vào ví dụ như, một tiếng Anh và một tiếng Nhật Bản). 3. Phân chia stereo (mỗi kênh được nén riêng).
4. Joint stereo .
Đầu tiên, tốc độ bit đầu ra được chọn. MP3 có thể nén một đĩa rock 'n roll CD dạng stereo xuống 96 Kbps với thiệt hại nhỏ về chất lượng, thậm chí các fan của rock 'n roll cũng không thể thấy. Đối với các đĩa hòa nhạc piano, cần ít nhất là 128 Kbps. Bởi vì có những sự khác nhau giữa tỷ lệ các tín hiệu trên nhiễu (SNR) của rock 'n roll cao hơn nhiều so với hòa tấu piano.
Sau đó, các mẫu được xử lý trong các nhóm 1152 (trị giá khoảng 26 msec). Mỗi nhóm đầu tiên được đưa qua 32 bộ lọc số để có được 32 dải tần số. Trong thời gian đó, các yếu tố đầu vào được đưa vào mô hình tâm sinh lý nghe (psychoacoustic) để xác định những tần số bị che. Tiếp theo, mỗi một trong 32 băng tần được biến đổi tiếp để cung cấp một dải tần (phổ) phù hợp.
41
Trong giai đoạn kế tiếp, các bit mã hóa được phân bố vào các băng tần, sao cho phần lớn bit thuộc vào những băng tần có có công suất phổ không bị che, một lượng bit ít hơn được phân bố vào các băng tần không bị che nhưng có phổ công suất thấp hơn và không bit nào được cấp phát cho các băng bị che. Cuối cùng, các bit được mã hoá bằng cách sử dụng mã hóa Huffman.
So sánh giữa nén thoại và nén âm thanh được mô tả vắn tắt ở bảng dưới đây
Nén thoại Nén âm thanh
Chủ yếu cho các ứng dụng điện thoại
Chủ yếu cho âm nhạc (bao gồm cả thoại) với yêu cầu chất lượng cao. Âm nhạc có băng tần rộng hơn và đa kênh
Nén dạng sóng tốc độ cao cho âm thanh tự
nhiên, trung thực. Thường kết hợp kỹ thuật dựđoán
Nén dạng sóng đểđảm bảo âm thanh tự
nhiên, trung thực
Nén theo mô hình, tốc độ thấp, cho âm thanh không tự nhiên nhưng đủ hiểu
Khai thác đặc tính của hệ thống thính giác
để xác định các mức lượng tử khác nhau cho các băng tần con (mã hóa theo cảm nhận)
• Mỗi thành phần tần sốđược lượng tử với giá trị bước lượng tử phụ
thuộc vào ngưỡng nghe
• Không mã hóa tín hiệu mà tai
không nghe được
Bảng 2.3: So sánh giữa nén thoại và nén âm thanh