一種基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法及系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明所提供的一種基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法及系統(tǒng),所述方法具體包括:通過(guò)移動(dòng)終端內(nèi)置的方向傳感器獲取用戶(hù)頭部的移動(dòng)方向;依據(jù)所述頭部的移動(dòng)方向,通過(guò)虛擬環(huán)繞聲算法,將所述移動(dòng)終端的雙聲道立體聲轉(zhuǎn)換為虛擬環(huán)繞立體聲并進(jìn)行輸出;所述虛擬環(huán)繞聲算法通過(guò)不同空間方向上的頭相關(guān)變換函數(shù)模擬發(fā)射聲和混響聲。本發(fā)明將傳統(tǒng)耳機(jī)與移動(dòng)終端本身的傳感器相結(jié)合,使移動(dòng)終端增加新功能:輸出具有環(huán)繞立體效果的音頻數(shù)據(jù),提高用戶(hù)的聽(tīng)覺(jué)效果,為用戶(hù)提供方便。
【專(zhuān)利說(shuō)明】
一種基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及移動(dòng)終端技術(shù)領(lǐng)域,尤其涉及一種基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法及系統(tǒng)。
【背景技術(shù)】
[0002]當(dāng)今社會(huì)發(fā)展越來(lái)越快,互聯(lián)網(wǎng)技術(shù)以及與電子技術(shù)的結(jié)合程度越來(lái)越高。智能化、人性化的要求也越來(lái)越高。手機(jī)以及便攜式設(shè)備的使用普及度越來(lái)越高,移動(dòng)消費(fèi)電子產(chǎn)品所附帶的功能涵蓋生活生產(chǎn)中,多媒體功能也是消費(fèi)電子設(shè)備用戶(hù)使用最多的一種應(yīng)用,怎么提高用戶(hù)體驗(yàn)以及用戶(hù)感受成為了每個(gè)廠家都需要考慮的問(wèn)題。
[0003]現(xiàn)有技術(shù)采用的是將多媒體音效設(shè)置的功能放置在多媒體終端設(shè)備上,具體是通過(guò)手機(jī)安裝能夠播放360度虛擬現(xiàn)實(shí)內(nèi)容的應(yīng)用,同時(shí)結(jié)合手機(jī)自帶的傳感器,在佩戴虛擬現(xiàn)實(shí)的頭戴式設(shè)備下進(jìn)行觀看360度全視角的視頻。然而,由于手機(jī)耳機(jī)只能夠輸出立體聲,手機(jī)雙喇叭輸出也只能是立體輸出,所以使用現(xiàn)有技術(shù)用戶(hù)只能聽(tīng)到立體聲,但是聽(tīng)到的聲音只會(huì)從左邊或右邊傳來(lái),大大降低了聽(tīng)覺(jué)效果,給用戶(hù)造成了極大的不便。
[0004]由此可知,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
【發(fā)明內(nèi)容】
[0005]本發(fā)明要解決的技術(shù)問(wèn)題在于,針對(duì)現(xiàn)有技術(shù)的上述缺陷,提供一種基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法及系統(tǒng),旨在通過(guò)本發(fā)明克服現(xiàn)有技術(shù)中存在的以上缺陷,將傳統(tǒng)耳機(jī)與移動(dòng)終端本身的傳感器相結(jié)合,使移動(dòng)終端增加新功能:輸出具有環(huán)繞立體效果的音頻數(shù)據(jù),提高用戶(hù)的聽(tīng)覺(jué)效果,為用戶(hù)提供方便。
[0006]本發(fā)明解決技術(shù)問(wèn)題所采用的技術(shù)方案如下:
一種基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法,其中,包括步驟:
A、通過(guò)移動(dòng)終端內(nèi)置的方向傳感器獲取用戶(hù)頭部的移動(dòng)方向;
B、依據(jù)所述頭部的移動(dòng)方向,通過(guò)虛擬環(huán)繞聲算法,將所述移動(dòng)終端的雙聲道立體聲轉(zhuǎn)換為虛擬環(huán)繞立體聲并進(jìn)行輸出;
所述虛擬環(huán)繞聲算法通過(guò)不同空間方向上的頭相關(guān)變換函數(shù)模擬發(fā)射聲和混響聲。
[0007]所述的基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法,其中,所述步驟A具體包括:
Al、通過(guò)方向傳感器獲取用戶(hù)頭部在三個(gè)維度上的移動(dòng)角度值;
A2、依據(jù)所述移動(dòng)角度值,計(jì)算用戶(hù)頭部的具體移動(dòng)方向。
[0008]所述的基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法,其中,所述步驟B具體包括:
B1、依據(jù)所述頭部的移動(dòng)方向,通過(guò)虛擬環(huán)繞聲算法,對(duì)所述雙聲道混音數(shù)據(jù)進(jìn)行修飾和解析;
B2、將修飾和解析后的雙聲道混音數(shù)據(jù)進(jìn)行數(shù)模轉(zhuǎn)換;
B3、將轉(zhuǎn)換后的模擬信號(hào)發(fā)送至移動(dòng)終端的揚(yáng)聲器,并輸出相應(yīng)的虛擬環(huán)繞立體聲。
[0009]所述的基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法,其中,所述方法還包括:C、依據(jù)用戶(hù)指令,調(diào)整虛擬環(huán)繞立體聲的音量及混音模式。
[0010]所述的基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法,其中,所述移動(dòng)終端為安卓操作系統(tǒng)終端。
[0011]—種基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的系統(tǒng),其中,包括:
用戶(hù)移動(dòng)方向獲取模塊,用于通過(guò)移動(dòng)終端內(nèi)置的方向傳感器獲取用戶(hù)頭部的移動(dòng)方向;
虛擬環(huán)繞立體聲輸出模塊,用于依據(jù)所述頭部的移動(dòng)方向,通過(guò)虛擬環(huán)繞聲算法,將所述移動(dòng)終端的雙聲道立體聲轉(zhuǎn)換為虛擬環(huán)繞立體聲并進(jìn)行輸出;
所述虛擬環(huán)繞聲算法通過(guò)不同空間方向上的頭相關(guān)變換函數(shù)模擬發(fā)射聲和混響聲。
[0012]所述的基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的系統(tǒng),其中,用戶(hù)移動(dòng)方向獲取模塊具體包括:
移動(dòng)角度值獲取單元,用于通過(guò)方向傳感器獲取用戶(hù)頭部在三個(gè)維度上的移動(dòng)角度值;
移動(dòng)方向計(jì)算單元,用于依據(jù)所述移動(dòng)角度值,計(jì)算用戶(hù)頭部的具體移動(dòng)方向。
[0013]所述的基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的系統(tǒng),其中,所述虛擬環(huán)繞立體聲輸出模塊具體包括:
語(yǔ)音解析單元,用于依據(jù)所述頭部的移動(dòng)方向,通過(guò)虛擬環(huán)繞聲算法,對(duì)所述雙聲道混音數(shù)據(jù)進(jìn)行修飾和解析;
語(yǔ)音數(shù)模轉(zhuǎn)換單元,用于將修飾和解析后的雙聲道混音數(shù)據(jù)進(jìn)行數(shù)模轉(zhuǎn)換;
虛擬環(huán)繞立體聲發(fā)送單元,用于將轉(zhuǎn)換后的模擬信號(hào)發(fā)送至移動(dòng)終端的揚(yáng)聲器,并輸出相應(yīng)的虛擬環(huán)繞立體聲。
[0014]所述的基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的系統(tǒng),其中,還包括:
語(yǔ)音調(diào)整模塊,用于依據(jù)用戶(hù)指令,調(diào)整虛擬環(huán)繞立體聲的音量及混音模式。
[0015]所述的基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的系統(tǒng),其中,所述移動(dòng)終端為安卓操作系統(tǒng)終端。
[0016]本發(fā)明所提供的一種基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法及系統(tǒng),所述方法具體包括:通過(guò)移動(dòng)終端內(nèi)置的方向傳感器獲取用戶(hù)頭部的移動(dòng)方向;依據(jù)所述頭部的移動(dòng)方向,通過(guò)虛擬環(huán)繞聲算法,將所述移動(dòng)終端的雙聲道立體聲轉(zhuǎn)換為虛擬環(huán)繞立體聲并進(jìn)行輸出;所述虛擬環(huán)繞聲算法通過(guò)不同空間方向上的頭相關(guān)變換函數(shù)模擬發(fā)射聲和混響聲。本發(fā)明將傳統(tǒng)耳機(jī)與移動(dòng)終端內(nèi)置的傳感器進(jìn)行結(jié)合,通過(guò)該傳感器來(lái)判斷用戶(hù)頭部擺動(dòng)的方位(如左右的方位信息),再結(jié)合虛擬環(huán)繞聲算法對(duì)音源信號(hào)進(jìn)行處理,將聲音中各個(gè)發(fā)音源方位分離結(jié)合頭部轉(zhuǎn)動(dòng)的角度來(lái)改變聲音的聲場(chǎng)以及聲音大小隨角度而逐漸變化,從而讓用戶(hù)在轉(zhuǎn)動(dòng)自己頭部角度的時(shí)候能夠很清楚聽(tīng)到音源中發(fā)聲體的方位和感受到聲音的聲場(chǎng)偏差。這樣一來(lái),用戶(hù)感覺(jué)不是永遠(yuǎn)都在頭部的正前方,而是隨著角度不同會(huì)有距離上、聲音大小、以及方位的偏差,從而獲取到與虛擬現(xiàn)實(shí)頭戴式設(shè)備相匹配的視聽(tīng)體驗(yàn),給用戶(hù)帶來(lái)了極大的便利。
【附圖說(shuō)明】
[0017]圖1是本發(fā)明基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法的較佳實(shí)施例的流程圖。
[0018]圖2是本發(fā)明基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法的應(yīng)用實(shí)施例示意圖。
[0019]圖3是本發(fā)明基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的系統(tǒng)的較佳實(shí)施例的功能模塊圖。
【具體實(shí)施方式】
[0020]本發(fā)明公開(kāi)了一種基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法及系統(tǒng),為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚、明確,以下參照附圖并舉實(shí)施例對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0021]請(qǐng)參見(jiàn)圖1,圖1是本發(fā)明基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法的較佳實(shí)施例的流程圖。圖1所示的基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法,包括:
步驟S101、通過(guò)移動(dòng)終端內(nèi)置的方向傳感器獲取用戶(hù)頭部的移動(dòng)方向。
[0022]本發(fā)明實(shí)施例中,所述步驟SlOl具體包括:
Al、通過(guò)方向傳感器獲取用戶(hù)頭部在三個(gè)維度上的移動(dòng)角度值;
A2、依據(jù)所述移動(dòng)角度值,計(jì)算用戶(hù)頭部的具體移動(dòng)方向。
[0023]本發(fā)明實(shí)施例是基于安卓操作系統(tǒng)的移動(dòng)終端,對(duì)現(xiàn)有的安卓音頻軟件流程進(jìn)行優(yōu)化,將虛擬環(huán)繞立體聲算法的動(dòng)作接口集成于android Framework層Aud1flinger組件中?,F(xiàn)有的移動(dòng)終端均內(nèi)置有多種傳感器,如方向傳感器。方向感應(yīng)器的實(shí)現(xiàn)靠的是加速計(jì),所采用的加速計(jì)是三軸加速計(jì),分為X軸、Y軸和Z軸。在實(shí)際應(yīng)用時(shí)通常是以這三個(gè)軸(或任意兩個(gè)軸)所構(gòu)成的角度來(lái)計(jì)算移動(dòng)終端傾斜的角度,從而計(jì)算出重力加速度的值。通過(guò)感知特定方向的慣性力總量,加速計(jì)可以測(cè)量出加速度和重力。三軸加速計(jì)意味著它能夠檢測(cè)到三維空間中的運(yùn)動(dòng)或重力引力。因此,加速計(jì)可以檢測(cè)設(shè)備處于正豎、倒豎、左橫、右橫,仰、俯狀態(tài),感應(yīng)水平面上的方位角、旋轉(zhuǎn)角和傾斜角。
[0024]步驟S102、依據(jù)所述頭部的移動(dòng)方向,通過(guò)虛擬環(huán)繞聲算法,將所述移動(dòng)終端的雙聲道立體聲轉(zhuǎn)換為虛擬環(huán)繞立體聲并進(jìn)行輸出,所述虛擬環(huán)繞聲算法通過(guò)不同空間方向上的頭相關(guān)變換函數(shù)(Head-related transfer funct1n,HRTF)模擬發(fā)射聲和混響聲。
[0025]本發(fā)明實(shí)施例中,所述步驟S102具體包括步驟:
B1、依據(jù)所述頭部的移動(dòng)方向,通過(guò)虛擬環(huán)繞聲算法,對(duì)所述雙聲道混音數(shù)據(jù)進(jìn)行修飾和解析;
B2、將修飾和解析后的雙聲道混音數(shù)據(jù)進(jìn)行數(shù)模轉(zhuǎn)換;
B3、將轉(zhuǎn)換后的模擬信號(hào)發(fā)送至移動(dòng)終端的揚(yáng)聲器,并輸出相應(yīng)的虛擬環(huán)繞立體聲。
[0026]實(shí)際應(yīng)用中,本發(fā)明實(shí)施例需要包括以下幾個(gè)模塊:(I)手機(jī)模塊,移動(dòng)終端,必須有操作系統(tǒng)支持,基于操作系統(tǒng)上安裝音樂(lè)播放器;(2)耳機(jī)模塊,通過(guò)3.5MM的普通音頻連接器與手機(jī)模塊進(jìn)行連接;(3)微控制模塊,作為本發(fā)明實(shí)施例的主模塊,其作用是進(jìn)行音樂(lè)信號(hào)和通話(huà)語(yǔ)音信號(hào)的音量大小調(diào)整、麥克通路切換從充電模式轉(zhuǎn)成輸入通路控制、控制數(shù)字信號(hào)處理單元DSP以及其他幾個(gè)核心單元的硬件初始化、接收DSP核心單元中斷、主動(dòng)進(jìn)行升壓由I.8V升到2.5V(其中,1.8V為麥克風(fēng)的額定工作電壓);(4)方向傳感模塊,通過(guò)I2C總線(xiàn)與微控制模塊進(jìn)行連接,整個(gè)耳機(jī)端通電之后傳感器模塊進(jìn)行初始化,開(kāi)始捕捉用戶(hù)頭部移動(dòng)數(shù)據(jù)并保存在存儲(chǔ)單元中;(5)信號(hào)轉(zhuǎn)換模塊,將移動(dòng)終端的模擬音頻數(shù)據(jù)轉(zhuǎn)換成數(shù)字音頻數(shù)據(jù)并暫時(shí)存儲(chǔ)在存儲(chǔ)模塊,通過(guò)微控制模塊中啟動(dòng)的數(shù)據(jù)將轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行混音操作,結(jié)合方向傳感器模塊傳輸過(guò)來(lái)的數(shù)據(jù)一并傳遞給DSP進(jìn)行音效處理;(6)存儲(chǔ)模塊,即環(huán)形緩沖池,用于存儲(chǔ)音頻數(shù)據(jù)以及用戶(hù)頭部移動(dòng)數(shù)據(jù);(7)電源管理模塊,用于管理整個(gè)耳機(jī)模塊的供電以及各個(gè)子模塊供電。
[0027]S卩,用戶(hù)將耳機(jī)插入移動(dòng)終端或者消費(fèi)電子的3.5mm接口中用來(lái)進(jìn)行音頻信號(hào)通訊,當(dāng)耳機(jī)開(kāi)始工作時(shí),微控制模塊MCU上同時(shí)發(fā)送硬件中斷信號(hào)給數(shù)字信號(hào)處理單元DSP進(jìn)行初始化,轉(zhuǎn)換工作模式到下載模式,將修改好的音效通過(guò)I2C總線(xiàn)更新到DSP核心單元內(nèi)存中。然后重新啟動(dòng)并且重新初始化DSP單元,將下載模式轉(zhuǎn)成工作模式,此時(shí)個(gè)體的音效算法正式更新完成。通過(guò)信號(hào)轉(zhuǎn)換模塊將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)并暫時(shí)保存在存儲(chǔ)模塊中,微控制模塊向存儲(chǔ)模塊發(fā)送指令,通知將存儲(chǔ)的方向傳感器數(shù)據(jù)和聲音混音后的數(shù)據(jù)送至DSP內(nèi)部進(jìn)行運(yùn)算,由于DSP和存儲(chǔ)模塊內(nèi)存池的讀寫(xiě)操作是需要相互配合的,所以需要通過(guò)回調(diào)機(jī)制告知內(nèi)存池,已經(jīng)處理完畢,內(nèi)存池可以發(fā)送數(shù)據(jù)給DSP了。之后,通過(guò)實(shí)時(shí)的進(jìn)行對(duì)比運(yùn)算結(jié)合加載在DSP的算法,結(jié)合頭轉(zhuǎn)的角度和左右通道已經(jīng)混音的數(shù)據(jù)進(jìn)行解析以及數(shù)據(jù)修飾,并有送至信號(hào)轉(zhuǎn)換單元進(jìn)行數(shù)據(jù)轉(zhuǎn)模擬操作,送至耳機(jī)揚(yáng)聲器,通過(guò)DSP核心單元的處理的數(shù)據(jù)最終變成虛擬環(huán)繞聲最終傳遞給人耳中。
[0028]步驟S103、依據(jù)用戶(hù)指令,調(diào)整虛擬環(huán)繞立體聲的音量及混音模式。
[0029]S卩,本發(fā)明實(shí)施例可以通過(guò)接受用戶(hù)的即時(shí)指令對(duì)生成的虛擬環(huán)繞立體聲進(jìn)行音量的調(diào)整以及調(diào)整混音模式,進(jìn)一步增強(qiáng)了聽(tīng)覺(jué)效果。
[0030]以下將通過(guò)具體的應(yīng)用實(shí)施例對(duì)本發(fā)明做進(jìn)一步說(shuō)明。圖2是本發(fā)明基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法的應(yīng)用實(shí)施例示意圖。如圖2所示(以手機(jī)為例),包括:
S201、虛擬現(xiàn)實(shí)播放器啟動(dòng)。
[0031]S 2 O 2、創(chuàng)建播放器服務(wù)組件,申請(qǐng)共享內(nèi)存并通過(guò)I / O設(shè)備標(biāo)識(shí)符機(jī)制,與Aut1f linger服務(wù)建立聯(lián)系,通過(guò)binder機(jī)制實(shí)現(xiàn)播放數(shù)據(jù)的流通。
[0032]S203、通過(guò)Aut1f linger服務(wù)啟動(dòng)的mixerThread線(xiàn)程獲取經(jīng)過(guò)混音后的數(shù)據(jù)。
[0033]S204、通過(guò)手機(jī)傳感器獲取用戶(hù)頭部移動(dòng)角度數(shù)據(jù),并傳送至Aut1flinge輸出端接口中。
[0034]實(shí)際應(yīng)用中,獲取傳感器X,Y,Z軸上的數(shù)據(jù),在微控制模塊啟動(dòng)的傳感器進(jìn)程中進(jìn)行算法解析獲取到角度數(shù)據(jù),算法解析如下:
getRotat1nMatrix(float[] R, float[] I,
float[] gravity, float[] geomagnetic) {
Il TODO: move this to native code for efficiency
float Ax = gravity[0];
float Ay = gravity[l];
float Az = gravity[2];
final float Ex = geomagnetic[0];
final float Ey = geomagnetic[I];
final float Ez = geomagnetic[2];
float Hx = Ey氺Az _ Ez氺Ay;
float Hy = Ez氺Ax _ Ex*Az; float Hz = Ex^Ay _ Ey氺Αχ;
final float normH = (float)Math.sqrtCHx^Hx + Hy^Hy + Hz^Hz); if (normH < 0.1f) {
Il device is close to free fall (or in space?), or close toIl magnetic north pole.Typical values are > 100.return false;
}
final float invH = 1.0f / normH;
Hx *= invH;
Hy 氺=invH;
Hz *= invH;
final float invA = 1.0f / (float)Math.sqrt(Ax^Ax + Ay^Ay + Az^Az);
Ax *= invA;
Ay 氺=invA;
Az *= invA;
final float Mx = Ay*Hz - Az^Hy; final float My = Az*Hx - Ax^Hz; final float Mz = Ax^Hy - Ay^Hx; if (R != null) {
if (R.length == 9) {
R[0] = Hx; R[l] = Hy; R[2] = Hz;
R[3] = Mx; R[4] = My; R[5] = Mz;
R[6] = Ax; R[7] = Ay; R[8] = Az;
} else if (R.length == 16) {
R[0] = Hx; R[l] = Hy; R[2] = Hz; R[3] = 0;
R[4] = Mx; R[5] = My; R[6] = Mz; R[7] = 0;
R[8] = Ax; R[9] = Ay; R[10] = Az; R[ll] = 0;
R[12] = 0; R[13] = 0; R[14] = 0; R[15] = I;
}
}
if (I != null) {
Il compute the inclinat1n matrix by projecting the geomagneticIl vector onto the Z (gravity) and X (horizontal componentIl of geomagnetic vector) axes.final float invE = 1.0f / (float)Math.sqrt(Ex^Ex + Ey氺Ey + Ez氺
Ez);
final float c = (Ex^Mx + Ey^My + Ez*Mz) * invE;final float s = (Ex氺Ax + Ey氺Ay + Ez氺Az)氺 invE;if (1.length == 9) { I[0] = I; I[l] = 0; I[2] = 0;
I[3] = 0; I[4] = c; I[5] = s;
I[6] = 0; I[7] =-s; I[8] = c;
} else if (1.length == 16) {
I[0] = I; I[l] = 0; I[2] = 0;
I [4] = 0; I [5] = c; I [6] = s;
I[8] = 0; I[9] =-s; I[10]= c;
I[3] = I[7] = I[ll] = I[12] = I[13] = I[14] = 0;
I[15] = I;
}
}
return true;
}o
[0035]S205、將獲取的混音數(shù)據(jù)和實(shí)時(shí)角度數(shù)據(jù)進(jìn)行存儲(chǔ),同時(shí)送至第三方音效處理算法中進(jìn)彳丁處理。
[0036]計(jì)算出角度數(shù)據(jù)并將角度數(shù)據(jù)保存在存儲(chǔ)模塊中,微控制模塊發(fā)送命令將方向角度以及實(shí)時(shí)的數(shù)字音頻數(shù)據(jù)一并傳送至DSP進(jìn)行虛擬環(huán)繞聲的算法解析操作,算法如下:
calculateOrientat1n() {
float[] values = new float[3];float[] R = new float[9];
SensorManager.getRotat1nMatrix(R, null, accelerometerValues, magneticFieldValues);
SensorManager.getOrientat1n(R, values);//獲取到此時(shí)手機(jī)安裝在虛擬現(xiàn)實(shí)頭戴式設(shè)備上,頭部轉(zhuǎn)動(dòng)的角度數(shù)??蓪⒋私嵌扰cMixerThread之后Framebuffer數(shù)據(jù)同時(shí)送至虛擬現(xiàn)實(shí)音效算法中進(jìn)行處理//
values[0] = (float) Math.toDegrees(values[0]);
}o
[0037]S206、將最終算法解析的虛擬現(xiàn)實(shí)音效的數(shù)據(jù)經(jīng)過(guò)處理后輸入到人耳中。
[0038]由上可見(jiàn),本發(fā)明將傳統(tǒng)耳機(jī)與移動(dòng)終端本身的傳感器相結(jié)合,使移動(dòng)終端增加新功能:輸出具有環(huán)繞立體效果的音頻數(shù)據(jù),提高用戶(hù)的聽(tīng)覺(jué)效果,為用戶(hù)提供方便。
[0039]基于上述實(shí)施例,本發(fā)明還提供一種基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的系統(tǒng),如圖3所示,包括:
用戶(hù)移動(dòng)方向獲取模塊100,用于通過(guò)移動(dòng)終端內(nèi)置的方向傳感器獲取用戶(hù)頭部的移動(dòng)方向;具體如上所述。
[0040]虛擬環(huán)繞立體聲輸出模塊200,用于依據(jù)所述頭部的移動(dòng)方向,通過(guò)虛擬環(huán)繞聲算法,將所述移動(dòng)終端的雙聲道立體聲轉(zhuǎn)換為虛擬環(huán)繞立體聲并進(jìn)行輸出;所述虛擬環(huán)繞聲算法通過(guò)不同空間方向上的頭相關(guān)變換函數(shù)模擬發(fā)射聲和混響聲;具體如上所述。
[0041]語(yǔ)音調(diào)整模塊300,用于依據(jù)用戶(hù)指令,調(diào)整虛擬環(huán)繞立體聲的音量及混音模式;具體如上所述。
[0042]進(jìn)一步地,用戶(hù)移動(dòng)方向獲取模塊100具體包括:
移動(dòng)角度值獲取單元,用于通過(guò)方向傳感器獲取用戶(hù)頭部在三個(gè)維度上的移動(dòng)角度值;具體如上所述。
[0043]移動(dòng)方向計(jì)算單元,用于依據(jù)所述移動(dòng)角度值,計(jì)算用戶(hù)頭部的具體移動(dòng)方向;具體如上所述。
[0044]進(jìn)一步地,所述虛擬環(huán)繞立體聲輸出模塊200具體包括:
語(yǔ)音解析單元,用于依據(jù)所述頭部的移動(dòng)方向,通過(guò)虛擬環(huán)繞聲算法,對(duì)所述雙聲道混音數(shù)據(jù)進(jìn)行修飾和解析;具體如上所述。
[0045]語(yǔ)音數(shù)模轉(zhuǎn)換單元,用于將修飾和解析后的雙聲道混音數(shù)據(jù)進(jìn)行數(shù)模轉(zhuǎn)換;具體如上所述。
[0046]虛擬環(huán)繞立體聲發(fā)送單元,用于將轉(zhuǎn)換后的模擬信號(hào)發(fā)送至移動(dòng)終端的揚(yáng)聲器,并輸出相應(yīng)的虛擬環(huán)繞立體聲;具體如上所述。
[0047]進(jìn)一步地,所述移動(dòng)終端為安卓操作系統(tǒng)終端。
[0048]基于上述實(shí)施例,本發(fā)明還提供一種移動(dòng)終端的實(shí)施例,本實(shí)施例所述的移動(dòng)終端包括上述所述的基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的系統(tǒng)。
[0049]綜上所述,本發(fā)明所提供的一種基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法及系統(tǒng),所述方法具體包括:所述方法具體包括:通過(guò)移動(dòng)終端內(nèi)置的方向傳感器獲取用戶(hù)頭部的移動(dòng)方向;依據(jù)所述頭部的移動(dòng)方向,通過(guò)虛擬環(huán)繞聲算法,將所述移動(dòng)終端的雙聲道立體聲轉(zhuǎn)換為虛擬環(huán)繞立體聲并進(jìn)行輸出;所述虛擬環(huán)繞聲算法通過(guò)不同空間方向上的頭相關(guān)變換函數(shù)模擬發(fā)射聲和混響聲。本發(fā)明將傳統(tǒng)耳機(jī)與移動(dòng)終端內(nèi)置的傳感器進(jìn)行結(jié)合,通過(guò)該傳感器來(lái)判斷用戶(hù)頭部擺動(dòng)的方位(如左右的方位信息),再結(jié)合虛擬環(huán)繞聲算法對(duì)音源信號(hào)進(jìn)行處理,將聲音中各個(gè)發(fā)音源方位分離結(jié)合頭部轉(zhuǎn)動(dòng)的角度來(lái)改變聲音的聲場(chǎng)以及聲音大小隨角度而逐漸變化,從而讓用戶(hù)在轉(zhuǎn)動(dòng)自己頭部角度的時(shí)候能夠很清楚聽(tīng)到音源中發(fā)聲體的方位和感受到聲音的聲場(chǎng)偏差。這樣一來(lái),用戶(hù)感覺(jué)不是永遠(yuǎn)都在頭部的正前方,而是隨著角度不同會(huì)有距離上、聲音大小、以及方位的偏差,從而獲取到與虛擬現(xiàn)實(shí)頭戴式設(shè)備相匹配的視聽(tīng)體驗(yàn),給用戶(hù)帶來(lái)了極大的便利。
[0050]應(yīng)當(dāng)理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō),可以根據(jù)上述說(shuō)明加以改進(jìn)或變換,所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法,其特征在于,包括步驟: A、通過(guò)移動(dòng)終端內(nèi)置的方向傳感器獲取用戶(hù)頭部的移動(dòng)方向; B、依據(jù)所述頭部的移動(dòng)方向,通過(guò)虛擬環(huán)繞聲算法,將所述移動(dòng)終端的雙聲道立體聲轉(zhuǎn)換為虛擬環(huán)繞立體聲并進(jìn)行輸出; 所述虛擬環(huán)繞聲算法通過(guò)不同空間方向上的頭相關(guān)變換函數(shù)模擬發(fā)射聲和混響聲。2.根據(jù)權(quán)利要求1所述的基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法,其特征在于,所述步驟A具體包括: Al、通過(guò)方向傳感器獲取用戶(hù)頭部在三個(gè)維度上的移動(dòng)角度值; A2、依據(jù)所述移動(dòng)角度值,計(jì)算用戶(hù)頭部的具體移動(dòng)方向。3.根據(jù)權(quán)利要求2所述的基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法,其特征在于,所述步驟B具體包括: B1、依據(jù)所述頭部的移動(dòng)方向,通過(guò)虛擬環(huán)繞聲算法,對(duì)所述雙聲道混音數(shù)據(jù)進(jìn)行修飾和解析; B2、將修飾和解析后的雙聲道混音數(shù)據(jù)進(jìn)行數(shù)模轉(zhuǎn)換; B3、將轉(zhuǎn)換后的模擬信號(hào)發(fā)送至移動(dòng)終端的揚(yáng)聲器,并輸出相應(yīng)的虛擬環(huán)繞立體聲。4.根據(jù)權(quán)利要求3所述的基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法,其特征在于,所述方法還包括:C、依據(jù)用戶(hù)指令,調(diào)整虛擬環(huán)繞立體聲的音量及混音模式。5.根據(jù)權(quán)利要求1所述的基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的方法,其特征在于,所述移動(dòng)終端為安卓操作系統(tǒng)終端。6.一種基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的系統(tǒng),其特征在于,包括: 用戶(hù)移動(dòng)方向獲取模塊,用于通過(guò)移動(dòng)終端內(nèi)置的方向傳感器獲取用戶(hù)頭部的移動(dòng)方向; 虛擬環(huán)繞立體聲輸出模塊,用于依據(jù)所述頭部的移動(dòng)方向,通過(guò)虛擬環(huán)繞聲算法,將所述移動(dòng)終端的雙聲道立體聲轉(zhuǎn)換為虛擬環(huán)繞立體聲并進(jìn)行輸出; 所述虛擬環(huán)繞聲算法通過(guò)不同空間方向上的頭相關(guān)變換函數(shù)模擬發(fā)射聲和混響聲。7.根據(jù)權(quán)利要求6所述基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的系統(tǒng),其特征在于,用戶(hù)移動(dòng)方向獲取模塊具體包括: 移動(dòng)角度值獲取單元,用于通過(guò)方向傳感器獲取用戶(hù)頭部在三個(gè)維度上的移動(dòng)角度值; 移動(dòng)方向計(jì)算單元,用于依據(jù)所述移動(dòng)角度值,計(jì)算用戶(hù)頭部的具體移動(dòng)方向。8.根據(jù)權(quán)利要求7所述基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的系統(tǒng),其特征在于,所述虛擬環(huán)繞立體聲輸出模塊具體包括: 語(yǔ)音解析單元,用于依據(jù)所述頭部的移動(dòng)方向,通過(guò)虛擬環(huán)繞聲算法,對(duì)所述雙聲道混音數(shù)據(jù)進(jìn)行修飾和解析; 語(yǔ)音數(shù)模轉(zhuǎn)換單元,用于將修飾和解析后的雙聲道混音數(shù)據(jù)進(jìn)行數(shù)模轉(zhuǎn)換; 虛擬環(huán)繞立體聲發(fā)送單元,用于將轉(zhuǎn)換后的模擬信號(hào)發(fā)送至移動(dòng)終端的揚(yáng)聲器,并輸出相應(yīng)的虛擬環(huán)繞立體聲。9.根據(jù)權(quán)利要求8所述基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的系統(tǒng),其特征在于,還包括: 語(yǔ)音調(diào)整模塊,用于依據(jù)用戶(hù)指令,調(diào)整虛擬環(huán)繞立體聲的音量及混音模式。10.根據(jù)權(quán)利要求6所述基于移動(dòng)終端的虛擬環(huán)繞立體聲生成的系統(tǒng),其特征在于,所述移動(dòng)終端為安卓操作系統(tǒng)終端。
【文檔編號(hào)】H04R27/00GK105872928SQ201610263528
【公開(kāi)日】2016年8月17日
【申請(qǐng)日】2016年4月26日
【發(fā)明人】陳瓊
【申請(qǐng)人】惠州Tcl移動(dòng)通信有限公司