楊 超,徐向旭,劉云飛,朱 弘,芮天宇
(1.海軍航空大學(xué),山東煙臺(tái)264001;2.92635部隊(duì),山東青島266041;3.海軍航空大學(xué)青島校區(qū),山東青島266041;4.91602部隊(duì),上海200082;5.92877部隊(duì),浙江舟山316200)
隨著信息技術(shù)的迅速發(fā)展,各類電子產(chǎn)品進(jìn)入千家萬戶,音視頻等多媒體被廣泛應(yīng)用于人們的生活工作學(xué)習(xí)中,音頻編碼應(yīng)運(yùn)而生,為了解決日益增加的多媒體信息和有限的存儲(chǔ)空間及傳輸帶寬的矛盾[1-3],音頻壓縮編碼研究也越來越受到重視。目前聲音編碼技術(shù)分為:波形編碼、參數(shù)編碼以及混合編碼[4-5]。應(yīng)用各種帶寬擴(kuò)展技術(shù),聲音編碼標(biāo)準(zhǔn)發(fā)展的趨勢(shì)是從窄帶(8 kHz采樣)到寬帶(16 kHz采樣),再到超寬帶(32 kHz采樣),最終到全頻帶(48 kHz采樣)[2];應(yīng)用各種可分級(jí)聲音編碼技術(shù),聲音編碼標(biāo)準(zhǔn)發(fā)展從固定碼率,到多速率,再到更精細(xì)的可變比特率,更靈活地利用傳輸帶寬;傳統(tǒng)的音頻編碼標(biāo)準(zhǔn)通過各種降低延時(shí)和碼率的技術(shù),提高其對(duì)聲音的編碼效率[6-8]。為降低碼率,本文提出一種將預(yù)測(cè)編碼、基于神經(jīng)網(wǎng)絡(luò)的矢量編碼及Huffman編碼相結(jié)合的音頻編碼算法。
聲音音線性預(yù)測(cè)編碼[9](Linear Prediction Coding,LPC)的基本思路是,利用已知的過去的若干個(gè)聲音信號(hào)的線性組合對(duì)當(dāng)前的聲音采樣值進(jìn)行逼近(預(yù)測(cè)),使其線性預(yù)測(cè)值在最小方均誤差意義上等于聲音的當(dāng)前采樣值,再將預(yù)測(cè)值和當(dāng)前采樣值相減,得到預(yù)測(cè)誤差,最后對(duì)預(yù)測(cè)誤差編碼。計(jì)算公式如下:
從過去的p個(gè)值:x(n-1),x(n-2),…,x(n-p)來推算當(dāng)前的預(yù)測(cè)值:
預(yù)測(cè)器的預(yù)測(cè)誤差為:
由于聲音信號(hào)前后具有較強(qiáng)的相關(guān)性,所以,在統(tǒng)計(jì)意義上說,預(yù)測(cè)誤差值的變化范圍小于當(dāng)前采樣值的變化范圍,因而可以用更少的碼元來表示。
矢量量化[10]就是把需要量化的數(shù)值每n個(gè)作為一組,任何一組的n個(gè)數(shù)值都可以看成n維空間的一個(gè)點(diǎn),構(gòu)成一個(gè)n維矢量X。由于n維空間的每一維都是模擬量(或連續(xù)量),所以n維空間也是一個(gè)連續(xù)空間,即使每一維的最大值是有限制的,但它包含的矢量數(shù)目是無窮多的。矢量量化要做的工作就是將此n維連續(xù)空間劃分為有限個(gè)區(qū)間,在每一個(gè)區(qū)間找一個(gè)代表矢量,凡是落在本區(qū)間的所有的矢量都用該代表矢量來表示,這就是矢量量化的基本方法[11-12]。
矢量量化過程中,X′和X的接近程度可以有多種衡量方法,最常用的誤差測(cè)度是均方誤差,相當(dāng)于兩者之間的歐幾里得距離,即
人類的神經(jīng)系統(tǒng)是迄今為止最復(fù)雜也是科學(xué)史上最智能的系統(tǒng)了,即使是最先進(jìn)的計(jì)算機(jī)與人腦神經(jīng)系統(tǒng)比起來也要遜色不少。人腦神經(jīng)系統(tǒng)可實(shí)現(xiàn)自動(dòng)學(xué)習(xí)、模式識(shí)別和分類歸納等功能,人工神經(jīng)網(wǎng)絡(luò)就是利用一些簡單的自適應(yīng)元件及其層次組織的大規(guī)模并行聯(lián)結(jié)構(gòu)組成的網(wǎng)絡(luò),目的在于模仿人腦神經(jīng)網(wǎng)絡(luò)的工作模式來處理客觀數(shù)據(jù)[13]。神經(jīng)元是神經(jīng)網(wǎng)絡(luò)的基本單元,它一般是一個(gè)多輸入單輸出的非線性結(jié)構(gòu)體。
神經(jīng)元的結(jié)構(gòu)如圖1所示。圖1中:ui是神經(jīng)元的內(nèi)部狀態(tài);θi為閾值;xj為輸入信號(hào);wji表示從uj到ui連接的權(quán)值;si為外部用來調(diào)節(jié)神經(jīng)元的初始狀態(tài)輸入信號(hào)。
圖1 神經(jīng)元結(jié)構(gòu)模型Fig.1 Neuron structure model
模型可以表述為:
人工神經(jīng)元的信息處理過程為:先對(duì)輸入信號(hào)和神經(jīng)元接聯(lián)的內(nèi)積運(yùn)算,然后將結(jié)果通過激活函數(shù),再經(jīng)過閾值函數(shù)判決,若輸出值大于閾值門限,則神經(jīng)元被激活,否則該神經(jīng)元處于抑制狀態(tài)。網(wǎng)絡(luò)的學(xué)習(xí)本質(zhì)就是神經(jīng)元根據(jù)既定規(guī)則和輸出模式自動(dòng)的調(diào)節(jié)權(quán)值和閾值,以達(dá)到最終的穩(wěn)定的神經(jīng)元狀態(tài)。
Kohonen自組織映射算法是由T.Kohonen提出的無監(jiān)督的學(xué)習(xí)方式,自組織映射神經(jīng)網(wǎng)絡(luò)SOM就是利用這一算法的人工神經(jīng)網(wǎng)絡(luò)。這種神經(jīng)網(wǎng)絡(luò)的輸出層為按一定規(guī)則排列的二維矩陣,網(wǎng)絡(luò)神經(jīng)元局部連接,輸入層與輸出層間通過權(quán)值構(gòu)成全連接。進(jìn)行學(xué)習(xí)時(shí),輸出層二維網(wǎng)絡(luò)節(jié)點(diǎn)對(duì)輸入層的特定模式的節(jié)點(diǎn)形成特殊反應(yīng),隨著輸入節(jié)點(diǎn)的變化,輸出節(jié)點(diǎn)也從一個(gè)節(jié)點(diǎn)轉(zhuǎn)到相應(yīng)領(lǐng)域,這樣不僅能實(shí)現(xiàn)分類識(shí)別,還能掌握輸入的整體分布[14-17]。
課題提出的編碼方案是線性預(yù)測(cè)編碼、基于SOM神經(jīng)網(wǎng)絡(luò)的矢量編碼及huffman編碼[18]的聯(lián)合編碼法。具體方法是:將1列聲音采樣信號(hào)按照奇偶順序轉(zhuǎn)換成2列,分別對(duì)每列信號(hào)進(jìn)行預(yù)測(cè),得到誤差值。同時(shí),對(duì)2列信號(hào)的2個(gè)誤差值進(jìn)行基于自組織神經(jīng)網(wǎng)絡(luò)的矢量編碼;恢復(fù)聲音時(shí),譯碼過程與編碼過程相反;最后,對(duì)譯碼數(shù)據(jù)用切比雪夫Ⅰ型濾波器濾波。該方法創(chuàng)新性地將一列聲音信號(hào)轉(zhuǎn)換為2列信號(hào),這樣就可以進(jìn)行后續(xù)的矢量編碼。將預(yù)測(cè)編碼和矢量編碼巧妙地結(jié)合在一起。
壓縮率的計(jì)算公式為:
式(5)中:r表示編碼的壓縮率;b1是編碼后表示聲音文件的二進(jìn)制碼的總位數(shù);b是表示原始聲音信號(hào)所需要的二進(jìn)制碼總位數(shù)。
信噪比的計(jì)算公式為:
式(6)中:Ps為原始信號(hào)的功率;Pn為聲音的噪聲功率。
圖2為課題提出的編碼算法的流程圖。該算法創(chuàng)新之處是將一列聲音信號(hào)轉(zhuǎn)換為2列聲音信號(hào),2列信號(hào)同時(shí)進(jìn)行預(yù)測(cè),同時(shí)得到2個(gè)預(yù)測(cè)值和2個(gè)誤差值,這樣就可以進(jìn)行矢量編碼。
圖2 編碼程序流程圖Fig.2 Code program flow chart
實(shí)驗(yàn)中,選取一段5 s音樂信號(hào)《say hi》作為處理對(duì)象,對(duì)該段音樂信號(hào)進(jìn)行25 kHz的采樣和8位量化。采用10階線性預(yù)測(cè)公式計(jì)算預(yù)測(cè)值,進(jìn)而計(jì)算誤差,SOM神經(jīng)網(wǎng)絡(luò)的碼本數(shù)為31,碼本訓(xùn)練次數(shù)為300次。人耳的主觀感覺是,恢復(fù)的聲音信號(hào)與原始聲音信號(hào)相比基本沒有差別。
圖3為《say hi》音樂段時(shí)域恢復(fù)情況。從圖3 a)、b)的波形圖對(duì)比可知,與原始聲音信號(hào)波形相比,恢復(fù)的聲音信號(hào)基本沒有變化,只是個(gè)別時(shí)間點(diǎn)上聲音強(qiáng)度略低,這是由于聲音信號(hào)的高頻部分略有不同造成的。
圖3 《say hi》音樂段時(shí)域恢復(fù)情況Fig.3 Time domain recovery of《say hi》music segment
圖4為《say hi》音樂段頻域恢復(fù)情況。由圖4 a)、4b)的頻譜圖對(duì)比可得,恢復(fù)的聲音信號(hào)頻譜與原始聲音信號(hào)頻譜基本一致,7 kHz以后的高頻段略有不同,但是人耳在這個(gè)頻段范圍不敏感[8]。這與人的主觀感覺結(jié)果相一致。
計(jì)算得到的信噪比為12.41dB。壓縮率為30.2%,碼率也變?yōu)?2.5 kbps。這個(gè)碼率小于MEPG-1 Layer3[19]的最低的64 kbps的標(biāo)準(zhǔn)碼率。
由于預(yù)測(cè)編碼較非預(yù)測(cè)編碼有更好的壓縮率,矢量編碼較標(biāo)量編碼有更好的壓縮率,基于神經(jīng)網(wǎng)絡(luò)的方法尋找碼本較LBG方法具有更好的壓縮率,Huffman編碼是常用的無損壓縮方法,它通常用于多級(jí)編碼的最后一級(jí),對(duì)非均勻概論分布的碼元具有一定的壓縮率,文中根據(jù)以上每一種編碼所具有的壓縮性質(zhì),將這3種壓縮方法結(jié)合,提出的基于預(yù)測(cè)編碼、SOM自主神經(jīng)網(wǎng)絡(luò)矢量編碼和Huffman編碼的聯(lián)合編碼就具有比單獨(dú)使用任何一種編碼方法更好的壓縮性質(zhì),因而能達(dá)到實(shí)驗(yàn)數(shù)據(jù)中得到的較小的壓縮率。譯碼時(shí),用切比雪夫Ⅰ型濾波器對(duì)譯碼信號(hào)進(jìn)行低通濾波,在語音信號(hào)基本不損失的同時(shí),抑制矢量量化引起的高頻量化噪聲,保證了壓縮率較小時(shí)的語音質(zhì)量良好。
圖4 《say hi》音樂段頻域恢復(fù)情況Fig.4 Frequency domain recovery of the《say hi》music segment
本文提出了一種預(yù)測(cè)編碼、SOM自主神經(jīng)網(wǎng)絡(luò)矢量編碼和Huffman編碼的聯(lián)合編碼算法,并在譯碼時(shí)用切比雪夫Ⅰ型濾波器對(duì)譯碼信號(hào)進(jìn)行濾波。實(shí)驗(yàn)結(jié)果表明,本文提出的編碼算法,算法簡單,且在保證聲音質(zhì)量較好的前提下,可以達(dá)到小于MEPG-1 Layer3的最低的64 kbps的標(biāo)準(zhǔn)碼率,從而可以減少聲音信號(hào)的存儲(chǔ)空間和傳輸帶寬。
[1]丁榮格.音頻編碼技術(shù)在數(shù)字化傳輸中的應(yīng)用[J].計(jì)算機(jī)與網(wǎng)絡(luò),2013,39(13):50-52.DING RONGGE.The application of audio coding technology in digital transmission[J].Computer and Network,2013,39(13):50-52.(in Chinese)
[2]楊可歆.音頻編碼技術(shù)在數(shù)字化傳輸中的應(yīng)用探究[J].科技創(chuàng)新與應(yīng)用,2015(16):89.YANG KEXIN.Application of audio coding technology in digital transmission[J].Technology Innovation and Application,2015(16):89.(in Chinese)
[3]張楊.音頻編碼技術(shù)及廣播電臺(tái)數(shù)字編碼壓縮傳輸系統(tǒng)建設(shè)[J].科技傳播,2015,11:113-115.ZHANG YANG.Audio coding technology and digital coding compression transmission system construction of radio station[J].Science and Technology Communication,2015,11:113-115.(in Chinese)
[4]李曉明.語音與音頻信號(hào)的通用編碼方法研究[D].北京:北京工業(yè)大學(xué),2014.LI XIAOMING.Research on universal coding method for speech and audio signals[D].Beijing:Beijing University of Technology,2014.(in Chinese)
[5]梁冬蕾.音頻語音聯(lián)合編碼算法研究[D].西安:西安電子科技大學(xué),2010.LIANG DONGLEI.Research on joint audio and audio coding algorithm[D].Xi’an:Xi’an Electronic and Science University,2010.(in Chinese)
[6]趙群群.基于SOFM的直接矢量量化方法在LD-CELP語音編碼算法中的應(yīng)用[D].太原:太原理工大學(xué),2008.ZHAO QUNQUN.Application of direct vector quantization method based on SOFM in LD-CELP speech coding algorithm[D].Taiyuan:Taiyuan University of Technology,2008.(in Chinese)
[7]杜維濤.面向?qū)崟r(shí)通信的低延遲高質(zhì)量音頻編碼算法[J].科學(xué)技術(shù)與工程,2013,13(7):1970-1974.DU WEITAO.High eficient perceptualand low delay audio coding algorithm[J].Science Technology and Engineering,2013,13(7):1970-1974.(in Chinese)
[8]周游,賀珊,李琳,等.多制式音頻解碼關(guān)鍵模塊的FPGA設(shè)計(jì)與驗(yàn)證[J].中國科技論文,2014,9(7):798-802.ZHOU YOU,HE SHAN,LI LIN,et al.Design and verification of FPGA-based key modules in multi-standard autio decoding[J].China Science Paper,2014,9(7):798-802.(in Chinese)
[9]樊昌信,曹麗娜.通信原理[M].7版.北京:國防工業(yè)出版社,2015:302-305.FAN CHANGXIN,CAO LINA.Principle of communication[M].7thed.Beijing:National Defense Industry Press,2015:302-305.(in Chinese)
[10]MARHOUL JOHN.Vector quantization in speech coding[J].Proceeding of IEEE.1985,73(11):1551-1588.
[11]楊超,賀一君,任建存,等.碼本均衡矢量編碼算法[J].現(xiàn)代電子技術(shù),2016,39(13):38-40.YANG CHAO,HE YIJUN,REN JIANCUN,et al.Codebook equilibrium algorithm for vector coding[J].Modern Electronics Technique,2016,39(13):38-40.(in Chinese)
[12]楊超,董世錕.矢量量化圖像壓縮方法[J].海軍航空工程學(xué)院學(xué)報(bào),2011,26(1):11-14.YANG CHAO,DONG SHIKUN.Image compresion method beased on vector quantization[J].Journal of Naval Aeronautical and Astronautic University,2011,26(1):11-14.(in Chinese)
[13]錢海軍.基于BP神經(jīng)網(wǎng)絡(luò)的圖像壓縮的Matlab實(shí)現(xiàn)[J].電腦開發(fā)與應(yīng)用,2011,24(12):77-79.QIAN HAIJUN.Image compression based on nural network using matlab[J].Computer Development and Application,2011,24(12):77-79.(in Chinese)
[14]陳明.神經(jīng)網(wǎng)絡(luò)原理與實(shí)例精解[M].北京:清華大學(xué)出版社,2013:246-250.CHEN MING.The neural network principle and example[M].Beijing:Tsinghua University Press,2013:246-250.(in Chinese)
[15]王龍,杜敦偉,白艷萍.SOM網(wǎng)絡(luò)在雷達(dá)目標(biāo)識(shí)別中的應(yīng)用[J].科技視界,2015(16):505-509.WANG LONG,DU DUNWEI,BAI YANPING.Application of SOM network in radar target recognition[J].Science&Technology Vision,2015(16):505-509.(in Chinese)
[16]楊晨,閆薇.利用SOM網(wǎng)絡(luò)模型進(jìn)行聚類研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2014(2):44-45.YANG CHEN,YANG WEI.Research on the clustering by using SOM network model[J].Network security&Application,2014(2):44-45.(in Chinese)
[17]鄒瑜,帥仁俊.基于改進(jìn)的SOM神經(jīng)網(wǎng)絡(luò)的醫(yī)學(xué)圖像分割算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2016,37(9):2533-2537.ZOU YU,SHUAI RENJUN.Improved segmentation algorithm of medical images based on SOM neural network[J].Communication Technology,2016,37(9):2533-2537.(in Chinese)
[18]孟歡,包海燕,潘飛.Xilinx哈夫曼編碼系統(tǒng)設(shè)計(jì)[J].電子產(chǎn)品世界,2017(11):51-54.MEN HUAN,BAO HAIYAN,PAN FEI.Design of Xilinx Huffman coding system[J].Eelectronic Engineering&Product World,2017(11):51-54.(in Chinese)
[19]MUSMANN HG.Genesis of the MP3 audio coding standard[J].IEEE Transactions on Consumer Electronics,2006,52(3):1043-1049.