• 沒有找到結果。

C. 實驗與結果

2. 切片式算數編碼:

在 MPEG-4 第一版的比率編碼方法中,只粗略的提供了幾個特定的位元率進行編碼 (例 如,24 kbps 編碼率的基礎層,另外再加上一至二個 16 kbps 編碼率的增進層),仍舊存在許 多尚待改進的空間。因此,配合 Fine Granularity Scalability(FGS)的概念,MPEG-4 在第二 版 的 聲 訊 壓 縮 標 準 中 提 供 了 編 碼 率 精 細 可 調 式 的 新 工 具 Bit-Sliced Arithmetic Cod-ing(BSAC)[11]。每個可調間距大約為 1 kbits/s/ch。這功能對一些頻寬容易變動的通訊系統,

例如網際網路或行動通訊來說,是非常有用的。

我們首先研究切片式算數編碼的音質效能及其對於傳輸錯誤的敏感度。接著,我們提出 兩種方法試圖改善切片式算數編碼的編碼效率。

由於 BSAC 和傳統 AAC 的編碼架構大致相同,只有在最後的部分用 BSAC 方法取代原 先用在頻線係數和 SF 上的無失真編碼,因此我們比較了 BSAC 和傳統 AAC 的音質效能之 後,並對實驗結果進行分析,並提出造成兩者效能差異的可能原因。因為算數編碼是一種對 傳輸錯誤很敏感的編碼方式,所以我們也研究了切片式算數編碼中的錯誤傳遞問題。

BSAC 編碼過程中有兩個重要的步驟,一是將頻線係數由低到高頻的分佈切割成不同可 調層,另一個則是依照頻線係數的特性替算數編碼決定適合的機率模型。因此我們就從這兩 方要來改善編碼效率。

MEPG-4 BSAC 中的機率模型大致是兩兩一組。每次可以從兩組機率模型中選出一組用 來做算數編碼。但是由於 MEPG-4 BSAC Verification Model 中都只固定使用其中一組,因此 我們將選擇機率模型的機制打開,並嘗試兩種不同的選擇機率模型的方式,(1)在 R/D loop 之外選擇機率模型,(2) 在 R/D loop 之內選擇機率模型。此外,我們也設計並測試經由實際 聲音訊號所產生的機率模型來取代 MEPG-4 BSAC 原有的機率模型。

另一個改善編碼效能的方法是改變可用位元的分配及可調層的切割。可調層的切割的改 變如下表。基礎層(Base layer, BL)的 coefficient 數目不做更動,而把原來增進層(enhancement layer, EL)分割規則由(12、12、8)改為(16、16)。而在分析不同可調層位元使用情況(下圖 6) 。 我們可以發現位元使用多集中在低頻可調層部分,較高頻可調層(35 以上)幾乎不需要位元。

因此我們在可用位元的分配上嘗試多種調整的方式,大致可以分為兩大方向,(1)增加基礎 層的位元分配,(2)增加每個增進層位元分配。因為位元分配的順序是由低頻可調層到高頻 可調層,而在總位元率不變的條件下,這兩種方式的主要觀念都是分配更多的位元數給較低 頻的可調層。以下表為例,在調整過可調層的切割方式後為了和原始的 BSAC 達到相似的 效果,增進層位元分配由原來的(1、1、1)調整為(1.5、1.5)。

Original BL EL1 EL2 EL 3

# coeff. 160 12 12 8 位元分配 kbps/ch 16 1 1 1

Modified BL EL1 EL2

# coeff. 160 16 16

位元分配 kbps/ch 16 1.5 1.5

0 10 20 30 40 50 60

1 4 7 10 13 16 19 22 25 28 31 34 37 layer

bits

frame1 frame2 frame3

圖 6. 不同可調層位元使用情況

C. 實驗與結果

1. AAC 編碼法 Rate/Distortion Control:

這裡將列出我們所提出的兩種 Rate /Distortion Control 演算法的複雜度分析和效能的實 驗結果。比較的對象一是 MPEG-4 AAC Verification Model (VM-TLS),另一則是 JTB 演算法。

又由於最佳化的條件不同,JTB 演算法又可以細分為 1. 針對 Average NMR 條件做最佳化的 JTB-ANMR 和 2. 針對 Maximum NMR 條件做最佳化的 JTB-MNMR 兩種。

表 1. Max-BNL 演算法之複雜度分析

Algorithm Complexity Ratio Storage Ratio

JTB 1 1

Max-BNL 1/17 1/120 Fast Max-BNL 1/150 1/120

由圖 7 中兩種不同的客觀品質量測結果證明,我們所提出的(Fast) Max-BNL 位元分配方 法比 MPEG-4 AAC Verification Model 要好上約 3dB,而與 JTB-ANMR 演算法的效果類似。

同時表 1 列出了以 JTB 演算法為基準的實際複雜度比較,我們可以看到 Fast Max-BNL 演算 法的計算量只有 JTB 演算法的 1/150。另外,運算中用於 trellis-based search 上所需的記憶體 數量也只有 JTB 演算法的 1/120,這對於某些只允許有限且少量記憶體的應用(如:DSP 實 現)來說是較為有利的。

表 2. CTB 演算法之複雜度分析

Algorithm Complexity Ratio Storage Ratio

JTB 1 1

完整模式 CTB (Two-Loop) 1/71 1/12

簡化模式 CTB (One-Loop) 1/142 1/12

Total Bit Rate (kbps)

10 20 30 40 50 60 70 80

ANMR(dB)

0 1 2 3 4 5 6 7 8

VM-TLS JTB-ANMR JTB-MNMR Max-BNL Fast Max-BNL

(a)

Total Bit Rate (kbps)

10 20 30 40 50 60 70 80

MNMR(dB)

0 1 2 3 4 5 6 7 8 9 10 11 12 13

VM -TLS JTB-ANMR JTB-MNM R Max-BNL Fast Max-BNL

(b)

圖 7. Max-BNL 演算法之 Rate-Distortion 分析

Total Bit Rate (kbps)

16 32 48 64 80

ANMR (dB)

-6 -4 -2 0 2 4 6 8 10

VM-TLS

One-Loop CTB-MNMR Two-Loop CTB-MNMR JTB-MNMR

One-Loop CTB-ANMR Two-Loop CTB-ANMR JTB-ANMR

(a)

Total Bit Rate (kbps)

16 32 48 64 80

MNMR (dB)

-3 -1 1 3 5 7 9 11 13 15

One-Loop CTB-MNMR Two-Loop CTB-MNMR JTB-MNMR

VM-TLS

One-Loop CTB-ANMR Two-Loop CTB-ANMR JTB-ANMR

(b)

圖 8. CTB 演算法之 Rate-Distortion 分析

Total Bit Rate (kbps)

16 32 48 64 80

ODG

-3.8 -3.7 -3.6 -3.5 -3.4 -3.3 -3.2 -3.1 -3.0 -2.9 -2.8 -2.7

VM-TLS

One-Loop CTB-MNMR Two-Loop CTB-MNMR JTB-MNMR

One-Loop CTB-ANMR Two-Loop CTB-ANMR JTB-ANMR

圖 9. CTB 演算法之 ODG 分析

Trellis-based search 方法的複雜度取決於 trellis 中 stage 的數目和每個 stage 包含 state 的 數目。Stage 代表著 MPEG-4 AAC 中的 band,而 state 則代表著不同的候選參數。在相同的 SF 候選數目和 HCB 候選數目條件下,CTB 演算法和 JTB 演算法的複雜度比較結果列於表 2。我們可以看到完整模式 CTB 演算法的計算量只有 JTB 演算法的 1/72,而簡化模式 CTB 演算法的計算量更只有 JTB 演算法的 1/142。而運算中用於 trellis-based search 上所需的記憶 體數量也只有 JTB 演算法的 1/12。圖 8 是兩種不同客觀品質量測的結果,圖 9 則是利用模 擬主觀品質 Objective Difference Grade (ODG) 量測的結果。我們可以發現,不論從那種量測 結果都顯示 CTB 演算法的壓縮效能和 JTB 演算法無甚差別,而且都比 MPEG-4 AAC Verification Model 要好很多。

2. 切片式算數編碼:

下圖 10 是 BSAC 和 AAC 聲訊品質的比較,我們可以明顥的看出兩者之間的差異,特 別在較高的位元率時,兩者的 NMR 可差到約 1dB。為了找出造成如此差異的原因,我們分 析了 BSAC 和 AAC 的位元分配情況,其如果列於表 3 中。BASC 中的 side information 大至 包含 SF、stereo 和機率模型等幾個部分,而 AAC 中的 side information 包含 SF 和 HCB 等資 訊。BASC 為了達到 FGS 的效果花了相對較多的位元在 side information 上,真正用於較重 要的 spectral data 的位元比 AAC 少約了 6.5%,因此也損失了部分聲訊品質。

-3.5 -3.0

-2.5 -2.0 -1.5

24 32 40 48 56 64

Bitrate(kbps/ch)

ODG

BSAC

AAC

-8-7 -6 -5-4 -3-2 -10

NM R

24 32 40 48 56 64

Bitrate(kbps/ch)

BSAC AAC

(a) (b)

圖 10. BSAC 和 AAC 效能比較

表 3. BSAC and AAC 位元分配情況分析

BSAC AAC

Spectral data 65.95% 72.60%

Side information 34.05% 27.40%

-4.0 -3.5 -3.0 -2.5 -2.0

OD G

24 32 40 48 56 64 Bitrate(kbps/ch)

16

(a)

BER=0 BER=10e-3 BER=10e-4

-7 3 13 23 33 43

NMR

Bitrate(kbps/ch)

24 32 40 48 56 64 16

(b)

BER=0 BER=10e-3 BER=10e-4

圖 11. BSAC 中位元錯誤造成品質衰減之分析

我們由圖 11 可以發現,位元錯誤對 BSAC 的造成很大的影響,聲訊品質衰減的十分嚴 重。另外由於錯誤傳遞使得聲訊品質衰減的情況在高位元率時反而比在低元率時來得嚴重。

表 4. 不同的機率模型選擇流程分析

無機率模型選拔 R/D loop 外選擇機率模型 R/D loop 之內選擇機率模型

位元串 size 240 236 240

size 減少 ─ 1.66% 0%

-4.0 -3.5 -3.0 -2.5 -2.0 -1.5

16 24 32 40 48 56 64 bitrate (kbps/ch)

ODG original BSAC

models seleciton inside the R/D loop

(a)

-7 -6 -5 -4 -3 -2 -1 0

NM R

original BSAC models seleciton inside the R/D loop

16 24 32 40 48 56 64 bitrate (kbps/ch)

(b)

圖 12. 在 R/D loop 之內選擇機率模型之效能分析

因為在 R/D loop 外選擇機率模型只會影響壓縮後之位元串大小,所以由表 4 來看,在 R/D loop 外選擇機率模型對於減少位元串大小的改善有限。而在 R/D loop 內選擇機率模型 則會影響品質,由表 4 和圖 12 來看,在 R/D loop 內選擇機率模型對於整體的聲訊品質改善 也同樣很有限。

圖 13 是使用了新機率模型的效能分析。我們發現,就算利用受測訊號所產生之機率模 型來作算數編碼,效能上得到的改善也不太多。

-4.0 -3.5 -3.0 -2.5 -2.0 -1.5

16 24 32 40 48 56 64

bitrate (kbps/ch)

ODG

Original BSAC New Models

(a)

-7 -6 -5 -4 -3 -2 -1 0

NMR

16 24 32 40 48 56 64 bitrate (kbps/ch)

(b)

Original BSAC New Models

圖 13. 使用新機率模型之效能分析

圖 14 是在固定基礎層位元分配在 16kbps/ch 條件下,改變每個增進層位元分配的結果。

由於總位元固定,增加每個增進層位元分配就會減少可編碼增進層的數目。由結果我們可以 發現,分配較多位元給每個增進層可以得到較好的效能。圖 15 是在固定每個增進層位元分 配在 2kbps/ch 條件下,改變基礎層位元分配的結果。由結果我們可以發現,分配較多位元 給每個基礎層可以得到較好的效能。上面兩項結果都顯示了,對於 BSAC,分配更多的位元 數給較低頻的可調層可以得到比較明顯的效能改善。

-4 -3.5 -3 -2.5 -2 -1.5

16 24 32 40 48 56 64

Bitrate(kbps/ch)

ODG

(a)

original bsac EL=1kbps/ch EL=2kbps/ch EL=3kbps/ch EL=4kbps/ch

-8 -7 -6 -5 -4 -3 -2 -1 0

16 24 32 40 48 56 64

NMR

Bitrate(kbps/ch) (b)

original bsac EL=1kbps/ch EL=2kbps/ch EL=3kbps/ch EL=4kbps/ch

圖 14.改變可調層位元分配之效能分析

-3.7 -3.5 -3.3 -3.1 -2.9 -2.7 -2.5 -2.3 -2.1 -1.9

24 32 40 48 56 64

bitrate (kbps)

ODG

BL=14kbps/ch BL=16kbps/ch BL=18kbps/ch BL=20kbps/ch BL=22kbps/ch BL=24kbps/ch

(a)

-7.5 -6.5 -5.5 -4.5 -3.5 -2.5 -1.5

24 32 40 48 56 64

bitrate (kbps/ch) (b)

BL=14kbps/ch BL=16kbps/ch BL=18kbps/ch BL=20kbps/ch BL=22kbps/ch BL=24kbps/ch

圖 15.改變基礎層位元分配之效能分析

相關文件