一種音頻數(shù)據(jù)的編碼方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種音頻數(shù)據(jù)的編碼方法及裝置。
【背景技術(shù)】
[0002]音頻數(shù)據(jù)編碼的一個(gè)目標(biāo)是在盡可能多地保持原始聲音質(zhì)量的同時(shí)將音頻信號(hào)壓縮成所要的有限信息量。通常可以采用PCM(Pulse Code Modulat1n,脈沖編碼調(diào)制)對(duì)音頻數(shù)據(jù)進(jìn)行編碼,通過(guò)抽樣、量化、編碼三個(gè)步驟將連續(xù)變化的模擬信號(hào)轉(zhuǎn)換為數(shù)字編碼,其最大的優(yōu)點(diǎn)就是音質(zhì)好,最大的缺點(diǎn)就是體積大。
[0003]AAC (Advanced Aud1 Coding,高級(jí)音頻編碼)-ELD (Enhanced Low Delay,增強(qiáng)型低延遲)是一個(gè)基于普通音頻編解碼器AAC (主要用于主流音樂(lè)下載和流媒體平臺(tái))的通信編解碼器。AAC-ELD以非常低的比特率,為視頻通話和電話提供了與CD—樣的音頻質(zhì)量。
[0004]然而,現(xiàn)有技術(shù)中對(duì)PCM音頻數(shù)據(jù)進(jìn)行AAC-ELD編碼時(shí),為了提高編碼效率,采用多線程進(jìn)行編碼,從而滿足編碼實(shí)時(shí)性的需求。然而,多線程的編碼方式增加了系統(tǒng)資源的開(kāi)銷和壓力,若多線程中存在空閑的線程時(shí),還會(huì)占用系統(tǒng)資源,降低系統(tǒng)資源的利用率。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種音頻數(shù)據(jù)的編碼方法及裝置,用以在保證實(shí)時(shí)編碼的前提下,實(shí)現(xiàn)降低系統(tǒng)資源的開(kāi)銷和壓力的目的。
[0006]本發(fā)明提供一種音頻數(shù)據(jù)的編碼方法,包括:
[0007]當(dāng)采用至少兩個(gè)并發(fā)的編碼線程對(duì)脈沖編碼調(diào)制PCM音頻數(shù)據(jù)幀進(jìn)行AAC-ELD編碼時(shí),實(shí)時(shí)監(jiān)測(cè)本終端的CPU使用率;
[0008]當(dāng)監(jiān)測(cè)到所述CPU使用率大于或等于第一預(yù)設(shè)閾值、且存在滯留的PCM音頻數(shù)據(jù)幀時(shí),在所述至少兩個(gè)并發(fā)的編碼線程中加入至少一個(gè)編碼線程,以利用所述加入的至少一個(gè)編碼線程對(duì)所述滯留的PCM音頻數(shù)據(jù)幀進(jìn)行AAC-ELD編碼。
[0009]在一個(gè)實(shí)施例中,在利用所述加入的至少一個(gè)編碼線程對(duì)所述滯留的PCM音頻數(shù)據(jù)幀進(jìn)行AAC-ELD編碼之后,還包括:
[0010]發(fā)送利用所述加入的至少一個(gè)編碼線程編碼得到的AAC-ELD數(shù)據(jù)幀。
[0011]在一個(gè)實(shí)施例中,所述滯留的PCM音頻數(shù)據(jù)幀設(shè)置有編號(hào),所述利用所述加入的至少一個(gè)編碼線程對(duì)所述滯留的PCM音頻數(shù)據(jù)幀進(jìn)行AAC-ELD編碼得到的AAC-ELD數(shù)據(jù)幀攜帶有相應(yīng)的編號(hào),所述發(fā)送利用所述加入的至少一個(gè)編碼線程編碼得到的AAC-ELD數(shù)據(jù)幀,包括:
[0012]按照所述編號(hào)順序,發(fā)送利用所述加入的至少一個(gè)編碼線程編碼得到的AAC-ELD數(shù)據(jù)幀。
[0013]在一個(gè)實(shí)施例中,在所述實(shí)時(shí)監(jiān)測(cè)本終端的CPU使用率之后,還包括:
[0014]當(dāng)監(jiān)測(cè)到所述CPU使用率小于或等于第二預(yù)設(shè)閾值、且不存在滯留的PCM音頻數(shù)據(jù)幀時(shí),從所述至少兩個(gè)并發(fā)的編碼線程中選擇至少一個(gè)編碼線程;
[0015]關(guān)閉所述選擇的至少一個(gè)編碼線程。
[0016]在一個(gè)實(shí)施例中,所述關(guān)閉所述選擇的至少一個(gè)編碼線程,包括:
[0017]當(dāng)所述選擇的至少一個(gè)編碼線程中不存在待編碼的PCM音頻數(shù)據(jù)幀、且不存在待發(fā)送的AAC-ELD數(shù)據(jù)幀時(shí),則關(guān)閉所述選擇的至少一個(gè)編碼線程。
[0018]本發(fā)明還提供一種音頻數(shù)據(jù)的編碼裝置,包括:
[0019]監(jiān)測(cè)模塊,用于當(dāng)采用至少兩個(gè)并發(fā)的編碼線程對(duì)脈沖編碼調(diào)制PCM音頻數(shù)據(jù)幀進(jìn)行AAC-ELD編碼時(shí),實(shí)時(shí)監(jiān)測(cè)本終端的CPU使用率;
[0020]第一處理模塊,用于當(dāng)監(jiān)測(cè)到所述CPU使用率大于或等于第一預(yù)設(shè)閾值、且存在滯留的PCM音頻數(shù)據(jù)幀時(shí),在所述至少兩個(gè)并發(fā)的編碼線程中加入至少一個(gè)編碼線程,以利用所述加入的至少一個(gè)編碼線程對(duì)所述滯留的PCM音頻數(shù)據(jù)幀進(jìn)行AAC-ELD編碼。
[0021]在一個(gè)實(shí)施例中,在所述第一處理模塊利用所述加入的至少一個(gè)編碼線程對(duì)所述滯留的PCM音頻數(shù)據(jù)幀進(jìn)行AAC-ELD編碼之后,所述裝置還包括:
[0022]發(fā)送模塊,用于發(fā)送利用所述加入的至少一個(gè)編碼線程編碼得到的AAC-ELD數(shù)據(jù)幀。
[0023]在一個(gè)實(shí)施例中,所述滯留的PCM音頻數(shù)據(jù)幀設(shè)置有編號(hào),所述利用所述加入的至少一個(gè)編碼線程對(duì)所述滯留的PCM音頻數(shù)據(jù)幀進(jìn)行AAC-ELD編碼得到的AAC-ELD數(shù)據(jù)幀攜帶有相應(yīng)的編號(hào),所述發(fā)送模塊還用于:
[0024]按照所述編號(hào)順序,發(fā)送利用所述加入的至少一個(gè)編碼線程編碼得到的AAC-ELD數(shù)據(jù)幀。
[0025]在一個(gè)實(shí)施例中,在所述監(jiān)測(cè)模塊實(shí)時(shí)監(jiān)測(cè)本終端的CPU使用率之后,所述裝置還包括:
[0026]第二處理模塊,用于當(dāng)監(jiān)測(cè)到所述CPU使用率小于或等于第二預(yù)設(shè)閾值、且不存在滯留的PCM音頻數(shù)據(jù)幀時(shí),從所述至少兩個(gè)并發(fā)的編碼線程中選擇至少一個(gè)編碼線程;關(guān)閉所述選擇的至少一個(gè)編碼線程。
[0027]在一個(gè)實(shí)施例中,所述第二處理模塊還用于:
[0028]當(dāng)所述選擇的至少一個(gè)編碼線程中不存在待編碼的PCM音頻數(shù)據(jù)幀、且不存在待發(fā)送的AAC-ELD數(shù)據(jù)幀時(shí),則關(guān)閉所述選擇的至少一個(gè)編碼線程。
[0029]本發(fā)明實(shí)施例的一些有益效果可以包括:
[0030]本發(fā)明實(shí)施例中,當(dāng)采用至少兩個(gè)并發(fā)的編碼線程對(duì)PCM音頻數(shù)據(jù)幀進(jìn)行AAC-ELD編碼時(shí),實(shí)時(shí)監(jiān)測(cè)本終端的CPU使用率,當(dāng)監(jiān)測(cè)到CPU使用率大于或等于第一預(yù)設(shè)閾值、且存在滯留的PCM音頻數(shù)據(jù)幀時(shí),在至少兩個(gè)并發(fā)的編碼線程中加入至少一個(gè)編碼線程,以利用加入的至少一個(gè)編碼線程對(duì)滯留的PCM音頻數(shù)據(jù)幀進(jìn)行AAC-ELD編碼,能夠提高編碼的效率,從而保證編碼的實(shí)時(shí)性。進(jìn)一步,本發(fā)明通過(guò)AAC-ELD編碼方式對(duì)音頻數(shù)據(jù)編碼,能夠降低音頻數(shù)據(jù)的數(shù)據(jù)量,從而在后續(xù)發(fā)送編碼后的AAC-ELD數(shù)據(jù)幀時(shí)能夠提高傳輸效率,并且AAC-ELD數(shù)據(jù)幀能夠保證音頻數(shù)據(jù)的質(zhì)量,從而實(shí)現(xiàn)音頻數(shù)據(jù)快速傳輸同時(shí)能夠兼顧音頻數(shù)據(jù)的質(zhì)量的目的。
[0031]本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書(shū)中闡述,并且,部分地從說(shuō)明書(shū)中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫的說(shuō)明書(shū)、權(quán)利要求書(shū)、以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
[0032]下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
【附圖說(shuō)明】
[0033]附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
[0034]圖1為本發(fā)明一實(shí)施例中音頻數(shù)據(jù)的編碼方法的流程圖;
[0035]圖2為本發(fā)明一實(shí)施例中音頻數(shù)據(jù)的處理方法的隊(duì)列示意圖;
[0036]圖3為本發(fā)明一實(shí)施例中利用兩個(gè)并發(fā)的編碼線程對(duì)PCM音頻數(shù)據(jù)幀進(jìn)行AAC-ELD編碼的方法的流程圖;
[0037]圖4為本發(fā)明另一實(shí)施例中音頻數(shù)據(jù)的處理方法的隊(duì)列示意圖;
[0038]圖5為本發(fā)明一實(shí)施例中音頻數(shù)據(jù)的編碼裝置的結(jié)構(gòu)示意圖;以及
[0039]圖6為本發(fā)明另一實(shí)施例中音頻數(shù)據(jù)的編碼裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0040]以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。
[0041]圖1所示為本發(fā)明一實(shí)施例中音頻數(shù)據(jù)的編碼方法的流程圖,該方法包括以下步驟 S11-S12:
[0042]步驟S11,當(dāng)采用至少兩個(gè)并發(fā)的編碼線程對(duì)脈沖編碼調(diào)制PCM音頻數(shù)據(jù)幀進(jìn)行AAC-ELD編碼時(shí),實(shí)時(shí)監(jiān)測(cè)本終端的CPU使用率。
[0043]步驟S12,當(dāng)監(jiān)測(cè)到CPU使用率大于或等于第一預(yù)設(shè)閾值、且存在滯留的PCM音頻數(shù)據(jù)幀時(shí),在至少兩個(gè)并發(fā)的編碼線程中加入至少一個(gè)編碼線程,以利用加入的至少一個(gè)編碼線程對(duì)滯留的PCM音頻數(shù)