本發(fā)明涉及一種基于自適應(yīng)傅里葉分解(adaptivefourierdecomposition,afd)的頭相關(guān)傳輸函數(shù)(head-relatedtransferfunction,hrtf)建模方法,應(yīng)用于vr技術(shù)、3d音頻重放等技術(shù)領(lǐng)域。
背景技術(shù):
聲源發(fā)出的聲波經(jīng)由頭部、耳廓、軀干等生理結(jié)構(gòu)的綜合濾波后到達(dá)雙耳,形成的雙耳聲壓包含了各種聲源定位因素,通過這些因素我們可以精確地定位聲源的位置。在頭部不動的條件下,聲音從聲源到雙耳的傳輸可以看作一個線性時不變過程。頭相關(guān)傳輸函數(shù)是一個聲波從聲源到雙耳的聲學(xué)傳輸函數(shù),它表達(dá)了生理結(jié)構(gòu)對聲波的綜合濾波效果,包含了主要的聲源定位信息,是實現(xiàn)雙耳3d音頻重放的關(guān)鍵所在。由于實驗室測量到的頭相關(guān)傳輸函數(shù)是一個復(fù)雜而龐大的數(shù)據(jù)集,在對聲源信號進(jìn)行頭相關(guān)傳輸函數(shù)加工時所需計算量和數(shù)據(jù)量巨大,大大增加了硬件實現(xiàn)的難度。
頭相關(guān)傳輸函數(shù)建模是根據(jù)頭相關(guān)傳輸函數(shù)的物理和心理聲學(xué)特性對其建立數(shù)學(xué)模型,用連續(xù)的數(shù)學(xué)表達(dá)式直接近似計算出所需數(shù)據(jù)或者以較少的數(shù)據(jù)量表示、逼近原始數(shù)據(jù)?,F(xiàn)有已經(jīng)提出來的建模方法大致可以總結(jié)為三類:基于理論計算的建模方法、基于濾波器的建模方法和參數(shù)化建模方法。
理論計算的方法就是將頭部、耳廓和軀干等生理結(jié)構(gòu)組成邊界條件,然后在此條件下求解波動方程,邊界元法就是最常用的理論計算方法。對于邊界元方法,首先把求解波動方程問題轉(zhuǎn)化為邊界積分問題。然后,通過激光掃描成像或核磁共振成像方法獲取真人或人工頭的生理外形圖像,并將邊界用網(wǎng)格劃分為m個邊界元,最后對每一個邊界元求解線性方程。由于邊界元數(shù)量眾多(不考慮人體軀干的條件下,加上軀干這會是一個非常龐大的數(shù)字),所以,用邊界元法計算頭相關(guān)傳輸函數(shù)耗時較長。而且人體生理結(jié)構(gòu)也不是完全對稱的規(guī)則形狀,尤其是耳廓,要得到其精確的邊界網(wǎng)格也是一大難題。
頭相關(guān)傳輸函數(shù)是一個線性時不變的傳遞函數(shù),所以可以通過各種線性時不變系統(tǒng)的濾波器來近似地模擬,使其頻域傳輸特性近似等于已知的頭相關(guān)傳輸函數(shù)。自回歸滑動平均模型(autoregressive-movingaveragemodel,arma模型)是常用的無限脈沖響應(yīng)(iir)濾波器模型,滑動平均模型(movingaveragemodel,ma模型)為常用的有限脈沖響應(yīng)(fir)濾波器模型。由于頭相關(guān)傳輸函數(shù)的幅度譜上的谷和峰分別對應(yīng)濾波器系統(tǒng)函數(shù)的零點和極點,改變這些零點和極點(即濾波器系數(shù)),對應(yīng)頭相關(guān)傳輸函數(shù)也會隨著變化。為了簡化模型,于是提出了共聲學(xué)極點/零點(capz)模型,該模型由與聲源位置無關(guān)的聲學(xué)共極點和與聲源位置相關(guān)的聲學(xué)零點組成,與傳統(tǒng)零極點模型相比,此模型可以使用更少的參數(shù)來描述頭相關(guān)傳輸函數(shù)。但是,濾波器模型相關(guān)參數(shù)的計算是一個比較復(fù)雜的過程,實現(xiàn)起來相對困難。
目前比較實用且完善的頭相關(guān)傳輸函數(shù)建模方法為基于球諧函數(shù)的建模方法,該方法利用球諧函數(shù)將原始數(shù)據(jù)變換到球諧域,通過球諧系數(shù)和正交的球諧基函數(shù)重構(gòu)具有空間方位感的頭相關(guān)傳輸函數(shù)。此模型與人們的頭部聽覺模型相似,在進(jìn)行角度的變化處理上比較方便。然而,基于球諧函數(shù)的頭相關(guān)傳輸函數(shù)的建模方法計算量巨大,難以在現(xiàn)實中進(jìn)行實現(xiàn)。此外,該模型的數(shù)據(jù)建模精度還有提高的空間,傳輸?shù)臄?shù)據(jù)量也有待減少。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)的不足,本發(fā)明的目的是提出一種基于自適應(yīng)傅里葉分解的頭相關(guān)傳輸函數(shù)建模方法,該方法克服傳統(tǒng)方法計算量、計算復(fù)雜度高的不足,顯著的降低了運算量、能夠滿足對原始數(shù)據(jù)較高精度的逼近。
為了實現(xiàn)上述目的,本發(fā)明的構(gòu)思是:
首先建立頭相關(guān)傳輸函數(shù)與自適應(yīng)傅里葉分解(afd)算法間的數(shù)學(xué)聯(lián)系;然后進(jìn)行afd算法分析;利用極大選擇原理選擇最佳的原子,并用選出的原子計算每一次分解的有理正交系作為基函數(shù);最后,利用基函數(shù)與權(quán)重系數(shù)重構(gòu)所需頭相關(guān)傳輸函數(shù)。
具體是先將hrtf投射到hardy空間,然后通過極大選擇原則根據(jù)所給hardy空間函數(shù)逐次地選出最佳的原子a1,a2,…。確切的說,在a1,…,ak-1已經(jīng)選定的情況下最佳地選取ak,使得所給函數(shù)f的k階后移算子的像函數(shù)fk+1的能量盡可能小,由此得到快速收斂的有理正交系作為基函數(shù),并由極大選擇原則選出合適的分解系數(shù),最后通過基函數(shù)和系數(shù)重構(gòu)出所需函數(shù),實現(xiàn)hrtf的數(shù)據(jù)建模。與現(xiàn)有較成熟的hrtf建模方法相比,本方法采用能量分解的原則,以快速收斂的方式選出信號主要能量。運用本方法建模hrtf具有所需傳送的數(shù)據(jù)量小、建模數(shù)據(jù)精度高等優(yōu)點,滿足hrtf的建模需求。
根據(jù)上述發(fā)明構(gòu)思,本發(fā)明采用的技術(shù)方案是:
一種基于自適應(yīng)傅里葉分解的頭相關(guān)傳輸函數(shù)建模方法主要包括以下幾個步驟:
1)、建立頭相關(guān)傳輸函數(shù)與afd算法間的數(shù)學(xué)聯(lián)系,使輸入函數(shù)為hardy空間函數(shù);
2)、建立頭相關(guān)傳輸函數(shù)的afd算法分析;
3)、利用極大選擇原理選擇最佳的原子a1,…,ak-1,用選出的原子計算每一次分解的有理正交系作為基函數(shù)bk(ejt),并通過基函數(shù)重構(gòu)所需函數(shù);
4)、構(gòu)建頭相關(guān)傳輸函數(shù)的afd模型。
本發(fā)明方法與現(xiàn)有技術(shù)相比,具有如下的優(yōu)點:
本方法利用afd算法的能量快速收斂原則,用較少的數(shù)據(jù)量,以極大速度逼近原始數(shù)據(jù)的能量,實現(xiàn)對原始數(shù)據(jù)較精準(zhǔn)的描述。大大減少了頭相關(guān)傳輸函數(shù)建模所需的計算時間以及信號處理時的數(shù)據(jù)量,可廣泛運用于數(shù)據(jù)建模領(lǐng)域。
附圖說明
圖1為本發(fā)明一種基于自適應(yīng)傅里葉分解的頭相關(guān)傳輸函數(shù)建模方法的流程圖。
圖2為本發(fā)明的通過選出原子重構(gòu)頭相關(guān)傳輸函數(shù)示意圖。
具體實施方式
為了更好地理解本發(fā)明的技術(shù)方案,以下結(jié)合附圖對本發(fā)明作進(jìn)一步的詳細(xì)描述:
本方法的流程參見圖1,一種基于自適應(yīng)傅里葉分解的頭相關(guān)傳輸函數(shù)建模方法,利用極大選擇原理在每一次分解中選出一個使得誤差能量最小的單位圓中的原子,并通過選出的原子構(gòu)建有理正交系作為函數(shù)分解的基函數(shù),再由基函數(shù)重構(gòu)原始的頭相關(guān)傳輸函數(shù),完成數(shù)據(jù)的建模,具體實施步驟如下:
1)、建立頭相關(guān)傳輸函數(shù)與afd算法間的數(shù)學(xué)聯(lián)系,使輸入函數(shù)為hardy空間函數(shù),具體如下:
利用希爾伯特變換將待建模數(shù)據(jù)f(t)投射到hardy空間,f(t)是某個特定角度的頭相關(guān)傳輸函數(shù),是一個有200個數(shù)據(jù)的集合。其希爾伯特變換是:
其中,
2)、建立頭相關(guān)傳輸函數(shù)的afd算法分析,其具體如下:
對于hardy空間函數(shù)g(t),記g(t)=g1;對開單位圓內(nèi)任意的a1,即a1∈d,有恒等式
其中
為單位圓d內(nèi)的點a的l2單位?;说?imgfile="bda0001300862580000036.gif"wi="126"he="63"img-content="drawing"img-format="gif"orientation="portrait"inline="no"/>核,g2(t)為第二階導(dǎo)出誤差。由于內(nèi)積
||g(t)||2=|<g1,ea1>|2+||g2(t)||2=(1-|a1|2)|g1(a1)|2+||g2(t)||2(4)
接下來對g2(t)重復(fù)上述過程,有
將g2(t)帶入式(2)中,則
重復(fù)至第k次,由單位圓周內(nèi)的有理正交系定義式
則到第k次時,可以得到
其中,gk+1(t)為導(dǎo)出誤差。
由于逐步的余項正交性,我們可以得到能量關(guān)系
在每一次分解中,我們總是利用極大選擇原理選出單位圓中的原子,即第l次分解時選出的原子al使得<gl,eal>的能量最大,則其后階導(dǎo)出誤差最小,于是就存在
所以,對于任意hardy空間函數(shù)g(t),可以由下面表達(dá)式近似表示
3)、利用極大選擇原理選擇最佳的原子a1,…,ak-1,用選出的原子計算每一次分解的有理正交系作為基函數(shù)bk(ejt),并通過基函數(shù)重構(gòu)所需函數(shù),其過程具體如下:
首先根據(jù)圖1對hardy空間函數(shù)初始化g1(t)=g(t),并使a1=0;由式(3)可得ea1=1。
所以其第二階導(dǎo)出誤差為:
然后計算內(nèi)積<g2,ea2>,選擇使得此內(nèi)積最大的原子。由于
重復(fù)上述過程,根據(jù)式(12)可以求出第三階、第四階一直到第k階導(dǎo)出誤差,同時由各階導(dǎo)出誤差利用極大選擇原理最佳選出a3,…,ak以及對應(yīng)的權(quán)重系數(shù)c(3),…,c(k)。根據(jù)圖2所示,通過選出的原子計算各自的有理正交系bk(ejt),最終由基函數(shù)和權(quán)重系數(shù)重構(gòu)的近似的頭相關(guān)傳輸函數(shù)可表示為:
從而,實現(xiàn)了頭相關(guān)傳輸函數(shù)的重構(gòu)。
4)、構(gòu)建頭相關(guān)傳輸函數(shù)的afd模型,具體如下:
由3)中過程,對于任意角度的頭相關(guān)傳輸函數(shù),我們都可以運用自適應(yīng)傅里葉分解將其分解為權(quán)重系數(shù)和基函數(shù)的乘積的疊加。每一次分解,我們僅需選出開單位圓中的一個復(fù)數(shù)原子,根據(jù)式(7)就可以計算出每一次分解的有理正交系。而第k次分解選出的權(quán)重系數(shù)c(k)正好為hardy空間函數(shù)g(t)的第k階導(dǎo)出誤差和選出的原子ak的l2單位?;说?imgfile="bda0001300862580000055.gif"wi="126"he="55"img-content="drawing"img-format="gif"orientation="portrait"inline="no"/>核的內(nèi)積,即
c(k)=|<gk,eak>|2(14)
所以,所構(gòu)建的頭像傳輸函數(shù)的自適應(yīng)傅里葉表達(dá)式為:
也就是說,對于任意的頭相關(guān)傳輸函數(shù),都可以由式(15)比較準(zhǔn)確地得到。