Chương 4: NÉN ÂM THANH SỐ DÙNG MÃ HOÁ BĂNG CON
4. CHUẨN MPEG-1 LAYER III
4.1. Mô hình mã hoá layer III
Sơ đồ khối của bộ mã hoá âm thanh layer III như hình 4.4.1:
Hình 4.4.1: Sơđồ khối của bộ mã hoá âm thanh Layer III (kênh đơn) Filterbank
32 Subbanks Digital Audo
signal (PCM) 768 Kb/s
Distortion
Control Loop Huffman Encoding
Bitstream Formatting CRC Check Coding of
Side - Infomation FFT
1024 Point
Psycho - acoustic Model
External control Subband
31
0
Coded Audio Signal 192Kb/s
…..
32 Kb/s MDCT Nonuniform
Quantization Rate Control
Loop Line
575
0
Bộ mã hoá được cung cấp dòng dữ liệu âm thanh dưới dạng các mẫu PCM.
Dòng dữ liệu này được xử lý bởi một băng lọc để chia tín hiệu thành các băng tần khác nhau. Ở cùng một thời điểm FFT đưa ra phổ tần của mẫu tín hiệu vào. Psycho-acoustic sử dụng các thông tin về tần số để loại bỏ các thông tin không phù hợp với các giác quan.
Băng lọc chia tín hiệu đầu vào thành 32 băng con. Sau đó truyền các mẫu tới khối xử lý tần số sử dụng bộ MDCT (Modified Discrete Cosine Transform).
MDCT đưa ra 576 đường tương ứng với 576 tần số
Băng lọc dùng trong Layer III là lai giữa băng lọc nhiều pha và băng lọc MDCT. Sự lượng tử hoá là không giống nhau đối với mỗi băng và mã hoá Huffmam được sử dụng để duy trì hiệu quả mã hoá và giữ tạp âm lượng tử ở dưới ngưỡng mặt nạ.
Đặc điểm
- Cung cấp tốcđộ dữ liệu trong khoảng từ 8 đến 160 Kb/s/channel.
- Tốc độ thông dụng là 96 Kb/s/channel
- Ứng dụng DCT có khả năng thay đổi kích cỡ trên các mẫu của mỗi bank con
- Có mã hoá entropi (Huffman)
- Có một bit dự trữ: Khi tín hiệu ở điểm yêu cầu ít hơn số bit trung bình cho việc mã hoá một khung nó có thể dùng bit dự trữ
- Phức tạp hơn rất nhiều Layer I và Layer II
Có hai thay đổi trong Layer III tác động đến khả năng thay đổi tốc độ bit của bộ mã hoá. Trước hết là mô hình cấp phát bit khác nhau được sử dụng. Hai là Layer III sử dụng một bit dự trữ cho phép cấp thêm bit cho khungnếu cần.
4.1.1. Băng lọc phân tích
Một chuỗi 1152 mẫu PCM được phân tích thành 32 băng tần con. Điều này 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 là 44,1 Khz thì tần số Nyquist của tín hiệu là 22,05 Khz, mỗi băng con sẽ có độ rộng gần bằng 22050/32 = 689 Hz.
4.1.2. Băng lọc lai nhiều pha và MDCT
Băng lọc được thiết kết với mục đích tương thích với Layer II kết hợp với các đặc điểm tiên tiến. Các mẫu đầu ra của mỗi kênh trong 32 kênh của băng lọc nhiều pha sử dụng ở layer II được chuyển thành 18 kênh bằng cách sử dụng biến đổi cosin rời rạc MDCT. Tổng số các kênh đầu ra tối đa là 32 * 18 = 576. Nhưng trước khi tới MDCT mỗi tín hiệu băng con phải được cửa sổ hoá.
Có 4 loại cửa sổ có thể được sử dụng ở đây (Xem hình 4.4.2). Đó là cửa sổ ngắn, cửa sổ dài, cửa sổ start, cửa sổ stop. Việc sử dụng cửa sổ nào phụ thuộc vào từng băng con, tuỳ theo mức độ thay đổi của tín hiệu mà Psycho-acoustic quyết định cửa sổ nào được sử dụng. Nếu cửa sổ ngắn hoặc dài được sử dụng thì các băng con được biết như là khối dài hoặc ngắn. Trong quá trình giải điều chế khối dài và ngắn sẽ được xử lý khác nhau.
Hình 4.4.2: Cửa sổ MDCT Cửa sổ dài: Cửa sổ này dùng cho các tín hiệu ít thay đổi.
Cửa sổ start:Thích hợpđể chuyểnđổi giữa loại cửa sổ dài và cửa sổ ngắn Cửa sổ ngắn: Có dạng giống như cửa sổ dài nhưng độ dài chỉ bằng 1/3 của cửa sổ dài. Sự phân giải thời gian được tăng tới 4 ms ở tần số 48 kHz. sự kết hợp phân giải tần số của băng lọc lai trong trường hợp cửa sổ ngắn là 192 đường so với 576 đường ở cửa sổ thường dùng trong layer III.
Cửa sổ stop: Loai cửa sổ này cho phép chuyển đổi từ cửa sổ ngắn trở lại cửa sổ thường.
Cửa sổ thường Cửa sổngắn
Cửa sổ start Cửa sổ stop
Nếu psycho-acoustic nhận thấy tín hiệu băng con của khung thời gian hiện tại khác biệt ít so với khung thời gian trước thì loại cửa sổ dài được chọn. Giải pháp này sẽ làm tăng sự phân tích phổ đưa ra bởi MDCT. Ngược lại nếu tín hiệu băng con hiện tại khác nhiều so với khung thời gian trước thì loại cửa ngắn sẽ được lựa chọn. Loại cửa sổ này gồm 3 cửa sổ chồng lấp lên nhau.
Độ dài của cửa sổ dài là 36 trong trường hợp cửa sổ dài và 12 trong trường hợp của sổ ngắn. Các cửa sổ MDCT được chồng lấp 50% tương ứng với 18 hoặc 6 điểm được thêm vào mỗi khung. Việc di chuyển cửa sổ được sử dụng giữa cửa sổ ngắn và cửa sổ dài, khi đó cửa sổ start và stop được sử dụng.
Hình 4.4.3 là chuỗi cửa sổ với việc chuyểnđổi cửa sổ kích hoạtđược sử dụng. Một kiểu pha trộn khác: cửa sổ dài được sử dụng cho hai băng tần thấp và cửa sổ ngắn được dùng cho các băng còn lại
Hình 4.4.3: Chuỗi các loại cửa sổ cho việc chuyển cửa sổ 4.1.3. FFT
Song song với việc tín hiệu được xử lý bởi băng lọc phân tích, nó cũng được biến đổi sang miền tần số bằng biến đổi Fourier nhanh (FFT). Một biến đổi FFT 1024 điểmđược thực hiện trên 1152 mẫu PCM
4.1.4. Psycho – acoustic Model 2
Khối này khôi phục dữ liệu đầu vào từ đầu ra của FFT. Từ các mẫu trong miền tần số có thể áp dụng một bộ thuật toán. Bộ thuật toán này sẽ mô hình sự nhận thức âm thanh của con người từ đó cung cấp các thông tin về phần tín hiệu có thể nghe thấy và phần không thể nghe thấy. Những thông tin này được sử dụng để quyết định loại cửa sổ MDCT được áp dụng và nó cũng cung cấp
cho khối lượng tử hoá không đồng đều các thông tin lượng tử hoá các đường tần số.
Sự biểu diễn trong miền tần số của dữ liệu được tính toán thông qua biến đổi Fourier nhanh (FFT) 1024 điểm. Việc tính toán được thực hiện với từng 576 mẫu. Đối với MPEG-1 Layer III, có sự gối lên nhau 50% của những cửa sổ MDCT. Chúng ta có thể sử dụng sự dự đoán để đạt được một lợi ích nào đó.
Việc dựđoán tín hiệuđược sử dụng như là một công cụ cho việc nhận biết âm điệu. Giá trị lưu trữ từ hai khối trước đó được sử dụng để dự đoán cường độ âm lượng và pha của mỗi đường tần số cho khối hiện tại.
Chúng ta thu được hệ số lượng tử hoá vector bằng việc tính toán năng lượng dB cho mỗi băng
) ) ( log(
10 )
( ∑ 2
∈
=
B k
k X i
O
Mỗi một khung dữ liệu được gửi bao gồm một cờ start dù mô hình dự đoán trước hoặc không dự đoán trước được sử dụng. Việc quyết định sử dụng hay không sử dụng mô hình dự đoán dựa trên cơ sở việc đo đạc biến dạng quang phổ. Trước hết ta tính độ khuyếch đại trung bình của các hệ số tỉ lệ:
∑=
= C
i
i C O G
1
) 1 (
Với C là số lượng băng con được sử dụng. Sau đó được trừ đi mỗi hệ số tỷ lệ.
Sự biến dạng phổ được tính:
∑=
−
= C
i
n
n i O i
O D
1
2 '( )) )
( (
On(i)’ biểu thị hệ số normalized cho khung trước.
Nếu D < 6dB thì mô hình dự đoán trước được sử dụng, ngược lại thì mô hình không dự đoán trước được sử dụng.
Các loại cửa sổ gửi tới khối MDCT hai phổ FFT hiện tại và hai phổ trước đó để so sánh. Nếu chắc chắn có sự khác nhau thì cửa sổ ngắn được sử dụng. Ngay khi sự khác biệt bị mất đi MDCT sẽ thay đổi về cửa sổ dài. Hình 4.4.4 đưa ra mô hình chuyển đổi giữ các loại cửa sổ của MDCT.
Hình 4.4.4: Chuyểnđổi giữa các cửa sổ
Psycho-acoustic cũng phân tích phổ FFT để phát hiện ra âm thành phần trội hơn cả và với mỗi băng con, mặt nạ ngưỡng được tính toán. Các thành phần tần số ở dưới mức ngưỡng này sẽ bị loại bỏ.
4.1.5. Lượng tử hoá
Layer III sử dụng phương thức lượng tử hoá không giống nhau giữa các băng con. Công thức cơ bản có dạng:
is(i) = nint(((xr(i)/quant)*0.75)-0.0946
Với: xr(i) giá trị tuyệt đối của đường tần số thứ i quant Kích cỡ bước lượng tử hiện tại
nint hàm làm tròn thành số nguyên gần nhất is(i) giá trị tuyệt đối được lượng tử hoá thứ i
Phương thức mã hoá không đồng nhất được chọn để thực hiện một vài mô hình tạp âm. Các giá trị lớn hơnđược lượng tử hoá ít chính xác hơn các giá trị nhỏ.
Việc này được thực hiện bởi hai vòng lặp lồng vào nhau. Vòng lặp ngoài là vòng lặp điều khiển méo, vòng lặp trong là vòng lặp điều khiển tỷ lệ.
No attack
Attack Attack
Attack No attack
No attack Attack Normal
(type = 0)
Start (type = 1)
Short (type = 2) Stop
(type = 3)
4.1.5.1. Vòng lặp điều khiển tỷ lệ
Vòng lặp này thực hiện lượng tử hoá các mẫu trong miền tần số và quyết định kích cỡ bước lượng tử. Hơn nữa thực hiện chia các giá trị big_values thành các miền, lựa chọn bảng Huffman cho mỗi vùng, tính toán ranh giới giữa các vùng.
Để bắt đầu với các mẫu được lượng tử hoá bằng việc tăng kích cỡ bước đến khi giá trị được lượng tử hoá có thể được mã hoá dùng một bảng mã Huffman. Sau đó tổng số bit được mã hóa Huffman sẽ được tính toán và so sánh với số lượng bit có khả năng sử dụng. Nếu tổng số bit tính toán vượt quá số lượng bit có khả năng sử dụng, kích thước bước lượng tử sẽ tăng và quá trình được lặp lạiđến khi bit có khả năng sử dụng là đủ.
4.1.5.2. Vòng lặp điều khiển méo
Vòng lặp này điều khiển tạp âm lượng tử sinh ra trong quá trình lượng tử trong vòng lặp điều khiển tỷ lệ. Mục đích là giữ tạp âm lượng tử dưới mức mặt nạ ngưỡng.
Để tập trung tạp âm lượng tử, hệ số tỷ lệ được áp dụng cho các đường tần số trong mỗi băng. Hệ số tỷ lệ của tất cả các băng và kích thước bước lượng tử được lưu lại trước khi vòng lặp tỷ lệ được gọi. Sau vòng lặp trong, tạp âm lượng tử được tính toán. Quá trình được lặp lại cho đến khi không còn băng con nào có mức tạp âm lớn hơn mức ngưỡng cho phép.
4.1.6. Phân tích và tổng hợp
Các đường tần số được lượng tử hoá và mã hoá bên trong hai vòng lặp lồng vào nhau: Trong vòng lặp đầu tiên, kích cỡ của bước lượng tử hoá được điều chỉnh để chắc đảm bảo tổng số dữ liệu cần cho mã hoá thông tin không vượt số lượng bit có khả năng sử dụng cho một khối.
Trong vòng lặp thứ hai, một thủ tục “phân tích-tổng hợp” so sánh lỗi lượng tử hoá hiện tại với ngưỡng mặt nạ được tính toán trướcđó và sửa lại phù hợp hệ số tỷ lệ riêng của băng.