音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的方法,該方法包括步驟:當(dāng)偵測并接收到將第一種編碼格式音頻數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式音頻數(shù)據(jù)的轉(zhuǎn)換指令時,將該第一種編碼格式的音頻數(shù)據(jù)進(jìn)行解碼處理,以得到對應(yīng)的PCM格式的原始音頻采樣數(shù)據(jù);將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)。本發(fā)明還公開了一種音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的裝置,有效避免重新進(jìn)行PCM格式音頻數(shù)據(jù)采樣的技術(shù)問題,減少音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的工作量,縮短音頻數(shù)據(jù)編碼格式的轉(zhuǎn)換周期,提高了音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的效率。
【專利說明】音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及組播技術(shù)中數(shù)字廣播電視信號音頻數(shù)據(jù)處理【技術(shù)領(lǐng)域】,尤其涉及音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的方法及裝置。
【背景技術(shù)】
[0002]近幾年來,由于計算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的快速發(fā)展,使得電視類的功能應(yīng)用也日益完善。現(xiàn)在電視用戶不僅可以收看DTV (digital television,數(shù)字電視)信號節(jié)目、ATV(Analog Television,模擬電視)信號節(jié)目,還能接收到FM (frequency modulation,調(diào)頻)數(shù)字廣播電視信號。
[0003]目前,由于數(shù)字化技術(shù)的發(fā)展,使得音頻數(shù)據(jù)編碼格式的種類多達(dá)數(shù)十種,音頻數(shù)據(jù)通過不同的編碼格式進(jìn)行編碼保存。現(xiàn)有技術(shù)中,不存在可以將一種編碼格式的音頻數(shù)據(jù)直接轉(zhuǎn)換成另一種編碼格式(例如,S48 (stereo立體聲、48kHz)格式)的音頻數(shù)據(jù)的技術(shù)方案,因此,若要將已基于第一種編碼格式的音頻數(shù)據(jù)制作成第二種編碼格式的音頻數(shù)據(jù),現(xiàn)有的方案是:需要對該音頻數(shù)據(jù)進(jìn)行重新的PCM (Pulse-code modulation,源代碼調(diào)制)格式音頻數(shù)據(jù)采樣以得到原始音頻采樣數(shù)據(jù),然后將得到的原始音頻采樣數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式的音頻數(shù)據(jù)。這種現(xiàn)有的方案因需要對音頻數(shù)據(jù)重新進(jìn)行PCM格式音頻數(shù)據(jù)采樣,從而導(dǎo)致音頻數(shù)據(jù)編碼格式轉(zhuǎn)換工作量較大,增加了音頻數(shù)據(jù)編碼格式的轉(zhuǎn)換周期,降低了轉(zhuǎn)換效率。
[0004]上述內(nèi)容僅用于輔助理解本發(fā)明的技術(shù)方案,并不代表承認(rèn)上述內(nèi)容是現(xiàn)有技術(shù)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的主要目的為提供音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的方法及裝置,有效避免重新進(jìn)行PCM格式音頻數(shù)據(jù)采樣的技術(shù)問題,減少音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的工作量,縮短音頻數(shù)據(jù)編碼格式的轉(zhuǎn)換周期,提高了音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的效率。。
[0006]為實現(xiàn)上述目的,本發(fā)明提供一種音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的方法,該方法包括步驟:
[0007]當(dāng)偵測并接收到將第一種編碼格式音頻數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式音頻數(shù)據(jù)的轉(zhuǎn)換指令時,將該第一種編碼格式的音頻數(shù)據(jù)進(jìn)行解碼處理,以得到對應(yīng)的PCM格式的原始音頻采樣數(shù)據(jù);
[0008]將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)。
[0009]優(yōu)選地,在所述將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)的步驟之后,該方法還包括:
[0010]播放獲得的該第二種編碼格式的音頻數(shù)據(jù)。
[0011]優(yōu)選地,所述將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)的步驟包括:
[0012]獲取第一種編碼格式的音頻數(shù)據(jù)對應(yīng)的回放鏈路,刪除獲取的回放鏈路中的默認(rèn)聲卡數(shù)據(jù)提交器;
[0013]在獲取的回放鏈路中添加第二種編碼格式的編碼器和音頻數(shù)據(jù)存儲器,通過添加的第二種編碼格式的編碼器將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)并保存在音頻數(shù)據(jù)存儲器中。
[0014]優(yōu)選地,所述當(dāng)有第一種編碼格式的音頻數(shù)據(jù)待轉(zhuǎn)換成第二種編碼格式的音頻數(shù)據(jù)時,將該第一種編碼格式的音頻數(shù)據(jù)進(jìn)行解碼處理,以得到對應(yīng)的PCM格式的原始音頻采樣數(shù)據(jù)的步驟之前,該方法還包括:
[0015]當(dāng)有音頻數(shù)據(jù)待播放時,分析待播放音頻數(shù)據(jù)對應(yīng)的編碼格式是否為第二種編碼格式;
[0016]在所述待播放音頻數(shù)據(jù)對應(yīng)的編碼格式不為第二種編碼格式時,確定所述待播放音頻數(shù)據(jù)為待轉(zhuǎn)換音頻數(shù)據(jù);
[0017]在所述待播放音頻數(shù)據(jù)對應(yīng)的編碼格式為第二種編碼格式時,播放所述待播放音頻數(shù)據(jù)。
[0018]優(yōu)選地,所述將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)的步驟之后,該方法還包括:
[0019]分析獲得的第二種編碼格式的音頻數(shù)據(jù)是否能正常播放,在獲得的第二種編碼格式的音頻數(shù)據(jù)能正常播放時,將第一種編碼格式的音頻數(shù)據(jù)刪除。
[0020]本發(fā)明進(jìn)一步提供一種音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的裝置,該裝置包括:
[0021]處理模塊,用于當(dāng)偵測并接收到將第一種編碼格式音頻數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式音頻數(shù)據(jù)的轉(zhuǎn)換指令時,將該第一種編碼格式的音頻數(shù)據(jù)進(jìn)行解碼處理,以得到對應(yīng)的PCM格式的原始音頻采樣數(shù)據(jù);
[0022]轉(zhuǎn)換模塊,用于將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)。
[0023]優(yōu)選地,該裝置還包括播放模塊,
[0024]所述播放模塊,用于播放獲得的該第二種編碼格式的音頻數(shù)據(jù)。
[0025]優(yōu)選地,所述處理模塊,還用于獲取第一種編碼格式的音頻數(shù)據(jù)對應(yīng)的回放鏈路,刪除獲取的回放鏈路中的默認(rèn)聲卡數(shù)據(jù)提交器;及
[0026]在獲取的回放鏈路中添加第二種編碼格式的編碼器和音頻數(shù)據(jù)存儲器,通過添加的第二種編碼格式的編碼器將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)并保存在音頻數(shù)據(jù)存儲器中。
[0027]優(yōu)選地,該裝置還包括分析模塊,
[0028]所述分析模塊,用于當(dāng)有音頻數(shù)據(jù)待播放時,分析待播放音頻數(shù)據(jù)對應(yīng)的編碼格式是否為第二種編碼格式;及
[0029]在所述待播放音頻數(shù)據(jù)對應(yīng)的編碼格式不為第二種編碼格式時,確定所述待播放音頻數(shù)據(jù)為待轉(zhuǎn)換音頻數(shù)據(jù);
[0030]所述播放模塊,還用于在所述待播放音頻數(shù)據(jù)對應(yīng)的編碼格式為第二種編碼格式時,播放所述待播放音頻數(shù)據(jù)。[0031]優(yōu)選地,所述分析模塊,還用于分析獲得的第二種編碼格式的音頻數(shù)據(jù)是否能正常播放,在獲得的第二種編碼格式的音頻數(shù)據(jù)能正常播放時,通過處理模塊將第一種編碼格式的音頻數(shù)據(jù)刪除。
[0032]相對現(xiàn)有技術(shù),本發(fā)明當(dāng)偵測并接收到將第一種編碼格式音頻數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式音頻數(shù)據(jù)的轉(zhuǎn)換指令時,將該第一種編碼格式的音頻數(shù)據(jù)進(jìn)行解碼處理,以得到對應(yīng)的PCM格式的原始音頻采樣數(shù)據(jù);將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)。有效避免重新進(jìn)行PCM格式音頻數(shù)據(jù)采樣的技術(shù)問題,減少音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的工作量,縮短音頻數(shù)據(jù)編碼格式的轉(zhuǎn)換周期,提高了音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的效率。
【專利附圖】
【附圖說明】
[0033]圖1為本發(fā)明音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的方法第一實施例的流程示意圖;
[0034]圖2為圖1中步驟S12的細(xì)化流程示意圖;
[0035]圖3為本發(fā)明音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的方法第二實施例的流程示意圖;
[0036]圖4為本發(fā)明音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的裝置較佳實施例的功能模塊示意圖。
[0037]本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進(jìn)一步說明。
【具體實施方式】
[0038]應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0039]如圖1所示,為本發(fā)明音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的方法第一實施例的流程示意圖。
[0040]需要強(qiáng)調(diào)的是:圖1所示流程圖僅為一個較佳實施例,本領(lǐng)域的技術(shù)人員當(dāng)知,任何圍繞本發(fā)明思想構(gòu)建的實施例都不應(yīng)脫離于如下技術(shù)方案涵蓋的范圍:
[0041]當(dāng)偵測并接收到將第一種編碼格式音頻數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式音頻數(shù)據(jù)的轉(zhuǎn)換指令時,將該第一種編碼格式的音頻數(shù)據(jù)進(jìn)行解碼處理,以得到對應(yīng)的PCM格式的原始音頻采樣數(shù)據(jù);將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)。
[0042]以下是本實施例逐步實現(xiàn)音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的具體步驟:
[0043]步驟S11,當(dāng)偵測并接收到將第一種編碼格式音頻數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式音頻數(shù)據(jù)的轉(zhuǎn)換指令時,將該第一種編碼格式的音頻數(shù)據(jù)進(jìn)行解碼處理,以得到對應(yīng)的PCM格式的原始音頻采樣數(shù)據(jù)。
[0044]在本實施例中,當(dāng)獲取到一個音頻數(shù)據(jù)時,判斷當(dāng)前音頻數(shù)據(jù)的編碼格式是否是需要或者預(yù)期的編碼格式(本實施例中優(yōu)選為第二種編碼格式,例如S48格式),在當(dāng)前音頻數(shù)據(jù)的編碼格式是需要或者預(yù)期的編碼格式時,將當(dāng)前音頻數(shù)據(jù)保存,以供后續(xù)使用(播放、傳送給數(shù)字廣播電視信號用戶等);在當(dāng)前音頻數(shù)據(jù)的編碼格式不是需要或者預(yù)期的編碼格式時,就需要將當(dāng)前音頻數(shù)據(jù)的編碼格式進(jìn)行轉(zhuǎn)換,以得到預(yù)期或者需要的編碼格式的音頻數(shù)據(jù)。在本實施例優(yōu)選為音頻數(shù)據(jù)編碼格式轉(zhuǎn)換裝置作為執(zhí)行本發(fā)明步驟的主體。
[0045]當(dāng)前音頻數(shù)據(jù)的編碼格式為第一種編碼格式,預(yù)期的編碼格式為第二種編碼格式,用戶基于該第一種編碼格式的音頻數(shù)據(jù),發(fā)出將第一種編碼格式音頻數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式音頻數(shù)據(jù)的轉(zhuǎn)換指令,在偵測并接收到將第一種編碼格式音頻數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式音頻數(shù)據(jù)的轉(zhuǎn)換指令時,將該第一種編碼格式的音頻數(shù)據(jù)進(jìn)行解碼處理,以得到對應(yīng)的PCM格式的原始音頻采樣數(shù)據(jù)。
[0046]步驟S12,將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)。
[0047]在本實施例中,將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)。參考圖2,將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)的過程為:
[0048]步驟S1201,獲取第一種編碼格式的音頻數(shù)據(jù)對應(yīng)的回放鏈路,刪除獲取的回放鏈路中的默認(rèn)聲卡數(shù)據(jù)提交器;
[0049]在本實施例中,當(dāng)偵測并接收到將第一種編碼格式音頻數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式音頻數(shù)據(jù)的轉(zhuǎn)換指令時,對該第一種編碼格式的音頻數(shù)據(jù)進(jìn)行渲染處理,即對該第一種編碼格式音頻數(shù)據(jù)的鏈路進(jìn)行初始化處理,以獲取該第一種編碼格式的音頻數(shù)據(jù)對應(yīng)的回放鏈路,刪除獲取的回放鏈路中的默認(rèn)聲卡數(shù)據(jù)提交器,即,不將音頻數(shù)據(jù)按照第一種編碼格式進(jìn)行提交。
[0050]步驟S1202,在獲取的回放鏈路中添加第二種編碼格式的編碼器和音頻數(shù)據(jù)存儲器,通過添加的第二種編碼格式的編碼器將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)并保存在音頻數(shù)據(jù)存儲器中。
[0051 ] 在本實施例中,在將獲取的該第一種編碼格式回放鏈路中的默認(rèn)聲卡提交器刪除后,在獲取的回放鏈路中添加第二種編碼格式的編碼器,并將添加的編碼器參數(shù)按照用戶發(fā)送的參數(shù)設(shè)置指令進(jìn)行設(shè)置,在參數(shù)設(shè)置完畢之后,將該第一種編碼格式音頻數(shù)據(jù)解碼后得到的PCM格式原始采樣數(shù)據(jù)編碼成第二種編碼格式音頻數(shù)據(jù),以得到預(yù)期的第二種編碼格式的音頻數(shù)據(jù),同時也可以在獲取的回放鏈路中添加音頻數(shù)據(jù)存儲器,以將獲得的第二種編碼格式的音頻數(shù)據(jù)進(jìn)行保存。在本發(fā)明其他實施例中,也可以是在將該第一種編碼格式的音頻數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式的音頻數(shù)據(jù)后,音頻播放設(shè)備將獲得的第二種編碼格式的音頻數(shù)據(jù)進(jìn)行播放,或者也可以是將獲得的第二種編碼格式的音頻數(shù)據(jù)通過調(diào)頻的方式發(fā)送給各個數(shù)字廣播電視信號的用戶進(jìn)行解碼播放。
[0052]為了進(jìn)一步更好的解釋本方案,下面以Dierct Show (組播)技術(shù)中音頻數(shù)據(jù)編碼格式轉(zhuǎn)換過程為例來進(jìn)一步描述本方案:
[0053]組播技術(shù)是以COM (Component Object Model,組件對象模型)為技術(shù)基礎(chǔ)的。在組播技術(shù)中的音頻數(shù)據(jù)編碼轉(zhuǎn)換主要由音頻數(shù)據(jù)編碼格式轉(zhuǎn)換表現(xiàn)層、音頻數(shù)據(jù)編碼格式轉(zhuǎn)換中間層和音頻數(shù)據(jù)編碼格式轉(zhuǎn)換底層來實現(xiàn)。其中,音頻數(shù)據(jù)編碼格式轉(zhuǎn)換表現(xiàn)層主要提供給用戶直接調(diào)用的音頻編碼格式轉(zhuǎn)換函數(shù)或者動態(tài)庫,包括但不限于音頻轉(zhuǎn)換函數(shù)、轉(zhuǎn)換停止函數(shù)、轉(zhuǎn)換暫停函數(shù)、位置定位函數(shù)、初始化函數(shù)和反初始化函數(shù)等;音頻數(shù)據(jù)編碼格式轉(zhuǎn)換中間層主要負(fù)責(zé)底層鏈路的管理和操作支撐,主要包括編碼鏈路搭建、添加/刪除編碼器、鏈接編碼器、鏈路狀態(tài)管理等操作;音頻數(shù)據(jù)編碼格式轉(zhuǎn)換底層主要包括ClogWrite (底層日志記錄)功能和編碼參數(shù)設(shè)置接口類功能,Clog Write類主要負(fù)責(zé)對底層的日常操作和出現(xiàn)的進(jìn)行日志記錄,編碼參數(shù)設(shè)置接口類主要提供接口函數(shù)方便對音頻編碼進(jìn)行重采樣、輸出數(shù)據(jù)格式等相關(guān)的設(shè)置。具體的音頻數(shù)據(jù)編碼格式轉(zhuǎn)換過程包括:在進(jìn)行音頻數(shù)據(jù)編碼格式轉(zhuǎn)換時,首先對COM庫進(jìn)行初始化,并創(chuàng)建Filter Graph (編碼器鏈路)對象實例,并獲取該實例的控制接口 m_pGraph ;創(chuàng)建日志記錄模塊對象實例,并獲取日志記錄對象實例接口 g_LogWrite,并完成日志記錄的初始化;初始化鏈路m_pGraph至RenderFile (渲染文件)獲得源文件(第一種編碼格式的音頻數(shù)據(jù))的默認(rèn)回放鏈路;獲取鏈路中的默認(rèn)聲卡設(shè)備提交器的對象指針,并移除該聲卡設(shè)備提交器;遍歷Filter Graph,獲取鏈路中解碼器的對指針pUpstream ;向鏈路中添加需要的編碼器,在添加前首先獲取該編碼器的Clsid(唯一標(biāo)識符),然后創(chuàng)建編碼器的對象實例并獲取對象指針,最后通過m_pGraph至Add Filter By Clsid (識別唯一標(biāo)識碼增加編碼器)的方式將需要的編碼器添加進(jìn)獲得的默認(rèn)回放鏈路中來。在對默認(rèn)回放鏈路進(jìn)行調(diào)整之后,對編碼器的相關(guān)接口通過QueryInterface (接口查詢)的方法獲取修改參數(shù)的操作權(quán)限,進(jìn)行編碼器參數(shù)的設(shè)置;鏈接各個需要的編碼器組成新的編碼鏈路,運(yùn)行以將第一種編碼格式的音頻數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式的音頻數(shù)據(jù),在轉(zhuǎn)換完成之后,進(jìn)行反初始化,釋放各種實例對象的指針,防止內(nèi)存占用過多。
[0054]在本實施例當(dāng)有第一種編碼格式的音頻數(shù)據(jù)待轉(zhuǎn)換成第二種編碼格式的音頻數(shù)據(jù)時,將該第一種編碼格式的音頻數(shù)據(jù)進(jìn)行解碼處理,以得到對應(yīng)的PCM格式的原始音頻采樣數(shù)據(jù);將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)。有效避免重新進(jìn)行PCM格式音頻數(shù)據(jù)采樣的技術(shù)問題,減少音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的工作量,縮短音頻數(shù)據(jù)編碼格式的轉(zhuǎn)換周期,提高了音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的效率。
[0055]如圖3所示,為本發(fā)明音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的方法第二實施例的流程示意圖?;谏鲜龅谝粚嵤├诓襟ES12之后,該方法還包括:
[0056]步驟S13,分析獲得的第二種編碼格式的音頻數(shù)據(jù)是否能正常播放,在獲得的第二種編碼格式的音頻數(shù)據(jù)能正常播放時,將第一種編碼格式的音頻數(shù)據(jù)刪除。
[0057]在本實施例中,在成功將第一種編碼格式的音頻數(shù)據(jù)編碼成第二種編碼格式的音頻數(shù)據(jù)之后,分析獲得的第二種編碼格式的音頻數(shù)據(jù)是否能正常播放,在獲得的第二種編碼格式的音頻數(shù)據(jù)能正常播放時,將第一種編碼格式的音頻數(shù)據(jù)刪除;在獲得的第二種編碼格式的音頻數(shù)據(jù)不能正常播放時,重復(fù)步驟Sll和步驟S12再次獲得第二種編碼格式的音頻數(shù)據(jù),直至獲得的第二種編碼格式的音頻數(shù)據(jù)能正常播放。通過在獲得的第二種編碼格式的音頻數(shù)據(jù)能正常播放時,將第一種編碼格式的音頻數(shù)據(jù)刪除,以節(jié)約存儲空間,能進(jìn)行更多音頻數(shù)據(jù)的存儲。在本發(fā)明其他實施例中,為了在保證獲得的第二種編碼格式能正常播放的同時,能及時對存儲空間進(jìn)行合理的管理,在確定獲得的第二種編碼格式的音頻數(shù)據(jù)能正常播放之后,預(yù)設(shè)一時間間隔,在預(yù)設(shè)時間間隔到達(dá)時,將第一種編碼格式的音頻數(shù)據(jù)刪除。即,在預(yù)設(shè)時間間隔內(nèi),該第一種編碼格式的音頻數(shù)據(jù)未被使用時,或者第二種編碼格式的音頻數(shù)據(jù)未損壞時,將第一種編碼格式的音頻數(shù)據(jù)刪除。所述預(yù)設(shè)時間間隔可以是I天或者一個星期等。同理,對于由第一種編碼格式的音頻數(shù)據(jù)解碼得到的PCM格式的原始音頻采樣數(shù)據(jù)也可做相同處理。為了更好的節(jié)約存儲空間,可以將第一種編碼格式的音頻數(shù)據(jù)和解碼得到的PCM格式的原始音頻采樣數(shù)據(jù),兩者之間刪除一個之后,再按照上述方式處理。
[0058]如圖4所示,為本發(fā)明音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的裝置較佳實施例的功能模塊示意圖。該裝置包括:處理模塊10、分析模塊20、轉(zhuǎn)換模塊30及播放模塊40。[0059]所述處理模塊10,用于當(dāng)偵測并接收到將第一種編碼格式音頻數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式音頻數(shù)據(jù)的轉(zhuǎn)換指令時,將該第一種編碼格式的音頻數(shù)據(jù)進(jìn)行解碼處理,以得到對應(yīng)的PCM格式的原始音頻采樣數(shù)據(jù)。
[0060]所述分析模塊20,用于當(dāng)獲取到一個音頻數(shù)據(jù)時,判斷當(dāng)前音頻數(shù)據(jù)的編碼格式是否是需要或者預(yù)期的編碼格式。在當(dāng)前音頻數(shù)據(jù)的編碼格式是需要或者預(yù)期的編碼格式(本實施例優(yōu)選為第二種編碼格式,例如S48格式)時,將當(dāng)前音頻數(shù)據(jù)保存,以供后續(xù)使用(播放、傳送給數(shù)字廣播電視信號用戶等);在當(dāng)前音頻數(shù)據(jù)的編碼格式不是需要或者預(yù)期的編碼格式時,就需要將當(dāng)前音頻數(shù)據(jù)的編碼格式進(jìn)行轉(zhuǎn)換,以得到預(yù)期或者需要的編碼格式的音頻數(shù)據(jù)。
[0061]當(dāng)前音頻數(shù)據(jù)的編碼格式為第一種編碼格式,預(yù)期的編碼格式為第二種編碼格式,用戶基于該第一種編碼格式的音頻數(shù)據(jù),發(fā)出將第一種編碼格式音頻數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式音頻數(shù)據(jù)的轉(zhuǎn)換指令,當(dāng)偵測并接收到將第一種編碼格式音頻數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式音頻數(shù)據(jù)的轉(zhuǎn)換指令時,將該第一種編碼格式的音頻數(shù)據(jù)進(jìn)行解碼處理,以得到對應(yīng)的PCM格式的原始音頻采樣數(shù)據(jù)。
[0062]所述轉(zhuǎn)換模塊30,用于將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)。
[0063]在本實施例中,將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)。參考圖2,將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)。獲得該第二種編碼格式的音頻數(shù)據(jù)的過程為:
[0064]處理模塊20獲取第一種編碼格式的音頻數(shù)據(jù)對應(yīng)的回放鏈路,刪除獲取的回放鏈路中的默認(rèn)聲卡數(shù)據(jù)提交器;
[0065]在本實施例中,當(dāng)偵測并接收到將第一種編碼格式音頻數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式音頻數(shù)據(jù)的轉(zhuǎn)換指令時,對該第一種編碼格式的音頻數(shù)據(jù)進(jìn)行渲染處理,即對該第一種編碼格式音頻數(shù)據(jù)的鏈路進(jìn)行初始化處理,以獲取該第一種編碼格式的音頻數(shù)據(jù)對應(yīng)的回放鏈路,刪除獲取的回放鏈路中的默認(rèn)聲卡數(shù)據(jù)提交器,即,不將音頻數(shù)據(jù)按照第一種編碼格式進(jìn)行提交。
[0066]在獲取的回放鏈路中添加第二種編碼格式的編碼器和音頻數(shù)據(jù)存儲器,通過添加的第二種編碼格式的編碼器將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)并保存在音頻數(shù)據(jù)存儲器中。
[0067]在本實施例中,在將獲取的該第一種編碼格式回放鏈路中的默認(rèn)聲卡提交器刪除后,在獲取的回放鏈路中添加第二種編碼格式的編碼器,并將添加的編碼器參數(shù)按照用戶發(fā)送的參數(shù)設(shè)置指令進(jìn)行設(shè)置,在參數(shù)設(shè)置完畢之后,將該第一種編碼格式音頻數(shù)據(jù)解碼后得到的PCM格式原始采樣數(shù)據(jù)編碼成第二種編碼格式音頻數(shù)據(jù),以得到預(yù)期的第二種編碼格式的音頻數(shù)據(jù),同時也可以在獲取的回放鏈路中添加音頻數(shù)據(jù)存儲器,以將獲得的第二種編碼格式的音頻數(shù)據(jù)進(jìn)行保存。在本發(fā)明其他實施例中,也可以是在將該第一種編碼格式的音頻數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式的音頻數(shù)據(jù)后,播放模塊40將獲得的第二種編碼格式的音頻數(shù)據(jù)進(jìn)行播放,或者也可以是將獲得的第二種編碼格式的音頻數(shù)據(jù)通過調(diào)頻的方式發(fā)送給各個數(shù)字廣播電視信號的用戶進(jìn)行解碼播放。[0068]為了進(jìn)一步更好的解釋本方案,下面以Dierct Show (組播)技術(shù)中音頻數(shù)據(jù)編碼格式轉(zhuǎn)換過程為例來進(jìn)一步描述本方案。組播技術(shù)是以C0M(Component Object Model,組件對象模型)為技術(shù)基礎(chǔ)的。在組播技術(shù)中的音頻數(shù)據(jù)編碼轉(zhuǎn)換主要由音頻數(shù)據(jù)編碼格式轉(zhuǎn)換表現(xiàn)層、音頻數(shù)據(jù)編碼格式轉(zhuǎn)換中間層和音頻數(shù)據(jù)編碼格式轉(zhuǎn)換底層來實現(xiàn)。其中,音頻數(shù)據(jù)編碼格式轉(zhuǎn)換表現(xiàn)層主要提供給用戶直接調(diào)用的音頻編碼格式轉(zhuǎn)換函數(shù)或者動態(tài)庫,包括但不限于音頻轉(zhuǎn)換函數(shù)、轉(zhuǎn)換停止函數(shù)、轉(zhuǎn)換暫停函數(shù)、位置定位函數(shù)、初始化函數(shù)和反初始化函數(shù)等;音頻數(shù)據(jù)編碼格式轉(zhuǎn)換中間層主要負(fù)責(zé)底層鏈路的管理和操作支撐,主要包括編碼鏈路搭建、添加/刪除編碼器、鏈接編碼器、鏈路狀態(tài)管理等操作;音頻數(shù)據(jù)編碼格式轉(zhuǎn)換底層主要包括了底層日志記錄功能Clog Write和編碼參數(shù)設(shè)置接口類功能,Clog Write類主要負(fù)責(zé)對底層的日常操作和出現(xiàn)的進(jìn)行日志記錄,編碼參數(shù)設(shè)置接口類主要提供接口函數(shù)方便對音頻編碼進(jìn)行重采樣、輸出數(shù)據(jù)格式等相關(guān)的設(shè)置。具體的音頻數(shù)據(jù)編碼格式轉(zhuǎn)換過程包括:在進(jìn)行音頻數(shù)據(jù)編碼格式轉(zhuǎn)換時,首先對COM庫進(jìn)行初始化,并創(chuàng)建Filter Graph對象實例,并獲取該實例的控制接口 m_pGraph ;創(chuàng)建日志記錄模塊對象實例,并獲取日志記錄對象實例接口 g_LogWrite,并完成日志記錄的初始化;初始化鏈路m_pGraph至RenderFile獲得源文件(第一種編碼格式的音頻數(shù)據(jù))的默認(rèn)回放鏈路;獲取鏈路中的默認(rèn)聲卡設(shè)備提交器的對象指針,并移除該聲卡設(shè)備提交器;遍歷Filter Graph,獲取鏈路中解碼器的對指針pUpstream ;向鏈路中添加需要的編碼器,在添加前首先獲取該編碼器的唯一標(biāo)識符Clsid,然后創(chuàng)建編碼器的對象實例并獲取對象指針,最后通過m_pGraph至Add Filter By Clsid的方式將需要的編碼器添加進(jìn)獲得的默認(rèn)回放鏈路中來。在對默認(rèn)回放鏈路進(jìn)行調(diào)整之后,對編碼器的相關(guān)接口通過Query Interface的方法獲取修改參數(shù)的操作權(quán)限,進(jìn)行編碼器參數(shù)的設(shè)置;鏈接各個需要的編碼器組成新的編碼鏈路,運(yùn)行以將第一種編碼格式的音頻數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式的音頻數(shù)據(jù),在轉(zhuǎn)換完成之后,進(jìn)行反初始化,釋放各種實例對象的指針,防止內(nèi)存占用過多。
[0069]在本實施例當(dāng)有第一種編碼格式的音頻數(shù)據(jù)待轉(zhuǎn)換成第二種編碼格式的音頻數(shù)據(jù)時,將該第一種編碼格式的音頻數(shù)據(jù)進(jìn)行解碼處理,以得到對應(yīng)的PCM格式的原始音頻采樣數(shù)據(jù);將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)。有效避免重新進(jìn)行PCM格式音頻數(shù)據(jù)采樣的技術(shù)問題,減少音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的工作量,縮短音頻數(shù)據(jù)編碼格式的轉(zhuǎn)換周期,提高了音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的效率。
[0070]進(jìn)一步地,所述分析模塊20,還用于分析獲得的第二種編碼格式的音頻數(shù)據(jù)是否能正常播放,在獲得的第二種編碼格式的音頻數(shù)據(jù)能正常播放時,通過處理模塊將第一種編碼格式的音頻數(shù)據(jù)刪除。
[0071]在本實施例中,在成功將第一種編碼格式的音頻數(shù)據(jù)編碼成第二種編碼格式的音頻數(shù)據(jù)之后,分析獲得的第二種編碼格式的音頻數(shù)據(jù)是否能正常播放,在獲得的第二種編碼格式的音頻數(shù)據(jù)能正常播放時,將第一種編碼格式的音頻數(shù)據(jù)刪除;在獲得的第二種編碼格式的音頻數(shù)據(jù)不能正常播放時,通過處理模塊和轉(zhuǎn)換模塊繼續(xù)獲得第二種編碼格式的音頻數(shù)據(jù),直至獲得的第二種編碼格式的音頻數(shù)據(jù)能正常播放。通過在獲得的第二種編碼格式的音頻數(shù)據(jù)能正常播放時,將第一種編碼格式的音頻數(shù)據(jù)刪除,以節(jié)約存儲空間,能進(jìn)行更多音頻數(shù)據(jù)的存儲。在本發(fā)明其他實施例中,為了在保證獲得的第二種編碼格式能正常播放的同時,能及時對存儲空間進(jìn)行合理的管理,在確定獲得的第二種編碼格式的音頻數(shù)據(jù)能正常播放之后,預(yù)設(shè)一時間間隔,在預(yù)設(shè)時間間隔到達(dá)時,將第一種編碼格式的音頻數(shù)據(jù)刪除。即,在預(yù)設(shè)時間間隔內(nèi),該第一種編碼格式的音頻數(shù)據(jù)未被使用時,或者第二種編碼格式的音頻數(shù)據(jù)未損壞時,將第一種編碼格式的音頻數(shù)據(jù)刪除。所述預(yù)設(shè)時間間隔可以是I天或者一個星期等。同理,對于由第一種編碼格式的音頻數(shù)據(jù)解碼得到的PCM格式的原始音頻采樣數(shù)據(jù)也可做相同處理。為了更好的節(jié)約存儲空間,可以將第一種編碼格式的音頻數(shù)據(jù)和解碼得到的PCM格式的原始音頻采樣數(shù)據(jù),兩者之間刪除一個之后,再按照上述方式處理。
[0072]上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)(如R0M/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機(jī),計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
[0073]以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的方法,其特征在于,該方法包括步驟: 當(dāng)偵測并接收到將第一種編碼格式音頻數(shù)據(jù)待轉(zhuǎn)換成第二種編碼格式音頻數(shù)據(jù)的轉(zhuǎn)換指令時,將該第一種編碼格式的音頻數(shù)據(jù)進(jìn)行解碼處理,以得到對應(yīng)的PCM格式的原始音頻采樣數(shù)據(jù); 將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的 音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的方法,其特征在于,在所述將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)的步驟之后,該方法還包括: 播放獲得的該第二種編碼格式的音頻數(shù)據(jù)。
3.根據(jù)權(quán)利要求1或2所述的音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的方法,其特征在于,所述將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)的步驟包括: 獲取第一種編碼格式的音頻數(shù)據(jù)對應(yīng)的回放鏈路,刪除獲取的回放鏈路中的默認(rèn)聲卡數(shù)據(jù)提交器; 在獲取的回放鏈路中添加第二種編碼格式的編碼器和音頻數(shù)據(jù)存儲器,通過添加的第二種編碼格式的編碼器將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)并保存在音頻數(shù)據(jù)存儲器中。
4.根據(jù)權(quán)利要求1或2所述的音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的方法,其特征在于,所述當(dāng)有第一種編碼格式的音頻數(shù)據(jù)待轉(zhuǎn)換成第二種編碼格式的音頻數(shù)據(jù)時,將該第一種編碼格式的音頻數(shù)據(jù)進(jìn)行解碼處理,以得到對應(yīng)的PCM格式的原始音頻采樣數(shù)據(jù)的步驟之前,該方法還包括: 當(dāng)有音頻數(shù)據(jù)待播放時,分析待播放音頻數(shù)據(jù)對應(yīng)的編碼格式是否為第二種編碼格式; 在所述待播放音頻數(shù)據(jù)對應(yīng)的編碼格式不為第二種編碼格式時,確定所述待播放音頻數(shù)據(jù)為待轉(zhuǎn)換音頻數(shù)據(jù); 在所述待播放音頻數(shù)據(jù)對應(yīng)的編碼格式為第二種編碼格式時,播放所述待播放音頻數(shù)據(jù)。
5.根據(jù)權(quán)利要求1或2所述的音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的方法,其特征在于,所述將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)的步驟之后,該方法還包括: 分析獲得的第二種編碼格式的音頻數(shù)據(jù)是否能正常播放,在獲得的第二種編碼格式的音頻數(shù)據(jù)能正常播放時,將第一種編碼格式的音頻數(shù)據(jù)刪除。
6.一種音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的裝置,其特征在于,該裝置包括: 處理模塊,用于當(dāng)偵測并接收到將第一種編碼格式音頻數(shù)據(jù)轉(zhuǎn)換成第二種編碼格式音頻數(shù)據(jù)的轉(zhuǎn)換指令時,將該第一種編碼格式的音頻數(shù)據(jù)進(jìn)行解碼處理,以得到對應(yīng)的PCM格式的原始音頻采樣數(shù)據(jù); 轉(zhuǎn)換模塊,用于將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的裝置,其特征在于,該裝置還包括播放模塊, 所述播放模塊,用于播放獲得的該第二種編碼格式的音頻數(shù)據(jù)。
8.根據(jù)權(quán)利要求6或7所述的音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的裝置,其特征在于, 所述處理模塊,還用于獲取第一種編碼格式的音頻數(shù)據(jù)對應(yīng)的回放鏈路,刪除獲取的回放鏈路中的默認(rèn)聲卡數(shù)據(jù)提交器;及 在獲取的回放鏈路中添加第二種編碼格式的編碼器和音頻數(shù)據(jù)存儲器,通過添加的第二種編碼格式的編碼器將得到的原始音頻采樣數(shù)據(jù)按第二種編碼格式進(jìn)行編碼,以獲得該第二種編碼格式的音頻數(shù)據(jù)并保存在音頻數(shù)據(jù)存儲器中。
9.根據(jù)權(quán)利要求6或7所述的音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的裝置,其特征在于,該裝置還包括分析模塊, 所述分析模塊,用于當(dāng)有音頻數(shù)據(jù)待播放時,分析待播放音頻數(shù)據(jù)對應(yīng)的編碼格式是否為第二種編碼格式;及 在所述待播放音頻數(shù)據(jù)對應(yīng)的編碼格式不為第二種編碼格式時,確定所述待播放音頻數(shù)據(jù)為待轉(zhuǎn)換音頻數(shù)據(jù); 所述播放模塊,還用于在所述待播放音頻數(shù)據(jù)對應(yīng)的編碼格式為第二種編碼格式時,播放所述待播放音頻數(shù)據(jù)。
10.根據(jù)權(quán)利要求6或7所述的音頻數(shù)據(jù)編碼格式轉(zhuǎn)換的裝置,其特征在于, 所述分析模塊,還用于分析獲得的第二種編碼格式的音頻數(shù)據(jù)是否能正常播放,在獲得的第二種編碼格式的音頻數(shù)據(jù)能正常播放時,通過處理模塊將第一種編碼格式的音頻數(shù)據(jù)刪除。
【文檔編號】G10L19/18GK103905834SQ201410092220
【公開日】2014年7月2日 申請日期:2014年3月13日 優(yōu)先權(quán)日:2014年3月13日
【發(fā)明者】伍以文, 金峰 申請人:深圳創(chuàng)維-Rgb電子有限公司