2.1.1. Nguyên lý nén âm thanh
Nguyên lý nén âm thanh dựa trên mô hình cảm thụ thính giác. Với mỗi tần số âm thanh thì tai ngƣời chỉ có thể nghe thấy khi mức âm thanh của nó nằm trên đƣờng cong thính giác.
Khi có hai âm thanh tần số f1 vaf f2 cùng đến một lúc thì âm thanh nào có mức thanh áp lớn hơn sẽ lấn lấp âm thanh kia. Nhƣ vậy tai ngƣời không thể nghe đồng thời các âm thanh cùng đến một lúc. Đó là cơ sở vật lý để xây dựng nên phƣơng pháp nén. Trên cơ sở kế quả nghiên cứu sự thay đổi của đƣờng cong thính giác trƣớc tác dụng của các âm thanh có mức âm và tần số khác nhau, thuật toán nén audio đƣợc xây dựng.
Phƣơng pháp chung của nén audio: đem phổ âm thanh chia thành 32 dải con, mỗi dải rộng 750 Hz. Căn cứ vào đƣờng cong thính giác chuẩn đã đƣợc ghi sẵn trong bộ nhớ, đối chiếu xem trong dải nào mức thanh áp trung bình của tín hiệu nhận đƣợc thấp hơn đƣờng cong thính giác thì loại bỏ phần phổ của giải con đó đi vì không nghe thấy, nghĩa là loại bỏ phần thông tin dƣ.
Mã hóa từng mẫu tín hiệu trong những dải con giữ lại để nén thêm. TÍn hiệu đƣợc phân tích và cứ 0.008s lọc 1 lần. Sau đó, trong mỗi dải con lấy 12 mẫu. Nhƣ vậy, trong cả 32 dải con là 32 x 12 = 384 mẫu 16 bit. Trong từng dải con lại mã hóa thích nghi, nghĩa là: thành phần phổ nào quan trọng trong tín hiệu và biên độ cao hơn đƣờng cong thính giác nhiều thì đƣợc gán cho số bit nhiều hơn. Phƣơng pháp này nén âm thanh đƣợc khoảng 3 đến 4 lần mà chất lƣợng vẫn tốt(tai ngƣời không phát hiện ra phần bị loại). [5]
2.1.2. Kỹ thuật nén số liệu audio
Các kỹ thuật mã hóa đƣợc dùng để loại bỏ độ dƣ thừa trong tín hiệu audio và các kỹ thuật “ psychoacoustic – che mặt lạ tâm sinh lý nghe” đƣợc sử dụng để nhận biết và loại bỏ những thành phần không thích hợp. ví dụ: âm thanh âm lƣợng thấp sau âm thanh âm lƣợng cao. MP2 và Vorbis là những ví dụ phổ cập nhất.
Có hai kỹ thuật nén chủ yếu được sử dụng hiện nay là:
- Mã hóa dự đoán trước trong miền thời gian: Phƣơng pháp này sử dụng việc mã hóa khác nhau đối với các thành phần khác nhau của các mẫu liên tiếp mà
có thể khôi phục đƣợc. Việc giảm tốc độ dòng bit đƣợc sử dụng để mã hóa và truyền dẫn thông tin của tín hiệu audio.
- Mã hóa chuyển đổi trong miền tần số: Kỹ thuật này sử dụng các block của các mẫu audio ra từ bộ PCM để chuyển rừ miên thời gian sang miền tần số những dải băng khác nhau.
2.1.2.1. Nén không tổn hao
Nén không tổn hao cho phép khôi phục lại dòng bit những thông tin nguyên thủy sau bộ giải nén mà không gây ra tổn hao. Hệ thống này loại bỏ độ dƣ thừa thống kê, những thông tin tồn tại trong tín hiệu audio có thể dự báo trƣớc từ những mẫu trƣớc đó. Bộ nén số liệu không tổn hao cho các tỷ số nén thấp, tỷ số tốt nhất đạt đƣợc là 2:1, nó phụ thuộc vào sự phức tạp của tín hiệu audio nguồn.
Nén không tổn hao sử dụng những kỹ thuật mã dự đoán trƣớc trong miền thời gian bao gồm:
* Thuật toán vi sai: Các tín hiệu âm thanh có đặc tính là lặp lặp lại, vì vậy sẽ xuất hiện lƣợng dƣ thừa số liệu lớn, ngoài ra còn có những dƣ thừa nhƣ các tín hiệu âm thanh không liên quan đến giác quan con ngƣời. Những thông tin lặp đi lặp lại sẽ đƣợc loại bỏ trong quá trình mã hóa và lại đƣa vào tại quá trình giải mã cuối cùng. Kỹ thuật DPCM thƣờng đƣợc sử dụng trong quá trình này. Các tín hiệu audio đầu tiên đƣợc phân tích thành tập hợp các dải băng con bao gồm một số lƣợng các âm thanh rời rạc. Sau đó, DPCM đƣợc sử dụng nhằm dự báo trƣớc các tín hiệu lặp theo một đoạn chu kỳ. Quá trình mã hóa này tạo ra sự thích ứng trở lại năng lƣợng tín hiệu đầu vào nhằm sửa chữa kích cỡ bƣớc lƣợng tử phù hợp. Bƣớc này đƣợc gọi là bộ thích ứng DPCM (ADPCM).
* Các mã entropy tận dụng độ dƣ thừa trong nhiều cách miêu tả của các hệ số băng con đẵ lƣợng tử hóa nhằm cải thiện tính hiệu quả của quá trình mã hóa.
Các hệ số lƣợng tử này đƣợc gửi đi theo sự tăng dần của tần số, kết quả là chúng có giá trị lớn tại những tần số thấp và tại những tần số cao là một dãy số dài các hệ số nhỏ hoặc bằng không. Mã có độ dài thay đổi đƣợc sử dụng nhƣ Huffman sẽ tạo ra bảng mã tối ƣu thống kê các giá trị miền tần số thấp và cao.
* Các thông số quá tải khối dữ liệu:Các giá trị nhị phân từ quá trình biến đổi ADC đƣợc nhóm thành các khối dữ liệu trong miền thời gian bằng cách lấy các mẫu kề nhau tại đầu ra ADC, lẫn trong miền tần số các hệ số tại đầu ra DCT(Discrete Cosin Transform). Các giá trị nhị phân trong một khối dữ liệu sau đó đƣợc tạo thang độ tiếp sao cho giá trị vừa dƣới giá trị toàn bộ thang. Hệ số thang độ này(gọi là số mũ) là chung cho tất cả các giá trị trong khối. Cho nên, mội giá trị có thể biểu diễn bằng một định trị (giá trị của mẫu) và một số mũ (chỉ thị biên độ riêng của mẫu). Đó là một quá trình lƣợng tử hóa không đều và độ lớn bƣớc lƣợng tử hóa đƣợc xác định bằng số bit chiếm trong khối. Vị trí bit đƣợc tính từ mô hình HAS (Human Auditory System – Hệ thống thính giác của con ngƣời). Giảm tốc độ dữ liệu đƣợc thực hiện bằng cách gửi các giá trị mũ lần 1/ khối dữ liệu. Mặc dù nhiễu phụ thuộc vào nội dung tín hiệu, nhƣng mã hóa đƣợc thực hiện tốt. Kỹ thuật che mặt lạ giúp giảm nhiễu audio.
2.1.2.2. Nén tín hiệu có tổn hao
Nén có tổn hao đƣợc đề cập bởi sự kết hợp của hai hay nhiều hơn các công nghệ xử lý mà nó lợi dụng đặc tính của hệ thống HAS là không thể phân biệt đƣợc các thành phần phổ có biên độ nhỏ giữa các thành phần phổ có biên độ lớn. Các phƣơng pháp giảm số liệu xử lý cao có hệ số nén từ 2:1 đến 20:1. Nó phụ thuộc vào quá trình nén, giải nén và vào yêu cầu chất lƣợng của audio.
Các hệ thống nén số liệu có tổn hao sử dụng công nghệ mã hóa tri giác. Nguyên lý cơ bản của nó là loại bỏ những thành phần dƣ thừa trong tín hiệu audio bằng cách bỏ đi những tín hiệu nằm dƣới đƣờng cong ngƣỡng âm. Điều này giải thích tại sao ngƣời ta gọi các hệ thống nén số liệu có tổn hao là mất các thành phần âm.
Nén làm mất các thành phần âm đƣợc kết hợp từ các kỹ thuật nhƣ: “masking - che” đối với các thành phần tín hiệu trong miên thời gian và miền tần số. Tỷ lệ signal – mask đƣợc sử dụng để xác định số bit cho quá trình lƣợng tử hóa mỗi băng với mục đích giảm thiểu khả năng nghe thấy của âm thanh.
Chặn mức tạp âm lƣợng tử cho từng âm độ của tín hiệu âm thanh bằng cách chỉ định số bit vừa đủ để chắc chắn rằng mức nhiễu lƣợng tử luôn luôn nằm dƣới mức giá trị cần chặn. Tại những tần số gần với tần số tín hiệu âm thanh thì tỷ số tín hiệu trên tạp âm SNR có thể chấp nhận đƣợc là từ 20 dB đến 30 dB, tƣơng đƣơng với độ phân tích từ 4 5 bit.
* Mã hóa nối: Công nghệ này khai thác sự dƣ thừa trong hệ thống audio đa kênh. Ngƣời ta thấy rằng có rất nhiều các phần số liệu ở trong các kênh là giống nhau, do đó ngƣời ta có thể nén số liệu bằng cách mã hóa một phần số liệu chung đó trên một kênh và chỉ định cho bộ giải mã lặp lại tín hiệu đó trên các kênh còn lại.