一種音頻信號重采樣的方法和裝置制造方法
【專利摘要】本發明提供了一種音頻信號重采樣的方法和裝置,所述方法包括:根據音頻信號類型,獲取初始音頻信號;獲取初始音頻信號的第一幀為目標幀,確定初始距離為0;確定輸出樣點的位置;獲取輸出樣點的信號值;將最后一個輸入樣點確定為目標幀的下一幀的第一個輸入樣點,以及將最后一個輸入樣點與最后一個輸出樣點的距離確定為初始距離;獲取目標幀的下一幀為目標幀,繼續執行根據目標幀的輸入樣點的位置、初始距離、輸入采樣率以及輸出采樣率,確定輸出樣點的位置;直到初始音頻信號的所有幀均執行結束。本發明的音頻信號重采樣方法計算過程簡單,實現音頻信號的重采樣的效率高。
【專利說明】
【技術領域】
[0001] 本發明涉及音頻信號處理領域,具體涉及一種音頻信號重采樣的方法和裝置。 一種音頻信號重采樣的方法和裝置
【背景技術】
[0002] 在音頻信號處理領域,當需要對某個音頻信號進行采樣時,通常是按照特定的采 樣率進行音頻信號的采集的。如可以將采樣率預先設置成8000,即每秒鐘采集到8000個聲 音樣點。當遇到采樣率變換,即重采樣問題時,例如,對于已經經過特定采樣率采集成功的 音頻信號,需要將采樣率增大或者減小,所以,需要在特定采樣率采集成功的音頻信號基礎 上重新進行采樣。
[0003] 現有技術中,實現重采樣的方法包括硬件和軟件兩個方面,由于采用硬件方式實 現音頻重采樣價格較昂貴,所以現有技術一般使用軟件的方式進行音頻的重采樣。但是, 現有技術的以軟件方式實現音頻重采樣的方法中,不僅需要對音頻信號進行7階以上的 FIR(有限長單位沖激響應)濾波處理,而且必須將處于時域的音頻信號轉換為頻域的音頻 信號進行處理,處理結束后還需要將音頻信號轉換回時域。
[0004] 由于現有技術中的音頻信號重采樣技術,不僅需要對音頻信號進行7階以上的 FIR濾波處理,而且也要進行頻域信號與時域信號的多次轉換,所以,可見現有技術的音頻 重采樣方法計算過程復雜,音頻信號的重采樣效率較低。
【發明內容】
[0005] 為了減少音頻信號重采樣的計算過程的復雜度,從而提高重采樣的效率,本發明 提供了一種音頻信號重采樣的方法和裝置。
[0006] 本發明提供了一種音頻信號重采樣的方法,所述方法包括:
[0007] 根據所述音頻信號類型,獲取初始音頻信號;
[0008] 獲取所述初始音頻信號的第一幀為目標幀以及確定初始距離為0 ;
[0009] 根據所述目標幀的輸入樣點的位置、所述初始距離、所述初始音頻信號采樣率以 及輸出采樣率,確定輸出樣點的位置;根據所述輸出樣點的位置,獲取輸出樣點的信號值; 將最后一個輸入樣點確定為所述目標巾貞的下一巾貞的第一個輸入樣點,以及將最后一個輸入 樣點與最后一個輸出樣點的距離確定為所述初始距離;獲取所述目標幀的下一幀為目標 幀,繼續執行根據所述目標幀的輸入樣點的位置、所述初始距離、輸入采樣率以及輸出采樣 率,確定輸出樣點的位置;直到所述初始音頻信號的所有幀均執行結束。
[0010] 優選地,所述根據所述音頻信號類型,獲取初始音頻信號,包括:
[0011] 判斷所述音頻信號類型是否為單聲道,如果是,則獲取所述音頻信號作為初始音 頻信號,如果否,則將所述音頻信號根據聲道進行存儲,獲取所述存儲后的音頻信號作為初 始音頻信號。
[0012] 優選地,所述根據所述目標幀的輸入樣點的位置、所述初始距離、輸入采樣率以及 輸出采樣率,確定輸出樣點的位置,包括:
[0013] 預先設置輸出采樣率以及獲取所述初始音頻信號采樣率;
[0014] 確定所述初始音頻信號采樣率與所述輸出采樣率的比值為倍數值;
[0015] 根據所述倍數值、所述初始距離以及所述輸入樣點的位置,確定輸出樣點的位置。
[0016] 優選地,所述根據所述輸出樣點的位置,獲取輸出樣點的信號值,包括:
[0017] 確定任一輸出樣點為待處理樣點;執行獲取樣點信號值的流程:獲取與所述待處 理樣點相鄰的兩個輸入樣點的權重系數,以及獲取與所述待處理樣點相鄰的兩個輸入樣點 的信號值;根據所述權重系數和所述信號值,確定所述待處理樣點的信號值;將未執行獲 取樣點信號值的流程的任一輸出樣點確定為待處理樣點,繼續執行獲取樣點信號值的流 程,直到所有輸出樣點均執行結束。
[0018] 優選地,所述根據所述權重系數和所述信號值,確定所述待處理樣點的信號值,包 括:
[0019] 將所述待處理樣點與相鄰前一個輸入樣點的距離確定為第一距離,以及將所述待 處理樣點與相鄰后一個輸入樣點的距離確定為第二距離;
[0020] 將所述第一距離與所述第二距離的和確定為總距離;
[0021] 將所述相鄰前一個輸入樣點的權重系數確定為第一權重系數,以及將所述相鄰后 一個輸入樣點的權重系數確定為第二權重系數,所述第一權重系數為所述第二距離與所述 總距離的比值,所述第二權重系數為所述第一距離與所述總距離的比值;
[0022] 將與所述待處理樣點相鄰的前一個輸入樣點的信號值確定為第一信號值,以及將 與所述待處理樣點相鄰的后一個輸入樣點的信號值確定為第二信號值;
[0023] 將所述第一權重系數與所述第一信號值的乘積確定為第一運算值,以及將所述第 二權重系數與所述第二信號值的乘積確定為第二運算值;
[0024] 將所述第一運算值與所述第二運算值的和確定為所述待處理樣點的信號值。
[0025] 本發明還提供了一種音頻信號重采樣的裝置,所述裝置包括:
[0026] 第一獲取模塊,用于根據所述音頻信號類型,獲取初始音頻信號;
[0027] 第二獲取模塊,用于獲取所述初始音頻信號的第一幀為目標幀;
[0028] 第一確定模塊,用于確定初始距離為0 ;
[0029] 第二確定模塊,用于根據所述目標幀的輸入樣點的位置、所述初始距離、所述初始 音頻信號采樣率以及輸出采樣率,確定輸出樣點的位置;
[0030] 第三獲取模塊,用于根據所述輸出樣點的位置,獲取輸出樣點的信號值;
[0031] 第三確定模塊,用于將最后一個輸入樣點確定為所述目標巾貞的下一巾貞第一個輸入 樣點;
[0032] 第四確定模塊,用于將最后一個輸入樣點與最后一個輸出樣點的距離確定為所述 初始距離;
[0033] 第四獲取模塊,用于獲取所述目標幀的下一幀為目標幀,繼續觸發所述第二確定 模塊,直到所述初始音頻信號的所有幀均執行結束。
[0034] 優選地,所述第一獲取模塊,包括:
[0035] 判斷子模塊,用于判斷所述音頻信號類型是否為單聲道;
[0036] 第一獲取子模塊,用于在所述判斷子模塊的結果為是時,獲取所述音頻信號作為 初始音頻信號;
[0037] 存儲子模塊,用于在所述判斷子模塊的結果為否時,將所述音頻信號根據聲道進 行存儲;
[0038] 第二獲取子模塊,用于獲取所述存儲子模塊存儲后的音頻信號作為初始音頻信 號。
[0039] 優選地,所述第二確定模塊,包括:
[0040] 第一設置子模塊,用于預先設置輸出采樣率;
[0041] 第三獲取子模塊,用于獲取所述初始音頻信號采樣率;
[0042] 第一確定子模塊,用于確定所述初始音頻信號采樣率與所述輸出采樣率的比值為 倍數值;
[0043] 第二確定子模塊,用于根據所述倍數值、所述初始距離以及所述輸入樣點的位置, 確定輸出樣點的位置。
[0044] 優選地,所述第三獲取模塊,包括:
[0045] 第三確定子模塊,用于確定任一輸出樣點為待處理樣點;
[0046] 第四獲取子模塊,用于獲取與所述待處理樣點相鄰的兩個輸入樣點的權重系數;
[0047] 第五獲取子模塊,用于獲取與所述待處理樣點相鄰的兩個輸入樣點的信號值;
[0048] 第四確定子模塊,用于根據所述權重系數和所述信號值,確定所述待處理樣點的 信號值;
[0049] 第五確定子模塊,用于將未觸發所述第四獲取子模塊的任一輸出樣點確定為待處 理樣點,繼續觸發所述第四獲取子模塊,直到所有輸出樣點均執行結束。
[0050] 優選地,所述第四確定子模塊,包括:
[0051] 第五確定子模塊,用于將所述待處理樣點與相鄰前一個輸入樣點的距離確定為第 一距離;
[0052] 第六確定子模塊,用于將所述待處理樣點與相鄰后一個輸入樣點的距離確定為第 二距離;
[0053] 第七確定子模塊,用于將所述第一距離與所述第二距離的和確定為總距離;
[0054] 第八確定子模塊,用于將所述相鄰前一個輸入樣點的權重系數確定為第一權重系 數,所述第一權重系數為所述第二距離與所述總距離的比值;
[0055] 第九確定子模塊,用于將所述相鄰后一個輸入樣點的權重系數確定為第二權重系 數,所述第二權重系數為所述第一距離與所述總距離的比值;
[0056] 第十確定子模塊,用于將與所述待處理樣點相鄰的前一個輸入樣點的信號值確定 為第一信號值;
[0057] 第Η 確定子模塊,用于將與所述待處理樣點相鄰的后一個輸入樣點的信號值確 定為第二信號值;
[0058] 第一乘積子模塊,用于將所述第一權重系數與所述第一信號值的乘積確定為第一 運算值;
[0059] 第二乘積子模塊,用于將所述第二權重系數與所述第二信號值的乘積確定為第二 運算值;
[0060] 求和子模塊,用于將所述第一運算值與所述第二運算值的和確定為所述待處理樣 點的信號值。
[0061] 本發明首先根據所述音頻信號類型,獲取初始音頻信號;其次,獲取所述初始音頻 信號的第一幀為目標幀以及確定初始距離為0;再次,獲取所述目標幀的音頻信號為源信 號;根據所述源信號的樣點的位置、所述初始距離、所述初始音頻信號采樣率以及目標樣本 的采樣率,確定目標樣點位置;根據所述目標樣點位置,獲取目標樣點的信號值;將所述源 信號的最后一個樣點確定為所述目標幀的下一幀音頻信號的第一個樣點,以及將所述源信 號的最后一個樣點與最后一個目標樣點的距離確定為所述初始距離;獲取所述目標幀的下 一幀為目標幀,繼續執行獲取所述目標幀的音頻信號為源信號,直到所述初始音頻信號的 所有幀均執行結束。與現有技術相比,本發明的音頻信號重采樣的方法不需要進行復雜的 高階運算,也不需要進行頻域信號和時域信號的多次轉換,只通過簡單的乘加運算,實現音 頻信號的重采樣。可見相比現有技術,本發明的音頻信號重采樣方法計算過程簡單,實現音 頻信號的重采樣的效率高。
【專利附圖】
【附圖說明】
[0062] 為了更清楚地說明本申請實施例中的技術方案,下面將對實施例描述中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于 本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其 他的附圖。
[0063] 圖1為本發明實施例一的音頻信號重采樣的方法的流程圖;
[0064] 圖2為本發明實施例一的獲取初始音頻信號的流程圖;
[0065] 圖3為本發明實施例一的確定輸出樣點的位置的流程圖;
[0066] 圖4為本發明實施例一的獲取輸出樣點的信號值的流程圖;
[0067] 圖5為本發明實施例一的確定待處理樣點的信號值的流程圖;
[0068] 圖6為本發明實施例二的音頻信號重采樣的裝置結構圖;
[0069] 圖7為本發明實施例二的所述第一獲取模塊601的結構圖;
[0070] 圖8為本發明實施例二的所述第二確定模塊604的結構圖;
[0071] 圖9為本發明實施例二的所述第三獲取模塊605的結構圖;
[0072] 圖10為本發明實施例二的所述第四確定子模塊904的結構圖。
【具體實施方式】
[0073] 下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基于 本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他 實施例,都屬于本申請保護的范圍。
[0074] 實施例一、
[0075] 參考圖1,圖1為本發明提供的一種音頻信號重采樣的方法實施例一的流程圖,本 實施例的方法具體可以包括:
[0076] 步驟101、根據所述音頻信號類型,獲取初始音頻信號。
[0077] 本實施例中,音頻信號是按照聲道進行重采樣的,所以,在對音頻信號進行重采樣 之前,需要獲取音頻信號類型,具體的音頻信號類型包括單聲道和多聲道。
[0078] 其中,對于不同類型的音頻信號,本實施例采用不同的方式進行處理。具體的,針 對不同類型的音頻信號的處理方法參考圖2,圖2為獲取初始音頻信號的流程圖,具體步驟 如下:
[0079] 步驟201、判斷所述音頻信號類型是否為單聲道,如果是,則進入步驟202,如果 否,則進入步驟203。
[0080] 本實施例中,由于音頻信號包括單聲道和多聲道兩種類型,在獲取初始音頻信號 之前,首先判斷所述音頻信號的類型,如果所述音頻信號類型為多聲道時,執行步驟203,如 果所述音頻信號類型為單聲道時,執行步驟202。
[0081] 步驟202、獲取所述音頻信號作為初始音頻信號。
[0082] 本實施例中,當所述音頻信號類型為單聲道時,不需要對該音頻信號進行任何處 理,直接將該音頻信號確定為初始音頻信號。
[0083] 步驟203、將所述音頻信號根據聲道進行存儲,進入步驟204。
[0084] 本實施例中,當所述音頻信號類型為多聲道時,將所述音頻信號按照聲道進行存 儲。以雙聲道的音頻信號為例,當所述音頻信號為長度為2L的雙聲道音頻信號,可以將該 音頻信號中的長度為L的左聲道音頻信號統一存儲,同時將該音頻信號中長度為L的右聲 道音頻信號統一存儲,將兩個長度為L的音頻信號組合,形成最終的音頻信號。其中,最終 的音頻信號可以是左聲道音頻信號在先,右聲道音頻信號在后的存儲方式,也可以是右聲 道音頻信號在先,左聲道音頻信號在后的存儲方式。具體的存儲順序不影響本實施例的施 行。
[0085] 步驟204、獲取所述存儲后的音頻信號作為初始音頻信號。
[0086] 本實施例中,將上述經過多聲道分別存儲的音頻信號確定為初始音頻信號。
[0087] 步驟102、獲取所述初始音頻信號的第一幀為目標幀。
[0088] 本實施例中,對初始音頻信號重采樣之前,選擇該初始音頻信號的第一幀作為目 標幀進行處理。
[0089] 步驟103、確定初始距離為0。
[0090] 本實施例中,初始音頻信號是以幀為單位進行重采樣的,其中,幀的長度不受限 制。所以為了保證音頻信號播放的連續性,可以根據初始距離,對幀與幀之間的音頻信號進 行相應的處理。其中,初始距離表不相鄰兩巾貞的上一巾貞的音頻信號中的最后一個輸出樣本 中樣點距下一幀音頻信號的第一個輸入樣本中樣點的距離。
[0091] 步驟104、根據所述目標幀的輸入樣點的位置、所述初始距離、所述初始音頻信號 采樣率以及輸出采樣率,確定輸出樣點的位置。
[0092] 本實施例中,在對初始音頻信號進行重采樣之前,首先確定經過重采樣后的輸出 樣本中的輸出樣點的位置。
[0093] 參考圖3,圖3為確定輸出樣點的位置的流程圖,具體步驟如下:
[0094] 步驟301、預先設置輸出米樣率。
[0095] 本實施例中,在確定輸出樣點的位置之前,首先設置對初始音頻信號重采樣后獲 得的輸出樣本的采樣率。具體的,可以根據用戶需求進行輸出采樣率的設置。
[0096] 步驟302、獲取所述初始音頻信號采樣率。
[0097] 本實施例中,在確定輸出樣點的位置之前,還需要獲取初始音頻信號的采樣率,具 體的,通過何種方式獲取初始音頻信號的采樣率不做限制,同時不影響本實施例的實施。
[0098] 實際操作中,步驟301和步驟302執行的先后順序不受限制,可以先執行步驟301 再執行步驟302,也可以先執行步驟302后執行步驟301,還可以將步驟301和步驟302同 時執行。
[0099] 具體的,想要將采樣率為8000的初始音頻信號重采樣成采樣率為7500的音頻信 號時,7500為步驟301預先設置的輸出采樣率,8000為步驟302獲取的初始音頻信號采樣 率。
[0100] 步驟303、確定所述初始音頻信號采樣率與所述輸出采樣率的比值為倍數值。
[0101] 本實施例中,計算初始音頻信號采樣率和輸出采樣率的比值,將該比值確定為倍 數值,用于后續步驟中輸出樣點的位置的確定。
[0102] 步驟304、根據所述倍數值、所述初始距離以及所述輸入樣點的位置,確定輸出樣 點的位置。
[0103] 本實施例中,首先計算倍數值,其次獲取初始距離,再次獲取輸入樣點的位置,最 終確定輸出樣點的位置。
[0104] 實際操作中,音頻信號重采樣包括兩種類型,其中,根據倍數值與自然數1的關 系,確定音頻信號重采樣的類型是向上重采樣或者向下重采樣。具體的,當通過計算得到的 倍數值大于1時,音頻信號需要進行向下重采樣;相反地,當通過計算得到的倍數值小于1 時,音頻信號需要進行向上重采樣;很容易理解的是,當計算得到的倍數值等于1時,音頻 信號不需要進行重采樣。
[0105] 下面針對如何確定輸出樣點的位置舉例說明,具體如下:
[0106] 對于向上重采樣類型,假設計算得到的倍數值為0. 7, X[n]表示第η個輸入樣點, Υ[η]表示第η個輸出樣點,η為自然數,同時假設相鄰兩個輸入樣點的距離為1,初始距離 為〇。
[0107] 由于倍數值0. 7小于1,所以音頻信號需要進行向上重采樣,即對初始音頻信號進 行插值處理。由于初始音頻信號采樣率與輸出采樣率的比值為7 : 10,同時相鄰兩個輸入 樣點的距離為1,所以相鄰兩個輸出樣點的距離為〇. 7,可見輸出樣點比輸入樣點分布的更 密集,通過計算得到Y[l]在X[l]和Χ[2]之間,同時距X[l]的距離為0.7,距Χ[2]的距離 為0.3, Υ[2]在X[2]和X[3]之間,同時距X[2]的距離為0.4,距X[3]的距離為0.6, Υ[3] 在Χ[3]和Χ[4]之間,同時距Χ[3]的距離為0. 1,距Χ[4]的距離為0. 9,以此類推,可以確 定出所有輸出樣點的位置。
[0108] 對于向下重采樣類型,假設計算得到的倍數值為1. 43,Χ[η]表示第η個輸入樣點, Υ[η]表示第η個輸出樣點,η為自然數,同時假設相鄰兩個輸入樣點的距離為1,初始距離 為〇。
[0109] 由于倍數值1. 43大于1,所以音頻信號需要進行向下重采樣,即對初始音頻信號 進行抽值處理。由于初始音頻信號采樣率與輸出采樣率的比值為1.43,同時相鄰兩個輸入 樣點的距離為1,所以相鄰兩個輸出樣點的距離為1.43,可見輸出樣點比輸入樣點分布的 更密集,通過計算得到Y[l]在Χ[2]和Χ[3]之間,同時距Χ[2]的距離為0.43,距Χ[3]的距 離為0.57, Υ[2]在X[3]和X[4]之間,同時距X[3]的距離為0.86,距X[4]的距離為0. 14, Υ[3]在X[5]和X[6]之間,同時距X[5]的距離為0.29,距X[6]的距離為0.71,以此類推, 可以確定出所有輸出樣點的位置
[0110] 步驟105、根據所述輸出樣點的位置,獲取輸出樣點的信號值。
[0111] 本實施例中,首先確定輸出樣點的位置,其次,根據輸出樣點的位置,確定輸出樣 點的信號值。
[0112] 參考圖4,圖4為獲取輸出樣點的信號值的流程圖,具體步驟如下:
[0113] 步驟401、確定任一輸出樣點為待處理樣點。
[0114] 本實施例中,在獲取輸出樣點的信號值之前,首先將確定了位置的輸出樣點中的 任意一個作為待處理樣點。
[0115] 步驟402、獲取與所述待處理樣點相鄰的兩個輸入樣點的權重系數。
[0116] 本實施例中,需要確定與所述待處理樣點相鄰前一個輸入樣點的權重系數,以及 確定與所述待處理樣點相鄰后一個輸入樣點的權重系數,實際操作中,確定前后兩個相鄰 輸入樣點的權重系數的順序不受限制,可以先確定相鄰前一個輸入樣點的權重系數,再確 定相鄰后一個輸入樣點的權重系數;也可以先確定相鄰后一個輸入樣點的權重系數,再確 定相鄰前一個輸入樣點的權重系數;還可以同時確定相鄰兩個輸入樣點的權重系數。
[0117] 步驟403、獲取與所述待處理樣點相鄰的兩個輸入樣點的信號值。
[0118] 本實施例中,確定待處理樣點的信號值,不僅需要獲取輸出樣點的位置,還需要獲 取與待處理樣點相鄰的兩個輸入樣點的信號值。
[0119] 實際操作中,可以通過現有軟件解碼或者硬件ADC,獲取相鄰輸入樣點的信號值, 具體的,本實施例對獲取輸入樣點的信號值的方式不受限制。
[0120] 步驟404、根據所述權重系數和所述信號值,確定所述待處理樣點的信號值。
[0121] 本實施例中,首先獲取兩個權重系數,其次獲取兩個信號值,最后根據確定的權重 系數和信號值,獲取待處理樣點的信號值。
[0122] 參考圖5,圖5為確定待處理樣點的信號值的流程圖,具體步驟如下:
[0123] 步驟501、將所述待處理樣點與相鄰前一個輸入樣點的距離確定為第一距離。
[0124] 步驟502、將所述待處理樣點與相鄰后一個輸入樣點的距離確定為第二距離。
[0125] 步驟503、將所述第一距離與所述第二距離的和確定為總距離。
[0126] 步驟504、將所述相鄰前一個輸入樣點的權重系數確定為第一權重系數,所述第一 權重系數為所述第二距離與所述總距離的比值。
[0127] 步驟505、將所述相鄰后一個輸入樣點的權重系數確定為第二權重系數,所述第二 權重系數為所述第一距離與所述總距離的比值。
[0128] 本實施例中,權重系數具體包括第一權重系數和第二權重系數,權重系數與距離 的關系可以理解為,距待處理樣點的距離越大的輸入樣點具有的權重系數越小。
[0129] 步驟506、將與所述待處理樣點相鄰的前一個輸入樣點的信號值確定為第一信號 值。
[0130] 步驟507、將與所述待處理樣點相鄰的后一個輸入樣點的信號值確定為第二信號 值。
[0131] 步驟508、將所述第一權重系數與所述第一信號值的乘積確定為第一運算值。
[0132] 步驟509、將所述第二權重系數與所述第二信號值的乘積確定為第二運算值。
[0133] 步驟510、將所述第一運算值與所述第二運算值的和確定為所述待處理樣點的信 號值。
[0134] 下面針對如何確定待處理樣點的信號值,舉例說明:
[0135] 假設X[n]表不第η個輸入樣點,Y[n]表不第η個輸出樣點,x[n]表不第η個輸入 樣點的信號值,y [η]表示第η個輸出樣點的信號值,η為自然數,假設第η個輸出樣點處于 第η個輸入樣點和第η+1個輸入樣點之間。
[0136] 首先,將Υ[η]距Χ[η]的距離確定為第一距離,用S1表示;將Υ[η]距Χ[η+1]的距 離確定為第二距離,用S2表示;可以理解的是,用S表示S1與S2的和,即S可以表示Χ[η] 與X[η+1]之間的總距離,用Q1表示第一權重系數,即Q1可以表示S2與S的比值,用Q2表 示第二權重系數,即Q2可以表示S1與S的比值。其次,獲取X[η]的信號值χ[η],以及獲取 Χ[η+1]的信號值。最后,通過公式(1),獲取待處理樣點的信號值,即y[n]。
[0137] y[n] = x[n]*Ql+x[n+l]*Q2 (1)
[0138] 步驟405、判斷所有輸出樣點是否均執行結束,如果否,則進入步驟406。
[0139] 步驟406、將未執行步驟402的任一輸出樣點確定為待處理樣點,繼續執行步驟 402。
[0140] 本實施例中,將待確定樣點的信號值確定結束后,需要重新確定下一個待處理樣 點,繼續執行步驟402,直到所有輸出樣點均執行結束。
[0141] 實際操作中,在重新確定下一個待處理樣點時,可以將未執行過步驟402的任意 一個輸出樣點確定為待處理樣點,繼續執行待處理樣點的信號值確定操作。
[0142] 步驟106、將最后一個輸入樣點確定為所述目標巾貞的下一巾貞的第一個輸入樣點。
[0143] 本實施例中,由于重采樣的對象是音頻信號,必須保證經過重采樣得到的音頻信 號能夠連續流暢播放,所以,音頻信號的重采樣要考慮幀與幀之間的過渡處理。
[0144] 實際操作中,對于音頻信號的重采樣中的幀與幀的過渡處理,可以將當前所處理 的幀的最后一個輸入樣點記錄下來,作為當前幀的下一幀的第一個輸入樣點,從而處理了 音頻信號重采樣中的幀與幀的過渡。
[0145] 步驟107、將最后一個輸入樣點與最后一個輸出樣點的距離確定為所述初始距離。
[0146] 本實施例中,為了處理音頻信號重采樣,不僅將當前所處理的幀的最后一個輸入 樣點確定為下一幀的第一個輸入樣點,還需要記錄當前所處理的幀的最后一個輸入樣點與 最后一個輸出樣點的距離。
[0147] 實際操作中,在獲取每一幀音頻信號的第一個輸出樣點時,如果當前幀的初始距 離不等于〇,在確定輸出樣點的位置的過程中需要考慮當前處理幀的初始距離。例如,當前 中貞的上一巾貞的最后一個輸入樣點與最后一個輸出樣點的距離為0. 3,即初始距離為0. 3,假 如相鄰兩個輸出樣點的距離為1,在確定當前幀的第一個輸出樣點的位置時,由于該第一個 輸出樣點的上一個輸出樣點距當前巾貞的第一輸入樣點的距離為〇. 3,即初始距離,所以該第 一個輸出樣點只需要位于距當前幀的第一個輸入樣點〇. 7即可,從而處理了音頻信號重采 樣中的幀與幀的過渡。
[0148] 步驟108、判斷所述初始音頻信號的所有幀是否均執行結束,如果是,則進入步驟 109。
[0149] 步驟109、獲取所述目標幀的下一幀為目標幀,繼續執行步驟104。
[0150] 本實施例中,如果所述初始音頻信號的所有幀沒有均執行結束,則在目標幀的所 有輸出樣點均被確定后,確定該目標幀的下一幀為目標幀,繼續執行步驟104,直到所述初 始音頻信號的所有幀均執行結束。
[0151] 實際操作中,采用本實施例獲得的輸出樣點的信號值與實際的信號值存在誤差, 這個誤差可以是輕微的隨機噪聲,在普通設備上很難被聽到,但是對于音質要求較高的設 備,隨機噪聲是能夠被聽到的。所以,本實施例可以對獲取到的輸出樣點進行低通濾波,此 種方式可以消除隨機噪聲,即消除誤差。但是由于低通濾波的計算量較大,所以,用戶可以 根據實際應用設備選擇是否進行低通濾波處理。
[0152] 本實施例首先根據所述音頻信號類型,獲取初始音頻信號;其次,獲取所述初始音 頻信號的第一幀為目標幀以及確定初始距離為〇 ;再次,根據所述目標幀的輸入樣點的位 置、所述初始距離、所述初始音頻信號采樣率以及輸出采樣率,確定輸出樣點的位置;根據 所述輸出樣點的位置,獲取輸出樣點的信號值;將最后一個輸入樣點確定為所述目標幀的 下一巾貞的第一個輸入樣點,以及將最后一個輸入樣點與最后一個輸出樣點的距離確定為所 述初始距離;獲取所述目標幀的下一幀為目標幀,繼續執行根據所述目標幀的輸入樣點的 位置、所述初始距離、輸入采樣率以及輸出采樣率,確定輸出樣點的位置;直到所述初始音 頻信號的所有幀均執行結束。本實施例中只通過簡單的乘加運算,實現音頻信號的重采樣。 可見相比現有技術,本發明的音頻信號重采樣方法計算過程簡單,實現音頻信號的重采樣 的效率高。
[0153] 實施例二、
[0154] 參考圖6,圖6為本發明提供的一種音頻信號重采樣的裝置實施例二的結構圖,本 實施例的裝置具體可以包括:
[0155] 第一獲取模塊601,用于根據所述音頻信號類型,獲取初始音頻信號;
[0156] 參考圖7,圖7為所述第一獲取模塊601的結構圖,具體可以包括:
[0157] 判斷子模塊701,用于判斷所述音頻信號類型是否為單聲道;
[0158] 第一獲取子模塊702,用于在所述判斷子模塊的結果為是時,獲取所述音頻信號作 為初始音頻信號;
[0159] 存儲子模塊703,用于在所述判斷子模塊的結果為否時,將所述音頻信號根據聲道 進行存儲;
[0160] 第二獲取子模塊704,用于獲取所述存儲子模塊存儲后的音頻信號作為初始音頻 信號。
[0161] 第二獲取模塊602,用于獲取所述初始音頻信號的第一巾貞為目標巾貞;
[0162] 第一確定模塊603,用于確定初始距離為0 ;
[0163] 第二確定模塊604,用于根據所述目標幀的輸入樣點的位置、所述初始距離、所述 初始音頻信號采樣率以及輸出采樣率,確定輸出樣點的位置;
[0164] 參考圖8,圖8為所述第二確定模塊604的結構圖,具體可以包括:
[0165] 第一設置子模塊801,用于預先設置輸出采樣率;
[0166] 第三獲取子模塊802,用于獲取所述初始音頻信號采樣率;
[0167] 第一確定子模塊803,用于確定所述初始音頻信號采樣率與所述輸出采樣率的比 值為倍數值;
[0168] 第二確定子模塊804,用于根據所述倍數值、所述初始距離以及所述輸入樣點的位 置,確定輸出樣點的位置。
[0169] 第三獲取模塊605,用于根據所述輸出樣點的位置,獲取輸出樣點的信號值;
[0170] 參考圖9,圖9為所述第三獲取模塊605的結構圖,具體可以包括:
[0171] 第三確定子模塊901,用于確定任一輸出樣點為待處理樣點;
[0172] 第四獲取子模塊902,用于獲取與所述待處理樣點相鄰的兩個輸入樣點的權重系 數;
[0173] 第五獲取子模塊903,用于獲取與所述待處理樣點相鄰的兩個輸入樣點的信號 值;
[0174] 第四確定子模塊904,用于根據所述權重系數和所述信號值,確定所述待處理樣點 的信號值;
[0175] 參考圖10,圖10為所述第四確定子模塊904的結構圖,具體可以包括:
[0176] 第五確定子模塊1001,用于將所述待處理樣點與相鄰前一個輸入樣點的距離確定 為第一距離;
[0177] 第六確定子模塊1002,用于將所述待處理樣點與相鄰后一個輸入樣點的距離確定 為第二距離;
[0178] 第七確定子模塊1003,用于將所述第一距離與所述第二距離的和確定為總距離;
[0179] 第八確定子模塊1004,用于將所述相鄰前一個輸入樣點的權重系數確定為第一權 重系數,所述第一權重系數為所述第二距離與所述總距離的比值;
[0180] 第九確定子模塊1005,用于將所述相鄰后一個輸入樣點的權重系數確定為第二權 重系數,所述第二權重系數為所述第一距離與所述總距離的比值;
[0181] 第十確定子模塊1006,用于將與所述待處理樣點相鄰的前一個輸入樣點的信號值 確定為第一信號值;
[0182] 第Η 確定子模塊1007,用于將與所述待處理樣點相鄰的后一個輸入樣點的信號 值確定為第二信號值;
[0183] 第一乘積子模塊1008,用于將所述第一權重系數與所述第一信號值的乘積確定為 第一運算值;
[0184] 第二乘積子模塊1009,用于將所述第二權重系數與所述第二信號值的乘積確定為 第二運算值;
[0185] 求和子模塊1010,用于將所述第一運算值與所述第二運算值的和確定為所述待處 理樣點的信號值。
[0186] 第五確定子模塊905,用于將未觸發所述第四獲取子模塊的任一輸出樣點確定為 待處理樣點,繼續觸發所述第四獲取子模塊,直到所有輸出樣點均執行結束。
[0187] 第三確定模塊606,用于將最后一個輸入樣點確定為所述目標巾貞的下一巾貞第一個 輸入樣點;
[0188] 第四確定模塊607,用于將最后一個輸入樣點與最后一個輸出樣點的距離確定為 所述初始距離;
[0189] 第四獲取模塊608,用于獲取所述目標幀的下一幀為目標幀,繼續觸發所述第二確 定模塊,直到所述初始音頻信號的所有幀均執行結束。
[0190]本實施例首先根據所述音頻信號類型,獲取初始音頻信號;其次,獲取所述初始音 頻信號的第一幀為目標幀以及確定初始距離為Ο ;再次,根據所述目標幀的輸入樣點的位 置、所述初始距離、所述初始音頻信號采樣率以及輸出采樣率,確定輸出樣點的位置;根據 所述輸出樣點的位置,獲取輸出樣點的信號值;將最后一個輸入樣點確定為所述目標幀的 下一巾貞的第一個輸入樣點,以及將最后一個輸入樣點與最后一個輸出樣點的距離確定為所 述初始距離;獲取所述目標幀的下一幀為目標幀,繼續執行根據所述目標幀的輸入樣點的 位置、所述初始距離、輸入采樣率以及輸出采樣率,確定輸出樣點的位置;直到所述初始音 頻信號的所有幀均執行結束。本實施例中只通過簡單的乘加運算,實現音頻信號的重采樣。 可見相比現有技術,本發明的音頻信號重采樣裝置計算過程簡單,實現音頻信號的重采樣 的效率高。
[0191] 對于裝置實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實 施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件 說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以 不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的 需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不 付出創造性勞動的情況下,即可以理解并實施。
[0192] 需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實 體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存 在任何這種實際的關系或者順序。而且,術語"包括"、"包含"或者其任何其他變體意在涵 蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要 素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備 所固有的要素。在沒有更多限制的情況下,由語句"包括一個……"限定的要素,并不排除 在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0193] 以上對本發明實施例所提供的音頻信號重采樣的方法和裝置進行了詳細介紹,本 文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于 幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思 想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對 本發明的限制。
【權利要求】
1. 一種音頻信號重采樣的方法,其特征在于,所述方法包括: 根據所述音頻信號類型,獲取初始音頻信號; 獲取所述初始音頻信號的第一幀為目標幀以及確定初始距離為0 ; 根據所述目標幀的輸入樣點的位置、所述初始距離、所述初始音頻信號采樣率以及輸 出采樣率,確定輸出樣點的位置;根據所述輸出樣點的位置,獲取輸出樣點的信號值;將最 后一個輸入樣點確定為所述目標巾貞的下一巾貞的第一個輸入樣點,以及將最后一個輸入樣點 與最后一個輸出樣點的距離確定為所述初始距離;獲取所述目標幀的下一幀為目標幀,繼 續執行根據所述目標幀的輸入樣點的位置、所述初始距離、輸入采樣率以及輸出采樣率,確 定輸出樣點的位置;直到所述初始音頻信號的所有幀均執行結束。
2. 根據權利要求1所述的方法,其特征在于,所述根據所述音頻信號類型,獲取初始音 頻信號,包括: 判斷所述音頻信號類型是否為單聲道,如果是,則獲取所述音頻信號作為初始音頻信 號,如果否,則將所述音頻信號根據聲道進行存儲,獲取所述存儲后的音頻信號作為初始音 頻信號。
3. 根據權利要求1所述的方法,其特征在于,所述根據所述目標幀的輸入樣點的位置、 所述初始距離、輸入采樣率以及輸出采樣率,確定輸出樣點的位置,包括: 預先設置輸出采樣率以及獲取所述初始音頻信號采樣率; 確定所述初始音頻信號采樣率與所述輸出采樣率的比值為倍數值; 根據所述倍數值、所述初始距離以及所述輸入樣點的位置,確定輸出樣點的位置。
4. 根據權利要求1所述的方法,其特征在于,所述根據所述輸出樣點的位置,獲取輸出 樣點的信號值,包括: 確定任一輸出樣點為待處理樣點;執行獲取樣點信號值的流程:獲取與所述待處理樣 點相鄰的兩個輸入樣點的權重系數,以及獲取與所述待處理樣點相鄰的兩個輸入樣點的信 號值;根據所述權重系數和所述信號值,確定所述待處理樣點的信號值;將未執行獲取樣 點信號值的流程的任一輸出樣點確定為待處理樣點,繼續執行獲取樣點信號值的流程,直 到所有輸出樣點均執行結束。
5. 根據權利要求4所述的方法,其特征在于,所述根據所述權重系數和所述信號值,確 定所述待處理樣點的信號值,包括: 將所述待處理樣點與相鄰前一個輸入樣點的距離確定為第一距離,以及將所述待處理 樣點與相鄰后一個輸入樣點的距離確定為第二距離; 將所述第一距離與所述第二距離的和確定為總距離; 將所述相鄰前一個輸入樣點的權重系數確定為第一權重系數,以及將所述相鄰后一個 輸入樣點的權重系數確定為第二權重系數,所述第一權重系數為所述第二距離與所述總距 離的比值,所述第二權重系數為所述第一距離與所述總距離的比值; 將與所述待處理樣點相鄰的前一個輸入樣點的信號值確定為第一信號值,以及將與所 述待處理樣點相鄰的后一個輸入樣點的信號值確定為第二信號值; 將所述第一權重系數與所述第一信號值的乘積確定為第一運算值,以及將所述第二權 重系數與所述第二信號值的乘積確定為第二運算值; 將所述第一運算值與所述第二運算值的和確定為所述待處理樣點的信號值。
6. -種音頻信號重采樣的裝置,其特征在于,所述裝置包括: 第一獲取模塊,用于根據所述音頻信號類型,獲取初始音頻信號; 第二獲取模塊,用于獲取所述初始音頻信號的第一幀為目標幀; 第一確定模塊,用于確定初始距離為〇 ; 第二確定模塊,用于根據所述目標幀的輸入樣點的位置、所述初始距離、所述初始音頻 信號采樣率以及輸出采樣率,確定輸出樣點的位置; 第三獲取模塊,用于根據所述輸出樣點的位置,獲取輸出樣點的信號值; 第三確定模塊,用于將最后一個輸入樣點確定為所述目標巾貞的下一巾貞第一個輸入樣 占. 第四確定模塊,用于將最后一個輸入樣點與最后一個輸出樣點的距離確定為所述初始 距離; 第四獲取模塊,用于獲取所述目標幀的下一幀為目標幀,繼續觸發所述第二確定模塊, 直到所述初始音頻信號的所有幀均執行結束。
7. 根據權利要求6所述的裝置,其特征在于,所述第一獲取模塊,包括: 判斷子模塊,用于判斷所述音頻信號類型是否為單聲道; 第一獲取子模塊,用于在所述判斷子模塊的結果為是時,獲取所述音頻信號作為初始 音頻信號; 存儲子模塊,用于在所述判斷子模塊的結果為否時,將所述音頻信號根據聲道進行存 儲; 第二獲取子模塊,用于獲取所述存儲子模塊存儲后的音頻信號作為初始音頻信號。
8. 根據權利要求6所述的裝置,其特征在于,所述第二確定模塊,包括: 第一設置子模塊,用于預先設置輸出采樣率; 第三獲取子模塊,用于獲取所述初始音頻信號采樣率; 第一確定子模塊,用于確定所述初始音頻信號采樣率與所述輸出采樣率的比值為倍數 值; 第二確定子模塊,用于根據所述倍數值、所述初始距離以及所述輸入樣點的位置,確定 輸出樣點的位置。
9. 根據權利要求6所述的裝置,其特征在于,所述第三獲取模塊,包括: 第三確定子模塊,用于確定任一輸出樣點為待處理樣點; 第四獲取子模塊,用于獲取與所述待處理樣點相鄰的兩個輸入樣點的權重系數; 第五獲取子模塊,用于獲取與所述待處理樣點相鄰的兩個輸入樣點的信號值; 第四確定子模塊,用于根據所述權重系數和所述信號值,確定所述待處理樣點的信號 值; 第五確定子模塊,用于將未觸發所述第四獲取子模塊的任一輸出樣點確定為待處理樣 點,繼續觸發所述第四獲取子模塊,直到所有輸出樣點均執行結束。
10. 根據權利要求9所述的裝置,其特征在于,所述第四確定子模塊,包括: 第五確定子模塊,用于將所述待處理樣點與相鄰前一個輸入樣點的距離確定為第一距 離; 第六確定子模塊,用于將所述待處理樣點與相鄰后一個輸入樣點的距離確定為第二距 離; 第七確定子模塊,用于將所述第一距離與所述第二距離的和確定為總距離; 第八確定子模塊,用于將所述相鄰前一個輸入樣點的權重系數確定為第一權重系數, 所述第一權重系數為所述第二距離與所述總距離的比值; 第九確定子模塊,用于將所述相鄰后一個輸入樣點的權重系數確定為第二權重系數, 所述第二權重系數為所述第一距離與所述總距離的比值; 第十確定子模塊,用于將與所述待處理樣點相鄰的前一個輸入樣點的信號值確定為第 一信號值; 第十一確定子模塊,用于將與所述待處理樣點相鄰的后一個輸入樣點的信號值確定為 第二信號值; 第一乘積子模塊,用于將所述第一權重系數與所述第一信號值的乘積確定為第一運算 值; 第二乘積子模塊,用于將所述第二權重系數與所述第二信號值的乘積確定為第二運算 值; 求和子模塊,用于將所述第一運算值與所述第二運算值的和確定為所述待處理樣點的 信號值。
【文檔編號】G10L19/00GK104123943SQ201310156531
【公開日】2014年10月29日 申請日期:2013年4月28日 優先權日:2013年4月28日
【發明者】湯雪釵, 王彥飛, 周佳慶, 胡勝發 申請人:安凱(廣州)微電子技術有限公司