專利名稱:一種支持語音編碼加密的芯片、方法和通信設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及語音處理技術(shù),特別是涉及一種支持語音編碼加密的芯片、方法和通 信設(shè)備。
背景技術(shù):
語音壓縮編碼技術(shù)的發(fā)展在一定程度上緩和了有限的信道資源與巨大的通 信需求之間的矛盾。常見的語音算法有MELP (mixed excitationlinear prediction, 混合激勵(lì)線性預(yù)測)、CELP(code excitation linearprediction,碼激勵(lì)線性預(yù)測)、 SELP (sinusoidal excitation linearprediction,正弦激勵(lì)線性預(yù)測)等。針對(duì)各種語音 算法的語音編解碼芯片也得到了廣泛的應(yīng)用。語音保密通信是防止語音內(nèi)容被竊聽的通信方式,在實(shí)際生活中具有極大的實(shí)用 價(jià)值。采用數(shù)據(jù)加密技術(shù)是語音保密通信的重要手段,正獲得越來越廣泛的應(yīng)用。然而,通信環(huán)境的復(fù)雜和算法的不斷改進(jìn)對(duì)語音處理芯片的性能和靈活性都提出 了更高的要求。
發(fā)明內(nèi)容
本發(fā)明要解決的一個(gè)技術(shù)問題是提供一種能夠?qū)崿F(xiàn)語音編碼加密的芯片,具有較 高的性能和靈活性。本發(fā)明提供了一種支持語音編碼加密的芯片,包括指令譯碼器、可重組語音編碼 電路和加密IP (Intellectual Property,知識(shí)產(chǎn)權(quán))部件;其中,可重組語音編碼電路,用 于接收語音數(shù)據(jù),對(duì)語音數(shù)據(jù)進(jìn)行編碼,輸出編碼后的語音數(shù)據(jù);該可重組語音編碼電路包 括可重組邏輯資源元素和網(wǎng)絡(luò)編碼單元,可重組邏輯資源元素之間通過網(wǎng)絡(luò)編碼單元連接 以控制資源元素之間的連接關(guān)系;加密IP部件,用于接收編碼后的語音數(shù)據(jù),對(duì)編碼后的 語音數(shù)據(jù)進(jìn)行加密;指令譯碼器用于接收指令,對(duì)指令進(jìn)行譯碼,控制可重組語音編碼電路 中可重組邏輯資源元素的連接關(guān)系和可重組語音編碼電路操作以實(shí)現(xiàn)語音編/解碼算法, 控制加密IP部件對(duì)編碼后的語音數(shù)據(jù)進(jìn)行加密。根據(jù)本發(fā)明的支持語音編碼加密的芯片的一個(gè)實(shí)施例,加密IP部件是可重組 加密電路,能夠被裝載為支持不同加密算法的IP部件;指令譯碼器還用于對(duì)指令進(jìn)行 譯碼,控制可重組加密電路被裝載為支持不同加密算法的加密IP部件。其中,該加密 算法包括DES(DataEncryption Standard,數(shù)據(jù)加密標(biāo)準(zhǔn)),3DES(3重?cái)?shù)據(jù)加密標(biāo)準(zhǔn)), IDEA (International Data Encryption Algorithm,國際數(shù)據(jù)力口密算法),AES (Advanced Encryption Standard,高級(jí)力口密標(biāo)準(zhǔn)),Gifford算法,PES,F(xiàn)EAL (Fast Data Encipherment Algorithm,快速數(shù)據(jù)加密算法),Geffe中的一個(gè)或者多個(gè)。根據(jù)本發(fā)明的支持語音編碼加密的芯片的一個(gè)實(shí)施例,還包括存儲(chǔ)器,用于存儲(chǔ) 算法配置文件和靜態(tài)碼本信息;所述算法配置文件根據(jù)語音算法記錄所述可重組語音編碼 電路中功能編碼單元和網(wǎng)絡(luò)編碼單元的編碼信息和/或根據(jù)加密算法記錄所述可重組加密電路的編碼信息;取指模塊,用于從該算法配置文件讀取指令,將讀取的指令發(fā)送給所述 指令譯碼器。進(jìn)一步,算法配置文件采用宏指令形式的配置文件編碼方式。根據(jù)本發(fā)明的支持語音編碼加密的芯片的一個(gè)實(shí)施例,可重組語音編碼電路包 括運(yùn)算模塊,包括可重組邏輯資源元素,用于在所述指令譯碼器的控制下實(shí)現(xiàn)所述語音編 /解碼算法中的運(yùn)算;寄存器堆,用于接收語音數(shù)據(jù)、接收所述可重組邏輯資源元素輸出的 數(shù)據(jù),存儲(chǔ)語音算法執(zhí)行過程中的中間變量;通路模塊,用于所述可重組邏輯資源元素和所 述寄存器堆輸出的數(shù)據(jù),將所述接收的數(shù)據(jù)輸出到所述可重組邏輯資源元素或輸出。根據(jù)本發(fā)明的支持語音編碼加密的芯片的一個(gè)實(shí)施例,所述可重組語音編碼電路 能夠?qū)崿F(xiàn)MELP、CELP、SELP中的至少兩種算法,所述可重組語音編碼電路包括2個(gè)多功能 ALU部件、1個(gè)乘法部件、1個(gè)乘累加部件、1個(gè)除法部件/位處理部件、1個(gè)比較選通通路、1 個(gè)比較跳轉(zhuǎn)部件、3個(gè)循環(huán)變量寄存器、2個(gè)寄存器堆、2個(gè)寄存器堆專用通路部件、和6個(gè)數(shù) 據(jù)通路部件。根據(jù)本發(fā)明的支持語音編碼加密的芯片的一個(gè)實(shí)施例,還包括系統(tǒng)管理器;該系 統(tǒng)管理器與取指模塊和存儲(chǔ)器相連,用于將待編/解碼的語音數(shù)據(jù)存放在RAM中指定地址, 裝載程序執(zhí)行首地址,向所述取指模塊發(fā)送編/解碼啟動(dòng)指令;取指模塊接收到來自系統(tǒng) 管理器的啟動(dòng)指令后,開始執(zhí)行取指,并使能指令譯碼。根據(jù)本發(fā)明的支持語音編碼加密的芯片的一個(gè)實(shí)施例,還包括碼速狀態(tài)寄存器, 用于設(shè)置語音碼速和碼速更改標(biāo)識(shí);支持語音編碼加密的芯片根據(jù)碼速狀態(tài)寄存器每處理 完一幀數(shù)據(jù)執(zhí)行初始地址的裝載,以使得所述支持語音編碼加密的芯片能夠根據(jù)所述碼速 狀態(tài)寄存器的碼速信息對(duì)新一幀數(shù)據(jù)按照新的碼速執(zhí)行編碼。本發(fā)明提供的支持語音編碼加密的芯片,在指令譯碼器的控制下通過可重組語音 編碼電路實(shí)現(xiàn)多種語音編碼算法,通過加密IP部件實(shí)現(xiàn)編碼后的語音數(shù)據(jù)的加密,不僅具 有較高的硬件性能,還有較高的靈活性。此外,加密IP部件也可以是可重組加密電路,可以根據(jù)需要配置為不同的加密邏 輯電路,進(jìn)一步提高了靈活性。本發(fā)明還提供了 一種包括上述支持語音編碼加密的芯片的通信設(shè)備。本發(fā)明要解決的另一個(gè)技術(shù)問題是提供一種語音編碼加密方法,具有較高的性能 和靈活性。本發(fā)明提供一種語音編碼加密的方法,包括對(duì)指令進(jìn)行譯碼,控制可重組語音編 碼電路中可重組邏輯資源元素的連接關(guān)系以支持預(yù)定的語音編碼算法;其中,該可重組語 音編碼電路包括可重組邏輯資源元素和網(wǎng)絡(luò)編碼單元,資源元素之間通過網(wǎng)絡(luò)編碼單元連 接以控制所述可重組邏輯資源元素之間的連接關(guān)系;可重組語音編碼電路對(duì)接收的語音數(shù) 據(jù)執(zhí)行與預(yù)定的語音編碼算法對(duì)應(yīng)的編碼操作;通過加密IP部件對(duì)編碼后的語音數(shù)據(jù)進(jìn) 行加密。根據(jù)本發(fā)明的語音編碼加密算法的一個(gè)實(shí)施例,所述加密IP部件是可重組加密 電路,能夠被裝載為支持不同加密算法的IP部件;該方法還包括對(duì)指令進(jìn)行譯碼,控制可 重組加密電路被裝載為支持預(yù)定的加密算法的加密IP部件。根據(jù)本發(fā)明的語音編碼加密的方法的一個(gè)實(shí)施例,還包括檢查碼速狀態(tài)寄存器 的碼速更改標(biāo)識(shí),其中碼速狀態(tài)寄存器用于設(shè)置語音碼速和碼速更改標(biāo)識(shí);當(dāng)碼速更改標(biāo)識(shí)被置位時(shí),根據(jù)碼速狀態(tài)寄存器的語音碼速信息執(zhí)行初始地址的裝載;和根據(jù)初始地址, 可重組語音編碼電路對(duì)新一幀的語音數(shù)據(jù)按照新的碼速進(jìn)行編碼。本發(fā)明提供的語音編碼加密的方法,通過指令譯碼控制可重組語音編碼電路實(shí)現(xiàn) 多種語音編碼算法,通過加密IP部件實(shí)現(xiàn)編碼后的語音數(shù)據(jù)的加密,不僅具有較高的硬件 性能,還有較高的靈活性。
此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步解釋,構(gòu)成本發(fā)明的一部分。本發(fā) 明的示意性實(shí)施例及其說明僅用于解釋本發(fā)明,但并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖
中
圖1示出本發(fā)明的語音編碼加密芯片的一個(gè)實(shí)施例的結(jié)構(gòu)圖2示出本發(fā)明的語音編碼加密芯片的另一個(gè)實(shí)施例的結(jié)構(gòu)圖3示出本發(fā)明的語音編碼加密芯片的又一個(gè)實(shí)施例的結(jié)構(gòu)圖4示出根據(jù)本發(fā)明實(shí)施例的語音功能模塊和存儲(chǔ)器的結(jié)構(gòu)圖5示出本發(fā)明的數(shù)據(jù)通路部件PATH6的結(jié)構(gòu)圖6示出本發(fā)明的比較選擇通路部件CMP SET的結(jié)構(gòu)圖7示出本發(fā)明的比較跳轉(zhuǎn)部件CMP SET的結(jié)構(gòu)圖8示出本發(fā)明實(shí)施例的多功能運(yùn)算部件四級(jí)結(jié)構(gòu)示意圖。
圖9a IDEA的加密流程示意圖9b IDEA子密鑰產(chǎn)生流程示意圖9c Gifford算法流程示意圖9d Geffe算法流程示意圖9e IDEA 一輪加/解密流程示意圖9f Gif ford —輪加/解密流程示意圖9g DES 一輪加/解密流程示意圖9h Geffe 一輪加/解密流程示意圖10示出本發(fā)明的語音編碼加密方法的一個(gè)實(shí)施例的流程圖11示出本發(fā)明的語音編碼加密方法中動(dòng)態(tài)改變碼速的示例的流程圖。
具體實(shí)施例方式下面參照附圖對(duì)本發(fā)明進(jìn)行更詳細(xì)的描述,其中說明本發(fā)明的示例性實(shí)施例。圖1示出本發(fā)明的語音編碼加密芯片的一個(gè)實(shí)施例的結(jié)構(gòu)圖。如圖1所示,該語 音編碼加密芯片包括指令譯碼器11、可重組語音編碼電路12和加密IP部件13。其中可重 組語音編碼電路12包括可重組邏輯資源元素和網(wǎng)絡(luò)編碼單元,其中至少有一個(gè)資源元素 是可供至少兩種語音編/解碼算法共用的,從而使得總的資源元素小于分別單獨(dú)實(shí)現(xiàn)至少 兩種語音編/解碼算法所需的資源元素的和;各資源元素之間通過網(wǎng)絡(luò)編碼單元連接以控 制資源元素之間的連接關(guān)系,從而實(shí)現(xiàn)不同的語音編碼算法。指令譯碼器11接收指令,對(duì) 指令進(jìn)行譯碼,控制可重組語音編碼電路12中可重組邏輯資源元素的連接關(guān)系和可重組 語音編碼電路12的操作以實(shí)現(xiàn)語音編/解碼算法??芍亟M語音編碼電路12接收語音數(shù)據(jù),對(duì)語音數(shù)據(jù)進(jìn)行編碼,然后輸出編碼后的語音數(shù)據(jù)。加密IP部件13用于接收編碼后的語音數(shù)據(jù),對(duì)編碼后的語音數(shù)據(jù)進(jìn)行加密,然后輸出??芍亟M語音編碼電路12可以輸出語音 數(shù)據(jù)到內(nèi)存中的指定區(qū)域,加密IP部件13從內(nèi)存中的指定區(qū)域讀取編碼后的語音數(shù)據(jù),進(jìn) 行加密處理??芍亟M算法邏輯實(shí)現(xiàn)算法重組的基礎(chǔ)是資源元素的功能可變、資源元素之間的數(shù) 據(jù)傳輸路徑可變。為了控制資源元素的功能改變,可以在資源元素的內(nèi)部電路結(jié)構(gòu)中設(shè)置 編碼單元,稱之為功能編碼單元。為了控制資源元素之間的數(shù)據(jù)傳輸路徑的改變,可以在資 源元素的數(shù)據(jù)傳輸網(wǎng)絡(luò)中設(shè)置編碼單元,稱之為網(wǎng)絡(luò)編碼單元??芍亟M算法邏輯裝置的電 路結(jié)構(gòu)和功能的改變是通過對(duì)功能編碼單元和網(wǎng)絡(luò)編碼單元賦以不同的編碼值來實(shí)現(xiàn)的。 而編碼值可以來自于當(dāng)前的操作指令。通過對(duì)大量語音算法的分析發(fā)現(xiàn),有很多編碼單元的控制編碼在算法執(zhí)行過程中 保持不變,而另一部分編碼單元的控制編碼在算法執(zhí)行過程中需要頻繁的改變。根據(jù)這一 特點(diǎn),可以將編碼單元分成兩類,將在算法執(zhí)行過程中編碼保持不變的編碼單元稱為靜態(tài) 編碼單元,將在算法執(zhí)行過程中需要頻繁改變編碼的編碼單元稱為動(dòng)態(tài)編碼單元。對(duì)于靜 態(tài)編碼單元,可以用專門的裝載指令在算法執(zhí)行之前賦予需要的控制編碼,這些編碼在算 法的執(zhí)行過程中保持不變,因此在算法的執(zhí)行過程中,不需要再對(duì)靜態(tài)編碼單元加以控制, 而只需要控制那些動(dòng)態(tài)編碼單元即可,這樣大大地節(jié)省了指令字的空間,使得每條指令字 能夠包含更多的動(dòng)態(tài)控制編碼,從而提高了操作的并行性,加快了算法的執(zhí)行速度。在一個(gè)實(shí)施例中,功能編碼單元可以都是靜態(tài)編碼單元,而網(wǎng)絡(luò)編碼單元可以都 是動(dòng)態(tài)編碼單元。可以通過一定格式的配置文件,對(duì)語音算法資源元素的編碼單元進(jìn)行控 制,從而使資源元素實(shí)現(xiàn)不同的算法功能。一方面,對(duì)于靜態(tài)編碼單元,只需在算法開始執(zhí) 行之前將靜態(tài)編碼單元的編碼一次性裝載,即可控制算法的功能重組。另一方面,對(duì)于動(dòng)態(tài) 編碼單元,在算法開始執(zhí)行之前可以對(duì)動(dòng)態(tài)編碼單元的編碼賦初值,在算法執(zhí)行過程中,動(dòng) 態(tài)編碼單元的編碼按照周期變化取指。以一定格式排列于配置文件中的靜態(tài)、動(dòng)態(tài)編碼單 元的編碼可以被分別裝載、分別譯碼,從而共同對(duì)語音算法資源元素進(jìn)行控制。圖2示出本發(fā)明的語音編碼加密芯片的另一個(gè)實(shí)施例200的結(jié)構(gòu)圖。如圖2所示, 該語音編解碼加密芯片201包括指令譯碼器21、可重組語音編碼電路22、加密IP部件23、 取指模塊24、公共存儲(chǔ)器25、程序RAM 26和程序FLASH 27。程序FLASH 27用于算法配置 文件的存儲(chǔ),也可以用來存儲(chǔ)語音算法靜態(tài)碼本參數(shù)。該算法配置文件根據(jù)語音算法記錄 可重組語音編碼電路22中功能編碼單元和網(wǎng)絡(luò)編碼單元的編碼信息,在加密IP部件23為 可重組加密IP部件時(shí),還根據(jù)加密算法記錄可重組加密電路的編碼信息。程序RAM 26用 于在算法執(zhí)行過程中將算法程序模型與碼本數(shù)據(jù)導(dǎo)入其中并執(zhí)行。語音編碼加密芯片201 受系統(tǒng)管理器202的控制啟動(dòng)。依據(jù)系統(tǒng)管理器202發(fā)出的啟動(dòng)信號(hào),取指模塊24執(zhí)行取 指操作,將程序FLASH 27中的程序和數(shù)據(jù)導(dǎo)入程序RAM 26,并使能指令譯碼,將讀取的指 令發(fā)送給指令譯碼器21。公共存儲(chǔ)器25用于存儲(chǔ)語音數(shù)據(jù),存儲(chǔ)語音編解碼算法執(zhí)行過程 中產(chǎn)生的中間變量,接收語音編碼電路22對(duì)語音數(shù)據(jù)進(jìn)行編碼后的輸出的數(shù)據(jù),接收加密 IP部件23對(duì)編碼的語音數(shù)據(jù)加密后的輸出。指令譯碼器21對(duì)指令進(jìn)行譯碼,控制語音編 碼電路22的各資源元素的操作,實(shí)現(xiàn)相應(yīng)的語音編解碼算法,控制加密IP部件23的操作, 實(shí)現(xiàn)對(duì)編碼后的語音數(shù)據(jù)的加密操作。
本發(fā)明的語音編碼加密芯片還提供了一種宏指令形式的配置文件編碼方式。用戶 除了可以利用可重組聲碼和密碼算法邏輯的配置文件進(jìn)行編碼,實(shí)現(xiàn)聲碼和密碼算法的操 作和重組;還可以利用宏指令形式的配置文件編碼方式快速實(shí)現(xiàn)聲碼和密碼算法的操作和 重組。宏指令形式的配置文件編碼方式具有如下特點(diǎn)1)宏指令具有不同層次(功能粒度) 的獨(dú)立操作功能,可被當(dāng)作指令一樣實(shí)現(xiàn)程序設(shè)計(jì);2)基本宏指令是算法中使用頻度較高 的、功能粒度較小的、具有獨(dú)立操作功能的宏指令編碼?;竞曛噶罹幋a是通過對(duì)較簡單的 資源按其獨(dú)立操作功能的需求(既操作的分解),以靜態(tài)或動(dòng)態(tài)配置文件編碼的方式構(gòu)成; 3) 一個(gè)在算法中使用頻度較高的、功能粒度較大的宏指令,其連接關(guān)系及資源因功能、操作 是確定的,因此,按其獨(dú)立操作功能的需求,以靜態(tài)配置文件編碼的方式構(gòu)成;其數(shù)據(jù)關(guān)系 是不確定的,以動(dòng)態(tài)配置文件編碼的方式構(gòu)成;4) 一個(gè)宏指令可利用算法的配置文件,通 過對(duì)其他宏指令的靜態(tài)或動(dòng)態(tài)配置文件的編碼的嵌套、調(diào)用實(shí)現(xiàn)其功能;5) —個(gè)宏指令可 利用算法的配置文件格式的設(shè)計(jì),將其他宏指令的嵌套、調(diào)用代碼編排、組合在配置文件格 式中,通過譯碼器的譯碼控制實(shí)現(xiàn)其功能。圖3示出本發(fā)明的語音編碼加密芯片的又一個(gè)實(shí)施例300的結(jié)構(gòu)圖。如圖3所 示,支持語音編碼加密的芯片300包括語音采集接口 37、信道應(yīng)用接口 38、系統(tǒng)管理器36、 取指模塊34、宏指令譯碼器31、語音編解碼電路32、加密IP部件33和存儲(chǔ)結(jié)構(gòu)35。支持 語音編碼加密的芯片300通過對(duì)存儲(chǔ)于存儲(chǔ)結(jié)構(gòu)35的配置文件進(jìn)行譯碼,然后將譯碼后的 配置文件輸入到包括語音算法資源元素的語音編碼電路32以根據(jù)語音算法對(duì)語音數(shù)據(jù)進(jìn) 行編解碼。系統(tǒng)管理器36用于上電自檢、原始參數(shù)注入、系統(tǒng)初始化、接口管理、應(yīng)用指令譯 碼及操作控制等。根據(jù)本發(fā)明的實(shí)施例,系統(tǒng)管理器36還能夠執(zhí)行碼速修改的操作。系統(tǒng) 管理器36包括碼速狀態(tài)寄存器,用于支持語音編碼加密的芯片300的編碼率,比如可選為 0. 6k/0. 8k/1. 2k/2. 4kbps。碼速修改指令的執(zhí)行需更改碼速選擇狀態(tài)寄存器,設(shè)置碼速更 改狀態(tài)位。系統(tǒng)每處理完一幀數(shù)據(jù)均重新依據(jù)碼速狀態(tài)寄存器,執(zhí)行一次初始地址裝載,因 此新的數(shù)據(jù)幀將自動(dòng)以新的程序入口地址啟動(dòng)程序。系統(tǒng)硬件邏輯依據(jù)狀態(tài)寄存器的設(shè)置 完成首地址裝載。當(dāng)有新一幀數(shù)據(jù)輸入時(shí),系統(tǒng)管理器36將重新裝載程序RAM ;重新讀取 該碼速下的數(shù)據(jù)規(guī)格;重新讀取該碼速下的編解碼數(shù)據(jù)存儲(chǔ)地址;分支初始化程序地址執(zhí) 行初始化程序。程序化程序結(jié)束后,再執(zhí)行編碼程序及解碼程序。這樣,對(duì)于新一幀的數(shù)據(jù) 可以按新的碼速執(zhí)行編碼和解碼。例如,在本發(fā)明的語音編碼加密芯片的一個(gè)實(shí)施例中,提 供8位狀態(tài)寄存器,用于程序結(jié)構(gòu)的條件分支控制。該狀態(tài)寄存器包括兩位(例如第<5:4> 位)碼速選擇狀態(tài)位,該兩位的取值與碼速的對(duì)應(yīng)關(guān)系位“00” 600bps ;“01” 800bps ; “10” 1200bps ;“11” 2400bps。系統(tǒng)置位,程序訪問。該狀態(tài)寄存器還包括碼速更改標(biāo)志 狀態(tài)位,’ 0’為碼速未更改,’ 1’為更改。系統(tǒng)控制置位,系統(tǒng)及指令控制清零。語音采集接口 37用于連接PCM (pulse code modulating,脈沖編碼調(diào)制)芯片。語 音數(shù)據(jù)來自于外部PCM芯片。對(duì)于多種類型的PCM芯片,比如TLV321AIC23B、TLV32AIC10、 AD73311_B等,語音采集接口 102可以提供自適應(yīng)的串行接口。也就是說,語音采集接口 37 采用讀寫同步信號(hào)、位時(shí)鐘信號(hào)均為由PCM芯片提供的輸入信號(hào)的被動(dòng)工作模式,以適應(yīng) 更廣泛的PCM芯片選擇。語音采集接口 37內(nèi)部還包括PCM接口控制模塊371、PCM輸入緩存372和PCM輸出緩存373。PCM接口控制模塊371用于實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送,并滿足PCM芯片要求的同步串 行接口的時(shí)序關(guān)系。當(dāng)PCM采集數(shù)據(jù)時(shí),接口控制模塊371實(shí)現(xiàn)對(duì)PCM輸入緩存372寫操 作的控制。當(dāng)支持語音編碼加密的芯片300向PCM發(fā)出數(shù)據(jù)時(shí),接口控制模塊371實(shí)現(xiàn)對(duì) PCM輸出緩存373讀操作的控制。PCM輸入緩存372實(shí)現(xiàn)語音樣點(diǎn)的緩存。PCM輸入緩存372接收完語音樣點(diǎn)后,會(huì) 向系統(tǒng)管理器36發(fā)出信號(hào),等待系統(tǒng)管理器36將數(shù)據(jù)轉(zhuǎn)存到指定的存儲(chǔ)器,進(jìn)行編碼。PCM輸出緩存373實(shí)現(xiàn)輸出的語音樣點(diǎn)的緩存。當(dāng)解碼數(shù)據(jù)從指定存儲(chǔ)位置轉(zhuǎn)存 到PCM輸出緩存373,語音樣點(diǎn)發(fā)送完畢后,PCM輸出緩存373會(huì)向系統(tǒng)管理器36發(fā)出信號(hào), 通知系統(tǒng)管理器36可以將下一幀已解碼樣點(diǎn)從系統(tǒng)存儲(chǔ)位置發(fā)送到PCM輸出緩存373。信道應(yīng)用接口 38用于與系統(tǒng)管理器36之間的編碼語音數(shù)據(jù)、應(yīng)用指令及狀態(tài) 信息的傳輸。在一個(gè)實(shí)施例中,信道應(yīng)用接口 38可以依據(jù)系統(tǒng)的需求通過設(shè)置管腳SI0_ SEL[1]的值設(shè)置數(shù)據(jù)接口為同步串口規(guī)范或RS232規(guī)范。另外,信道應(yīng)用接口 38的編碼語 音數(shù)據(jù)格式可以依據(jù)應(yīng)用系統(tǒng)的需求設(shè)置為幀格式或非格式化模式。在一個(gè)實(shí)施例中,當(dāng) 選擇非格式化模式時(shí),正常工作狀態(tài)下信道應(yīng)用接口 38輸出的數(shù)據(jù)全部為語音編碼數(shù)據(jù), 每幀數(shù)據(jù)中只在編碼數(shù)據(jù)中包含有1位同步碼,信道數(shù)據(jù)的帶寬降低。在另一個(gè)實(shí)施例中, 當(dāng)選擇幀格式化模式時(shí),每幀數(shù)據(jù)之前均有一個(gè)個(gè)數(shù)據(jù)幀頭指令,用于數(shù)據(jù)流的同步及一 些其它編碼標(biāo)志信息。使用幀格式化模式更容易對(duì)數(shù)據(jù)進(jìn)行管理。與語音采集接口 37類似,信號(hào)應(yīng)用接口 38包括應(yīng)用接口控制模塊381、應(yīng)用接口 輸入緩存382和應(yīng)用接口輸出緩存383。應(yīng)用接口控制模塊381用于實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送,并滿足RS232接口或同步串 行接口要求的物理時(shí)序關(guān)系。應(yīng)用接口輸入緩存382為寄存器組,實(shí)現(xiàn)待解碼數(shù)據(jù)的輸入緩存。當(dāng)應(yīng)用接口輸 入緩存382接收完數(shù)據(jù)后,發(fā)出接收數(shù)據(jù)完畢信號(hào),等待系統(tǒng)管理器36將應(yīng)用接口輸入緩 存382存儲(chǔ)的數(shù)據(jù)轉(zhuǎn)入系統(tǒng)存儲(chǔ)器并進(jìn)行解碼。應(yīng)用接口輸出緩存383也是寄存器組,實(shí)現(xiàn)已編碼數(shù)據(jù)的輸出緩存。當(dāng)應(yīng)用接口 輸出緩存383接收已編碼數(shù)據(jù)完畢后,會(huì)發(fā)出數(shù)據(jù)完畢信號(hào),通知系統(tǒng)管理器36可以將下 一幀已編碼數(shù)據(jù)從系統(tǒng)存儲(chǔ)器轉(zhuǎn)存到應(yīng)用接口輸出緩存383。在圖3的實(shí)施例中,芯片的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)35包括1個(gè)程序FLASH351,2個(gè)碼本 FLASH 352,1個(gè)程序RAM 353,4個(gè)隨機(jī)存儲(chǔ)器354。其中,碼本FLASH 352用于存儲(chǔ)編解碼 算法中不發(fā)生變化的靜態(tài)參數(shù)。該參數(shù)在芯片使用前注入,編解碼過程中僅對(duì)此參數(shù)進(jìn)行 讀取,而不填寫;每個(gè)碼本FLASH 352的存儲(chǔ)容量可以設(shè)置為64Kxl6。隨機(jī)存儲(chǔ)器354用 于芯片系統(tǒng)管理器和編解碼體系結(jié)構(gòu)交換數(shù)據(jù),以及編解碼算法執(zhí)行過程中中間變量的存 儲(chǔ);每個(gè)隨機(jī)存儲(chǔ)器354的存儲(chǔ)容量可以設(shè)置為2Kxl6。對(duì)于碼本FLASH 352,2個(gè)碼本FLASH可以獨(dú)立操作,也可以并行操作。2個(gè)碼本 FLASH各有一個(gè)地址寄存器分別為FAR1,F(xiàn)AR2。其尋址方式包括立即數(shù)尋址、直接尋址和 相對(duì)尋址。支持的操作包括讀碼本FLASH數(shù)據(jù)到FLASH專用寄存器;將碼本FLASH數(shù)據(jù)轉(zhuǎn) 移到變量存儲(chǔ)器;將碼本FLASH數(shù)據(jù)轉(zhuǎn)移到寄存器堆。對(duì)于變量存儲(chǔ)器(RAMl/2/3/4)354,4個(gè)變量存儲(chǔ)器可以獨(dú)立操作,也可以并行操作。每個(gè)變量存儲(chǔ)器有一個(gè)輸出專用寄存器。4個(gè)變量存儲(chǔ)器共享4個(gè)地址寄存器(AR1 AR4)。尋址方式包括立即數(shù)尋址、直接尋址和相對(duì)尋址。4個(gè)變量存儲(chǔ)器支持的操作包括 讀變量存儲(chǔ)器數(shù)據(jù)到各存儲(chǔ)器專用寄存器;寫變量存儲(chǔ)器;將碼本FLASH數(shù)據(jù)轉(zhuǎn)移到變量 存儲(chǔ)器;將變量存儲(chǔ)器數(shù)據(jù)轉(zhuǎn)移到寄存器堆;變量存儲(chǔ)器間數(shù)據(jù)轉(zhuǎn)移。變量存儲(chǔ)器和碼本FLASH支持如下尋址方式(1)立即數(shù)尋址方式指令攜帶立即 數(shù)地址的訪問操作;(2)直接尋址方式由地址寄存器值做為地址的訪問操作。其中4個(gè) 變量存儲(chǔ)器共享4個(gè)地址寄存器,可以使用任意一個(gè)地址寄存器做為訪問地址;2個(gè)碼本 FLASH各有一個(gè)專用地址寄存器。(3)相對(duì)尋址以地址寄存器值或立即數(shù)為基址,以循環(huán) 變量或立即數(shù)(士n)為偏值,產(chǎn)生地址,實(shí)現(xiàn)對(duì)存儲(chǔ)器的訪問操作。存儲(chǔ)器訪問操作時(shí)可選 擇更新地址寄存器(ADR+)或不更新地址寄存器。需要指出的是,雖然在圖3中將FLASH分為程序FL 351、碼本FL1和碼本FL2352, 本領(lǐng)域的技術(shù)人員可以理解,這種劃分可以是邏輯上的劃分。同樣,程序RAM 353和RAM 354的劃分也可以是邏輯上的劃分,也可以用其他的非易失性存儲(chǔ)介質(zhì)替代FLASH。根據(jù)本發(fā)明的實(shí)施例,系統(tǒng)管理器36包括VAD (voice activitydetector,語音激 活檢測器)。當(dāng)VAD使能時(shí),當(dāng)檢測到一段靜音時(shí),會(huì)輸出一個(gè)靜音幀通知語音數(shù)據(jù)的發(fā)送 方。語音數(shù)據(jù)的發(fā)送方的解碼器收到靜音幀時(shí),會(huì)合成一段舒適背景噪音發(fā)送到支持語音 編碼加密的芯片100,使聽者感覺通訊仍然在線,而不是象斷線一樣絕對(duì)的寂靜。當(dāng)選擇非 格式化傳輸模式時(shí),僅能通過支持語音編碼加密的芯片100的VAD管腳激活VAD算法。當(dāng) 選擇幀格式化傳輸模式時(shí),可以在數(shù)據(jù)幀頭指令中指明是否使能VAD狀態(tài)。語音編解碼電路32在系統(tǒng)管理器36和指令譯碼器31的控制下,對(duì)語音采集接口 37接收的語音采樣數(shù)據(jù)實(shí)現(xiàn)編碼操作,對(duì)信道應(yīng)用接口 38接收的數(shù)據(jù)實(shí)現(xiàn)解碼操作。語音 編解碼電路32包括根據(jù)語音編解碼算法的可重組邏輯資源元素,以使得語音編解碼電路 32能夠支持不同的語音算法。通過對(duì)如MELP、CELP、SELP等的大量語音算法進(jìn)行的分析和研究,可以發(fā)現(xiàn)不同 的語音算法具有一些相同或者相似的基本操作成分,或者說同一基本操作成分在不同算法 中出現(xiàn)的頻度可以很高。見表2對(duì)語音算法的基本操作成分及其使用頻度的統(tǒng)計(jì)。
權(quán)利要求
1.一種支持語音編碼加密的芯片,其特征在于,包括指令譯碼器、可重組語音編碼電 路和加密IP部件;所述可重組語音編碼電路,用于接收語音數(shù)據(jù),對(duì)語音數(shù)據(jù)進(jìn)行編碼,輸出編碼后的語 音數(shù)據(jù),其中,所述可重組語音編碼電路包括可重組邏輯資源元素和網(wǎng)絡(luò)編碼單元,所述資 源元素之間通過所述網(wǎng)絡(luò)編碼單元連接以控制所述資源元素之間的連接關(guān)系;所述加密IP部件,用于接收所述編碼后的語音數(shù)據(jù),對(duì)所述編碼后的語音數(shù)據(jù)進(jìn)行加密;所述指令譯碼器用于接收指令,對(duì)所述指令進(jìn)行譯碼,控制所述可重組語音編碼電路 中可重組邏輯資源元素的連接關(guān)系和所述可重組語音編碼電路操作以實(shí)現(xiàn)語音編/解碼 算法,控制所述加密IP部件對(duì)所述編碼后的語音數(shù)據(jù)進(jìn)行加密。
2.根據(jù)權(quán)利要求1所述的支持語音編碼加密的芯片,其特征在于,所述加密IP部件是 可重組加密電路,能夠被裝載為支持不同加密算法的IP部件;所述指令譯碼器還用于對(duì)指令進(jìn)行譯碼,控制所述可重組加密電路被裝載為支持不同 加密算法的加密IP部件;其中,所述加密算法包括DES,3DES,IDEA, AES, Gifford,PES, FEAL, Geffe中的一個(gè)或 者多個(gè)。
3.根據(jù)權(quán)利要求1所述的支持語音編碼加密的芯片,其特征在于,還包括存儲(chǔ)器,用于存儲(chǔ)算法配置文件和靜態(tài)碼本信息;所述算法配置文件根據(jù)語音算法記 錄所述可重組語音編碼電路中功能編碼單元和網(wǎng)絡(luò)編碼單元的編碼信息和/或根據(jù)加密 算法記錄所述加密IP部件的編碼信息;取指模塊,用于從所述算法配置文件讀取指令,將讀取的指令發(fā)送給所述指令譯碼器。
4.根據(jù)權(quán)利要求1所述的支持語音編碼加密的芯片,其特征在于,所述可重組語音編 碼電路包括運(yùn)算模塊,包括可重組邏輯資源元素,用于在所述指令譯碼器的控制下實(shí)現(xiàn)所述語音 編/解碼算法中的運(yùn)算;寄存器堆,用于接收語音數(shù)據(jù)、接收所述可重組邏輯資源元素輸出的數(shù)據(jù),存儲(chǔ)語音算 法執(zhí)行過程中的中間變量;通路模塊,用于所述可重組邏輯資源元素和所述寄存器堆輸出的數(shù)據(jù),將所述接收的 數(shù)據(jù)輸出到所述可重組邏輯資源元素或輸出。
5.根據(jù)權(quán)利要求1所述的支持語音編碼加密的芯片,其特征在于,所述可重組語音編 碼電路能夠?qū)崿F(xiàn)MELP、CELP、SELP中的至少兩種算法,所述可重組語音編碼電路包括2個(gè)多 功能ALU部件、1個(gè)乘法部件、1個(gè)乘累加部件、1個(gè)除法部件/位處理部件、1個(gè)比較選通通 路、1個(gè)比較跳轉(zhuǎn)部件、3個(gè)循環(huán)變量寄存器、2個(gè)寄存器堆、8個(gè)數(shù)據(jù)通路部件。
6.根據(jù)權(quán)利要求4或5所述的支持語音編碼加密的芯片,其特征在于,還包括系統(tǒng)管理器;所述系統(tǒng)管理器與所述取指模塊和所述存儲(chǔ)器相連,用于將待編/解碼的語音數(shù)據(jù)存 放在RAM中指定地址,裝載程序執(zhí)行首地址,向所述取指模塊發(fā)送編/解碼啟動(dòng)指令;所述取指模塊接收到來自所述系統(tǒng)管理器的啟動(dòng)指令后,開始執(zhí)行取指,并使能指令 譯碼。
7.根據(jù)權(quán)利要求1所述的支持語音編碼加密的芯片,其特征在于,還包括 碼速狀態(tài)寄存器,用于設(shè)置語音碼速和碼速更改標(biāo)識(shí);所述支持語音編碼加密的芯片根據(jù)所述碼速狀態(tài)寄存器每處理完一幀數(shù)據(jù)執(zhí)行初始 地址的裝載,以使得所述支持語音編碼加密的芯片能夠根據(jù)所述碼速狀態(tài)寄存器的所述碼 速信息對(duì)新一幀數(shù)據(jù)按照新的碼速執(zhí)行編/解碼。
8.一種通信設(shè)備,包括權(quán)利要求1至5、和7中任意一項(xiàng)所述的支持語音編碼加密的芯片。
9.一種語音編碼加密的方法,其特征在于,包括對(duì)指令進(jìn)行譯碼,控制可重組語音編碼電路中可重組邏輯資源元素的連接關(guān)系以支持 預(yù)定的語音編碼算法;其中,所述可重組語音編碼電路包括可重組邏輯資源元素和網(wǎng)絡(luò)編 碼單元,所述資源元素之間通過所述網(wǎng)絡(luò)編碼單元連接以控制所述可重組邏輯資源元素之 間的連接關(guān)系;所述可重組語音編碼電路對(duì)接收的語音數(shù)據(jù)執(zhí)行與所述語音編碼算法對(duì)應(yīng)的編碼操作;通過加密IP部件對(duì)所述編碼后的語音數(shù)據(jù)進(jìn)行加密。
10.根據(jù)權(quán)利要求9所述的語音編碼加密的方法,其特征在于,所述所述加密IP部件是 可重組加密電路,能夠被裝載為支持不同加密算法的IP部件;所述方法還包括對(duì)指令進(jìn)行譯碼,控制所述可重組加密電路被裝載為支持預(yù)定的加密算法的加密IP 部件。
11.根據(jù)權(quán)利要求10所述的語音編碼加密的方法,其特征在于,還包括裝載配置文件中的指令;其中所述配置文件根據(jù)所述語音編碼算法記錄所述可重組語 音編碼電路中可重組邏輯資源元素的網(wǎng)絡(luò)編碼單元的編碼信息,根據(jù)所述加密算法記錄所 述可重組加密電路中資源元素的編碼信息。
12.根據(jù)權(quán)利要求9所述的語音編碼加密的方法,其特征在于,還包括檢查碼速狀態(tài)寄存器的碼速更改標(biāo)識(shí),其中所述碼速狀態(tài)寄存器用于設(shè)置語音碼速和 所述碼速更改標(biāo)識(shí);當(dāng)所述碼速更改標(biāo)識(shí)被置位時(shí),根據(jù)所述碼速狀態(tài)寄存器的語音碼速信息執(zhí)行初始地 址的裝載;和根據(jù)所述初始地址,所述可重組語音編碼電路對(duì)新一幀的語音數(shù)據(jù)按照新的碼速進(jìn)行 編碼。
全文摘要
本發(fā)明提供一種支持語音編碼加密的芯片、方法和通信設(shè)備,涉及語音處理技術(shù)。該芯片包括可重組語音編碼電路,用于接收語音數(shù)據(jù),對(duì)語音數(shù)據(jù)進(jìn)行編碼,輸出編碼后的語音數(shù)據(jù);加密IP部件,用于接收編碼后的語音數(shù)據(jù),對(duì)編碼后的語音數(shù)據(jù)進(jìn)行加密;指令譯碼器用于對(duì)指令進(jìn)行譯碼,控制可重組語音編碼電路中可重組邏輯資源元素的連接關(guān)系和可重組語音編碼電路操作以實(shí)現(xiàn)語音編/解碼算法,控制加密IP部件對(duì)所述編碼后的語音數(shù)據(jù)進(jìn)行加密。本發(fā)明提供的支持語音編碼加密的芯片,可以在指令譯碼器的控制下通過可重組語音編碼電路實(shí)現(xiàn)多種語音編碼算法,通過加密IP部件實(shí)現(xiàn)編碼后的語音數(shù)據(jù)的加密,不僅具有較高的硬件性能,還有較高的靈活性。
文檔編號(hào)G10L19/00GK101996632SQ200910161370
公開日2011年3月30日 申請日期2009年8月10日 優(yōu)先權(quán)日2009年8月10日
發(fā)明者劉大力, 曹春春 申請人:北京多思科技發(fā)展有限公司