楊 超,黃雋逸,劉云飛,孫 云,徐向旭
(1.海軍航空大學(xué),山東煙臺(tái)264001;2.海軍航空大學(xué)青島校區(qū),山東青島266041;3.91604部隊(duì),山東龍口265706;4.92635部隊(duì),山東青島266041)
隨著信息技術(shù)的迅速發(fā)展,各類(lèi)電子產(chǎn)品進(jìn)入千家萬(wàn)戶(hù),音視頻等多媒體被廣泛應(yīng)用于人們的生活、工作和學(xué)習(xí)中,音頻編碼應(yīng)運(yùn)而生,為了解決日益增加的多媒體信息和有限的存儲(chǔ)空間及傳輸帶寬的矛盾[1-3],音頻壓縮編碼研究也越來(lái)越受到重視。目前聲音編碼技術(shù)分為3類(lèi):波形編碼、參數(shù)編碼以及混合編碼[4-5]。應(yīng)用各種帶寬擴(kuò)展技術(shù),聲音編碼標(biāo)準(zhǔn)發(fā)展的趨勢(shì)是從窄帶(8 kHz采樣)到寬帶(16 kHz采樣),再到超寬帶(32 kHz采樣),最終發(fā)展到全頻帶(48 kHz采樣);應(yīng)用各種可分級(jí)聲音編碼技術(shù),聲音編碼標(biāo)準(zhǔn)發(fā)展從固定碼率,到多速率,最終發(fā)展到更精細(xì)的可變比特率,更靈活地利用傳輸帶寬;傳統(tǒng)的音頻編碼標(biāo)準(zhǔn)通過(guò)各種降低延時(shí)和碼率的技術(shù),提高其對(duì)聲音的編碼效率[6-8]。
當(dāng)前最新的低延時(shí)音頻編碼格式Opus對(duì)于互聯(lián)網(wǎng)上的交互式聲音和音樂(lè)傳輸來(lái)說(shuō)是最佳的選擇,同時(shí)也用于存儲(chǔ)和流媒體。它的采樣率從8~48 kHz,它的碼率范圍為6~510 kb/s,算法時(shí)延在2.5~30 ms之間。一些新的音頻編碼算法也在不斷涌現(xiàn),例如一種將預(yù)測(cè)編碼[9]、基于SOM自組織神經(jīng)網(wǎng)絡(luò)[10-14]的矢量編碼[15-17]及Huffman[18]編碼相結(jié)合的音頻編碼算法[19](簡(jiǎn)稱(chēng)聯(lián)合編碼算法)。在保證聲音質(zhì)量的前提下,該編碼方法的碼率小于MEPG-1 Layer3[20]的最低的64 kb/s標(biāo)準(zhǔn)碼率,且算法較簡(jiǎn)單。為了進(jìn)一步提高聯(lián)合編碼算法的碼率,本文提出通過(guò)合理選擇碼書(shū)長(zhǎng)度值以減小碼率的算法。
預(yù)測(cè)編碼、基于SOM自組織神經(jīng)網(wǎng)絡(luò)的矢量編碼及Huffman編碼相結(jié)合的音頻編碼算法[20](簡(jiǎn)稱(chēng)聯(lián)合編碼算法)是一種音頻壓縮編碼算法。圖1是聯(lián)合編碼算法編碼部分程序流程圖。

圖1 聯(lián)合編碼算法編碼程序流程圖Fig.1 Flow chart of the code program of the joint coding algorithm
首先,將1列聲音樣本采樣信號(hào)按照奇偶順序轉(zhuǎn)換成2列,即將原序號(hào)為(2×n-1)的組成為新的第一列,原序號(hào)為2×n,組成為新的第二列,其中n為正整數(shù)。每列信號(hào)分別按照線性預(yù)測(cè)編碼原理各自進(jìn)行預(yù)測(cè),計(jì)算當(dāng)前的預(yù)測(cè)值和誤差值,共得到2個(gè)誤差值,將這2個(gè)誤差值組成一組2維矢量,進(jìn)行基于SOM自組織神經(jīng)網(wǎng)絡(luò)的矢量編碼,最后進(jìn)行Huffman編碼;譯碼過(guò)程與編碼過(guò)程相反,最后對(duì)譯碼數(shù)據(jù)用切比雪夫Ⅰ型低通濾波器濾波。
目前,在國(guó)際上比較通用的音頻質(zhì)量主觀評(píng)價(jià)標(biāo)準(zhǔn)是平均意見(jiàn)得分(Mean Opinion Score,MOS),MOS評(píng)分標(biāo)準(zhǔn)分為5級(jí),見(jiàn)表1。在數(shù)字音頻通信中,一般高質(zhì)量數(shù)字化音頻的MOS分在4.0~4.5分間,質(zhì)量滿(mǎn)足長(zhǎng)途電話(huà)網(wǎng)的要求,接近透明信道編碼,也稱(chēng)之網(wǎng)絡(luò)質(zhì)量。音頻通信質(zhì)量一般MOS分在3.5分左右,此時(shí)能感覺(jué)到恢復(fù)的音頻質(zhì)量有所下降,但能知道聲音中的內(nèi)容,可以滿(mǎn)足多數(shù)音頻通信系統(tǒng)的適用要求。合成語(yǔ)音質(zhì)量MOS分一般在2.0~3.0分之間,是指一些聲碼器的合成語(yǔ)音所能達(dá)到的質(zhì)量,一般具有一定的可懂度,但是自然度和音色的確認(rèn)方面不夠理想。

表1 MOS判分五級(jí)標(biāo)準(zhǔn)及相應(yīng)的描述該級(jí)音頻質(zhì)量的形容詞Tab.1 MOS grade five standard and the adjective that describes the quality of the audio level
通過(guò)客觀測(cè)量的方法來(lái)對(duì)音頻的編碼質(zhì)量進(jìn)行評(píng)價(jià)的方法稱(chēng)為客觀評(píng)定方法,常用的客觀評(píng)定的方法有信噪比、平均分段信噪比等。它們的實(shí)質(zhì)就是進(jìn)行度量均方誤差,具有計(jì)算簡(jiǎn)單的優(yōu)點(diǎn),但是人對(duì)音頻質(zhì)量的感覺(jué)不能單純地由此方法體現(xiàn),對(duì)于測(cè)試中、低速率音頻編碼尤其如此。
信噪比是一種常用的客觀測(cè)量標(biāo)準(zhǔn),定義如下:

式(1)中:xi、yi分別代表音頻編碼算法的輸入信號(hào)和輸出信號(hào);N代表音頻的樣點(diǎn)數(shù)。
本文將改變聯(lián)合編碼算法中量化矢量碼本的個(gè)數(shù),即碼書(shū)長(zhǎng)度值,研究碼書(shū)長(zhǎng)度值對(duì)壓縮率和碼率的影響,旨在尋找進(jìn)一步提高聲音信號(hào)壓縮率,減小碼率的算法。
考慮到碼本編碼效率,一般碼書(shū)長(zhǎng)度值選為2n,n為正整數(shù)。在保證聲音質(zhì)量前提下,為了減小碼率,應(yīng)盡量選擇較小值的碼書(shū)長(zhǎng)度。實(shí)驗(yàn)中,選取碼書(shū)長(zhǎng)度值分別為2、4和8。利用聯(lián)合編碼算法分別進(jìn)行碼書(shū)長(zhǎng)度值為2、4和8的編、解碼實(shí)驗(yàn)。編碼程序流程圖如圖1所示。其中,碼書(shū)長(zhǎng)度值分別為2、4和8的編碼算法的不同之處是:在圖2的聯(lián)合編碼算法編碼程序流程圖中,在“對(duì)兩個(gè)誤差值做基于自組織神經(jīng)網(wǎng)絡(luò)SOM的矢量量化”這一步驟中,設(shè)計(jì)SOM神經(jīng)網(wǎng)絡(luò)時(shí),分別設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)的輸出為2、4和8,再分別進(jìn)行碼本數(shù)分別為2、4和8的碼本訓(xùn)練,分別計(jì)算得到2、4和8個(gè)碼本。然后,用這2、4和8個(gè)碼本,分別對(duì)圖2的聯(lián)合編碼算法編碼程序流程圖,在“由當(dāng)前的聲音樣本原始值和預(yù)測(cè)值之差計(jì)算得到2個(gè)誤差值”這一步驟中得到的,由每2個(gè)誤差值組成的誤差矢量進(jìn)行矢量量化。
壓縮率的計(jì)算公式為:

式(2)中:α為壓縮率;r0為編碼后表示聲音樣本信號(hào)的二進(jìn)制碼總位數(shù);ri為表示原始聲音樣本信號(hào)的二進(jìn)制碼總位數(shù)。
碼率β的計(jì)算公式為:

式(3)中:μ為采樣率;η為平均碼長(zhǎng)。
信噪比的計(jì)算如式(1)所示。
為了研究最小碼率,分別選擇了標(biāo)準(zhǔn)聲音樣本庫(kù)中的“雷聲”、“音樂(lè)”和“心跳”這3個(gè)日常生活中具有代表性的聲音樣本作為研究對(duì)象。其中,聲音樣本“雷聲”樣本的時(shí)域采樣率為11 025Hz,量化精度為8 bit;聲音樣本“音樂(lè)”和聲音樣本“心跳”樣本的時(shí)域采樣率均為22 050Hz,量化精度均為16 bit。
圖2所示的是采用聯(lián)合編碼方法對(duì)聲音樣本“雷聲”的編碼運(yùn)算結(jié)果。聯(lián)合編碼的碼書(shū)長(zhǎng)度值為8,碼率為16.568 kb/s,基于SOM的神經(jīng)網(wǎng)絡(luò)訓(xùn)練碼本的碼本訓(xùn)練次數(shù)為200。圖2 a)、b)分別是原始聲音樣本信號(hào)“雷聲”的時(shí)域波形和頻譜;圖2 c)、d)分別是在對(duì)圖2 a)的“雷聲”樣本進(jìn)行聯(lián)合編碼的編碼端的預(yù)測(cè)編碼部分,對(duì)誤差矢量信號(hào)進(jìn)行矢量量化所產(chǎn)生的量化噪聲的時(shí)域波形和頻譜。從圖2 b)可見(jiàn),信號(hào)的能量主要集中在2 500Hz之前。從圖2 d)可見(jiàn),量化噪聲能量幾乎均勻分布在0~5 500Hz范圍內(nèi)。因此,聯(lián)合編碼的譯碼端低通濾波器的通帶截止頻率設(shè)為2 500Hz,阻帶截止頻率設(shè)為3 750Hz,通帶波紋設(shè)為0.3dB,阻帶衰減設(shè)為10dB(下文同)。計(jì)算得到濾波器輸出信噪比為6.935 8。圖2 e)和圖2 f)分別是對(duì)圖2 a)進(jìn)行聯(lián)合編碼所得到的聲音樣本“雷聲”的譯碼信號(hào)的時(shí)域波形和頻譜。


圖2 碼書(shū)長(zhǎng)度值為8的條件下,聲音樣本“雷聲”的聯(lián)合編碼運(yùn)算結(jié)果Fig.2 Results of joint coding of“Raytheon”sample under the condition that the codebook length is 8
表2是對(duì)“雷聲”聲音樣本進(jìn)行碼書(shū)長(zhǎng)度值為8條件下的聯(lián)合編碼所得到的譯碼信號(hào)MOS值,是10位聽(tīng)力正常的評(píng)定者給出的聲音樣本“雷聲”的譯碼的MOS值。從表2可見(jiàn),聲音樣本“雷聲”譯碼信號(hào)的MOS值平均分為3.1分,質(zhì)量等級(jí)為可接受,譯碼聲音失真級(jí)別為“有察覺(jué)且稍覺(jué)得可厭”,可滿(mǎn)足多數(shù)音頻通信系統(tǒng)的適用要求。由圖2 e)和圖2 a)對(duì)比可見(jiàn),譯碼信號(hào)時(shí)域波形的包絡(luò)基本沒(méi)有改變。所以,譯碼“雷聲”聲音可以辨別;由圖2 f)和圖2 b)對(duì)比可見(jiàn),譯碼信號(hào)損失了頻率大于2 500Hz的高頻能量,而人耳對(duì)2 500Hz以上的高頻信號(hào)的敏感度較低,所以,人耳對(duì)譯碼聲音和原始聲音樣本的音質(zhì)差別感覺(jué)不大。
表3是對(duì)聲音樣本“音樂(lè)”信號(hào)進(jìn)行碼書(shū)長(zhǎng)度值為8的聯(lián)合編碼得到的譯碼信號(hào)MOS值的判分,從表3可見(jiàn),“音樂(lè)”MOS值的均值為3.8分,質(zhì)量等級(jí)為可以接受,譯碼聲音失真級(jí)別為“有察覺(jué)且稍覺(jué)得可厭”,可以滿(mǎn)足多數(shù)音頻通信系統(tǒng)的適用要求。其中,聯(lián)合編碼低通濾波器的通帶截止頻率設(shè)為4 000Hz,阻帶截止頻率設(shè)為6 000Hz,通帶波紋設(shè)為0.3dB,阻帶衰減設(shè)為10dB(下文同);碼率為33.075 kb/s。
表4是對(duì)聲音樣本“心跳”信號(hào)進(jìn)行碼書(shū)長(zhǎng)度值為8的聯(lián)合編碼得到的譯碼信號(hào)MOS值的判分,從表4可見(jiàn),“心跳”MOS值的均值為4分,譯碼聲音失真級(jí)別為良,在數(shù)字音頻通信中,屬于一般高質(zhì)量數(shù)字化音頻,質(zhì)量滿(mǎn)足長(zhǎng)途電話(huà)網(wǎng)的要求,接近于透明信道編碼,為網(wǎng)絡(luò)質(zhì)量。其中,碼率為33.075 kb/s;濾波器的通帶截止頻率設(shè)為2 000Hz,阻帶截止頻率設(shè)為2 500Hz,通帶波紋設(shè)為0.3dB,阻帶衰減設(shè)為10dB(下文同)。

表2 對(duì)聲音樣本“雷聲”樣本進(jìn)行碼書(shū)長(zhǎng)度值為8的聯(lián)合編碼所得到的譯碼信號(hào)MOS值Tab.2 MOS value of the decoding signal obtained by the joint encoding of the codebook length of 8 for the"thunder"voice sample

表3 對(duì)“音樂(lè)”聲音樣本進(jìn)行碼書(shū)長(zhǎng)度值為8的聯(lián)合編碼得到的譯碼信號(hào)MOS值Tab.3 MOS value of the decoding signal obtained by the joint encoding of the codebook length of 8 for the"music"voice sample

表4 對(duì)“心跳”聲音樣本進(jìn)行碼書(shū)長(zhǎng)度值為8的聯(lián)合編碼得到的譯碼信號(hào)MOS值Tab.4 MOS value of the decoding signal obtained by the joint encoding of the codebook length of 8 for the"heartbeat"voice sample
表5是對(duì)聲音樣本“音樂(lè)”、“心跳”和“雷聲”采樣碼書(shū)長(zhǎng)度值分別為2、4和8時(shí)進(jìn)行聯(lián)合編碼運(yùn)算結(jié)果。由表5可見(jiàn),同一樣本,隨著碼書(shū)長(zhǎng)度值的增加,譯碼聲音的信噪比和MOS分?jǐn)?shù)值增加,質(zhì)量變好,碼率也增加;聲音樣本“雷聲”在碼書(shū)長(zhǎng)度值為4和聲音樣本“音樂(lè)”以及聲音樣本“心跳”在碼書(shū)長(zhǎng)度值為2時(shí)的碼率均為11.025 kb/s,對(duì)應(yīng)表1中的MOS判分為2,譯碼聲音質(zhì)量等級(jí)為“差”,失真級(jí)別為“明顯察覺(jué)且可厭但可忍受”。即譯碼聲音具有一定的可懂度,但是音色不夠理想;聲音樣本“雷聲”在碼書(shū)長(zhǎng)度值為8碼率為16.568 kb/s和聲音樣本“音樂(lè)”以及聲音樣本“心跳”在碼書(shū)長(zhǎng)度值為4碼率為22.025 kb/s時(shí),對(duì)應(yīng)表1中的MOS判分為3,譯碼聲音質(zhì)量等級(jí)為“可”,失真級(jí)別為“有察覺(jué)且稍覺(jué)可厭”,譯碼聲音達(dá)到一般音頻通信質(zhì)量要求。

表5 碼書(shū)長(zhǎng)度值不同的條件下的3種聲音樣本的聯(lián)合編碼運(yùn)算結(jié)果Tab.5 results of joint encoding of three kinds of voice sample under different conditions of codebook length
通過(guò)合理選擇聯(lián)合編碼的碼書(shū)長(zhǎng)度值,可以減小碼率。聯(lián)合編碼方法對(duì)聲音樣本“雷聲”、“音樂(lè)”和“心跳”在各自對(duì)應(yīng)的碼書(shū)長(zhǎng)度值下,在譯碼聲音的音色稍差一些的情況下,信號(hào)的壓縮編碼可以達(dá)到11.025 kb/s的最小碼率;在譯碼聲音滿(mǎn)足一般通信的情況下,信號(hào)的壓縮編碼范圍可以達(dá)到16.568~22.025 kb/s,較聯(lián)合編碼在碼書(shū)長(zhǎng)度值為31時(shí)的碼率62.5 kb/s有所減小,遠(yuǎn)低于MEPG-1 Layer3的最低64 kb/s標(biāo)準(zhǔn)碼率。