專利名稱:一種語音編解碼器和語音編解碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及語音編解碼技術(shù),特別是涉及一種語音編解碼器和語音編解碼方法。
背景技術(shù):
語音編碼技術(shù)的發(fā)展在一定程度上緩和了有限的信道資源與巨大的通信需 求之間的矛盾。常見的語音編碼算法有MELP(mixed excitationlinear prediction, 混合激勵線性預(yù)測)、CELP(code excitation linearprediction,碼激勵線性預(yù)測)、 SELP (sinusoidal excitation linearprediction,正弦激勵線性預(yù)測)等。針對各種語音 編碼算法的語音編解碼芯片也得到了廣泛的應(yīng)用。然而,隨著通信環(huán)境的日趨復(fù)雜和算法的不斷改進(jìn),只支持單一語音編/解碼算 法的語音編解碼芯片往往不能靈活的滿足各種各樣的性能要求。
發(fā)明內(nèi)容
本發(fā)明的目的是提出一種語音編解碼器,為實(shí)現(xiàn)多種語音編/解碼算法提供支 持。為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種語音編解碼器,包括支持至少兩種語音編/ 解碼算法的可重組邏輯資源元素,以及網(wǎng)絡(luò)編碼單元;其中,所述可重組邏輯資源元素用于 對語音數(shù)據(jù)進(jìn)行編/解碼,其中至少有一個(gè)所述資源元素是可供所述至少兩種語音編/解 碼算法共用的,從而使得總的所述資源元素小于分別單獨(dú)實(shí)現(xiàn)所述至少兩種語音編/解碼 算法所需的所述資源元素的和;至少一個(gè)所述資源元素包括功能編碼單元以控制所述資源 元素的功能;所述資源元素之間通過所述網(wǎng)絡(luò)編碼單元連接以控制所述資源元素之間的連 接關(guān)系。進(jìn)一步的,可重組邏輯資源元素包括至多2個(gè)多功能運(yùn)算部件,一個(gè)乘法器,一個(gè) 乘累加部件,一個(gè)除法器/位處理部件,和至多2個(gè)可重組比較器。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)編碼單元包括寄存器堆,用于接收語音數(shù)據(jù)、接收所述可 重組邏輯資源元素輸出的數(shù)據(jù),存儲語音編/解碼算法執(zhí)行過程中的中間變量;通路模塊, 用于接收所述可重組邏輯資源元素和所述寄存器堆輸出的數(shù)據(jù),將所述接收的數(shù)據(jù)輸出到 所述可重組邏輯資源元素或輸出。進(jìn)一步的,語音編碼器能夠?qū)崿F(xiàn)混合激勵線性預(yù)測、碼激勵線性預(yù)測、正弦激勵線 性預(yù)測中的至少兩種算法,所述語音編解碼器包括2個(gè)多功能運(yùn)算部件、1個(gè)乘法部件、1個(gè) 乘累加部件、1個(gè)除法部件/位處理部件、1個(gè)比較選通通路、1個(gè)比較跳轉(zhuǎn)部件、3個(gè)循環(huán)變 量寄存器、2個(gè)寄存器堆、2個(gè)寄存器堆專用通路部件、和6個(gè)通用通路部件。在一個(gè)實(shí)施例中,語音編碼器還包括取指模塊,用于接收啟動指令,從算法配置文 件執(zhí)行取指操作,發(fā)送獲得的指令;所述算法配置文件根據(jù)所述至少兩種語音編/解碼算 法其中的一種語音編/解碼算法記錄所述功能編碼單元和網(wǎng)絡(luò)編碼單元的編碼信息;譯碼 控制模塊,用于接收來自所述取指模塊的指令,對所述指令進(jìn)行譯碼,控制所述可重組邏輯資源元素的操作以實(shí)現(xiàn)語音編/解碼算法。在一個(gè)實(shí)施例中,語音編碼器還包括存儲器,用于存儲所述算法配置文件和靜態(tài) 碼本信息。在一個(gè)實(shí)施例中,語音編碼器還包括系統(tǒng)管理器。所述系統(tǒng)管理器與所述取指模 塊、所述譯碼控制模塊和所述存儲器連接,當(dāng)所述系統(tǒng)管理器通過控制所述取指模塊和所 述譯碼控制模塊將所述配置文件裝載到所述可重組邏輯資源元素和網(wǎng)絡(luò)編碼單元時(shí),所述 可重組邏輯資源元素,以及網(wǎng)絡(luò)編碼單元能夠?qū)崿F(xiàn)所述至少兩種語音編/解碼算法中的所 述一種語音編/解碼算法。在一個(gè)實(shí)施例中,語音編碼器還包括碼速狀態(tài)寄存器,用于設(shè)置語音碼速和碼速 更改標(biāo)識;所述系統(tǒng)管理器檢查碼速狀態(tài)寄存器的碼速更改標(biāo)識,當(dāng)所述碼速更改標(biāo)識被 置位時(shí),根據(jù)所述碼速狀態(tài)寄存器的語音碼速信息執(zhí)行初始地址的裝載,以使得所述語音 編解碼器能夠根據(jù)所述碼速狀態(tài)寄存器的所述碼速信息對新一幀數(shù)據(jù)按照新的碼速執(zhí)行
編碼/解碼。在一個(gè)實(shí)施例中,語音編碼器還包括語音激活檢測器,當(dāng)所述語音激活檢測器檢 測到一段靜音時(shí),所述語音激活檢測器會輸出一個(gè)靜音幀,以通知語音數(shù)據(jù)的發(fā)送方發(fā)送
一段背景噪音。為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種語音編解碼方法,包括裝載配置文件,指令 譯碼對所述配置文件進(jìn)行譯碼,其中所述配置文件根據(jù)至少兩種語音算法其中的一種語音 算法記錄可重組邏輯資源元素的功能編碼單元和網(wǎng)絡(luò)編碼單元的編碼信息;根據(jù)對所述配 置文件譯碼后的指令控制語音編解碼算法模塊,所述語音編解碼算法模塊包括支持所述至 少兩種語音算法的所述可重組邏輯資源元素以對語音數(shù)據(jù)進(jìn)行編碼和解碼,其中至少有一 個(gè)所述資源元素是可供所述至少兩種語音算法共用的,從而使得總的所述資源元素小于分 別單獨(dú)實(shí)現(xiàn)所述至少兩種語音編/解碼算法所需的所述資源元素的和;至少一個(gè)所述資源 元素包括所述功能編碼單元以控制所述資源元素的功能,所述資源元素之間通過所述網(wǎng)絡(luò) 編碼單元連接以控制所述資源元素之間的連接關(guān)系;和所述語音編解碼算法模塊根據(jù)所述 配置文件中的所述語音算法對語音數(shù)據(jù)進(jìn)行編/解碼。進(jìn)一步的,所述運(yùn)算模塊包括2個(gè)多功能運(yùn)算部件、1個(gè)乘法部件、1個(gè)乘累加部 件、1個(gè)除法部件/位處理部件、1個(gè)比較選通通路、1個(gè)比較跳轉(zhuǎn)部件、3個(gè)循環(huán)變量寄存器。在一個(gè)實(shí)施例中,語音編解碼方法還包括檢查碼速狀態(tài)寄存器的碼速更改標(biāo)識, 其中所述碼速狀態(tài)寄存器用于設(shè)置語音碼速和所述碼速更改標(biāo)識;當(dāng)所述碼速更改標(biāo)識被 置位時(shí),根據(jù)所述碼速狀態(tài)寄存器的語音碼速信息執(zhí)行初始地址的裝載;和根據(jù)所述初始 地址,所述語音編解碼器對新一幀的數(shù)據(jù)按照新的碼速進(jìn)行編/解碼。基于上述技術(shù)方案,本發(fā)明提供了一種包括可種組邏輯資源元素的語音編解碼器 及其語音編解碼方法。通過控制可重組邏輯資源元素和網(wǎng)絡(luò)編碼單元,使得語音編解碼器 能夠基于有限的硬件資源支持多種語音編/解碼算法,即語音編解碼芯片在滿足性能需求 的前提下具備了一定程度的靈活性,以適應(yīng)通信環(huán)境的日趨復(fù)雜和算法的不斷改進(jìn)。為實(shí)現(xiàn)上述目的,本發(fā)明進(jìn)一步提供了一種通訊設(shè)備,包括上述的語音編解碼器。
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步解釋,構(gòu)成本發(fā)明的一部分。本發(fā) 明的示意性實(shí)施例及其說明僅用于解釋本發(fā)明,但并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖 中圖1為根據(jù)本發(fā)明實(shí)施例的語音編解碼器結(jié)構(gòu)圖。圖2為根據(jù)本發(fā)明實(shí)施例的可重組算法邏輯裝置設(shè)計(jì)方法的流程圖。圖3為根據(jù)本發(fā)明實(shí)施例的語音編/解碼算法可重組邏輯的結(jié)構(gòu)圖。圖4為根據(jù)本發(fā)明實(shí)施例的多功能運(yùn)算部件四級結(jié)構(gòu)示意圖。圖5為根據(jù)本發(fā)明實(shí)施例的編解碼算法模塊內(nèi)部的操作關(guān)系示意圖。圖6為根據(jù)本發(fā)明實(shí)施例的語音編解碼方法的流程圖。圖7為根據(jù)本發(fā)明另一實(shí)施例的語音編解碼方法的流程圖。
具體實(shí)施例方式下面參照附圖對本發(fā)明進(jìn)行更詳細(xì)的描述,其中說明本發(fā)明的示例性實(shí)施例。圖1為根據(jù)本發(fā)明實(shí)施例的語音編解碼器100結(jié)構(gòu)圖。圖1中的虛線連接線表示 控制總線,實(shí)線連接線表示數(shù)據(jù)總線。語音編解碼器100包括語音采集接口 102、信道應(yīng)用 接口 104、系統(tǒng)管理器106、編解碼算法模塊108和存儲器110。語音編解碼器100通過對存 儲于存儲器110的配置文件進(jìn)行譯碼,然后將譯碼后的配置文件輸入到包括語音編/解碼 算法資源元素的編解碼算法模塊108以根據(jù)語音編/解碼算法對數(shù)據(jù)進(jìn)行編解碼。語音采集接口 102用于連接PCM(pulse code modulating,脈沖編碼調(diào)制)芯片。 語音數(shù)據(jù)來自于外部PCM芯片。對于多種類型的PCM芯片,比如TLV321AIC23B、TLV32AIC10、 AD73311_B等,語音采集接口 102可以提供自適應(yīng)的串行接口。也就是說,語音采集接口 102 采用讀寫同步信號、位時(shí)鐘信號均為由PCM芯片提供的輸入信號的被動工作模式,以適應(yīng) 更廣泛的PCM芯片選擇。在一個(gè)實(shí)施例中,語音編解碼器100可以為用戶提供數(shù)據(jù)采集時(shí)鐘沿的選擇,用 戶可以依據(jù)所選擇的PCM芯片工作方式確定是位時(shí)鐘正沿采集數(shù)據(jù)或負(fù)沿采集數(shù)據(jù)。另 外,語音編解碼器100支持PCM芯片分離的數(shù)據(jù)接口和控制接口,用戶可以依據(jù)所選擇的 PCM芯片確定初始化數(shù)據(jù)通過數(shù)據(jù)接口或控制接口發(fā)送。而且,用戶還可以依據(jù)所選擇的 PCM芯片確定控制接口的位時(shí)鐘是否使用于數(shù)據(jù)接口同一個(gè)位時(shí)鐘。如表1為根據(jù)一個(gè)實(shí) 施例的部分語音采集接口信號的說明。
權(quán)利要求
1. 一種語音編解碼器,其特征在于,包括支持至少兩種語音編/解碼算法的可重組邏輯資源元素,以及網(wǎng)絡(luò)編碼單元;其中,所述可重組邏輯資源元素用于對語音數(shù)據(jù)進(jìn)行編/解碼,其中至少有一個(gè)所述 資源元素是可供所述至少兩種語音編/解碼算法共用的,從而使得總的所述資源元素小于 分別單獨(dú)實(shí)現(xiàn)所述至少兩種語音編/解碼算法所需的所述資源元素的和;至少一個(gè)所述資 源元素包括功能編碼單元以控制所述資源元素的功能;所述資源元素之間通過所述網(wǎng)絡(luò)編 碼單元連接以控制所述資源元素之間的連接關(guān)系。
2.根據(jù)權(quán)利要求1所述的語音編解碼器,其特征在于,其中可重組邏輯資源元素包括 至多2個(gè)多功能運(yùn)算部件,一個(gè)乘法器,一個(gè)乘累加部件,一個(gè)除法器/位處理部件,和至多 2個(gè)可重組比較器。
3.根據(jù)權(quán)利要求1所述的語音編解碼器,其特征在于,所述網(wǎng)絡(luò)編碼單元包括寄存器堆,用于接收語音數(shù)據(jù)、接收所述可重組邏輯資源元素輸出的數(shù)據(jù),存儲語音編 /解碼算法執(zhí)行過程中的中間變量;通路模塊,用于接收所述可重組邏輯資源元素和所述寄存器堆輸出的數(shù)據(jù),將所述接 收的數(shù)據(jù)輸出到所述可重組邏輯資源元素或輸出。
4.根據(jù)權(quán)利要求3所述的語音編解碼器,其特征在于,所述語音編碼器能夠?qū)崿F(xiàn)混合 激勵線性預(yù)測、碼激勵線性預(yù)測、正弦激勵線性預(yù)測中的至少兩種算法,所述語音編解碼器 包括2個(gè)多功能運(yùn)算部件、1個(gè)乘法部件、1個(gè)乘累加部件、1個(gè)除法部件/位處理部件、1個(gè) 比較選通通路、1個(gè)比較跳轉(zhuǎn)部件、3個(gè)循環(huán)變量寄存器、2個(gè)寄存器堆、2個(gè)寄存器堆專用通 路部件、和6個(gè)通用通路部件。
5.根據(jù)權(quán)利要求2所述的語音編解碼器,其特征在于,還包括取指模塊,用于接收啟動指令,從算法配置文件執(zhí)行取指操作,發(fā)送獲得的指令;所述 算法配置文件根據(jù)所述至少兩種語音編/解碼算法其中的一種語音編/解碼算法記錄所述 功能編碼單元和網(wǎng)絡(luò)編碼單元的編碼信息;譯碼控制模塊,用于接收來自所述取指模塊的指令,對所述指令進(jìn)行譯碼,控制所述可 重組邏輯資源元素的操作以實(shí)現(xiàn)語音編/解碼算法。
6.根據(jù)權(quán)利要求5所述的語音編解碼器,其特征在于,還包括存儲器,用于存儲所述算法配置文件和靜態(tài)碼本信息。
7.根據(jù)權(quán)利要求5所述的語音編解碼器,其特征在于,還包括系統(tǒng)管理器;所述系統(tǒng)管理器與所述取指模塊、所述譯碼控制模塊和所述存儲器連接,當(dāng)所述系統(tǒng) 管理器通過控制所述取指模塊和所述譯碼控制模塊將所述配置文件裝載到所述可重組邏 輯資源元素和網(wǎng)絡(luò)編碼單元時(shí),所述可重組邏輯資源元素,以及網(wǎng)絡(luò)編碼單元能夠?qū)崿F(xiàn)所 述至少兩種語音編/解碼算法中的所述一種語音編/解碼算法。
8.根據(jù)權(quán)利要求1所述的語音編解碼器,其特征在于,還包括碼速狀態(tài)寄存器,用于設(shè)置語音碼速和碼速更改標(biāo)識;所述系統(tǒng)管理器檢查碼速狀態(tài)寄存器的碼速更改標(biāo)識,當(dāng)所述碼速更改標(biāo)識被置位 時(shí),根據(jù)所述碼速狀態(tài)寄存器的語音碼速信息執(zhí)行初始地址的裝載,以使得所述語音編解 碼器能夠根據(jù)所述碼速狀態(tài)寄存器的所述碼速信息對新一幀數(shù)據(jù)按照新的碼速執(zhí)行編碼/ 解碼。
9.根據(jù)權(quán)利要求1所述的語音編解碼器,其特征在于,還包括語音激活檢測器,當(dāng)所述語音激活檢測器檢測到一段靜音時(shí),所述語音激活檢測器會 輸出一個(gè)靜音幀,以通知語音數(shù)據(jù)的發(fā)送方發(fā)送一段背景噪音。
10.一種語音編解碼方法,其特征在于,包括裝載配置文件,指令譯碼對所述配置文件進(jìn)行譯碼,其中所述配置文件根據(jù)至少兩種 語音算法其中的一種語音算法記錄可重組邏輯資源元素的功能編碼單元和網(wǎng)絡(luò)編碼單元 的編碼信息;根據(jù)對所述配置文件譯碼后的指令控制語音編解碼算法模塊,所述語音編解碼算法模 塊包括支持所述至少兩種語音算法的所述可重組邏輯資源元素以對語音數(shù)據(jù)進(jìn)行編碼和 解碼,其中至少有一個(gè)所述資源元素是可供所述至少兩種語音算法共用的,從而使得總的 所述資源元素小于分別單獨(dú)實(shí)現(xiàn)所述至少兩種語音編/解碼算法所需的所述資源元素的 和;至少一個(gè)所述資源元素包括所述功能編碼單元以控制所述資源元素的功能,所述資源 元素之間通過所述網(wǎng)絡(luò)編碼單元連接以控制所述資源元素之間的連接關(guān)系;和所述語音編解碼算法模塊根據(jù)所述配置文件中的所述語音算法對語音數(shù)據(jù)進(jìn)行編/ 解碼。
11.根據(jù)權(quán)利要求10所述的語音編解碼方法,其特征在于,所述運(yùn)算模塊包括2個(gè)多 功能運(yùn)算部件、1個(gè)乘法部件、1個(gè)乘累加部件、1個(gè)除法部件/位處理部件、1個(gè)比較選通通 路、1個(gè)比較跳轉(zhuǎn)部件、3個(gè)循環(huán)變量寄存器。
12.根據(jù)權(quán)利要求10所述的語音編解碼方法,其特征在于,還包括檢查碼速狀態(tài)寄存器的碼速更改標(biāo)識,其中所述碼速狀態(tài)寄存器用于設(shè)置語音碼速和 所述碼速更改標(biāo)識;當(dāng)所述碼速更改標(biāo)識被置位時(shí),根據(jù)所述碼速狀態(tài)寄存器的語音碼速信息執(zhí)行初始地 址的裝載;和根據(jù)所述初始地址,所述語音編解碼器對新一幀的數(shù)據(jù)按照新的碼速進(jìn)行編/解碼。
13.—種通訊設(shè)備,包括權(quán)利要求1至9中任意一項(xiàng)所述的語音編解碼器。
全文摘要
本發(fā)明提供一種語音編解碼器和語音編解碼方法,涉及語音編解碼技術(shù)。其中語音編解碼器包括支持至少兩種語音編/解碼算法的可重組邏輯資源元素,以及網(wǎng)絡(luò)編碼單元;其中,所述可重組邏輯資源元素用于對語音數(shù)據(jù)進(jìn)行編/解碼,其中至少有一個(gè)所述資源元素是可供所述至少兩種語音編/解碼算法共用的,從而使得總的所述資源元素小于分別單獨(dú)實(shí)現(xiàn)所述至少兩種語音編/解碼算法所需的所述資源元素的和;至少一個(gè)所述資源元素包括功能編碼單元以控制所述資源元素的功能;所述資源元素之間通過所述網(wǎng)絡(luò)編碼單元連接以控制所述資源元素之間的連接關(guān)系。本發(fā)明提供的語音編解碼器具備了一定程度的靈活性,所以能夠適應(yīng)通信環(huán)境的日趨復(fù)雜和算法的不斷改進(jìn)。
文檔編號G10L19/14GK101996638SQ20091016137
公開日2011年3月30日 申請日期2009年8月10日 優(yōu)先權(quán)日2009年8月10日
發(fā)明者劉大力, 曹春春 申請人:北京多思科技發(fā)展有限公司